Which server script language is better ?

NomanProdhan

Familiar Face
Joined
May 16, 2015
Messages
94
Reaction score
4
FP$
279
We can develop our websites with various server script and programming language like PHP, Java Applet, Python and so on.
Recently I have started learning PHP and I am thinking that PHP is really good for servier side script. I didn't know much about Python or .NET. So I don't know what advantages they have ! But I like PHP as its very popular and is easy to learn. Beside the PHP community always trying their best to make PHP better and better everyday 🙂
However, what do you think ? Which server script language is better from your opinion ?
 
Most people these days use either PHP, Ruby, or Node.js for backend application.
With PHP it is popular using Symphony, CakePHP, or Laravel as framework, or no framework, but I think Laravel works really well.
Not using framework is nice too (did that for 8 year), but too much time consuming.

For Ruby you can use Ruby on Rails.
Ruby is simple to use and can handle a lot of traffic, but is also really strict and slow.

Node.js is Javascript for server side.
Is fast and totally not strict, but using asynchromous programming can be really annoying I think.

Some people like Python, but no experience.
ASP.NET and Java is old fashioned; nobody use it any more.

For me PHP still work best for backend, because result is always as expected, and is a really mature language now.
Wanted to study Ruby and Node last year, but have no time now.
 
An interesting question with a million different answers.

This might ruffle a few feathers, but objectively speaking, PHP is quite frankly, a terrible language, I'm not even going to pretend or sugar coat it here. It is just. Bad. Minus C++, it is one of the most horrible languages I have ever seen.

I won't repeat the arguments here, you can get a lot out of a Google search, needless to say it has a lot of pitfalls which can cause subtle bugs which trip you up in annoying places and is fairly slow. The core string manipulation functions are broken and can't handle Unicode content. And that's just the tip of the iceberg.

However.

It is more approachable for newbies, and it has a fairly vibrant community behind it. And often times, it can be a pretty big hassle to jump onto another platform, especially since the PHP Community has built a fair bit of momentum behind it, allowing it in some cases to gloss over some of the more undesirable details.

In some communities, you might even be the first one to do something, in other words, you're the trailblazer, who hopefully, knows exactly what you're doing, so that things don't blow up spectacularly in your face or someone else's, although in PHP, people often don't dare to stray too far off the beaten track.

With PHP, expect to have problems with shared hosts never having quite every extension you need, and people getting mad at you for a high number of requirements. Elsewhere, you merely dictate a dependency and it is there.

Not the most politically correct answer given PHP's high popularity, but there you have it. Alternatives range from Rails, Node, C# and Go.

I haven't really used Rails, but what I do know from Discourse, is that many libraries don't support Windows, so you may wind up having to develop in a virtual machine. And it's slow. It was great and all when PHP sites were getting hacked left and right, but the frameworks have helped to alleviate that.

As for Node, you do have to comprehend the concept of asynchronous programming, which can be a step above what you're comfortable with, depending on how experienced you are. It does not hesitate to throw you in the deep end.

.NET is supported by Microsoft and is getting a somewhat decent Linux port, however like Rails, it's still early days and many libraries are probably stuck on the Windows side of the rift.

Go has actually been around for a while, but it really came to prominence after the rewrite, especially with players like Cloudflare picking it up and Docker being written in it.
It's backed by Google, so it has more stability than these fly-by-night languages like Crystal, is extremely fast (a hundred times faster than PHP, if you're playing your cards right), and is surprisingly simple to use given it's capabilities.

It works everywhere, however you might have to be aware of some lower level concepts like pointers (closer to references than anything, unless you're using package unsafe) to make the most of it, so I'd put it a step above novices. It really depends on your level of experience.

The nice thing is that unlike the dynamic languages, it catches 99% of the bugs I would make, but in the end, don't. In addition, the thing runs everywhere without drama, it's cross-platform support is even better than PHP's which trips over certain things like email.

As for Java, actually people do still use Java, e.g. ElasticSearch. However, it's not really designed in such a way that it's easy to squeeze performance out of it. And from what I recall, it can be a very... verbose language.

Python is probably one of the best and most versatile languages. You can do practically anything in Python, even if you decide you don't want to do web development, although it has some issues with scalability, therefore performance. However, it's a very well-designed language, although the schism rages on.
 
Back
Top Bottom