Should I ignore learning Java and other programming languages that use the Java virtual machine (JVM)?
Hello again!
Dear friends, thank you so much for your helps. I really learned a lot from you.
I read a article: "Free but Shackled - The Java Trap" by Richard Stallman in here: https://www.gnu.org/philosophy/java-trap.html
question 1) Whats your opinion about languages like Java, Scala, Clojure that uses JVM? Are these languages non-free?
question 2) I have a road map to become a back end web developer:
Python - Ruby - Rust - Erlang - Elixir
Do you suggest learning these languages? Are these languages is free(libre)?
For example, after reading this topic:
https://trisquel.info/en/forum/haskell-trisquel
I decided not to use Haskell language.
Sorry if my questions are too stupid, but it's very important for me!
Best wishes...
I worked as web-developer about 15 years and can give you a quick review about language and industry.
Haskell
First of all about Haskell. It was my misunderstanding. There nothing wrong about Haskell in freedom terms. But Haskell is more academic languages and there are aren't much jobs there. In my opinion Haskell is more like hobby language.
Java
Java today is mostly used in large enterprise and also banks love Java. Small company avoids Java due to price of development and project-scaling. About 99% websites are small and Java is overkill for it. Development becomes too expensive. If you are going to work in large enterprise then you need to learn it. Once I got some job offers from Banks who started refactoring their old system written in C++ to Java. Kotlin, Scala Clojure aren't also popular and they looks like over-hyped thing like Ruby was in 2006 see below. Java contains a lot of non-free stuff.
Ruby
I don't recommend to learn Ruby novadays. It's hype is passed. I remember Ruby-mania in 2006-2008 where everybody was crazy about Ruby and Ruby-on-rails. Today very rarely somebody starts new project in Ruby[on Rails]. At job you will probably will support legacy systems which are once written in Ruby.
Rust, Erlang, Elixir.
Cannot say much about that they aren't so popular and also not too much jobs there.
Python
Looks promising people slowly stated to Python web-development and started very slowly and carefully replace PHP stuff. I also like Python it is logical, simple languages. But it has one big flaw. It's performance is almost same slow as Ruby.
PHP
It's a still giant-bastard which controls more that 60-70% of the web, read Wordpress, Drupal (Trisquel website also Drupal), Joomala, Sroomla and other crap. PHP never dies, too many shit code already is written in PHP for decades. It will be forever in web :) And you will always can have bread on the table doing PHP. But it's codebase extremely crappy.
JavaScript/NodeJS
JS is the most shitty programming language ever made, some moments are absolutely illogical, languages design is a huge mess, where Number is not a number, funcions are object, object are functions and arrays etc. This is the most over-hyped languages today and every kid today writes in JS. Actually JS is the reason why I finally left web-development profession. The industry because extreme mess of crappy frameworks, packages, not needed tools, bastard syntax, a lot of kids. If you want to quickly make money you can jump onto this hype trends. But you will every month new framework and new tool. I think JS is non-free by it's nature.
Today web-development in general extremely unstable and messy area, where I don't want to anymore. It's completely f**ked up.
Great tips, thanks a lot...
I was going to learn php language, but I heard so bad things from the programmers that I gave up :) for example:
PHP syntax is ugly and not easy to maintain.
PHP is not fast and ...
Modern PHP isn't so bad as it's described. Agree that older versions of PHP were absolutely awful. Today it's pretty nice language. Problem of the PHP that it has huge crappy written code-base behind and army of unprofessional programmers.
In my opinion JavaScript is **much more** confused than PHP. Today situation in JS world is much worse than in PHP. Around JS a lot of hypists, cool kids, marketers, amateurs who write code and have absolutely no idea about: data structures, algorithms, optimizations etc. There are good JS programmers, but too few of them. Also released another Bastard languages from Microsoft TypeScript. Which transpiles shitty language into another shitty language. For me enough, sorry, by web-dev.
If I was young today and started to do web-dev. I'd choose Python. It is just my opinion.
Anyway web-dev is good area if you need quickly earn money. I was in same situation where I was very needed money when I was around 20. So I learn HTML+CSS+JS+PHP and started to earn. But will be quickly overwhelmed by annoying clients, stupid people, marketing etc.
I talk with my colleagues who also work long time in web-dev industry, most of the are leaving. And go to own business, education, management, same Java enterprise etc. Almost everybody disappointed with today's industry. Today making websites aren't so cool as it was about even 10-15 years ago. You have much to learn everyday (I got funny case, I started to learn AngularJS, when I learn new hype frameworks came to stage ReactJS and everybody started to use it in industry and forgot about Angular), but old-school people already have own families, children, other problems. Old school web-devs are mostly 35+ yo. and they simply don't have time to spend 1-2 hours everyday for learning new stuff which is constantly comes to play with huge speed.
This post is going to start a massive flame war. Better move the
moderators into position now.
I don't want it to continue but I also can't resist adding to it as I
love this sort of topic.
Please seriously consider COBOL. I love GnuCOBOL. So many things still
run on COBOL and the developers are retiring. There is a shortage emerging.
As wriiten as a headnote of https://www.gnu.org/philosophy/java-trap.html "the Java language as such is no longer a trap" (since 2006).
As I wrote in reply of https://trisquel.info/forum/haskell-trisquel "I am not aware of any freedom issue with tools around Haskell".
Hi,
If you want to be a back-end developer learning how to use SQL properly will be worth doing. Both MariaDB & PostgreSQL are free projects and both have their own variations of SQL and methods to use objects compiled from other languages. The main thing is that SQL doesn't really go in or out of fashion, sure, there was the NoSQL hype a few years ago and BigData projects are using Hadoop etc.(and the Apache project now has Spark SQL) but developers who know good relational database design and SQL will remain in demand and that won't change regardless of what is going on at the front-end.
Of course, others might disagree and it's only my opinion but 19 years in the IT industry and I've not seen this change, the fact that the big software companies (Oracle, Microsoft and IBM) continue to develop and invest in their own proprietary databases engines supports this.
If you also know PHP, C or Java you are laughing your way to the bank :-)