2 ms·
I'm writing a longer response to this targeted as a resource (e.g. "I know this, I want to do this- how do I approach the problem?"), but without knowing what b
by iheartmemcache 10y ago
I'm writing a longer response to this targeted as a resource (e.g. "I know this, I want to do this- how do I approach the problem?"), but without knowing what background you come from we really can't answer this question. E.g. what languages/paradigms you're familiar with already, if any, and what you want to accomplish?
I.e. why do you want to build project $foo or learn paradigm $bar? To make web apps? To get great at Project Euler and Code Jam? To expand your mind from a theoretical POV? To get hired at in finance to trade securities?
CS hasn't gotten has large as other fields but it's pretty expansive. A little more concrete information as to what you desire your endpoint to be will help us a lot. Otherwise, one might ramble on for half a thousand words on compiler theory when you really want to target FPGAs.
Edit: Dr Matt Might just blogged about PL's[1]; pretty relevant to you, OP. Post-read, definitely the information you're looking for. Scheme and Haskell (or really, any H-M type inference based language... you don't need to commit to typeclasses and pure functional idiomatic lenses over, say, OCaml's modules and semi-purity to 'reach enlightenment'...though perhaps them be fightin' words around here ;) ) If you liked pre-relativistic mechanics, SICM is a funner text than SICP (contentious remark #2 ! I'm just lookin' for a nerd fight now!). Both are well-written texts accessible to most anyone (i.e., don't be scared, the furthest they go into is perturbation theory)
If, on the other hand, you're interested in enlightenment, academic research or a start-up, the criterion by which you should choose your next language is not employability, but expressiveness...Here you'll find descriptions of four good languages to learn--Haskell, Scala, ML and Scheme--with a list of my favorite features for each, and pointers on where to learn more.
[1] http://matt.might.net/articles/best-programming-languages/ http://matt.might.net/articles/best-programming-languages/ I'll forgive him for this URL slug since the caliber of his content is significantly above average.