2 ms·
Learn fundamentals. Learning C is good as it's very fundamental. Learning a scripting language is fine as that's fundamental. Any of Python, Ruby, Perl, Tcl,
by bsder 4y ago
Learn fundamentals.
Learning C is good as it's very fundamental.
Learning a scripting language is fine as that's fundamental. Any of Python, Ruby, Perl, Tcl, etc. are fine. I chose Python over Perl moons ago, but the scripting languages are mostly equivalent. Python has the most momentum for now so I'd probably default to that unless you particularly like something like Ruby, for example.
Learn something that makes your programming different: Lisp/Scheme, Rust, Go, Ada, Clojure ... what's interesting about these is that if you learn them, you will find that, for example, your C programming will also change radically. Functional programming will teach you to use much less global, mutable state no matter the language. Rust will teach you the difference between stack and heap solidly. Go will teach you to think about concurrency differently. etc.
Web programming always annoys me. Pick the fundamentals out of this--generally things that are older and yet still popular. Learn SQL and PostgreSQL so you understand fundamentals about databases. Being solid at SQL can often save a ton of programming in your server language. If you're into front-end stuff, you'll have to learn Javascript and probably one of the neo-Javascripts (likely Typescript). Learn HTML and CSS.
Beyond that for web and you start getting into "frameworks" and things get a lot dicier as to being "fundamental". Consequently, I avoid webby programming as much as possible. I'm a bigot on "Javascript shalt not contaminate the server" but that is by no means either a popular or proven position. But, I also still prefer Django for web stuff (mostly Django REST Framework even more than straight Django) until somebody shows me that it isn't really feasible. Note that both of these positions are quite old and fusty. But, then, so am I.
Phone programming, on the other hand, is something I LOATHE because the knowledge seems to have a half-life of 12-18 months. It decays even faster than web programming. Don't learn it without a solid reason.
Avoid C++ like the plague unless you have a specific goal in mind. Game programming being one of them.
Finally, community matters. A below average solution with a good community beats a perfect solution with a crappy community.
Hope that helps.