7 ms·
At minimum you should learn 2 programming languages. One must be imperative, one declarative. One object oriented, one functional. One weak, one strong. One
by dstein 16y ago
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.
- loup-vaillant 16y agoI can extend the list: one applicative, one concatenative. One eager, one lazy. One explicitly typed, one inferred. 2 languages won't be enough.
- ifesdjeen 16y agoi 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.
- dasil003 16y agounless 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.
- jemfinch 16y ago> I can extend the list: one applicative, one concatenative Because it really matters whether your function names go before their arguments or after.
- loup-vaillant 16y agoWhat 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). This has little to do with reversed Haskell code.
- eru 16y agoJust to pick one aspect: > 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.