In the last 3-5 months I was thinking about which web programming language I should use. PHP? Ruby? C#? Python? Perl? And you know what? Every time I keep changing my mind like crazy! I learn some things about each one of them and then move to another. Now I'm totally lost, totally lost guys. :)

What I want form you is to help me to decide, not to decide for me, and give me some recommendations. It would be more than helpful if you can tell me a short story about yourself, how you got started, where you are now and what web programming technologies you are using.

  • 1
    If you're around, would you please join me in the chat room? I have a few questions for you which are best asked interactively. Just use @GeorgeMarian in the chat room to get my attention, as if you were replying to a comment here. If I'm not there tonight, it likely means that I've lost power. Just leave me a message in the room, so I can get your attention the next time I'm on. (You can find a link to the chat room on the right-hand side of this page: "Programmers", under the "Visit Chat" heading.) Nov 23, 2010 at 2:45
  • 8
    If you're looking for pointers, you probably want one of the C family languages. ;)
    – glenatron
    Nov 23, 2010 at 10:16
  • Asking for stories about how people started isn't a real question surely? Please rephrase. Nov 23, 2010 at 12:01
  • ಠ_ಠ @Glenatron.
    – Mark C
    Nov 23, 2010 at 14:05
  • @glenatron LOL That was my edit. I knew I should have phrased it differently. :) Nov 24, 2010 at 0:48

7 Answers 7


Reverse the focus of your thinking - if you are still contemplating what language to learn, stop contemplating languages and think about what you want to build or what problem(s) you have to solve. Once you have some idea of what your end product is going to be, start thinking about what of these three major factors are important in the project: -budget/cost -quality -time

Revisit your language list again. Which one do you feel might fit the measures of these factors that are required for this project the best? Try to eliminate one at least. Now think about the individual requirements for the project. Are there any items which one language lends itself to more? Revisit your language list again. Try to get it down to one or two.

If you are still on the fence...think about other items. Do you know anyone who's an expert in one of those languages or will someone be working with you who prefers one to the other? Does one language have a better community than the other?

Its not about picking a language itself, its about picking the right language for the job.

My story short and sweet: Sometimes I have projects which lend themselves to C#, and sometimes I have projects which lend themselves to PHP. I pick the one that gets it done the way I need it to.


I learnt Java at college but dropped out in my third year because I felt like it was slowing me down. So I really wanted to get into web programming and build an application, 2 of them in fact. The first application I decided to learn PHP with OOP because this was one of the popular languages and if I needed help I could easily find it and because it was my first I wanted to start on something easy enough, you know once you jump in the pool the water's cold at first but your body adjusts to it eventually and then you can swim around. This is what I believe you need to work out, first of all find out what you want to do and then pick a language. Right so for the past two months I've been busy away making my application and im fairly confident at it by now i believe though i recognize there's still a lot more to learn but that's exciting right.

Now that I have my foot in the door of web programming so to speak I can now move onto more advanced languages and for my next project im going to build it in Java/JavaServerFaces and maybe a Framework like Struts. It's probably not even more advanced than PHP i dont really know nor do i care. Im just going with my gut feeling and I think thats what you need to do too. You can sit down, figure out a project, work out the pros and cons think about it for months and months while not even considering asking yourself a very simple questions like: what do you want to do? What is your preference? Why spend so many months thinking about it, why not just do it? Is it anxiety? Is it perfectionism? Afraid of failure? I dont know, these are just questions that maybe you should ask yourself? So c'mon jump in the pool it's a lot of fun in here what are you waiting for! :P


I got into programming on the DECSystem-10 in Fortran IV and Macro-11 at Worcester Tech in 1974, though I was actually writing programs in BASIC back in 1968 but didn't have access to a computer to run them on. Assembly language was my language of choice on multiple platforms, but I got hooked on Perl4 as a scripting language in the late 80's/early 90's. When Perl5 added classes, I ignored them. I was already using Java by that time too, and Java's classes were much more cleanly implemented, since it had them from the beginning.

I was using PHP primarily for its graphics capabilities in the late 90's, making bandwidth charts of the routers and switches at the Internet company I worked for. It also had SQL integration working well much earlier than other scripting languages. But when I met ESR at a Unix user's group meeting sometime arount 2000, he convinced me to switch to Python. I dropped Perl almost immediately, with gratitude. And over the years, PHP has bitten the dust too, since Python has caught up and exceeded it in both graphics (with PIL) and SQL capability. PHP has become such a bloated accumulation of cruft that I would never consider any code using it to be secure. Same with modern Perl.

I'd therefore recommend C#, Ruby, or Python. Java is still very useful also, especially in the mobile arena. And its similarities to, and compatibility with, Javascript makes it quite easy to learn, since if you're doing web work you need Javascript for the client-side coding.

As for what I'm doing now, it's part web coding (client-server apps using Javascript, Python, and Java), and part bioinformatics (Biopython).


Well, I started web development back in 1998 which seems like forever ago in some ways. Back then I was working for some ex-Microsoft employees and so everything we used was from Microsoft: Visual Studio, Visual Source Safe, MS-SQL Server, IIS, etc. Thus, I got used to the Microsoft stack in a lot of ways. Where I work now I still use some of these like IIS and Visual Studio, though other things have changed like using Subversion instead of VSS and having things like continuous integration and unit tests that I didn't have when I started.


Personally, I decided to use Silverlight because I've already done a fair bit of desktop development using C#/WinForms so I have more carry-over knowledge from my current/previous domain.

That, and there's other options after the project is finished:

  • Web: ASP.NET MVC/2, Silverlight
  • Games: XNA
  • Phone (Win Phone 7): Silverlight, XNA
  • Desktop: .NET/WPF/WinForms
  • Server: Console, windows services, wcf services

As much as I complain that there's too much to know/learn, it also means options to move from a consistent base knowledge.


Looking for pointers? Maybe you'd like to implement your website in C++ with CPPCMS or Wt? :D


Sorry, couldn't resist. It's not really true as most C++ programmers avoid pointers...

That said, for your information, if you try to setup a resource-critical website, CPPCMS might be an excellent choice.


I can only assume you switch so often because you expect much and are a bit disappointed when you see just how much work a proper web application requires; so I'd propose you choose something like Ruby on Rails or Grails, which lets you archive results quickly.

Not the answer you're looking for? Browse other questions tagged or ask your own question.