Originally published on Medium
As I said above, whether you’re thinking about learning to program or you simply want to learn a new programming language, the first thing that comes to mind is which programming language you should learn, isn't it?
Great, you’re making decisions. However, your mind is going to explode with the next battle. Let’s see, PHP sounds useful because I can build web pages and server-side web applications. Java seems to be used a lot at the corporate level, Python is highly recommended everywhere too, and with C#, I don’t know too much about it so far. Ok, I think I’ve decided: I think I should learn this one — or this one. Wait, maybe it’s a better idea to get feedback from my friend the software engineer. In the end, their suggestion was to choose one and that’s it; it really doesn’t matter which one. Wow, this is so complicated. Stop! Stop!
1. The Power of Creating Apps for Back End, Front End, Desktop, and Mobile
Still not convinced? In 2015 we got React Native, which is an open-source mobile application framework created by Facebook. Now you have the power to use JS/ReactJS to build cross-platform apps: IOS, Android, and web. Is that not really awesome and tempting?
In addition, you probably have noticed how technologies as a whole are changing. They’re changing in such a huge way that you won’t have finished learning a version completely before a new one is released. And the worst thing is that sometimes they are totally incompatible.
5. There Are a Bunch of Job Offers Everywhere
Wrapping Things Up
- You have the power to build cross-platform apps for the front end, back end, desktop, and mobile.
Thanks for reading! If this story turned out to be interesting, I’d really appreciate it if you like and share it with your friends. I hope to add a little bit more knowledge to you.
Top comments (21)
Rightly said - You have the power to build cross-platform apps for the front end, back end, desktop, and mobile.
Thanks for reading and also for sharing your thoughts!
"Because it works asynchronous, but every request requires a work synchronously."
Could you elaborate?
As far as I know, the success of Node.js came from the fact that JS is inherently asynchronous and that is what's needed on the backend.
Rightly said, but the only thing I disagree with you is about back-end.
At enterprise level I always prefer to use Java (Spring and its ecosystem) for stability. For little projects it's really good, in general I use node.js servers when I need to create small server for sending mock-data to my front-end app.
About cross-platform framework for apps take a look to Ionic if you are familiar with Angular.
Definitely agree with the back-end stuff, I usually go for Symfony or API Platform.
I would recommend checking out React Native and Flutter as alternatives to Ionic, I've had bad experiences working with Ionic, although it is a great tool, the now support React and Vue as well as Angular!
These engines are written high-performance languages that go down to the metal and you can script your "game logic" in Lua when you need more customization.
The same goes for JS in many places.
Always bet on the Web
Good article... Thank you...
However it might be useful for new developers to also learn different programming languages if they are unsure of where they want to be in the future (python & dart for example).
It doesn't have the best performance characteristics.
I'd recommend Rust or OCaml/Reason if these points are important.
HTML is arguably better than JS at displaying content. Browsers are more efficient just displaying styled hypertext compared to executing a heavy framework to render a virtual document.
If all you have is a hammer, every problem looks like a nail.