Live data from Hacker News

Programming languages, operating systems, despair and anger

xent.com

11–20 of 59 posts

Re: Programming languages, operating systems, despair and anger

#11

That post is a little rant heavy but I agree completely: simple, everyday tasks are still way more verbose and require more lines of code than they should in most languages. Python/Ruby is probably the closest I've seen to a language that provides enough batteries to be productive but gets out of my way syntactically as much as possible, but both of them could use some further evolution.

I absolutely love Python, can't stand Ruby. The reason I love Python is that in general when I want to write something a certain way, or what seems to be the most natural way to do something is how it is actually done. As a programmer it gets out of my way and lets me do what I need to get done. The author to a certain degree is calling for exactly that, a language that makes tasks that every programmer does over and…

> what seems to be the most natural way to do something is how it is actually done

I love Python too, but it's not without its quirks. Eg:

    ','.join(mylist)
Which nearly everyone I know at first assumed would be:

    list.join(',')
Nobody thinks of what's being done here 'take a dot, and use it to join this list'. They think of 'take this list, and join it into a string using dot'.

Re: Programming languages, operating systems, despair and anger

#15
post #3

While I appreciate the idea and criticisms of the post, I dislike the strong wording of this rant. I think that designing a language that can solve all possible problems is beside the point. A language is a tool and used for different tasks. Not only is the purpose different but people have also different preferences. So making everybody happy is impossible. Languages have to go the way of the dodo. Every new one is…

Please don't say that "languages are tools". While this is technically right, our thoughts are so dependent on programming languages that they can't be considered "mere" tools. Considering they are make us wrap languages around their implementations, rather than around their users.

When all you have is a hammer, everything looks like a nail. A hammer is a tool. Therefore "mere" tools can be said to shape ones thoughts.

Re: Programming languages, operating systems, despair and anger

#16
post #3

While I appreciate the idea and criticisms of the post, I dislike the strong wording of this rant. I think that designing a language that can solve all possible problems is beside the point. A language is a tool and used for different tasks. Not only is the purpose different but people have also different preferences. So making everybody happy is impossible. Languages have to go the way of the dodo. Every new one is…

Please don't say that "languages are tools". While this is technically right, our thoughts are so dependent on programming languages that they can't be considered "mere" tools. Considering they are make us wrap languages around their implementations, rather than around their users.

I can understand your point, but I came to the conclusion (after 20+ languages) that thinking in just one language can be quite harmful to find a good solution for a problem.

Actually PG puts it really nicely [1]:

"The right way to solve that problem, I think, is to separate the meaning of a program from the implementation details."

"What program would one like to write? Whatever is least work. Except not quite: whatever would be least work if your ideas about programming weren't already influenced by the languages you're currently used to. Such influence can be so pervasive that it takes a great effort to overcome it. You'd think it would be obvious to creatures as lazy as us how to express a program with the least effort. In fact, our ideas about what's possible tend to be so limited by whatever language we think in that easier formulations of programs seem very surprising. They're something you have to discover, not something you naturally sink into."

http://www.paulgraham.com/hundred.html http://www.paulgraham.com/avg.html http://stackoverflow.com/questions/1003940/learn-a-new-langu...

Re: Programming languages, operating systems, despair and anger

#17
post #11

Earlier quoted context omitted.

I absolutely love Python, can't stand Ruby. The reason I love Python is that in general when I want to write something a certain way, or what seems to be the most natural way to do something is how it is actually done. As a programmer it gets out of my way and lets me do what I need to get done. The author to a certain degree is calling for exactly that, a language that makes tasks that every programmer does over and…

> what seems to be the most natural way to do something is how it is actually done I love Python too, but it's not without its quirks. Eg: ','.join(mylist) Which nearly everyone I know at first assumed would be: list.join(',') Nobody thinks of what's being done here 'take a dot, and use it to join this list'. They think of 'take this list, and join it into a string using dot'.

I was about to write about how horrible that is when I realized that I do that all the time in jQuery:

$("Foo").appendTo(bar)

Re: Programming languages, operating systems, despair and anger

#18
post #11

Earlier quoted context omitted.

I absolutely love Python, can't stand Ruby. The reason I love Python is that in general when I want to write something a certain way, or what seems to be the most natural way to do something is how it is actually done. As a programmer it gets out of my way and lets me do what I need to get done. The author to a certain degree is calling for exactly that, a language that makes tasks that every programmer does over and…

> what seems to be the most natural way to do something is how it is actually done I love Python too, but it's not without its quirks. Eg: ','.join(mylist) Which nearly everyone I know at first assumed would be: list.join(',') Nobody thinks of what's being done here 'take a dot, and use it to join this list'. They think of 'take this list, and join it into a string using dot'.

> Nobody thinks of what's being done here 'take a dot, and use it to join this list'. They think of 'take this list, and join it into a string using dot'.

Even fewer people think of how to do that in the face of heterogeneous and polymorphic lists.

Intuition is not God, it's just an informant. Sometimes it's wrong, no matter the language.

Re: Programming languages, operating systems, despair and anger

#19
post #8

Personally, I don't believe that a proliferation of programming languages is really required. Most languages do the same sort of thing with slightly different syntax and degrees of efficiency. If you're really unhappy and frustrated about the current state of programming languages my advice is to go and develop your own.

I think the proliferation of languages is due to people following your advice: they go off to make their own language, realize it's hard to make something radically different and end up just fixing a couple of their pet peeved from another language.
Post reply on HN