PHP

PHP is the undisputed king of server-side languages in use on the Internet today – running on 75% of all web servers – and is the power behind WordPress, Wikipedia, and even the user-facing part of Facebook.

As a server side language, the code is processed before it reaches the user’s browser, so all they see is the final page and none of the original PHP code. PHP is mainly used in conjunction with MySQL to pull information from a database, manipulate it and present it to the user.

MySQL

Another component of standard web server installations, MySQL is a free, open source database server. It’s not a programming language as such, but it is a new language to learn if you want to talk to databases so it’s a key component of modern websites. Although MySQL is actually a command-line language, there are common GUI tools available such as PHPMyAdmin for managing databases more easily.

Again, MySQL is what powers WordPress – so all your posts and content are actually stored inside a MySQL database.

Javascript

Not to be confused with Java, the full object oriented software programming language we introduced last week, Javascript is the daddy of interactive webpages. It’s a scripting language that’s run locally on the user’s browser, allowing webpages to respond to user interactions such as clicking on elements and timing events. To cover everything Javascript is capable of would be impossible – suffice to say if there’s something interactive on a site, and it isn’t Flash – it’s more than likely Javascript.

It’s worth mentioning JQuery at this point too. JQuery is a Javascript-framework which lets you write less code and gives you greater browser compatibility, and is quickly becoming the standard for modern webpages. It’s particularly useful for targeting specific parts of a webpage using familiar CSS terms and doing something with them, such as showing or hiding them. Although JQuery is made from Javascript, it introduces its own unique language components too, so just because you know Javascript doesn’t mean you can automatically use JQuery (you could also argue that you don’t need to know much Javascript to be able to use jQuery). We’ll definitely be looking at this one at some point.

Perl

Perl used to be a major force in web programming but has since been relegated to mostly just text-processing applications. It’s incredibly fast at processing text, but not of much use on the modern Internet. It’s something that all hackers have in the box of tricks though, so it’s worth checking out at some point.

To give you an idea of the power of Perl, here’s the complete code that was created to crack DVD encryption. Yes, it is rather cryptic:

Ruby

Ruby, and its web application framework Ruby On Rails, powers some pretty major websites such as Groupon, Shopify (a commerce platform), and the front-end of Twitter. It’s a full object oriented language that’s interpreted by the server and then sent as a finished HTML page to the browser – much like PHP (yet also completely different, *sigh*). It has a number of key advantages though, namely in rapid development, less code repetition, and speed.

Unfortunately, most web servers do not support Ruby out of the box, so unless you’re able to configure your own server as you wish, you need to use a hosting service such as Heroku.

Python

Python is another full object-oriented high-level strongly-typed language. Adjectives used to describe Python typically include fun, easy to use, and a good learning tool – but ultimately there’s very few real-world Python web applications. It certainly sounds like a good place to start though, especially if you’re the kind of person who’s into Linux and open source / community-driven projects. Just don’t expect to be making any actual webpages with this, and there appears to be a rivalry with the Ruby community.

ASP.net

This is Microsoft’s contribution to the web language arena, predictably popular in corporate environments and nowhere else. It’s closely integrated into the .Net family, and you need specific Windows hosting to run ASP.net web applications, which in my experience is far more effort than it’s worth. Stay away from this one unless you have a really good reason not to.

So, Which Should You Learn?

If you want to create a modern, interactive website, I suggest a combination of PHP, MySQL, and possibly JQuery/Javascript for interactivity. That’s not to say the languages such as Ruby and Python aren’t worth investigating as a learning exercise – which we certainly will be doing at some point – but if your time is limited and you seriously want to start learning useful real-world skills then the PHP/MySQL combo is the best place to start.

If you think I’ve missed something, then feedback and reader contributions are always welcome in the comments.

This post and the comments are really helping me come up to speed on a lot of the powerful programming structures, languages and databases. Could you help me out with a few things though?

Programming in a specific language from what I understand is optimally paired with specific databases, some cases it requires a specific database. Could you put together a short summary of what databases mesh better with which languages. For example, PHP and MySQL or Node.js and MongoDB.

