For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | more josephschmoe's commentsregister

Hacker News is not an advertising venue.


Yup I know. Just trying to make things work.


|Discussions about which design is better are pointless to me. Why don't we just try both and let the data decide?

This seems to indicate to me that you are stuck in the "expert beginner" phase of development. That's bad - but it's not necessarily your fault. And you're obviously making moves to try to escape this trap.

What you need - or at least what worked for me - was going out of my way to learn as much as I possibly can about the field I'm interested in, and even accepting that I might need to re-learn some things or reconsider some of my notions (for me, the biggest one was my low tolerance of messy code and extreme sense of organization - I worked on mastering refactoring tools to make it easier to fix messy code quickly if I need to, so I've given myself a higher tolerance for writing it).

I don't mean this badly. I'm still an expert beginner in plenty of things - it's just important to be humble and try to escape it so you can get some perspective. Perspective isn't something your environment will probably give you, you need to make it for yourself.

http://www.daedtech.com/how-developers-stop-learning-rise-of...


This article is an Appeal to Novelty fallacy. He never gives a reason why explicit language is better - just that it occurred later in civilization.

Beyond this, natural language programming doesn't preclude explicitness. You could still have portions of limited explicit language or even portions of actual code if that is insufficient.

Natural language programming gets us two advantages:

1. Easy entry (presumably what the author cares about)

2. A language which is composed of an infinite number of DSLs - but without the pains of limited language scope and in which DSLs are actually easy to write. This actually fixes the problem author was taking about - using a language for a purpose it clearly wasn't meant to.

And if you think natural language programming is going to get rid of symbolism in language, I've got a U+1F309 to sell you.


Consider that programming doesn't have to be linear - while legal documents need to be printed on a piece of paper. Granted, they have limited non-linearity (references to prior pages, pointers, etc.) but it generally has to be readable on physical paper.

For natural language programming to work, computers simply need to be capable of making prudent guesses - so long as we show the information clearly, we can always fix those guesses. We can allow for limited instances of constructed languages, rewiring connections between words, etc.


Legal documents are just as referential as programs are - their function calls are simply defined in a natural way, i.e. "Except for S6.6, S8.2, and S10.2, the test samples are stabilized at test room temperature prior to testing.", or "The following terms of service and end user license agreement (“EULA”) constitute an agreement between you and Rovio Entertainment Ltd, and its affiliates (“Rovio”). ".

You mention that such references are limited in nature, but laws are rarely as limited in their references as EULAs are. Plus, there's a whole layer of context which exists outside the written document - the exact legal definition of words.

I just don't think that a "prudent" guess will be enough, especially as you start distributing such programs to machines or situations where the context is different.


Why is the Silicon Valley half wearing a tie?


Looks more like Silicon Valley gets a little less than half the image.


Because it's a hipster tie and not a suit tie?


irony?


As a physicist working as a software engineer at a hardware company, I can give a bit of an explanation for this:

1. Doesn't matter if you're in the business of widgets or SaaS or whatever. Business is business.

2. There are really only two engineering disciplines you need a strong intuitive understanding of: systems and physics.

It is completely possible to be very skillful at all three of these. However, even for Elon Musk, it would still likely take months of training to keep up working in a new engineering discipline including all of the idiosyncrasies and tools. There are plenty of people who are highly knowledgeable in 5+ subjects, but virtually none who are capable of working as a diverse, skilled experts in more than 3.

If you want to be an expert in multiple fields, find underlying 'core' disciplines and become an expert on those.


What are some of the underlying core disciplines?

To start one is problem solving, you need to be really good at solving problems. Another I can think of is finding the right problems to solve.


that was golden! Thank you very much


Honestly, the best thing you can do is make friends with people who have already graduated college.

Not even software engineers necessarily. And I don't mean acquaintances. I mean friends. They can give you real perspective - no piece of generic advice I can give you will come even close to the advice of someone who both knows you well and has been in your shoes. Having perspective is better than any specific programming skill you could ever learn.


I would love it if this hooked up to another side where you could come up with code-snippet based lessons (list variables at top with an array of example combinations). Move up/down the tree/chain if the error rate is too low/high.


If you have a relatively equal social structure, it's going to have a lot of things in common with high school.

It's a lot better than the alternative.


From what I've seen, Valve is aware that this tendency exists and has a lot of ongoing programs to compensate for it. When you have a lot of people working together, there's just no way to ensure that informal power structures don't come up. I'm just glad that Valve is willing to experiment with a horizontal structure and spend time working out solutions for the problems that arise.


This is honestly the best one of these I've seen. Decision paralysis is probably the biggest fault when starting out in programming. This exists with the specific purpose of unlearning that habit.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You