Best Programming Language for Web Development

Disclaimer: I’m not really going to mention any language as ‘best’. The title of this post is actually very misleading.

I started doing hard core web development barely a year ago, but a question I face on a daily basis is whether I’m using an optimal programming language and technology. When I started making websites (not web apps) around four years ago, I used to create them using simple HTML + CSS. Then as my clients needed things which were ‘dynamic’ and wanted to jump on the then popular boat of ‘CMS’, I switched to WordPress for delivering websites. WordPress became my one stop solution for all sorts of websites (although it is actually a blog software with lots of code/functionality which you will probably never need). Soon I started developing on WordPress (plugins) for further delivering to custom requirements. I almost always ended up using a dozen WordPress API methods throughout my code and usually had no any idea how they did what they did.

When I moved to the corporate scene of web development (in my current job), I started using PHP for building web applications. I started using (and still use) frameworks like CodeIgniter (for old projects) and Laravel (newer and cooler). PHP is the most dominantly used server side language right now, powering at least two third of the Internet (source). It is also the web language which gets the maximum hate. The Internet is filled with articles criticizing PHP and then articles trying to justify its usage.

Last semester I started going to hackathons, and pretty much everyone in every hackathon I went, told me how much PHP sucked when I used to tell them that I code in PHP. The common thing about those people was most of them had never actually even used PHP, but were fancied by other ‘cool’ languages. When everyone everywhere I met went totally berserk for PHP, while enchanting how cool Python is (which it actually is btw), I finally made my move to Python (Flask) for web development. It was very cool in syntax and all that (no ugly braces anymore, no more couple of $ signs in every single line), but I did feel that I wasn’t doing anything significantly different than what I could have done using Laravel + Composer/Packagist.

In my opinion, the biggest problem of PHP is the very low bar of entry. Most of the other languages require at least some sort of initial setting up/program compilation for producing even the Hello World but in PHP it’s as easy as writing <?= 'Hello World' ?> in any text file saved with a .php extension. Even almost all of the shared web servers online come with PHP only preinstalled. Because of this PHP becomes the choice of programming for every Joe pretending to be a web developer. What this usually results in is ugly PHP code mixed with HTML, plus five redundant functions doing the same thing and unsanitized SQL queries– all in the same page. This is the stuff which makes PHP bad; but the developers are responsible, not the language.

I’m not saying PHP is the best and greatest programming language. There are certainly more promising languages, like Python, Erlang and Haskell. I just believe PHP is not as bad as everyone claims it to be. There must be a reason why Facebook, Yahoo, Etsy and Mailchimp still use it (although Facebook doesn’t use the php which we use). If people try to follow good coding practices in PHP, it will certainly come out to be as good as other languages (if not greater).

All this being said and as I mentioned above, there are some languages which certainly seem to be very promising for web development. I actually love Python too a lot for writing server side code. Also Erlang too is pretty cool and defines efficiency. Whatsapp, the mobile phone app which was sold couple of days/weeks ago to Facebook had around half a billion users while having just thirty two employees and twenty support people. It is believed that the team was able to pull something like that off because of their strong software in place, which was made using Erlang. Then there is Haskell, which is known for delivering crazy fast websites. I guess if someone wants to know ‘Best Web Programming Language’ for him or herself, the only way to know it is by using each of them. As the quote goes “Never judge a book by its cover”, so is applicable to programming languages.

Further Reading

Ways to Build a Website

There are bunch of ways by which we can get a website up on the Internet. Each way has it’s merits and demerits. In this post I’ll share some ways which I think are fairly quick if you need a simple website up in minimal time. These ways are listed in the order of their coolness.

Static Website Template

If you don’t need anything fancy, then this is certainly the way to go. Just get a nice and pretty looking template from one of those template websites like Themeforest.


  1. Usually these templates are quite pretty.
  2. Several categories to chose from for templates (like restaurants, medical, etc).
  3. Come with stock/dummy content + images, which are easy to replace.
  4. Support is decent if you buy from a legitimate place.
  5. At times there are free templates too!


  1. You need to somewhat know your way around HTML/CSS. Otherwise the result won’t be very nice.
  2. Very generic templat-ey looking websites.
  3. Usually overloaded with a dozen varieties of galleries, sliders, etc, thus not efficient.
  4. Can be difficult to maintain if the number of pages in your website is not in single digits.

WordPress Website

I personally used to use WordPress for creating normal and just about every kind of website, and did so for couple of years until I realized how horrible that idea was. However, I believe this is still the most popular way to get static and dynamic websites up. I’m not saying the idea of using WordPress for normal websites is bad, just that I personally don’t like use things which are an overkill. WordPress is loaded and powerful, but do evaluate if you need all those features or not, and if using it is worth it. I use WordPress for this website because this place is essentially a blog only (and WordPress provides me with all the functionality I need).


  1. Everything from above, plus:
  2. You get a backend enabled website (CMS) fairly easily.
  3. Thus you can easily add or remove pages and maintain them too.
  4. Lots of plugins for quick functionality.
  5. Comes with blog! (duh)
  6. Most ideal for typical users.


  1. Everything from above (except 4), plus:
  2. The templates are not exactly flexible, it’s alright if you need to change the styling, but if you need to do structural stuff, you are better of creating your own template using something like
  3. I don’t like the file structure and code modularity of WordPress websites.
  4. Not very scalable (at least not neatly), although you can create bunch of plugins for doing bunch of stuff, but there is no central approach like present in other web frameworks.
  5. Most people usually tend to use several plugins and most many of these plugins will slow your website down.

Python/PHP Frameworks

If you kind of know your way around web development, then this is what you should probably do. There are bunch of awesome frameworks but top two (according to me) for a fairly functional website would Flask and Laravel (Python and PHP Web Frameworks). They both offer some great features like front end templates (Jinja2 and Blade) and are driven by things like template inheritance, etc. I know this may not be the most efficient solution for just a website, but it all depends upon your velocity. Personally I can more quickly and more neatly set up a website using Laravel than WordPress.


  1. Nice, clean and structured code base (because you authored most of it yourself).
  2. These frameworks typically have many modules/extensions which you use for a plethora of tasks (like ORMs for querying databases, form classes for HTML forms, etc).
  3. You write less code because of these already available modules/classes, and typically the building blocks behind these are pretty good.
  4. Because of these, your web site/application would typically be very easy to scale and maintain.


  1. You actually jumped to web development from web designing here.
  2. You need to be somewhat familiar with web development using Python or PHP.
  3. Maybe be an overkill for many people.

Website Builders

This is typically what people who have no idea about how to make websites do. They are usually offered from shared web hosting providers (like 1&1 Website Builder, etc) and are targeted towards users with no web design experience. There are also services which only do this, two most popular ones of this kind are Squarespace and Virb (owned by Media Temple (which is owned by GoDaddy)).


  1. Best option for people with no design experience.
  2. You can still end up with a decent looking website since they have a wide range of existing templates to chose from.
  3. Quite fast. It’s like using a rich text editor- for websites.


  1. Scalability and Flexibility? Lol.
  2. Not so much for customizations either.
  3. No matter what they advertise, but most of the websites which come out of tools like these don’t look very good.

Honorary Mentions

There are also tools like Concrete5 and Sitefinity CMS, in which case I think you would probably be better of with WordPress and also things like Expressions Engine and KendoUI, which I don’t really know what is and how they are better than their free counterparts.