Also, what really is the difference between mySQL, noSQL databases and graphical databases?

Their websites say a lot about scaleability, but I am still unclear what the difference really is.

A profoundly poor and absurd introduction to python web programming and it occurs to me that you don't vividly separate the concept of web app development and web design. Just to give an example though, Amazon is written with django which is a pythonic framework or Coursera.com has its backbone developed entirely by django.

these days i'm also hearing a lot about people using clojure to develop for the web. the advantage being that ti runs of the JMV so enterprise all ready invested in a JEE architecture can realise the benefits without having to wipe out its investment

I agreed with James Bruce. I love Python (version 3.x; version 2.x do not like). It is the best language to learn to programming. I make few desktop applications but NOT web applications. I am a hobbyist. I learn the fundamentals (date type, variables, conditional, functions etc and I try to understand OOP). After that, I learn to make a website in Django framework with a big help from "Documents" Django website pages and a excellent tutorial named "Django Girls". Ok, I agreed, it is not to hard, is very logical and is beautiful to work in (except Regular Expresion ). The problem (BIG problem!) is to deployng (implement) a Python web application on a real server!!!! It is a nightmare!! Step after step after step...It is very, very, very annoyng thing. GAE?! Hmm...Is a little deprecated because is for Python -v2.x... Heroku?! For a begginer is too hard, excuse me (Terminal commands, virtualenv setup etc ).
On the other hand in PHP (which is not simple as you think... in fact do not exist a simple programming language..), you can have a FUNCTIONAL WEB application in minutes, localy (on localhost) or on real server...
Last but not least is about the server price. I am from Romania - excuse me for my english way... :) - and for a common LAMP server I pay 1.90 euro/month. For a Python website, my hosting make me an "ofer" for dedicate server with ... 29 euros/month!!! Ha! Ha!... You are kidding or what?! I think the Python web solution is for snobs with a lot of money....
I'm not a PHP advocate, but for a begginer to start with this language is the best solution.
P.S. I think I know a big website wich use Python language: washingtonpost.com. But is one of the biggest newspaper in the world, no?

