vs Node.js


Hello everybody,

I have one question. I finished secondary school and I will take gap year before study. I want quality to spend this time.

I have some experience in C# and it’s time to move on next step to learn, and then xamarin for mobile development. Also, I have experience in JavaScript and frameworks like jQuery, Angular, React(starting to learn in few weeks). My question is what is better to learn in the next few months and completely spend time on it, c# technologies or maybe node.js.
I like both, but can’t decide which one. Which one will be more popular in future and which area has better career.
Thank you.


It may seem a bit biased but freeCodeCamp teaches you javascript, javascript is popular in the open source community, while Microsoft’s is proprietary technology. I would recommend Node.js as it makes you more prepared to participate to open source, of course you could learn if you’d rather learn it or even learn both. By the way freeCodeCamp teaches you node.js in the backend development courses. Good luck with whatever you choose to learn :slight_smile:


You could work on freecodecamp projects since you know JavaScript - they have some node exercises and projects too - you’ll work with databases and server side tools for full stack experience


From what I saw in the map, they teach you how to use node.js, express.js, how to use Git, do automated testing and debugging, and even how to use MongoDB. It really helps prepare you for backend development stuff and has lots of projects to along with it :slight_smile:


My cop-out answer… Learn both :slight_smile:

Re: ASP.NEt is propietary technology.

Nope. It’s open source.

and a bunch of other projects.

Maybe you were thinking of .NET Framework 2.0, 4.x.x, which are yes… requires Visual Studio to work on.
But ASP.NET and the current Core 1.x and upcoming Core 2.x are open source and cross-platform.
— yeah, Microsoft is very terrible in naming their products and technologies. They all sound so similar.

C# is a strongly typed language though and working in VS and it’s intellisense is almost magical.

MS is embracing all things open source finally, and even making some of their products open-source and gasp! cross-platform! Can run on OSX, Linux and of course Windows. They have Angular and Bootstrap, NodeJS within Visual Studio.


I didn’t realize they open sourced it. I stand by javascript being popular in the open source community, you’ll need to learn javascript anyways for frontend stuff, so why not make it your backend language to? You quite literally kill two birds with one stone :slight_smile:


They have different usecases generally. Being good at C# is likely to command a slightly higher salary, tied to it being an enterprise language. The fact everything’s now open source should mean the MS languages/platform should show an increase in use.

Node is really very good for certain specific things, and JS is extremely useful. ASP, not so sure (vs just knowing C# well) - Knowing a pure OO language (C#) alongside a one that works in a very different way (JS) is extremely useful. Knowing Mongo; hmmm. It’s really nice to use, until it isn’t and you realise it’s horrible, horrible flaws


That’s a good point, to be fair I also have a high level of distrust in Microsoft projects due to the amount of security issues that are suddenly being discovered, it’s good that they’re being fixed, but I trust javascript a lot more. That’s just me though, and c# as they appear to be used in many languages might be good to learn depending on where you hope to work, with the platform being open source over time as it’s audited it may gain trust in the open source community and I look forward to seeing new languages enter the open source field.


I just enrolled in MongoDB last week… my early impressions. Seems nice and the very flexible structure has use-cases, but what could be a simple JOIN operation in MSSQL using multiple databases, could turn into a big ugly hairy mess in MongoDB since it’s not a relational database.


Yeah, I found that very often in Node courses, the data that youre kinda pushed toward storing in Mongo would be better in a relational DB. It’s really nice for prototyping stuff though, just gets pretty painful as stuff gets live and real


I think node.js has support for relational DBs, however Mongo is more popular in node.js courses.


Yeah, there are a few adaptor libs which I assume are solid by now. Mongo’s JS integration blows them away a bit from a learner POV tho - no SQL to write, so no SQL to teach/learn.

Edit: Whereas with .Net you’re likely to just use an ORM like NHibernate or similar if you don’t know SQL. I don’t know SQL, and so I use ActiveRecord for Rails stuff and Ecto for Elixir stuff, I should learn SQL, but haven’t yet and I’d be a bit lost without those options


We use both .NET and Node.js at work, but it really depends where you reside. Here in Colombia, development is mainly Java and C#, maybe in your country or area it’s different.

Both technologies allow you to do mobile development (Xamarin - React Native/Ionic) so you can’t go wrong, however keep in mind that React Native has way more learning resources out there.

If I were to pick I’d stick with Node.


Agreed :smiley:

Javascript is an awesome language and I can’t wait to get started with Node.js and Express.js :smiley:


PHP isn’t that bad either :grin:


I use it to make quick hacks when there isn’t an API to do things for me, however it’s not my favorite language - I plan on changing all of my current little scripts to run in javascript in the near future. But if you need a simple backend language to quickly write something small then PHP is the language for you.


I don’t know, I used it years ago (even before Laravel was a thing) and it was fine but nowadays with languages such as Golang or Elixir I wouldn’t pick PHP over them.


Other languages are a lot more capable and have the modern web in mind, PHP is very old, it uses older styles of coding, it’s changed as the language gets more updates, I prefer newer languages.


Recently, Blazor has officially joined the ASP.NET Core stack.
This means that C# and .NET Core (both which are fully open-source), are coming to the client.
It’s still experimental, but that’s great news.


Agreed. Great news. I saw that Blazor demo… very nice. Looking forward to it. C#/Razor!
… running in the browser via WebAssembly!

Here’s the video demo for others interested.