
Ask HN: Advice on which stack to use\learn in order to grow as a developer - betterwebdev
Hi,<p>I currently work full-time with a variant of Web Forms (think PHP early years style of putting code and HTML together multiplied by dozens of files.). I was told that later this year we will probably upgrade to MVC (not counting on it though, since they said the same last year).<p>Anyway, I feel like I&#x27;m stuck in time and want to improve my skills. My only opportunity to work with more &quot;modern&quot; code is when I do some freelancing, but I am still somewhat limited by my clients choices.<p>I want to build something, sort of, similar to a price-comparison web app and improve my skills during the process of developing it. It will require a lot of APIs integration, good database architecture, etc.<p>I narrowed down my options to 3 languages:<p>- JavaScript (NodeJS): I like Javascript and already work with it quite a bit (just on the frontend though). I&#x27;m curious about grunt, npm, etc.<p>- C# (MVC): I&#x27;ve never worked with Asp.Net MVC. I could use this as an opportunity to learn so I can be ready when we upgrade. It will also improve my &quot;curriculum&quot; since I&#x27;m mostly a C# developer - and it would look weird that I wouldn&#x27;t know ASP.net MVC.<p>- PHP (Laravel): Most of my freelance work is on PHP (usually on a custom framework). But I&#x27;ve never worked with this framework which seems to be extremely popular nowadays.<p>Any advice?<p>Thank you.
======
whatnotests
NodeJS is great because it's just JavaScript, and you can use JavaScript
everywhere.

I'm saying this as someone who's been doing web development since the 1990s
and have used at least a dozen of the most popular frameworks over the years.

Other than NodeJS consider Rails, as it is chock full of best practices in
terms of security, testing and code organization.

IMO tools like Django or anything from the Java world lag far behind in terms
of features and tend to carry too much baggage from their past.

Others will disagree with some of this, which is fine, but YMMV.

------
marvel_boy
Try ELixir/Phoenix. It is the future. Yes, it is very different from others
frameworks but this is just a (future) advantage.

~~~
alixaxel
I was going to pick this up, but then I looked at the Web Framework Benchmarks
and I got a bit disappointed: at it's best Elixir peaks at 40% of the
performance of Node.js, and 5% at it's lowest.

Another worrying metric is the number of errors: Phoenix is almost the only
framework where these benchmarks show a very high number of errors across all
tests.

[https://www.techempower.com/benchmarks/#section=data-r12&hw=...](https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=update&l=2hwjk)