Common guys to start up ,I will say to construct a website we need html, css, JvaScritp these are client side "actors" for the server side I am stuck on which to use please guidance I also know using JvScript will mean understanding at least one of its libraries like JQuery
Plesae Ignore my first comment above :(

Use JavaScript for it all by Using Node.js or one of its many frameworks like meteor, strongloop or ember2.
for the database side i'd look at No Sql like MongoDB the default database in meteor or if you want to try graph neo4j if you go to their neo4j.com website just now there ate some free ebooks on using the technology. also there are free courses for both mongoDB and Neo4j or their websites as well.
I'd say getting MongDB certified would be a goof career move.

Common guys to start up ,I will say to construc a website we need therese are client side "actors" for the server side I am stuck on which to use please guidance I also know using JvScript will mean understanding at least one of its libraries like JQuery

Hi James, I really enjoyed your article. I have a new employee (no prior coding experience)that wants to get into the nitty gritty, under-the-hood of websites. I want to put him on a track. Would you recommend I start him with Python first or PHP?

I see that the writer of this article does not have a basic understanding of programming, for example: mysql IS NOT a programming language, it is a database storage engine and before you say that sql is a programming lang, it is not, it is specific purpose language designed to interact with the database engine, secondly php is indeed a strong language if you weed out the weak programmers but it is not designed for enterprise level applications, and before anyone jumps at me with statements like Facebook is written in php and it's the biggest site on the internet think that facebook has created their own version of php and of a webserver because of the limitations of php and also facebook is not a enterprise application. Also saying "stay away from x language" in a "programming languages to learn" article seems stupid as you are just bashing on a language because you do not understand it's power, i suggest reading about c#, asp.net, iis, .net and .net core because they are very cool technologies once u use them with a domain controller for example and in my opinion asp.net is way above php in terms of security and performance.

If someone wanted to make a website in PHP, they would need to know MySQL too. If you want to play semantics about what is and isn't a programming language, then go ahead - I'll sit here and continue being paid as an actual web developer.

I've been programming in PHP/Ruby/Python and the best language of the web development is PHP hands down. Not even Rails or Dijango is better :-) But don't take my word for it learn them all and try your self.

i have a question. i learned programming with java and i loved it. i delved into c# also and it was ok but i'm having a little difficulty with php because of the api documentation. i'm used to the javadoc style and microsoft but i cant find any php documentation in that format where i can easily peruse the classes, interfaces and methods. if there's anywhere i can download such could u please send me a link.

Thanks for this. I was also wondering if you could give advice on whether or not to learn HTML5 as the failsafe for the future.

I have one website (in PHP) that someone has kindly set up for me but I cannot do the simplest of things to adjust how it is viewed/used. I now feel it is time to learn.

Also, can you give me any advice regarding what sort of courses I should look at and how long it should take before I can expect to programme pages and make changes to my site. Ideally I'd like to learn a language thoroughly enough to design and build a site from scratch.

Hi Tobias. HTML5 isn't really a failsafe option - its a natural progression of HTML, and even MakeUseOf is done in HTML5. If you are learning HTML - which you would need anyway to start playing with PHP for web development - then yes, HTML5 would be a good start. That encompasses a variety of other technologies though, like CSS and Javascript. You really need a little bit of everything.

Is your PHP site custom programmed, or is it based upon an established system like WordPress? Obviously, if it's bespoke then progress will be slow for you - you will have to learn the entirety of PHP before understand something custom made. If it's an established system, you'll be sure to find lots of material online to help you understand it bit by bit. That's why I love WordPress really - you can customize and adjust it using PHP, without being a master of it. As you learn more, you can do more.

I would honestly advise against building a site from scratch as the end goal. Use it as a playground to learn by all means, but don't try to build a functional web app entirely from scratch. Learn what you need to get started, and use a framework such as CodeIgniter (http://codeigniter.com/) - thats PHP based, with a good learning curve and lots of tutorials. You'll still be learning PHP, but you'll be able to make use of that much earlier. I think if you were to start from scratch, you would probably get discouraged early on. I guess that depends on you though.

Personally, I started with http://www.tizag.com/phpT/ , and they also do MySQL and Javascript. It's great primer on the basics, and from there you can start playing with other systems and frameworks.

I have a great respect for Perl , Joel. Please don't get me wrong here. I chose that code because it's damn beautiful, so I'm sorry if you took that to be misrepresenting something.

I'll let you in on a secret too - my first ever website, when I was like, 9 - was programmed in Perl script. I wrote a bunch of text files, and a primitive template, and made it run around creating all the HTML files, links, breadcrumbs etc. Incredible stuff it was.

But realistically, it's not for the beginner who wants to make a modern, interactive website. That's great that you're a fan of it, and that some major companies use it as a small part of their server stack - but let's not delude ourselves. The average reader who wants to make a website, on some shared godaddy hosting for $5/month, with some skills that may then take them onto bigger things like working with wordpress - Perl is not for them. That's why I can't recommend it.

I think if you're serious about programming, you need to learn several languages. For example, you can have a website which is Programmed in PHP, but for form validation you need to know a little JavaScript & Regular Expressions least. If you will be using animation, then you need to know a little about jQuery also.

Thank you very much James for such an excellent post. I've been suffering from analysis paralysis for a long time even though another programmer friend suggested the same as yourself. I read all the negative stuff regarding PHP etc and assumed they were right. I've taken a look at PHP again due to your post and I will be starting with that.

Nice article,just looking for which programming languages i need to learn to become a good web developer.
May be i'll learn all of them soon ,one by one starting with PHP/mysql ,JS. I hope i'll make it in 10 years .

I wouldn't wait around for it. Each programming language has something that it brings to the table that no other language can come close to. It's best to keep these separate so that you only have to learn the technology associated with the problem.

It's generally a good idea to avoid this type of post if you want to prevent flame wars -- people stick to languages like they do religions. This does come across as being a little light on content too. You're also missing Java. I don't understand why.

Java was already mentioned in the first article on SOFTWARE development, since very few websites use java, and this article was all about web development.

I know it's high contentious, but for our readers who haven't ever programmed before, it's an important question to ask and explain about.

As for being light on content, apologies but we have word limits set that we must work to. This usually means cutting out a vast amount of content to keep within publishing guidelines, but to split up the article into two would have been silly and caused even more problems ("why no python! .../... thats in part 2" etc).. As it is , I chose to split content between web and software programming, and I think it was a fair split.

You re right though, if working for google is your ultimate goal, then python would be a great choice. The tests are ridiculously hard though, so I doubt that any looking to start programming as a hobby would be able to realistically set that as a goal though.

Agreed, put some energy into learning PHP, MySQL and the basic web languages like CSS and HTML. Then proceed to learning Javascript, JQuery and those parts that focus on making the user experience more interactive.

The language to learn depends on what you do. I work in visual effects and CGI. Python is the de-facto standard programming language. Nothing else really matter but python in that realm. As well as the scientific community ( which is similar to the visual effects community). I would say most of the heavy number crunching apps use pythons somewhere.

No, you're right. There's more python usage than I thought, so it's a good we have comments on these articles that many users read through for extra info.

However, I maintain that the infrastructure needed to run python puts it out of the hand of regular users, so I'm still not recommending it for a beginner. I'm well aware google is a heavy python user, but I wasnt aware yotube is too. But then, they are huge, huge entities that can afford to try something radical on their systems.

You simply can't go and get some cheap hosting and start easily running python.

However your argument is a bit weak, it's like "millions of flies can t be wrong". PHP suffers of a lot (really, a lot: http://www.quora.com/What-are-the-horrors-of-PHP) of problems that turn doing things right a very difficult task. It's possible be a good programmer despite PHP (and for that you need to know other languages), but not thanks to it.

Python is a very easy to learn programming language, and hugely more powerful than PHP (and you wouldn't be stucked to the web). Python web frameworks (like Ruby's) encourage the creation of good web applications, although (of course) you could be a bad programmer despite Python. About the infraestructure, it's true isn't comparable with the availability of PHP , but it's no a real problem: http://wiki.python.org/moin/PythonHosting . Moreover, programming your web in Python you can enjoy Google's infrastructure itself using GAE: http://code.google.com/intl/en-US/appengine/Couldn't be a good idea to update your article?

Hi Martin, I'm definitely agreeing with you here. Python may be a technically better language, but that doesn't put it into the hands of small developers like myself who want to host our own code (not put it on google) with minimum of fuss. There is always a solution to the hosting problem with niche hosts, but having to search out a specific host for your website is not something I count as "for beginners".

Anyway, I won't be updating the article because it would cause a discontinuation with the comment stream - but I think we've had a fantastic of valuable input from yourself and others in the comments here, so hopefully readers will be sure to read all this too.

Hi James, I know this as been a long string but I get the point you are saying in that PHP allows one to be less dependent on the likes of the"big names". Keep up the great work you are doing. Thank you.

Yep, they do have great input, which is why I love our commenters for the most part.

Unfortunately, I dont think such a system would be feasible realistically. We know roughly what each other is wrong about, but I for one don't want to start reading through all the articles we publish checking for something I dont agree with. I guess that's the editors jobs, but they can't be expected to be technical in everything we write about either.

In this case, it's my fault for asking more about python. I think overall the system works though. That's why we have comments after all!

James Bruce!
I’ve just came across reading your full sequence on this matter.
Although I have no base for a specific/technical critic I must say: this is great information (the whole series) for beginners. The comments of all articles are also very enlightening. Thanks!!! I’ll be waiting for your next!!! I’m just a beginner but keep on writing and I’ll get there;)))
Best Regards to you all.
Virneto

