DEV Community

Cover image for Which programming language should you learn in 2022 to remain relevant and also increase your revenue.

Which programming language should you learn in 2022 to remain relevant and also increase your revenue.

Ifeanyi Okeakwalam on December 18, 2021

There was a time in my life when I made up my mind to be a programmer, I had a very big problem deciding which technology to learn. To me then I w...
Collapse
 
jwp profile image
John Peters

My observations:
Learning TypeScript makes it simple to pick up on C# and Javascript.

With C# and Blazor, Javascript is not needed. Wasm just may become a disrupter.

Traditional back ends written in C# or Java can be fully replaced with microservices which run in TypeScript or Javascript.

The common denominator is Javascript but TypeScript gives a more broad range of skills.

If I were just starting I'd pick TypeScript then Javascript followed by C#. Why C#? It's far more advanced than Java and has built in Wasm support.

Java is more popular in large enterprise, so my 4th choice is Java.

Collapse
 
kayis profile image
K

My impression was, TypeScript is rather hard if you don't know JavaScript.

It's basically a static type checker for JS, so not knowing about the idiosyncrasies of JS makes seem TypeScript kind of weird.

Collapse
 
jwp profile image
John Peters

True if coming with no static language experience. TypeScript and C# use exact same concepts. C# people get TypeScript immediately.

Thread Thread
 
kayis profile image
K

Good point.

The reason, I was anti TS for a long time was exactly that, it was too close to C# for my taste.

I'd have preferred that ReScript would have won and we now had something more functional, but whelp. TS it is, and it's better than nothing.

Thread Thread
 
jwp profile image
John Peters • Edited

Yes Javascript people appear to be fiercely loyal to it, despite it's history of slow improvement. Things are better now for sure.

Thread Thread
 
kayis profile image
K

I started with C programming at school, and when I went to university and they tried to sell me Java and C++ it all felt quite cumbersome. C was much simpler.

Then I discovered JavaScript and had this feeling of efficiency again, not in terms of performance, but simply in coding.

TypeScript felt a bit like people tried to push the heavyweight OOP stuff of C++/Java into JavaScript again, that's why I didn't like it. But when I used it for some things, I got the impression it's vastly different from those heavyweight languages, so I gave it a try.

And I have to say it's really much better than I imagined it.

Collapse
 
maks_yadvinskyy profile image
Maks Yadvinskyy

I think you'll find it hard to get people to transfer over to a .NET stack once they started with JavaScript. I already stopped programming on my windows machine and not looking to go back anytime soon. However, you are right, I also think JavaScript is the one to be de-facto language for at least another decade.

Collapse
 
jwp profile image
John Peters

I had jumped the .net ship for at least 5 years. But with C# WASM they may have a disrupter. The only problem is putting trust back into the Microsoft stack they screwed so badly.

Thread Thread
 
maks_yadvinskyy profile image
Maks Yadvinskyy

I've honestly had a lot of fun learning Rust so if i have to write WASM apps it'll be with Rust and not C#.

Thread Thread
 
jwp profile image
John Peters

Nice..

Collapse
 
ifycoool profile image
Ifeanyi Okeakwalam

Javascript is a winner in many ways and in many years to come

Thread Thread
 
maks_yadvinskyy profile image
Maks Yadvinskyy

Lol except performance 😂

Thread Thread
 
jwp profile image
John Peters

Yes, it looks like WASM will kick butt

Collapse
 
cubikca profile image
Brian Richardson

.NET 6 has syntactic sugar for all comers. For C# veterans, focus is on minimizing the amount of boilerplate code one has to write. For PHP developers, minimal APIs will look familiar to many. And these languages, as well as TS/JS have incredibly similar structure these days. It won't be that hard for a good developer to switch to .NET.

So why .NET 6? Because it is the most mature, most widely supported .NET. It runs on both ARM64 and x64 architectures. It has multiple IDEs for all three major desktop OSs. It works from front-end to back-end using Blazor WASM. But most importantly, it is fast and efficient. I expect to bring down our company's core count significantly next year by adopting .NET 6 and putting things in containers. I remember reading a case study on Microsoft's AD gateway servers moving from .NET to .NET Core, and cutting the core count in half.

Blazor WASM will really change the nature of the SPA. Being able to write in the same language from front-end to back-end really helps with development flow. Blazor WASM has first-class UI libraries, and integrates well with SignalR. Is Blazor any better than React? Maybe not. But it's certainly just as good, and now I don't need to learn another language.

Don't count Microsoft out. They've made huge strides in many aspects of development, and are rapidly bringing lots of people in. I'd be very surprised if Blazor WASM doesn't take off.

Collapse
 
ifycoool profile image
Ifeanyi Okeakwalam

Knowing only one language and using it for both Frontend and backend is a big deal I have no doubt, my only problem with it is that I don't think it's going to make much difference in the real world.

You are a programmer for a reason which is to work. Most people learn coding because they want to get employed and use the skills and make money and in today's world no employer would sign a contract with you that says "you only use one language" never, at some point you are going to be learning something new.

Thread Thread
 
cubikca profile image
Brian Richardson

After many years and more languages than I can count on one hand, I'm not really interested in learning another. I have more than enough to keep me competitive :) For JS people, this is nothing new. For C#, though, it's a treat to be able to get away from ad hoc JS in the front-end.

My main reason for not wanting to learn another language is that I don't want to have to teach my team's developers another language. They are all good at C# and passable at JS. Research time is expensive. Making use of what you already have is better if reasonable.

Thread Thread
 
jwp profile image
John Peters

Isomorphism is here now in at least 3 or 4 flavors. It is a nice thing to have front, back ends or microservices in same language.

Collapse
 
jwp profile image
John Peters • Edited

True MSFT is making huge in-roads these days after stinking up the universe for eons.

I do feel C# Wasm is very strong and possible disrupter.

But Javascript is so large now, it will continue dominance for long time.

Thread Thread
 
ifycoool profile image
Ifeanyi Okeakwalam

Now you get the point

Collapse
 
ifycoool profile image
Ifeanyi Okeakwalam

Typescript helps you do Javascript better, so it's easier to know Javascript first before Typescript.

Generally I think Javascript is a winner in many ways and in many years to come

Collapse
 
jwp profile image
John Peters

Agreed, TypeScript can teach good Javascript programming concepts and it's far better with intellisense.

Collapse
 
fernandomatiasdv profile image
fernandomatiasdv

One month ago I was looking for a job as ReactJs Dev. I stopped myself when I saw for each job post there was 30 interested people! I've never seen anything like that: on the past there was two or three candidates for job!

Collapse
 
ifycoool profile image
Ifeanyi Okeakwalam

Lolz, it's even worse now.

Collapse
 
valeriavg profile image
Valeria

I'm surprised you've discarded Go. It reigns supreme in the cloud development and is surprisingly easy to learn. I'd definitely recommend it to anyone starting their web dev path.

Collapse
 
prajwalch profile image
Prajwal Chapagain

I think Zig is better for c replacement not rust

Collapse
 
rickdelpo1 profile image
Rick Delpo • Edited

click here for a MUST READ on why we need to Learn Java

howtolearnjava.com/learn-java.html

Collapse
 
johnb8005 profile image
John B

typescript