4 ms·
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?
- smt88 12y agoIn general, "best" is not an absolute, and we can't really tell you what to learn, especially if you don't have a business case that you're trying to accomplish. Since 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.)
- karambahh 12y agoThanks for reply. 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...
- sanderjd 12y agoJS is not a sketchy mess, but it has been used to build a lot of sketchy messes. That was far more true a decade ago than it is today. In 2015 it is just as easy to write concise, correct, and maintainable code in JS as in any of its common competitors. If you want to learn something very practical, JS and its vibrant ecosystem is absolutely what you should learn. You will likely be frustrated initially, but come out the other side with a very valuable tool for your toolbox and a new respect for the language. Check out ES6 as well, it is a very nice language that is currently transpiled to JS like Typescript or Coffeescript, but it may eventually be implemented in browsers directly. 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.
- karambahh 12y agoMany thanks, I've always been attracted to Erlang, so I'll definitely have a look to Elixir
- dreaminvm 12y agoIf you are interested in web projects using python, you should check out Django. There is a large, mature community and great documentation to get you started.
- percept 12y agoThose weak front-end muscles need a workout. Try: http://www.abookapart.com/ http://www.abookapart.com/
- read 12y agoArc. Besides boosting your productivity, it will stretch your mind in ways you have yet to imagine.
- smt88 12y agoAnd it will be mind-stretchingly difficult to learn because almost no one uses it[1]. 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&type=Repositories&ref=advsearch&l=Arc https://github.com/search?utf8=%E2%9C%93&q=language%3AArc&ty...
- deleted 12y ago[deleted]
- BorisMelnik 12y agoLAMP with the P being PHP or Python. 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.