Article Summary: Agrees with the new languages=cool HN meme.
Conclusion?
New languages are cool. They make you think of syntax again, and force you to shift your paradigm. You start looking on your own code from a different point of view
At minimum you should learn 2 programming languages. One must be imperative, one declarative. One object oriented, one functional. One weak, one strong. One static, one dynamic. One compiled, one scripted. You need a balanced diet.
i do agree that 2 languages won't be enough, but everyone chooses his own ninja way. more ideas / methodologies you can cover = more profit, but time isn't rubber and it's quite hard to stretch it. best is what fits best to your needs.
unless you complete the list of dichotomies in two columns and then design two new languages, each satisfying one set of requirements. If you succeed in that task during your short time on earth then you'd probably be as qualified as any programming languages researcher.
What are you talking about? Function arguments are implicit in concatenative languages. Remember: when you write
1 2 +
You actually write the composition of three functions, which take a stack as input, and return a stack as output. (Well, because the computation is single threaded, you can also say that `1`, `2`, and `+` are procedure that modify a global shared stack).
Once you've learned a language from each of the major groupings it becomes more important to understand the idiomacies of the major communities, or at least the community you're working in.
some guy said in reply to russian translation of that post:
there were a lot of breakthroughs since smalltalk, lisp and cpp were invented: pure functional languages, finger trees, theorem prover's and formal verification.
There's not much sense to learn another framework OR another way to solve problem. You should concentrate more on a theories that let you do it all yourself: Set, Type, theories etc.
13 comments
[ 6.4 ms ] story [ 61.3 ms ] threadArticle Summary: Agrees with the new languages=cool HN meme.
Conclusion?
New languages are cool. They make you think of syntax again, and force you to shift your paradigm. You start looking on your own code from a different point of view
2 languages won't be enough.
Because it really matters whether your function names go before their arguments or after.
This has little to do with reversed Haskell code.
> One object oriented, one functional.
There's more to it. Imperative (but not oop) like C, logical (like Prolog), or whatever Fourth [1] does.
[1] Fourth is imperative, in a way, but it can make heavy use of meta-programming.
And Forth is a concatenative stack language.
There's not much sense to learn another framework OR another way to solve problem. You should concentrate more on a theories that let you do it all yourself: Set, Type, theories etc.
The real breakthrough is being able to compile pure programs to fast native code of commodity hardware.