.Net or PHP – What should I learn?

Learn them both! One of the best things that could ever happen to me was to be talked down to by an older engineer who said something like “You can’t learn all the programming languages… its very difficult… you are lucky if you can learn one…”. I kind of took that on as a challenge instead of an insult in a time when the internet was just taking off.

Not only have I learned and coded in several languages (ASP, Visual Basic, C#, Perl, PHP, Javascript, TEA) but I took on Photoshop and Flash to boot.

Is one better than the other?
No! Why? Because they are two seperate and distinct things like apples and oranges or Honda and Ferrari. Lets take the Honda/Ferrari example for a spin. I have seen many people pump tons of cash to create a high performance Honda for racing. Custom Suspension, Turbos, Tires you name it. But it will never perform and compare to a Ferrari. Both are cars and will get you from one point to the next and thats pretty much where the similarities end. Now one will cost next to nothing and be efficient while the other will cost you much more and be a bit of a burden to maintain.

PHP
At this point in the internet game you need to know PHP. Its free, widely adopted, hosting is less expensive and many great applications like this wordpress blog are available at no cost. PHP is optimized for the web and is a straight forward scripting language that is easy to pick up and if you run into trouble guess what? Tons of info and help is available online at no cost to you.

Theoretically you could build just about anything you need for the web with PHP like websites, webservices, scrapers data aggregation, wordpress plugins, etc… I have “seen” PHP scripts that can do anything from login to websites, create email accounts, blog spam auto update blogs to generating images and flash files. With some work you can even simulate multi threading but in the end its not true multi threading and thats where .Net starts to shine

.Net
If you need data crunching reporting or massive multi threaded applications .Net whether its c#, c++ or Visual Basic is going to be the way you want to go. And guess what? Microsoft offers its .Net Visual Studio development software for free!

.Net can create powerful windows tools but unfortunately at the moment in my opinion gets out done by PHP when it comes to the web. PHP was developed for the web around proven and efficient platforms while .Net still has a windows application mindset towards web development.

Remember…
As a coder you are only as good as what you can create. If you limit yourself to PHP or .Net you limit your ability to create and more importantly your opportunities of which there are many.

10 comments

Brian B |

The biggest problem I’ve had with .NET is that the existing tools aren’t as SEO friendly as the PHP tools. Since PHP is free and the hosting is cheap, I think that there are a lot more young coders (with a lot more time on their hands) who can contribute to the open source projects and keep improving them. The .NET open source libraries seem to be lacking. Probably because .NET is a corporate tool and the programmers are all on the clock most of the day. Not as much time to crank out free code for the general public to use. Of course, this is just my theory. Plus, the .NET tools I’ve used just don’t cut it for SEO. I have to tweak them to make them SEO friendly. You don’t have that problem with many PHP tools. However, from a pure programming standpoint, using a scripting language is a bit of a joke and I would much rather program with .NET and it’s IDE. One benefit of using a MS tool is that they have tons of resources available to creating great programming tools right out of the box. VS 2008 has so many new features I doubt if I’ll ever time time to learn them all. But when I need something, I can go to Google and find that it’s already ‘in the box’ most of the time. Saves me a lot of coding time.

Tilak |

Good information for those want to learn web programming.

Cesar Serna |

Great points Brian…

Dominic |

I was a C# dev before I learnt PHP and didn’t find PHP too difficult to learn.
However, pre-.net I was a VB6 dev, and would have found the jump to PHP a little more tricky.

Cesar Serna |

Thats what I thought coming from VB6/VBScript/ASP… Now that I am neck deep in PHP everyday I find that all the VBScript/ASP stuff helps me more so than all the C# that I have done…

Good to see that you are doing both .Net and PHP… Not a very common combination of skills found in developers.

Dominic |

I prefer to use .Net for windows apps as I find its treatment of how the web works inherently wrong – Allthough I am currently consulting on a .Net web app.

I like php most for hacking wordpress and for the ease of picking up quick consulting gigs for filling down time.

iongion |

None.

You should definitely learn Python. And by this i mean:

1) Language
2) Web frameworks (Django is the one named most often these days)
3) GUI Toolkits
4) Scientific Python (scipy)

Why Python and not others:

1) Python has a well established future and a serious past.
2) It is a TRUE MULTIPURPOSE GENERAL PROGRAMMING LANGUAGE.
3) It runs on a gazillion of platforms, from mobile to main-frame
4) Sufficient maturity, resources and helpful people (most of them for free)

If you choose PHP and i hope i don’t start a fire here, you will notice how fast and productive you are in the beginning, but the more you go on the road, the more you ask for the language, the less it offers back. PHP is web only.

As for .NET, marvelous language and platform (.NET), bad company policies, BUT THIS IS NORMAL, Microsoft is a company, has investors, must make money, employees must live, bosses must buy most expensive Yachts and destroy IPhone’s :P

When it comes to make cash:

FAST: PHP (everyone needs something done in PHP these days)
LONG TERM: Python (the more stable and more intelligent is your code, the more it is appreciated over time, people will get back on you every time, i am doing django websites since 1 year now, had 0 complaints, kept all the customers the global crisis didn’t ate)
IF YOU LIKE A LIFE OF AN OFFICE RAT WHERE EVERYTHING MOVES SLOW AND STEADY: .NET (C#, VB, C++ (who the hell codes in C++.NET ?))

Messy Teenager: PHP
Just graduate faculty/university: Python
Sleepy cat (or someone who wants to have children and provide meals for them): .NET (C#, Balmersoft, Microbates)

Cheers, hope you all had fun

Love all the programming languages, test them all, languages are created by people that code just like you, that like to code, that dream to code .. languages are to help you on your own way, not to stay in your way.

John Vincent |

This is a good article but its now outdated. Web 3.0 technologies like RealStudio have changed the game again.

Kaustav Mukherjee |

That was a cool article. There is such a surfeit of programming languages around that a person like me, who is just starting to be interested in programming and web development (mind you, not that I know much. I have learnt C to a fair extent, but web development or anything to do with web I don’t know absolutely anything), it often becomes difficult to decide what to learn, and almost (if not more) as importantly, what not to..

Naveen Tripathi |

You are absolutely right. It is a very good information for learners who want to learn any programming language. Thanks!