

Ask HN: What's the best stack to learn? - karambahh

Hi,<p>As a dev, then software architect&#x2F;devops guy, then CTO of my own startup, I&#x27;ve always relied on the following tools:<p>* Java (as my &quot;base&quot; skillset, but somewhat rusty after a bit more than two years not actively coding)<p>* Python, either for scraping, admin or math related stuff<p>I don&#x27;t have much experience in front end development, although I understand it and can manage a team doing it.<p>I have friends that swear by nodeJS, I&#x27;ve looked into it but my &quot;dislike&quot; for JS (and all things front related really) make me fear I won&#x27;t be good at it.<p>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
In 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
Thanks 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
JS 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
Many thanks, I've always been attracted to Erlang, so I'll definitely have a
look to Elixir

------
percept
Those weak front-end muscles need a workout. Try:

[http://www.abookapart.com/](http://www.abookapart.com/)

------
BorisMelnik
LAMP 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.

------
dreaminvm
If 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.

------
read
Arc. Besides boosting your productivity, it will stretch your mind in ways you
have yet to imagine.

~~~
smt88
And 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&ty...](https://github.com/search?utf8=%E2%9C%93&q=language%3AArc&type=Repositories&ref=advsearch&l=Arc)

