Ask HN: PHP coders, what's preventing you from changing language?
I want to ask PHP devs on HN:
- have you considered moving away from PHP? - do you know any other language? - did you ever attempt writing a non-trivial app in something else than PHP? - what should be done to help you move more easily, if only by curiosity to see something else?
[+] [-] lhorie|13 years ago|reply
- choice paralysis - With Python, you must first decide whether you want to invest in Django or Flask (or whatever). Then you get to decide whether to invest in Mako or Jinja (or whatever). etc, etc. W/ Ruby, you have Rails vs Sinatra. ERB, Haml, etc etc. In that sense, PHP is realistically more "convention-over-configuration" than the competition (whether MySQL for data persistence and raw HTML in templates are good defaults is a whole separate discussion)
- poor interop w/ real world - good luck convincing a client to sign up for Node.js hosting. Or explaining that it doesn't come w/ wordpress (or phpbb or squirrelmail or pretty much anything not-so-sexy-to-develop-these-days-but-widely-used-by-non-techies.)
- no measurable benefit - most levels of abstraction have comparable complexity in all languages, i.e. using ERB or raw PHP (or Jinja, or mustache, or whatever) generally take the same time and the same effort to write/maintain - code debts come from other factors (e.g. team member inexperience). In addition, most levels of abstraction quickly get cross-ported between projects.
[+] [-] will_work4tears|13 years ago|reply
Reasons I haven't:
1. I can't relocate again. I did for a job that didn't pan out, and now we have a home, a newborn son, and his grandparents moving out here (~2000 miles away). Just not feasible.
2. I'm up near Seattle and it seems all the Listed jobs are Microsoft languages, Java or require a lot of experience. I rarely even see a Jr. Level job and it is 3+ years experience when they show up. I have about 3 years experience at the moment, with PHP though...
3. I actually have a CIS degree, which is a B.S but isn't "true CS" as I didn't go above Calc I in maths. My C exposure was one class in college, and I'm kinda scared of C++...
4. Maybe it's impostors syndrome but I don't feel qualified yet to be a "real" programmer. I'm actually quite happy doing web development. There are challenges, and my lack of education in algorithms and maths aren't really an issue at this point.
5. New son, wife, own a house, all of these really restrict my personal project time. That and I'm really into weightlifting at this point, and I have other hobbies, which doesn't help either.
Excuses? Probably, but it isn't that I'm unwilling to move away from PHP, its that it is just not that convenient.
[+] [-] AjJi|13 years ago|reply
As professionals, we tend to work with many constraints in play, and one of them, most of the time, is the language. It's not that the client requires me to use PHP, but not using it will be a hassle for the client afterwards, mainly, because of hosting and maintenance. Python and Ruby devs are quite rare where I live, thus, using PHP enables the client to find maintainers easily down the road.
Technically, I have no problem moving from one language to another (though, never tried a functional language), and I've done professional work using ruby in the past.
Frankly, reading HN discussions about PHP, I feel like they're missing the point, or maybe, it's because I live in a country where PHP is prevalent - there's a whole market here for PHP devs, I've been doing contract work for almost 3years now using XHTML/CSS/JS/PHP stack exclusively, most of the time with a framework, or even a CMS.
[+] [-] asher_|13 years ago|reply
I am a part time developer that uses PHP, and there are a number of reasons I haven't moved off it for back end work. The first is that although it seems to be the target of dislike from those working on the bleeding edge, it is as popular as it is for good reasons. It has flaws, sure, but it is loads better than it was a few years ago, and it will continue to improve.
There are usually two ways that people change something. The first is being 'pushed' - something being so bad you seek out a replacement, the second being 'pulled' - seeing something so compelling in another product you have to switch. PHP isn't something that will push you away from it, I believe those switching are being pulled to other languages because of whatever nifty features they provide. In cases where you are working in established development environments on established projects, the switching costs are rarely justified for the marginal improvements.
I use PHP because it does everything I want it to, and its what I know. Familiarity has a huge advantage and to sacrifice short term productivity for possible long term gain is something that is easy to put off. Another thing that I love about PHP is its ubiquity and how easy it is to get in to start writing with it.
Fairly recently, I did seriously consider making the switch and giving two other languages a month each to see how they worked for me. What actually stopped me from doing this is that around the same time a lot of my work changed from server-side to client-side programming. My back end programming in my recent projects acts more like a simple interface between my client software and database than anything else, so I have been doing very little of it.
I have a few questions in response, and I ask these as someone genuinely curious.
How big do you think the gain is between working in PHP and working in <other language>? What do you think that other languages may be lacking that PHP doesn't that may make people not want to move?
[+] [-] MattBearman|13 years ago|reply
[+] [-] briandear|13 years ago|reply
[+] [-] csaba|13 years ago|reply
[+] [-] hyuuu|13 years ago|reply
[+] [-] Navarr|13 years ago|reply
Someone was working on one. PHP is open source. It could exist. It could be POPULAR!
But no.
[+] [-] timrogers|13 years ago|reply
The main barrier to my leaving PHP is that it basically forces me to use OOP. I want to use OOP, but I haven't got my head around it, and I'm yet to be persuaded that it's worth it and I don't really fully get the benefits.
Materials on learning Ruby and other languages tend to miss out that jump, which is the biggest one for me. Any ideas for getting me up to speed on OOP fully?
[+] [-] csaba|13 years ago|reply
[+] [-] ExpiredLink|13 years ago|reply
[+] [-] stewie2|13 years ago|reply
[+] [-] sohn5|13 years ago|reply