

Ask HN: Which Technology Should I Use for Web App Dev? - sanosuke

Maybe this question has been asked a lot of time but here it is again.<p>Which Technology should I use&#x2F;learn fro web development?<p><i></i> Python&#x2F;Django
<i></i> Javascript full stack.
<i></i> .NET MVC 5
<i></i> Java EE 7
<i></i> Scala &#x2F; Play
<i></i> Ruby on Rails.
<i></i> Etc.<p>Goals
* Be Hireable.
* Can&#x27;t think on another one, so basically be able to get a job.<p>Because if my goal were to pursue Computer Science as a lovely field, My choice would be C or Haskell.<p>Thanks for the answers.
======
trcollinson
I would learn at least one solid backend technology to use for services and
processing and one frontend technology.

If I were in your spot I would probably learn Java for the backend technology
(with Jersey, Spring MVC, and Hibernate). Personally, I much prefer Ruby on
Rails or Python and Django but since your goal is to be hired (and I would
assume to be able to move up and make more money), I would stick with Java.
It's solid and not going anywhere.

For the frontend I would say Backbone or Angular. I haven't made a decisions
here but I would say Backbone is not going anywhere and will be the template
for other frontend frameworks for many years to come. Angular is also strong.

Also, grab a css framework. I would choice Bootstrap.

------
mak4athp
1\. Figure out what sector/industry you'd like to work in.

2\. Figure out what's popular in that sector

3\. Focus your skill development on that.

With some exceptions, but there's a high affinity for certain technology
stacks in most sectors.

Alternately, if you want to work with C or Haskell -- start by identifying the
sectors that are actually using those (they do exist), and build your
understanding of the problem domains unique to that sector or your familiarity
with the frameworks, libraries and toolchains that are being used on top of
them.

------
alexgaribay
Scala and Play is a very fun stack to work with for backend. It has a lot of
modern technologies needed to create awesome applications. Scala is slowly
becoming more popular among startups in SF and London. Scala is a very fun
language and I have enjoyed transitioning from being a Java developer to a
Scala developer and learning functional paradigms in Scala.

With my Scala promotion aside, each of the stacks you have listed have great
employability. You'll need to ask yourself what kind of things you are wanting
to learn while using these stacks:

1\. Do you want to use a dynamic language? (Python, Ruby)

2\. Do you want to use a statically-typed language? (C#, F#, Java, Scala)

3\. Do you want to learn functional programming? (F#, Scala, Python, Ruby)

4\. Do you want to work with big data and ML? (Python, Scala)

5\. Do you want the highest chance of employability? (C#, Java)

------
gt565k
From my personal experience, people who go the java route get stuck in more
corporate jobs where things are slow and boring.

Java is just not that great for web dev. Dynamic languages offer much more
flexibility. Although, at the end of the day, most web apps are REST APIs with
Angular or another front-end framework.

I'd say learn Rails, as there are a lot of jobs in that area of expertise.
Once you get good with Rails, learn Django, and then .NET MVC

Don't stick with one. Learn multiple frameworks so you can see the pros and
cons of each.

Some will integrate better with certain technologies because of community
support.

------
quorr
If your choice would be C or Haskell, you might have a look at Go (at least
for the backend). It's usage is growing a lot in the last time.

Your choice may also differ from the location. In the USA Ruby on Rails
experts have a good chance to find a job. In Europe (for example Germany)
there are only a few well paid jobs.

------
nathan_f77
I might be biased, but I would still recommend Ruby on Rails.

------
Avalaxy
Of course ASP.NET MVC 5.

Yea, this is useless.

