Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hate the tool argument. Programming languages are as much a tool as mathematics or English. I think of them more as a method of communication, a way to express your thoughts and ideas. Not only that but they are executable and unambiguous (most of the time heh). A programming language not only has the power to allow you to express your thoughts, but even to even shape them.

The power of this field is in its infancy. There will be a day when "programming" as we call it is as natural part of the user experience of machines as browsing facebook might be today. In fact it will be expected, and products that do not allow this rich interaction from the user will be shunned. Programming will be second nature and humans will not desire it, nay they will demand it. It is akin to granting freedom to those subjected to slavery. It really changes ones entire world view.

But by dismissing these powerful constructs as mere simple tools this vision will never be realized.

This is the flaw in Zed's argument. Learning new languages may not have been valuable to him (which in reality I doubt) simply because he hasn't expanded enough into the areas less explored. There is so much room for innovation here that the journey hasn't even begun. He is writing off something so incredibly powerful and world shaping simply because he lacks the imagination to see it. The sad part is that he is inflicting this view on those new to the profession that may across his old "wisdom".



I appreciate your comment. I tend to have a lot of sympathy for the "programming as a tool" argument and forget the potential that programming languages ultimately have. Programming languages, just like any language, are a means of communicating ideas. As this becomes easier and more expressive it will revolutionize the field, many times over.

I think the real problem is that most languages that are made these days are just minuscule iterations over whats currently available. From that perspective there is little to no value in keeping up with whatever monstrosity some overeager researcher squeezes out of their head. But completely new paradigms, or new ways of doing old things, certain have much value; to the programmer learning it and to advancing the field.


Exercises in style do not make books (Raymond Queneau nonwithstanding). If you just try out a load of languages, learning what's possible but not doing anything with it, what's the point?

I don't think he is discouraging learning new stuff, looking at new techniques. What he is saying is that a solipsistic attitude about programming is a waste, and that resonates with me. I've seen many a time people who can make awesome demos of SLIME, have Haskell tricks up their sleeve, write languages on weekends, and yet ultimately do absolutely nothing. It's scholarly, for sure, but that's it.

To be fair, I agree that there's explorations to be done in this realm, but the sorts of explorations that create value on a visible scale tend to go hand in hand with some application. "ERLANG'S SO AWESOME" because its ingenuity meets reality quite rapidly, and you can build stuff with it. In a societal scale, that's the true value.


" There will be a day when "programming" ... is as natural part of the user experience of machines as browsing facebook might be today."

Are you serious? Like how everyone changes their own oil?


I don't see why this idea is so hard to grasp. With the current state of programming languages, definitely not. But I believe much more intuitive forms of programming languages will eventually be made such that your average intelligent user can accomplish non-trivial computation.

Programming languages are the computer analog to natural languages. The real problem is that most of our brains aren't wired for programming languages. If we can bridge that gap, that will completely revolutionize the way people interact with computers.


Yes I am very serious.




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

Search: