
Ask HN: What is the simplest stack to learn? - Raed667
I have been using MySQL&#x2F;PHP&#x2F;jQuery for many years now in almost all my web projects. But reading around the web I feel outdated, and different solutions&#x2F;options are popping up everyday.<p>I want to update my toolbox without having to deal with a steep learning curve.<p>What does HN use?
======
rbosinger
It depends where you're at with the PHP stuff. If you're using a LAMP stack
(as you mention) but using something like MAMP/XAMPP and keeping it simple,
staying away from the terminal or PHP frameworks like Laravel, etc then most
of this other stuff will be hard for a bit. Ruby on Rails is always talked
about as being "easy" but it's really not at first if you're lacking knowledge
of things like package managers, command-line tools, deployment that involves
application servers and deployment scripts, MVC patterns, etc.

I'll say this: if you've been sticking to PHP to avoid all these things I
mentioned then you'll do yourself a favor by picking almost anything (I'd say
Rails or a Node stack) and getting into it. Once you get the concepts of these
stacks you can use that knowledge to jump to other stacks a lot easier as
well. Eventually it all feels kind of similar. You'd even be fine to stick to
PHP but would be a much better PHP developer after nailing some of those
concepts.

~~~
Raed667
I'm quite familiar with the CLI, composer, Lumen, Slim, Symfony, Laravel..
This is not the issue.

The thing is that I'm stating to feel that PHP bundles are getting "outdated".
Where in Django or RoR you could set-up an oauth server and link it to your
app in 20 minutes, in PHP the quality of the bundles and documentation make
using stuff like that "hard".

I'm starting to see that maybe Node (sails.js) + Angular are probably a good
starting point.

------
LukeB_UK
Use whatever you want and ignore what the rest of the internet says.

~~~
Raed667
This was my original thought as well. But then you have to think about
employability.

~~~
LukeB_UK
MySQL, PHP and JavaScript are all jobs that you can easily get employment in.
As long as you understand the actual languages rather than just frameworks you
should be fine.

~~~
cpncrunch
If you look at the hugely successful companies like Facebook, Uber, Google,
Stackoverflow, etc. they all use the likes of mysql, php, python, ASP,
javascript, etc. Airbnb uses RoR, which although fairly new is now pretty
mainstream.

I can't think of any really successful companies that use new-fangled
frameworks and the latest rockstar languages.

~~~
kedean
Eh, rails is ten years old now. That's pretty respectable, and it actually
seems like it's on its way out.

It's also worth noting that Facebook is built on React for javascript, which
falls under 'new-fangled frameworks'.

It's also also worth noting that MANY companies are still using a Java stack
(with Tomcat or JBoss).

~~~
Raed667
I never understood why "new" companies would go to JAVA.

~~~
eswat
I know of at least a few new startups started by old guard that used to work
at IBM and Blackberry. Many stuck with Java because they were already familiar
with it and adopting something new would have slowed them down.

You can argue that this would hurt hiring prospects. But many had their sights
on attracting more engineers from these big tech as their first employees, who
would have the same reasons for sticking with Java.

------
sheepmullet
I'd pick a stack with a steep learning curve.

After all, the two most important skills in software development are the
ability to learn and the ability to solve problems.

A stack with a steep learning curve is likely to improve both of these skills.

~~~
danieltillett
This is certainly one way to set yourself apart from the crowd.

------
digitalzombie
PHP (Laravel 4)/Postgresql or Cassandra/jquery

For back end, I run Vagrant + Ansible with PHP composer

Front end, it's bower + grunt

My other tools are Vim + Tmux.

For data and webscrapping I use scrapy (python framework).

The current project I have is what I've listed and going to learn Apache Spark
and Elasticsearch. I'm currently stuck on learning Ansible to provision stuff.

I think many worthwhile things are going to require some learning curve
whether it's steep or not is more up to the individual.

I'm putting off AngularJS, EmberJS, React stuff. I think it's to early.
Likewise Docker and container are too early. I'm waiting on perhaps Docker 2.0
and some technical book out. Kubernates in my personal opinion is really an
Alpha software there are many caveats.

I'm thinking of moving to Django/Python stack in my next project and tinkering
with Apache Accumulo.

~~~
hackerboos
If OP knows PHP then Laravel is a good choice.

I love Ansible, it's the only provisioning tool that really clicked for me.

I tried Chef a few years back to provision a single server and there were just
too many moving parts - chef, chef-solo, chef-zero, knife, knife-solo,
berkshelf.

I gave it a go again last week and it's gotten easier, although I still think
the docs for chef-zero are not that good.

------
jnbiche
Learn the new "HTML5" JavaScript APIs: Canvas, WebSocket, WebRTC, Web Workers,
File API, Geolocation, Web Storage, etc.

They're relatively easy to learn, well-documented, and are pretty in demand on
the job market.

If you want to take things a step up, learn ES6 JavaScript. It has a lot of
very nice improvements, but is a steeper learning curve than just learning new
JS APIs.

Regardless of what you do, learn how to use modern, vanilla JS in place of
jQuery. There is often no reason to use jQuery these days if you're targeting
modern browsers. With `document.querySelector`, you can even replicate the
selection capabilities of the jQuery `$`.

------
zhte415
Depends what you want to do.

That's it.

Don't obsess about changing too much. Speaking with a colleague, he was asked
why he chose mainframe as his career.

"It doesn't change much. COBOL, DB2, CICS, JCL, etc. I can learn them and the
applications to a deep level, and not worry about that learning going out of
date. That lets me focus on getting deeper and understanding the business
applications of why we do what we do."

------
DougWebb
Every answer you get here will be pretty much useless to you unless you
describe the kinds of web projects you expect to do going forward. Your
current stack may be perfectly suited, or you may have been using an
inappropriate stack for a lomg time and making life harder for yourself.

"The right tool for the job" requires consideration of both the tool _and_ the
job.

------
Someone
HN uses Arc ([http://arclanguage.org](http://arclanguage.org)) :-)

Seriously: if you fear a steep learning curve, replace one item of what you
use now. For example, replace MySQL by PostgreSQL, then replace PHP by
something else, then move out JQuery.

------
mindcrime
I do a lot of work using Postgres -> Grails -> jQuery, and I'm just now
starting to think a lot more about picking a fancy new JS front-end framework
to focus on. I'm torn between React and Angular, but leaning towards starting
to invest time learning React.

~~~
jnpatel
I found this tutorial featured previously on HN really helpful to start my
transition from jQuery to React.

[http://reactfordesigners.com/labs/reactjs-introduction-
for-p...](http://reactfordesigners.com/labs/reactjs-introduction-for-people-
who-know-just-enough-jquery-to-get-by/)

~~~
Raed667
I actually enjoyed this intro to react. (Even tho PrivacyBadger gave me a hard
time with JSBin).

------
Mc_Big_G
Ember and rails compliment each other very well with many gems like
active_model_serializers and devise on the rails side and many add-ons for
ember like ember-simple-auth-devise. ember-cli saves weeks of environment
setup and includes automated test support.

~~~
avinassh
> Ember and rails compliment each other very well

Is there any JS MVC framework which compliments well with Django?

~~~
makufiru
Both Angular and React are very easy to drop in and integrate with Django.
Ember isn't a big stretch either, as you can use any framework with anything
that serves up a restful API

------
loopydorothy
I have been working with MongoDB/Node.js/Express/Angularjs and I think it is
one of the easier stacks to work with because you are using javascript for the
database, client-side, and server-side.

------
Firegarden
Learn C#. It is a beautiful well formed language. The concepts are seen in a
lot of other languages. Also it is now open source and about to blow up 100x
because it runs on Linux.

Don't learn JavaScript until you have understood C#.

