Ask HN: What's the best stack to learn?
Hi,
As a dev, then software architect/devops guy, then CTO of my own startup, I've always relied on the following tools:
* Java (as my "base" skillset, but somewhat rusty after a bit more than two years not actively coding)
* Python, either for scraping, admin or math related stuff
I don't have much experience in front end development, although I understand it and can manage a team doing it.
I have friends that swear by nodeJS, I've looked into it but my "dislike" for JS (and all things front related really) make me fear I won't be good at it.
So what would my fellow HN users recommend as a new skillset to acquire, mainly to keep on top of new things and breathing a bit of fresh air outside of my day-to-day tasks?
10 comments
[ 2.7 ms ] story [ 22.7 ms ] threadSince you seem to be rooted in the web/OO world, taking a free Haskell course might be pretty interesting and mind-expanding for you. It'd also help you become a better web/OO developer.
Take a look at Elixir, Rust, Go, and Scala, and see if any of those pique your interest. If it's just for fun, it doesn't matter what you choose.
(IMHO Node sucks. JavaScript is widely known and popular because browsers don't support anything else. Unfortunately, it's an absolute mess, and the Node ecosystem is incredibly confusing and crowded. Things like Typescript are improving JS a bit, but it's far from the "best" language for something large. It's still good for prototyping, though.)
I should have added that I have a bit of experience in Scala.
The point you make about Node is the exact reason I'm not sure I want to learn it: in my mind JS is a mess, and as awesome as NodeJS can be, it's still built on sketchy foundations, since JS is sketchy...
If you are looking for something less practical, but perhaps more interesting to your backend sensibilities and less frustrating, I would recommend Elixir. It's a really great language running on the really great Erlang VM, which I envision being a really great alternative to the usual suspects of the backend. I'm using it to build an API-based service, and have found it extremely fun to work with and refreshingly easy to get great performance (after doing Rails for many years).
Edit to add: Also, since you already know (and seem to like?) Java, learning how to build Android apps is both fun and practical, and you could port your app to iOS for an easier way to learn Swift, which is another great language that will definitely be a great bullet point on a resume for years to come.
http://www.abookapart.com/
Seriously, it's really hard to learn a language without great and abundant documentation, tutorials, and Q&A.
1. https://github.com/search?utf8=%E2%9C%93&q=language%3AArc&ty...
The great thing about being a LAMP developer is you can either get a job, basically anywhere or freelance doing web development or app development.