
Ask HN: Node.js or ASP.Net core - jamesmp98
I&#x27;m going to try to get into web application development freelancing, and I&#x27;m trying to decide what new technology to learn. I have previous experience with Node.js, but I&#x27;m not very fond of the JS community nor the language itself. I&#x27;ve been wanting to get into C# for a while, but I&#x27;m not sure if the tooling and community is quite developed yet.
======
ohgh1ieD
> but I'm not very fond of the JS community nor the language itself. I've been
> wanting to get into C# for a while, but I'm not sure if the tooling and
> community is quite developed yet.

You got your answer, learn core

I'm not sure if asp.net core is production ready, I wouldn't use it right now
for my projects and I also doubt ( someone correct me if this is wrong ) that
established companies are looking for asp.net core devs, it might be quite
hard to find freelancing jobs.

So it's probably a better idea to use node for freelancing.

Now combined, you actually don't like node, asp.net core is not production
ready and companies are not using it (yet), what else could you do ? asp.net
mvc, lots of jobs, solid mature framework and C#.

Edit: I also think that it won't be hard to switch from asp.net mvc to asp.net
core.

~~~
citruspi
> I'm not sure if asp.net core is production ready, I wouldn't use it right
> now for my projects and I also doubt ( someone correct me if this is wrong )
> that established companies are looking for asp.net core devs, it might be
> quite hard to find freelancing jobs.

I'd agree that major companies are probably not using .NET Core (aside from
Microsoft I'd imagine). As far as it being production ready, I believe it's
near or at that point. 1.0 shipped in June. My employer is starting the
transition from .NET to .NET Core and we're pretty confident that it's ready.
Having said that, we don't have anything currently in production so I don't
really have much data to back up that statement.

~~~
ohgh1ieD
> My employer is starting the transition from .NET to .NET Core and we're
> pretty confident that it's ready.

What's the reason for the switch ?

For us ( the company where I work ) it would be very difficult to rewrite our
applications to core, so we decided to only introduce core to new in-house
projects.

~~~
citruspi
> What's the reason for the switch ?

We're pushing for it primarily for cross-platform reasons. Currently our
developers have the choice between MacBooks and Windows machines. .NET
developers who choose MacBooks need to run Windows in a virtual machine which
can be painful to do constantly. In addition, our application servers are
currently Windows which means higher costs due to licensing.

We're moving to .NET Core and basically moving into the Docker ecosystem so
that developers can run the operating system of their preference without
requiring a virtual machine for development and so that we can use Docker
containers on Linux hosts for running the services.

~~~
dhogan
That's interesting. I wonder what Microsoft would think if more companies were
doing that.

------
roryisok
The tooling and community for c# are very well developed. Remember, .net core
is not a new language, just some minor restrictions on an existing, very
successful one. If you're on windows, visual studio 2015 is just about the
best ide anyone could hope for. If you're not, visual studio code is
excellent, and getting better all the time.

If you already have experience with node then that's yet another reason to go
with c#. Learn something new!

I like both languages, and I don't challenge the fact that JavaScript is
dominating right now, but I have a feeling 2017 will see a .net core
explosion. It's easier to code, better performing, multithreaded and you don't
have to install a thousand packages to do simple things like you often do with
node (I shudder every time I look in that node modules folder)

------
ess3
The C# community is developed and mature, but that shouldn't really matter if
it's just for learning purposes. I found that learning to code in a language
like c#, Java etc. really made me a better programmer. Especially for
understanding OOP (even though es6 has some kind of implementation of that
now).

~~~
pier25
TypeScript is a lot better than pure ES6 since it has modifiers, accessors,
abstract classes, interfaces, etc.

[http://www.typescriptlang.org/docs/handbook/classes.html](http://www.typescriptlang.org/docs/handbook/classes.html)

------
romanovcode
C# is like 100x better than Javascript.

