I haven't used rails in about 3 years (when I first started programming) and I only built 1 application which was a super shitty weekend instagram clone that didn't really work well. I didn't want to use rails anymore because it didn't feel like programming and nodeJS was getting hot.

The thing is, I knew fuck all about programming then and now, I have the luxury of knowing very slightly less than fuck all. Which gives me the perspective that this article has, rails is pretty fucking awesome for building a crud application that uses a relational datastore. The author indicated ~80%.

Wordpress is also something I swore off when I was learning because it straight up wasn't programming. I installed wordpress on a server for the first time last week to setup a blog. I browsed a few thousand themes, it took me a while to find a theme for a blog. The just a blogging platform is actually more ironic now, than it ever was.

So, I agree with the author the design patterns shape the community and then the community shapes the design patterns. You can pretty much build any type of app with any language if you are motivated and talented, however, from my observation, the following languages seem to give you the highest leverage in the domains the community has evolved them for:

PHP/Wordpress: Blogging sites & CMS building.

Node/JS: Applications and APIs typically with a noSQL database.

Ruby/Rails: Building CRUD apps with relational datastores.

Python: Data intensive applications & programming.

erlang/elixir: Never used this, but seems ideal for highly scalable concurrent architecture and highly scalable process choreography.

So in essence, I agree with the author. I would love to switch from node to Rails as I like the framework aspect where you can just get productive super quick. I also see rails as going away, so I wouldn't make the time investment. I think learning node was the right thing to do ~3 years ago, but I wish I spent another 6 months using rails and got really comfortable with it first.

> This is not serious programming/you aren't a serious programmer

fairplay. I am a jr. web developer, explaining my conception of some frameworks/communities/languages, so I agree with you that I am not a particularly talented programmer (it isn't my core skillset) and I am not solving hard problems in this arena(as I don't conetend that I am). I disagree that I claimed any of the above was my definition of serious programming. Of the hard problems I will work on/what I think needs to be solved, I have spoken of at length elsewhere.

It sounds like you are just trying to justify your decision for Node. I use Node and Rails in production for different products/services. They both serve different purposes well.

"Going away" was said about .NET and PHP and they don't seem to be going anywhere, albeit they are less popular than they use to be.

Too many discussions on HN have this paranoia lurking around of whether or not "I chose the right path". I find it unhealthy, and find that the longer life of a product exposes the weaknesses of any language/framework.

Again, I am not trying to justify my decision, I think if you asked most developers to give advice to a kid learning programming 3 years ago how to get started(with the benefit of 3 years glance into the future) they would probably lean towards node if it was between nodejs v ruby.

However, I totally agree that the longer life of a product exposes the weaknesses of any language/framework. and there are multiple paths. Just that, if you want to get good at writing software you probably need to pick a starter language with a versatile community. People still write cobol, and wherever there is code in production, there will be demand for a language, but .NET and PHP are probably not growing in demand. I actually don't know about .NET tbh.

However, there is such thing as choosing a path as, without extensive time investment, skill and knowledgebase, it would be difficult to be a truly capable python, .NET, javascript and rails dev.

It would be wise to be capable in those languages, but to be a master or attempt mastery of the one most likely to embody your interests/career would likely be a better move than being able to be less than mediocre in numerous languages. I think we are largely in agreement, and I hope I didn;t mischarachterize you.

I think rails is cool, and I now regret not learning it as I do like the scaffolding nature and I am sure I could pick it back up quickly, I just do not have a need to right now. Elixir looks super cool though and if I do learn a new language that is markedly different it is a toss up between Go and Elixir. I am messing around with python right now, but javascript and ruby are pretty similar, and pyton seems fairly similar. A functional language or a compiled language will be a radical departure from what I am used to.

.NET is alive and well.

Enterprise only cares about Java and .NET as standard backend stacks, regardless of the technology of the day HN posts how everyone is doing Go and node.js.

i actually have been interested in Java because apache has open sourced what seems to be the best collection of resources on the internet and they are almost entirely written in java for the java ecosystem. I also think I would learn a massive amount. I also am strongly considering Java and less strongly C. What are your thoughts on Java in terms of:

* How much it would teach me about programming/software design, e.g. just as a general learning excercise?

* What does Java lend itself best to/is a typical set of programs a beginner could build after say 1 month?

* Is google planning on phasing Java out and using Go?

Java might have its issues, but it is one of the languages with best tools available.

For example, most languages eco-systems lack tooling like VisualVM, Mission Control, JITWatch on their canonical implementations.

https://visualvm.java.net/

http://www.oracle.com/technetwork/java/javaseproducts/missio...

https://github.com/AdoptOpenJDK/jitwatch

Also note that although many seem to be focused on Java being Oracle JVM or OpenJDK, there is a pleothora of JDKs both open source and commercial to choose from. With many other features.

For example, most commercial JDKs support AOT compilation to native code.

Or targeting micro-controllers with a few hundred KBs.

Also Java gets bashed by being all about a specific OO model, but VB.NET, C#, Eiffel, Smalltalk follow exactly the same model.

> Is google planning on phasing Java out and using Go?

Until they embrace Go in Android, ChromeOS, their Google Developer SDKs and Google IO sessions, I would say no.