Is it a good idea to start programming with LISP through SICP? I've always heard mixed opinions: some say math and books aren't really important to programming and you should just get to the point (a language you want to learn) and some say you should be good at it and focus on learning math as well.
Name:
Anonymous2018-09-03 22:17
No, no, no. I'm a web developer and nobody in the real world uses Lisp or SICP. Any who tells you otherwise is either an old dude with a poorly-aging body of knowledge, or a troll or someone who fell for the SICP /g/ meme.
Things that are taught in universities these days (which are useful): Web development -- many different routes for this, but web dev isn't really turing complete, and it's very different, so maybe start with Java or Python first Java -- very useful, often used as a first language; garbage collection makes it easier to start out than with a language that require manual memory management C++ (at least to learn more about memory management, references, destructors, etc. -- has lots of features you will probably never use, and it's more difficult to use than Java, but it's also faster and has some interesting features) Python: very easy to use, neckbeards make fun of it for FIOC (forced indentation of code), but it's quite good, and then you can get into Django backend web development later, since that's the language it uses. Used for learning, data science, web dev, etc. It's often used for educational purposes, and it often the programming language that non-CS people use, due to its relative simplicity, combined with actually being useful (unlike toy things like Scratch)
If you want to get into mobile apps, then learn Swift and Kotlin. Technically you can still use Objective-C or Java, but they're on their way out for mobile.
Bottom line: start with Java or Python, then learn web dev and maybe C++. SICP and Lisp are less than useless, they're a waste of time and will teach you bad habits.
Functional programming won't get you a job. Object-oriented languages will (though Java is more multi-paradigm nowadays). Don't listen to Lisp neckbeards.