Hacker News new | ask | show | jobs
by euccastro 6912 days ago
Sorry if I gave that impression. I realise some of the things I said in my latest reply may come across as trying to refute arguments which you of course didn't make. My intention was to go deeper into what you said about the tradeoffs involved. I admit my arguing for high level languages was a bit out of place in that context; I guess I got carried away by the tone in the rest of the thread. In particular, in my last paragraph I didn't mean to imply that you were proposing C++ as a pragmatic solution, esp. for startups. So please accept my apologies.

With the Lisper-coding-C++ example I was trying to convey that even if you could think such thoughts, it wouldn't help you much for practical purposes unless you can express them in a convenient way. So, even if we discard the Sapir-Whorf argument in the literal sense, for practical purposes you may just as well pretend it's applicable.

That said, I find different languages do shape how you think about programming.

The people that invented Lisp were mathematicians, which of course were used to thinking at a pretty high level of abstraction. It's not strictly impossible to come upon the same ideas on your own, just as it's not strictly impossible to come upon ideas that are not expressible in your natural language, even if you accept Sapir-Whorf. After all, somebody had to invent the words of natural languages too.

But there is a huge leap between learning a concept(+) and inventing it. Natural languages evolved over thousands (millions?) of years; modern mathematics took a couple thousand years to discover. Yet most children learn their native languages effortlessly, and a high school kid learns centuries worth of mathematical advances in a few years.

So yes, you could think of the thoughts that higher level programming languages afford without having ever been exposed to those languages, but that would be an exercise of lucidity comparable to finding a bunch of significant new mathematical theorems, or to inventing new words for concepts that can't be readily expressed in English, without having learned about those concepts in French or Japanese before.

(+) edit: idea->concept

1 comments

I completely agree about learning rather than reinventing.

And I think learning different languages in particular is valuable because it helps to intimately introduce one to various useful concepts.

But in general the most valuable of those concepts are both simple and language independent. Typically you can map such concepts used in one domain onto another domain and leverage them there as well.

I don't see the "languages" as being as important or as absolutely dominant over thought as the Sapir-Whorf style arguments imply. Plus I don't believe the arguments in an absolute, philosophical sense. And I've seen the argument made too many times in a way that tends to insult some of our fellow programmers for no good reason.

Anyway, I think we're probably in agreement about a lot of things but perhaps the Internet is getting in the way of our communication. Interesting talk, take care and good luck!