Thanks VirNeto. I'm taking a break from programming for a bit, but will be starting with PHP I expect, as that's most likely to give immediate benefit to readers in terms of making webpages and playing with WordPress.

I only delete messages with profanity or deliberate trolls. I dont delete comments just for disagreeing with me, you are allowed to do that ;)

I'm not trying to hate on Python, I'm sure it's a great language to learn and clearly has many fans, as well as very heavy support from Google. It's obviously fast and very scaleable.

I just don't think our average reader is going to find it that useful if they wanted to actually make a webpage, right now, and host it on their godaddy account. I also chose PHP because *the* most popular web platform right now, WordPress, runs on PHP - so by learning even just a small amount of PHP, a beginner will be able to do some pretty amazing stuff without having to work completely from scratch.

If you are curious which language you should learn, might I suggest you make a pit stop at https://github.com/languages. Github is currently the most popular place to host an open source project, and likely is the busiest in terms of current contributions.

The language James recommended PHP, averages in at about 7% of all projects. The current champion PHP project on github is Symfony 2, a project that demonstrates good object oriented design sense such as dependency injection, model-view-controller based web framework, and many other useful utilities and a thriving community.

Some of the other languages are fine choices as well, Ruby and Python are very mature, and have great pluggable components, and a healthy choice of training materials available.

One of my main criticisms of PHP is that it's object-oriented design features feel bolted on, which they were, and there's plenty of design consistency problems in it's standard libraries. Many experienced PHP developers often have to refer to the manual for function parameter placement for example. PHP is great for simple one-off projects, but it starts to feel cumbersome once a project matures.

f you plan to make an international site, PHP lacks default unicode strings, which makes doing localization a pain, just avoid it and go with Python or Ruby which both have first-class support for unicode.

Many beginners start off with PHP. The syntax isn't completely horrible, it looks similar to C/Java/Javascript. There are some annoyances, for example all variables have a $ dollar sign in front of them, and if you want to call a method you have to use the cumbersome dash-rocket "->" as an accessor instead of the usual "." dot in most other languages. I believe this decision harkens back to the original language designer's preference for C++.

If you are ever asked to maintain an existing PHP project, just say no. Most of it will be beginner level code, and likely be a huge plate of spaghetti.

I am surprised you picked a deliberately obfuscated piece of Perl code instead of beautiful examples of modern web frameworks in Perl. Just take a look at either Mojolicious http://mojolicious.org/ or Perl Dancer http://perldancer.org/

I chose it because I thought it was beautiful! I'm not a Perl hater, but it's use isn't exactly widespread on the modern internet. It's nice to nice it is still kicking though, and thanks for the real world examples.

Wow, stay away from Asp.net? Really? I program in PHP, Java and Asp.NET and I can tell you programming in Asp.NET is heads above the rest in the Dev experience. Not only that, but compare contractor or salary rates between PHP and Asp.NET and it's a no brainier which one I would recommend a newby to learn. In fact I'd rate Java and Asp.NET above PHP for the pure earning potential alone. PHP developers are a dime a dozen and the demand shows.

Just digging up some numbers is not helping anyone. I already addressed the issues of getting a job in the article. If you're looking for a corporate job then java would be a great way to go (or .net). If you're looking to develop your own next-best-thin web application - at home, right now - you should choose PHP over .NET, because it'll work on any web host you can find and there's a world of support and tutorials out there.

Can I add that most people here are not considering the cost side either? As this article is clearly aimed at a beginner, most would not want to spend too much money while learning. PHP can be run from your current desktop using various software for vary little, if any, cost.
ASP.net does come with free versions, as well as the very expensive versions, but their limited and getting a development area set up is tricky.

What about Java? I've recently taken to the idea of distancing my learning curve from pure web based languages and Java seemed like the optimal choice. But from what I understand the alternative to ASP.Net is Java. And LinkedIn uses it.

As Jeff said, I covered Java last week in the article on software (not web) development. I can't recommend it myself.

Commenters have said that c# is now cloned to be on linux and mac too in the form of Mono, so I might actually be inclined to recommend that over Java. I certainly enjoyed making some educational classroom games in c# a few years ago. The tools MS provides are great for code completion and rapid development, and the software is reasonably fast. Perhaps I just havent touched java lately, and it's no doubt evolved since I played with it, but in general the java apps I do have on my system run like crap.

How about Java ?
Converting variable/data type in PHP (e.g. string, integer, boolean) is a problem.
And another big problem is lack of the Application Scope variable, while ASP, .net, and Java haven't.

You couldn't get the users to agree what day it is, in other words - feedback is usual. The article could have been completely satisfactory and conformed to the users opinions entirely, but they see ONE thing they disagree with and suddenly you're a piece of shit who needs to go die (and your mother's a whore). There are going to be disagreements in the technical community, more so specifically amongst programmers.

It was a good read, James. Any hints on what the next programming related article will be?

I'm struggling with what language to start on. I think Jessica would be a good choice to write a java beginners series as she's still in college and active with it, so I won't touch that. I thought perhaps a "My first web app" would be good, but may need to do a primer on PHP, mysql etc before tying it all together.

While I did my one Java class as well, to help me learn, I wrote an eBook for myself based on the topics in the lectures, but using my own example and wordings. But back then, MakeUseOf didn't want it, and I never published it as PDF Editor (because of that), so it's still sitting on my hard drive not being read.

James Bruce

November 12, 2011 at 9:18 am

That's a shame, sorry to hear that Jack. I think MUO has changed a lot in a year though. I'm already writing tons of stuff that I was original banned from writing. I wonder if submitting your book to Justin might get it looked at again in a new light.

Jack Cola

November 12, 2011 at 11:30 am

Nah, that's cool. I will have a think about it - I haven't spoken to Justin for a while though.

Great topic for discussion, but not something that will ever be settled. Having working on web/e-commerce projects (from mid 1990s), I have to say that one should learn the about the environment that you feel most comfortable with.

As many of you have very rightly said your goal should also be taken into consideration. If you are learning web development to create the next big thing, apache, mysql and php are great options. If you are learning it to look for a job, you may be better of on the Microsoft platform/Oracle platform(s).Also keep the big picture in mind, that all the web application engines will accomplish your goals. You may want to consider the maintenance issues (the number of lines of code it would take, time taken for a project and so on).

There are a few new kids on the block. One of the nerdier is Node.js, Coffescript, and (since you mentioned MySQL) the various NoSQL databases. I'm a M$ developer by trade but I've recently started learning this stack.

If you're looking for a job go with .net or Java there are tons of jobs right now using these 2 languages. If you want street cred with your fellow hackers/geeks/nerds php and perl are the way to go but there are less jobs (still jobs, just less hiring).

But those are also different types of programming. For someone wanting to get into web programming, PHP would be best, no?

Also, there may be tons of jobs for Java, but it's highly competitive. I dont think a beginner could get the level required to do anything useful in a short space of time - whereas anyone with a bit of creativity could popularise a website or sell an app on iTunes fairly easily.

I began developing web applications in 1996 and started off with Perl/CGI and moved up to PHP a year or so after that. I'd be the first to admit that PHP is easier to "get into" as it's open source and is less expensive to get up and running. However, since working in the corporate world, I've switched gears and moved onto ASP.NET/C# in 2005 and have not once looked back or regretted my decision. While there are certainly pros and cons for any language, it is obvious that this article is completely lopsided. To quote nettuts, "ASP.NET isn’t perfect—there is no such thing. But it is one of the most flexible and powerful server-side technologies available today."

Thanks for the input Andrew. I don't come from a corporate background so I'm afraid I am a little biassed there. However, this article wasn't really aimed at people looking to program for a corporate environment - but rather, "what should I learn as an MUO reader who's never really done programming before?".

From what I know Google is running on V8 (it's own framework built in JavaScript) as well as C. Not entirely sure though. V8 got plenty of hype when Node.js entered the playing field. Facebook on the other hand is using PHP through C++ documented in their Factsheet (http://www.facebook.com/press/info.php?factsheet) in the Technology section.

James Bruce

November 10, 2011 at 4:47 pm

Okay, Wikipedia has this to say. It's not widely used, but google is one of the heavier users. In fact, I think they're the main way other people *host* python apps too on their app engine platform.

Commercial uses
CCP hf uses Stackless Python in both its server and client side applications for its MMO Eve Online[1]
Google uses Python for many tasks including the backends of web apps such as Google Groups, Gmail, and Google Maps, as well as for some of its search-engine internals
NASA is using Python to implement a CAD/CAE/PDM repository and model management, integration, and transformation system which will be the core infrastructure for its next-generation collaborative engineering environment[citation needed]
reddit was originally written in Common Lisp, but was rewritten in Python in 2005[2]
Yahoo! Groups uses Python "to maintain its discussion groups"[citation needed]
YouTube uses Python "to produce maintainable features in record times, with a minimum of developers"[3]

Jonathan

November 9, 2011 at 7:30 pm

Correct me if I'm wrong but surely to create a website we need html at least, and css too.

I did consider including those, but as @df43350123223666edd5f529e7a6edc8:disqus
eludes to, those aren't actually programming languages. Sorry if that wasn't clear. We've covered HTML and CSS quite a few times already, as well as got a whole ebook guide on them.

You obviously didn't read that article. The author starts off saying "no" there's no difference. Then points out that even Java is not a programming language because it runs within another program. But he missed the point.

The lack of compilation does not mean one is a "programming" language and another is not.

"A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer." See: http://en.wikipedia.org/wiki/Programming_language

Therefor, any "language" which relays instructions directly to a "computer" is termed a "programming language"...therefor, PHP, Java, Asp.Net, etc all are programming languages. Example: JavaScript relays instructions to a web browser application which in turn relays those instructions to the computer it's running on...therefor js is not a programming language. PHP relays instructions to its own interpreter which in turn relays those instructions to the computer it's running on...therefor IT IS a programming language since it's relaying to itself.

Tim C

November 9, 2011 at 7:08 pm

What a hugely lopsided post. With no real value except for pointing out the fact that you are a php fanboi. That is fine. However if you are going to write an article like this, you should objectify the facts along with having a greater breadth of knowledge.

Rather than degrading James as an editor, why don't you provide actual constructive criticism which will aid him in writing his next article? After reading your comment about five times, I still have no idea what you're pissed off about.

PHP code doesn't have bugs, only undocumented features. I think PHP has just one the fight...

Wow, we have fanboys of programming languages now? Most of the internet is written in PHP, it comes as standard with web servers, and its easy. Hence in an article aimed at beginners who wish to learn something useful, I recommend it.

If you have something further to contribute though Tim, we'd like that. Perhaps make your own recommendation with a beginner in mind based upon your own experiences.

Man you get some crazy comments...to my point, though: you said you recommended PHP over Python because it was easier and cheaper to get it hosted on sites like GoDaddy. I just checked and GoDaddy says they fully support Python application code on their site - sooooo, does that change your recommendation?
Also, while I've done some programming (VBA, and some other stuff), but not web stuff: I get the impression that if you are going to do web, say web with Python, you still need...what? MySQL, html, xml, CSS, and/or what else? An overview of the complete package necessary to produce a reasonably professional looking website would be very USEFUL, including the part each piece plays, and the best resource for making use of that tool (i.e. WordPress for PHP). I read all your articles, and I'm still not sure where to start; I like Python, so lean in that direction if feasible on a small budget of time and money. Thanks!

Doesn't change my recommendation to be honest - web software is primarily done in PHP. Having said that, if you particularly want to learn Python just for the fun of it, then there's really nothing to stop you. I can't really comment on being able to write a full website with it as I've never tried, but it's not going to help you adapt WordPress for instance. For a programming learning web project? Awesome.

For any web programming, MySQL, JQuery (don't bother with core jaavscript stuff, you'll pick up what you need with jQuery), and obviously HTML/CSS. Nothing else needed.

Good article idea - an overview of all the web technologies and how they play their role in the web. Thanks! Will try and get something written in the next week or so, published a little while after that ;)

James has a BSc in Artificial Intelligence, and is CompTIA A+ and Network+ certified. He's the lead developer of MakeUseOf, and spends his free time playing VR paintball and boardgames. He's been building PCs since he was a kid.