Start learning .NET Core or Node.js in 2018?

I have experience in both technologies. I started my career programming in .NET C#(2013) and today I work as a Node.js engineer. (I love both)

Probably you should study .NET Core! It's very FAST and you have already .NET background that might help you in the transition. Also, MS have good and free resources about .NET Core.

If you are still curious about Node.Js, you can do some pet project at home to learn a bit more.

About your pros/const list I have to disagree with some points:

  • Node.js have promises and async/await that removes completely the callback hell.
  • Node.js it's not trying to replace Ruby.
  • DotNet Core is increasing their popularity and it's Cross Platform.

I am currently working with .Net Core app. Earlier I've made a simple Digital Signage app in Node.js so... I have a little experience with both.

First, Node.js is good for apps like chats or streaming (Netflix is using Node.js for streaming, take a note of that). But how about .Net Core? You can make streaming application in .Net Core, but it's made for apps that doesn't require dynamic streaming, which are basically all websites, from shops to social media.

You also have to remember that Node.js is fully asynchronous, which can be difficult for beginner (I've also had some problems).

In my opinion, if you are familiar with VB, you should try .Net Core. It's more elastic and universal. Also, you can use .Net Core with Razor on front-end and forget about JavaScript.

I've been C# developer for about 10 year. It's an excellent programing languajes and of course a great .Net framework. But I think that this kind of platforms are stucked in time. They are very closed and they growth very slowly. MAinly you have to wait to oficial microsoft releases in order to have new features.

I think that in order to solve these problems, Microsoft decided to re write the .Net Fw and create Asp Net Core. I saw that it has a very good community support and libraries, etc. Also it's cross platforms and allow to another people that don't belong to Microsoft to develop libraries and tools.

On the oher hand, I started a couples of months ago with NodeJs, Express, etc. I realised that this kind of technologies growth very fast because the of the community. Also are stable and the constly updates give new feuters quickly.

So my recomendation is, try to start with c# in order to get a near sintaxys and then you can start with Node. If you decide to use TypeScript it will be easier tha javascript for you.

My apogies in advance about the languaje, I'm not a native english speaker.