Hacker News new | past | comments | ask | show | jobs | submit login
Solid back end language to learn
11 points by pkrzysiek 4 days ago | hide | past | favorite | 17 comments
Hello,I'm a CS student and on courses and in my free time (constantly) I'm learning JS and (a bit less lately) C#. Looking at the job offers near me, it seems that PHP is the piece in the stack that I lack if they don't require C#. I don't know if this is just my local area or PHP is (and still will be) very important language.I was thinking about learning another backend language and I can't decide between PHP or Rails.I wanted to learn Django or Java but it seems that there aren't any offers for that.I have still much time so I can learn anything.





No serious software company would ever look at php for their new project. Except for some legacy reasons.

Also, don’t base such decisions on current job market snapshot whatever it is.

If you don’t feel like throwing up every time you deal with microsoft universe - c# is overall a solid choice, engineering and caree wise.

Rails is pretty big in North America, not at all in europe and it has strong bias towards startups.

JS(ts) is a solid choice overall - all sorts of companies from crappy devshops to faang on all continents use it for various projects.

Java (and other jvm stuff kike scala kotlin) is also a solid choice, but with a strong bias towards big boring corporations and large slow complex, often over-engineered projects.

Python has a strong bias towards AI/ML world. It’s rarely used outside of it for critical production software.

Ruby is a great choice for your first programming language to learn and as an example of a dynamic language with amazing devx. But it is limited mostly to rails based companies.

I suggest getting some commercial experience with 1 dynamic and 1 statically typed languages early in career.


"No serious software company would ever look at php for their new project."

Why? Do you know that for a fact ? You will be surprised what people are doing with PHP in 2024 if you just look outside your echo chamber.


Any specific fresh examples? Or how do you know it’s not you who is in the echo chamber? )

Out of interest, why wouldn't PHP be a consideration? I thought it was pretty good now a days...

Because it’s a) scripting language b) not even a good one.

Even if modern versions somehow overcome those limitations - nobody would bet an expensive project while there are plenty of more relevant alternatives


Ruby, Python and JS are all scripting languages. Many "expensive projects" are created with them.

Those are the best ones.

Have you looked at startup jobs? Python is still super common despite a).

Regarding b) -- that's just like, your opinion, man. (I'd choose python over it any day, personally, but PHP with laravel is pretty great)


Python is way out of php league btw, "php is good because it's scripting language just like python" is a very weak argument.

And if not for AI hype, who knows where whould it be today. But that's different story.


It’s not my opinion, it’s a statistical fact. Php was a pioneer and it deserves its respect for that. Bit it never was a tool for example to create next kafka with, or at least build some api gateway etc.

Laravel and others “advanced wordpress” use cases is not a “serious software” from technical POV.


I'd recommend learning PHP if it helps with immediate job opportunities. PHP is still widely used in many places so that skill won't come to waste. However, long-term, learning a more versatile language like JavaScript or Python could open a few more doors, not just backend roles.

Rails. You’re hard pressed for a good reason not to pick it up in 2024. It’s the one man framework and still holding that position quite well.

My opinion is, that you don't really learn a language and its concepts (deeply) by coding for about 1 or 2 hours daily following tutorials. You learn it, when you are coding >5h a day solving problems you did not come up with yourself (company projects), best case while reading much code of a foreign code base trying to understand and extend it.

Learning a language to get a job is probably the wrong long term motivation. In my opinion learning multiple languages should be more out of interest for new concepts[1]. I would also think that a great C# programmer should be able to learn PHP quick enough to apply for a PHP job - but I wouldn't recommend it.

The first language I learned was PHP, and I still love it, but it was hard work to apply for a job not having PHP as the main language, because PHP was a limited language in terms of concepts. The language evolved over the years, but due to its nature still lacks Generics, Multithreading (at least kind of), Events and many more, also considering it not has the best Performance.

My recommendation:

Even if in your local area PHP is the most wanted language, I'd rather apply for a remote C# job, than focussing on PHP. If you would like to add something to your portfolio, I'd go with a compiled / strongly typed language like Rust, Go or Java, checkout Python and jump on the AI hype train or put more effort in improving your actual skills (in JavaScript and C#). I think C# and JavaScript / TypeScript are great languages to find a job BTW.

1: https://pilabor.com/blog/2021/05/learn-concepts-not-framewor...


If your goal is to get a job locally, and locally people hire for PHP, and you want to learn PHP: Then just learn a little PHP.

Learning another programming language...any language...will make you a better programmer. Even if you never use it.

I have still much time so I can learn anything.

Yes. You have decades. And they will all be decades as an adult. For the sake of example, I will pretend you are 22 and that people become adults at 18. So you have four years of adult experience. Sure you have learned a lot in your four years of adult experience.

But it is but four years out of the forty four you will have in four decades. And those four years are all beginner experience. A lot will change. Optimize for change. Forty years ago, a person in your position would be looking at COBOL, Pascal, C, Fortran, ADA, and Lisp (not Common Lisp, that didn't happen until later (and C was still K&R, not ANSI)).

Don't micro optimize. Learn how to learn. Good luck.


If you want to make the most out of it - probably continue with JS for the backend - throw in TypeScript. You'll also be able to use that knowledge in frontend (and anywhere else really) as a bonus, and it's not going away. IMO your best bet.

Ruby is my favourite but at the same a niche language compared to JS or PHP - I'd check the local market first if you're under pressure to land a job - there are many great offers with competitive salary if you're open for remote work though. Note that by diving into Ruby means a 99% chance of working with Ruby on Rails - it pretty much dominated the ecosystem.

PHP is very popular still, but I don't think it's a solid choice career-wise. A lot of ways to shoot yourself in the foot, the legacy code to deal with, and oversaturated market. Still have PTSD from that.


I wrote this article here, which can help you get an idea of which backend language to learn. https://chat-to.dev/post?id=519

It depends on your kind problems and the community, so it depends is the answer.



Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: