Introduction
Recently, we had a brainstorming session about our organization's training program in line with trending and future technologies.
The agenda was simple, which technology or programming language should be part of the training. This training was for fresh graduate trainees. It was an interesting session, traversing roughly 12 new software technologies or programming languages.
Everyone who was part of this session had to pick one or more skills and convince the panel to include it in the training program on par with the organization business. C#, Java, DBMS (SQL), C++ were already selected.
Some of the skills presented were Angular, React, Business Intelligence tools, Python, Design Patterns, AI, ML, Big Data skills, Testing frameworks, Web designing, .NET Core, etc.
I chose to present "JavaScript" for the following reasons.
Simple Yet powerful
JavaScript is simple to learn but very powerful just because the entire Internet can't run without it. One way or the other it is used for dynamic content, styling, including other packages, etc.
JavaScript can be learned so easily that even school kids can grasp it.
Getting started in 10 seconds
A browser or notepad is the most minimal requirement to get started learning JavaScript. An internet connection is not at all required or any installation or any heavy downloads of any code editor.
To learn any software/programming, getting started should be as easy as possible, just because of a cumbersome way of starting decreases the enthusiasm for learning.
Of course, a browser with an Internet connection makes it much more fun to learn.
It's not always about the client-side
A few years back, JavaScript was primarily focused on web technology (client-side), leading to numerous frameworks like JQuery, AngularJs, EmberJS, Angular, Vue, React, and many others being developed.
They are awesome frameworks to get things done on a browser (client-side).
But I never thought JavaScript can be used as server-side technology until the introduction of NodeJS. The NodeJS changed the way JavaScript was used. It leads to the revolutionary MEAN stack way of software development where secured, high performant, database connected apps could be written just using JavaScript.
Not only can web-based applications be developed using JavaScript, but even desktop-based (Electron), hybrid mobile apps (Ionic), real-time apps, and server-server communication can also be developed as well.
One skill leads to many
Fortunately, I got the opportunity to use JavaScript every now and then along with other technologies, I kept up to date on it.
Suddenly the software development (enterprise) world focused on using JavaScript more, and with this automatically my JavaScript skill increased my horizon to be able to work on various kinds of different projects apart from web applications.
As JavaScript skill set, I worked on Ionic (hybrid mobile app), different web frameworks (AngularJS, JQuery), and even got to work on the server-side using NodeJS.
Just with one JavaScript skill, I would get projects or work either on the web, server-side or mobile apps or even desktop-based apps. Even further, now JavaScript is used to build Blockchain, Machine learning, Data Science, AI, etc.
It feels good that one skill gives me so much variety in terms of projects.
Talking in OOPS
With an extensive experience of working in JavaScript, I faced many application issues or bugs because it's loosely typed; i.e., it's not strongly typed, Object-Oriented based.
JavaScript treats all the properties, functions, types as the same, and never bothers to type check. This can be a big headache in any moderate or large size application.
With Microsoft's introduction of TypeScript, everything about JavaScript has now become more powerful. TypeScript is a SUPERSET of JavaScript meaning any code is written is still valid in TypeScript with a statically typed nature.
TypeScript has ensured that your JavaScript skills are upgraded to the next level, making you write more maintainable, well-structured strongly typed code.
Summary
My intent was never to mislead that JavaScript is a superior language over other ones and you shouldn't be focusing on other languages.
I have only summed up my experience of the JavaScript language as it has the potential to increase your horizon of working on different projects.

Mithun PattankarPosted Dec 2, 2018, 9:32 AM
Well JavaScript filled the gap perfectly, Blazor or similar ideas are great, they themselves need time to mature and more enterprises adopting it would take good amount. I believe JavaScript is going stay for long time. So enjoy learning until experimental projects get matured
Tomas OpisPosted Nov 30, 2018, 3:32 PM
Javascript necessity is caused by need of programming language on client side. Backend technologies like ASP .NET MVC, Spring and others does not solving all developer needs especially changing user interface without postbacks. This is primary reason, why javascript and frameworks like Angular, React are popular. They are filling gap which still exists while using backend web technologies. I think there will be big change during next years and javascript frameworks will be less and less used especially for business app development. Nowdays WebAssembly is included in every browser and it needs little bit time for Java and .NET frameworks to build some Frameworks on top of the WebAssembly. .NET have Blazor framework and it completelly run in the web browser. No postbacks are necessary. So why use Javascript when you can use only Razor & .NET ? You don't need Javascript anymore and you can grasp application development like old Windows Forms application.
Mahesh ChandPosted Nov 30, 2018, 1:51 PM
Thank you, Mithun. Please let us know if you need any help promoting your book on C# Corner social media platforms. Also, some publishers like to promote books via publishing content and linking book. Best