Ask HN: Node.js or ASP.Net core
I'm going to try to get into web application development freelancing, and I'm trying to decide what new technology to learn. I have previous experience with Node.js, 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.
11 comments
> 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.
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.
> 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.
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.
> 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.
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.
> 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.
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.
That's interesting. I wonder what Microsoft would think if more companies were doing that.
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)
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)
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).
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
[deleted]
C# is like 100x better than Javascript.