PHP might have put the "P" in LAMP - the all open-source server stack - but on the desktop, it seems that those using PHP generally prefer the "W" to the "L." In a recent study from Zend Technologies, forty two per cent of PHP programmers named Windows as their primary development operating system. Linux came second, with 38.5 …
As someone who works for a webhost company, I can see possible causes on why this may be so:
1. Since we do not want users using the servers as test environments, we recommend that they use WAMP or LAMP to use their own systems as test environments. While we do have a lot of professionals hosted at our service, a large part of our users are your "everyday" type person who use windows.
2. Unless someone is using a windows specific technology in their scripts (ASP.NET, access databases, or MSSQL for example) we recommend that users use Linux hosting as this seems to run more stable then Windows does.
So, in a nutshell, as long as Windows is the dominant desktop, then WAMP will be used, and as long as Windows based servers are unable to handle the loads that hosts (note I said hosts not users) want to place on them, then these numbers may remain.
LAMP : P==PHP ???
I always thought the P was for Perl ???
M is for My database
Linux of course.
Apache a no brainer
MySQL, well no, not actually. ^My^ database is PostgreSQL
P is for your Perfect programming language (Perl, Php, Python)
MySQL is probably a good database management system. It just the rapidly mutating licence that screws with your disks.
Is it a laptop thing ?
It would be interesting to know, Although installation of a modern Linux distribution is easy on most desktops it can be somewhat more difficult on laptops unless a little research is done first - esp. choosing laptops with wireless chipsets that work "out of the box".
Or is it that the developers are constrained by corporate Office/Exchange etc. ?
PHP user != open-source enthusiast
When I started developing in PHP way way way back in 2000 I did so because if I didn't, my job was going down the toilet. Basically I'd conned my way into a web design job, realised I couldn't design for shit, sussed that the company had no coders, and swiftly learned to code. Why PHP? Well, I could have had ASP, but I chose PHP and MySQL (the partnership here is important) because there were no cost/licensing issues with either, and security was rock solid. It was also much nicer than that butt-ugly mess known as Coldfusion. My assumptions about security would prove correct, with none of my stuff being hacked, but later my ASP-loving colleagues getting hacked to smithereens.
Anyway, back then, Linux on the desktop wasn't really anyone's idea of fun. I tried a few live cds from magazines god-knows-when (probably 2003-4ish but can't honestly remember) and they were terrible. Linux was for servers, windows was for desktops. It's a habit that stuck til about 2 years ago when I stumbled upon the gateway drug, Ubuntu. These days I'll happily use Arch, BSD, OpenSolaris or any other assorted weirdness for my desktop, because they all mostly let me get my work done (Ubuntu still wins here for 'Just bloody works and stays that way'). I'm now a Linux user.
The thing is, being a PHP user doesn't necessarily make you into open-source. Of course, now I'm a fan, now I know what it is, but back when I started I didn't know jack. I suspect many devs started the same way. Now I develop on Linux because a linux desktop is excellent, but I suspect many may still be in the mindset that Windows is for desktops and linux is for servers. I'm sure they'll eventually move accross, it just takes a couple in each office to stumble upon it then it'll spread like wildfire, provided corporate policy doesn't screw them. Once you have a few early movers, they can show everyone the cube and wobbly windows and all will be right with the world (hey I know they're lame, you know they're lame, but n00bs still coo over them, so there's nothing wrong with eye-candy to attract the masses).
So it is 42%/37%/19% (approx) for Windows/Linux/OSX.
That is hardly an overwhelming victory for Windoze is it.A mere 5% and most polls have a 3% accuracy.
Wouldn't it have been better to have written
PHP developers prefer Windows & Linux to Their Mac's?
PHP Developers don't really care if it is Windows or Linux
But then it would have been a non story wouldn't it?
Paris because she only cares about the BIG numbers
This numbers are not real
I can't believe 75% are using zend desktop IDE, where is Netbeans ? And do you really trust someone saying he uses vi(m) ? That's an old joke between developers: "Is use vi" or "I use notepad".
Ah personally I prefer to to my DEVELOPMENT on Linux, and switch to Windows for other important tasks like Civ IV, CivCity Rome and very occasionally testing in IE, but i know i'm in a minority, and most people prefer developing on Windows.
Currently, most people i know prefer Linux as a PHP DEPLOYMENT platform, but then again, thats cos most of them occasionally read webserver logs.
Troll, cos we already know most people use windows.
Alternative title... Windows desktop dominance starts to crack
Quick, name any other study where Linux desktop usage is above five percent. Nothing? Right, this means that for PHP developers, which are a majority among the whole developer community, Linux is a viable desktop operating system on par with Windows.
I've always said that there will be no year of the Linux desktop, much like there was no year of the MS Office suite or year of the MS LAN file server. Those things got the dominant status that they have today by slowly building their user base. Their competitors did not made a single, big mistake, it was a long war that was won by Microsoft by taking advantage of opportunities created by other's small mistakes and leveraging their position in other markets (e.g the desktop)
Now we'll see the usual load of comments from single individuals along the lines that they will never switch to Linux unless their favorite application has a Linux equivalent. Or that the equivalent application does not have one of their must have features, and that they will never switch until such basic thing is provided and how on earth OpenOffice does not do something as basic as.... blah, blah, blah.
There are signs that Windows is declining and creating opportunities for the competition. Vista was one. The hardware requirements of Windows 7 is another. Their security track record is another. At each of these opportunities, something else, be it Mac or Linux is slowly but surely, eroding their advantage. And while Linux is not directly leveraging its position in the server, there are certainly skills that can be transferred to the desktop management. Exactly like Windows did.
These are excellent news for me. It means that Linux on the desktop has made significant inroads. Even in corporate environments, Linux is being seen as a viable desktop operating system. Good
I'll add another. How about Linux's biggest advantage - It just works!
The only real advantage that Microsoft really has is a monopoly on file formats. It is the file format thing that keep customers locked in and buying new versions of the OS and applications.
The advantage that Linux has is that the file thing just works.
If someone creates a file today and saves it in an open or published format they should be able to open it twenty years from now. Or even a hundred. Try and say that for Microsoft.
By experience files not opening properly for a customer in Linux is most often the result of some Microsoft gotcha, an unpublished format or changing standard. In fact year to year isn't that the biggest reason that people buy Windows is just to be able to continue communicating. If you don't upgrade it is then broken. In other words it "Just Doesn't Work.
Microsoft's biggest advantage is also its final nail in the coffin.
The reasoning for this seems very obvious:
- Desktops are normally maintained and supported by an internal IT function, therefore they're more likely to be Windows.
- Web server support and maintenance is more likely to be outsourced to an ISP or web host, who have the "skills" to use Linux.
Quite suprised about the low amount of Macs, I wonder if thier survey included those running parralels/boot camp.
Pretty much what I thought.
PHP developers who work for large companies are likely to use the corporate branded Windows desktop machine -- whether they like it or not.
I suspect the high number of Macs is because of the PHP developers employed at web design houses, where the "design" means Macs are used.
Still, I think this is actually a good sign for Linux -- it means that desktop Linux is being used for real work as well as server Linux.
Re : Pretty much what I thought.
I think you'll find all over the planet desktop Linux is being used for real work and has been for quite a while - certainly I was using a dual Xeon workstation running RH Linux for protein modeling, visualization and dynamics as well as data processing years ago along with many other scientist, engineers and academics. The many computational chemists in the organization I worked for only used Windows for the corporate stuff.
PHP is not for real programmers. Real programmers use C# or C++ or even Python or Ruby. PHP sucks big time. Period.
PHP is a very accessible language which brings down the cost of its adoption. It's easy to read and easy to write. Yes, you can trip over security but as soon as you learn the cost of poor programming the help is there.
I hope its accessibility remains one of its strong points.
Real programmers use...
...the best tool for the job.
No point in using a sledge hammer to drive nails, is there?
im not so sure...
ive been forced to code on the java platform for the web - and its a pain in the arse and much more flakey to be honest.
PHP is so vastly used its easy to get help on things, which is why it does so well. same with mysql. and i dont know about anyone else but i found eclipse to be a god aweful piece of software.
also designers need to use photoshop and illustrator etc. gimp is ok but miles behind photoshop. plus i know PS like the back of my hand.
and as a windows user for so many years i also find linux still not very user friendly every time i try to set up a basic machine i end up with so many errors and driver issues. plus the file system is pretty different.
for me windows is the best bet for what i need to do.
Used them all - seems to me like you've not touched PHP since version 4.
C# is for Java Programmers who love MS a bit too much.
Python is a god-awful hybrid language that can't decide whether it wants to be syntactically like C or BASIC unless you want to script up some Civ 4 tweaks, leave well alone.
Ruby is nicely OO but once you hit the web with Rails the interpreter has always been piss-poor (well it was when I last used it).
I'll give you C++ though - even though that seems overkill for web-apps.
If it's on the web, odds are it's either .NET on Windows or PHP, ideally with a framework (like Yii or Zend) running on FreeBSD (oki, maybe JSP/Glassfish or similar). To be honest I'd take PHP/FreeBSD over .NET/Windows in an online environment any day - for FreeBSD's superior netcode if nothing else.
On the desktop though - it entirely comes down to what your company is prepared to support... ours won't even let the in-house graphic designers have Macs so the odds on me being allowed to kick up something like FreeBSD/Konqueror - yeah, ain't happening.
Of course its not real
Whether we like it or not, the past was for "real" programmers, the future is for those who can map out a system, and get it working - and less on the coder skills.
PHP's OO does suck though.
Anyway - where was Java in your list!
Our foolish employers buy us Windoze boxes to develop on...
PHP developer here - linux desktop, as are most of the team here.
However, this article fails to mention 2 really important factors:
- how many developers work in a corporate environment which forces windows desktop usage (like my last company)
- PHP is tied into front end development quite a bit; how many people were using windows because they wanted to use photoshop or similar software?
- how many on windows would prefer to use a mac (but can't because of either cost, or corporate restrictions)
"- how many on windows would prefer to use a mac (but can't because of either cost, or corporate restrictions)"
<flame shield />
None of them? :)
Wait for it
I now wait for the usual torrent of abuse from "real developers" who will dismiss PHP and anyone calling themselves a web developer.
Come on, out with it....
This discussion might very well end up in a religious W vs L war. Be warned!
It might very well be that the majority of the developers are not allowed a free choice of there workstation OS and are there for "stuck" with windows.
Just a thought.
It seems to me,
as a web developer who has only just got around to installing Linux, that it's just a case of inertia, whereby people are reluctant to ditch their functioning, paid-for Windows OS in favour of a new OS that they are uncertain of.
When it ain't broke, why fix it?
That said, I'm now using Linux on one machine and Windows 7 on the other. Both run PHP just fine.
How in the name of Dilbert does a (roughly) 42:38:20 split get turned into "PHP developers prefer Windows"? How about "Most PHP developers *don't* use Windows" which does at least have the statistics to back it up?
Does the study give the margin of error on these figures?
There are 'issues' with developing on win and then running on linux. Just to name a few... missing functions in win, filesystem rights, UTF-8 vs windows codepage conversion, by extension of that; localeconv() and also include paths.
You can code around all of it but if your devs aren't aware then everything will pass unit tests until it gets into it's production(-like) environment.
The best compromise I have found for php devs that are allergic to linux; use virtualisation like virtualbox to run LAMP and work from host-only shared folders.
You can even debug like this and it's linux so no licences to buy, you can just copy the virtualisation config and HD file to new systems.
Margin of error?
based on the actual numbers quoted in the article, I'd say they were supportive of the conclusion that PHP folk *didn't* noticeably prefer Windows to Linux. But that's not such a headline grabber really is it.
Linux > Windows!
Linux > Windows! FACT.....was the survey done to a microsoft partner by any chance?
Vim used by 18%
of all PHP developers, really? Huh.
.... use textpad :-)
Windows does offer the easiest, nicest development expirance, you've got a choice of tools and most corporate networks are windows based. WAMP for dev LAMP for live, works really well.
Windows clearly doesn't include a dictionary...
As someone else already said; real programmers use the best tool available for the job, but since you've shown your preference, I suggest that you have a look at Intype, e editor and the original; TextMate. All of them are brilliant editors that change the way you work. For web dev I'd argue that the Mac offers the best of all worlds; Unix underpinning with excellent FOSS, independent and big corporate tools available. Personally I'm happy on any of the platforms, like any real developer is!
P in LAMP
Wouldn't say PHP put the P in LAMP. Used to be Perl.
Given the quality of some of the php out there, it doesn't surprise me so many develop on Windows, frankly I'm not sure they could work out to use another OS!
Not really "preference" though
I'm not a PHP developer but I think it's disingenuous to say the survey sample "preferred" Windows.
I develop on a Windows box too, but it's not because I "prefer" it. It's just the corporate standard where I work.
I suspect a large percentage of developers in the sample are in the same boat, so I can't see that the survey really says anything.
Linux desktop penetration in the normal world is usually considered to be sub 1% (although it might sneak over 1% depending on which survey you look at). 38.5% is a significant increase on that, as is the 19.1% for Macs over their usual 5-6%.
One wonders how many of the remaining Windows users (42.4%) are using it out of choice. Most developers will work in a corporate environment where their desktop OS is dictated to them and no variance permitted (because they MUST use Outlook, MUST use Office Communication Server etc). For the non-Windows OSs to reach these levels of penetration is a significant achievement.
Or maybe 38.5% of PHP monkeys just love the command line?
(Relax, I'm joking)
Sounds fine to me
My experiences would pretty much agree with the survey, but it's not down to a "technically-best" choice, more likely "what's least hassle". Most companies ship Windows desktops, so it makes sense that a PHPer would use that, rather than lobbying against the IT dept to get a Linux desktop. Especially if, as pointed out in the article, that the toolset works equally well on either OS.
But when you come to deployment, you want ease of admin/securing, in which case Linux makes more sense than Windows. More so, if you're on a hosted environment, where it's still cheaper per month to have a Linux server provisioned than a Windows one. Your OS experts seem to find it easier to strip down a Linux box than a Windows one (remove the unecessary stuff/services and then firewall).
Certainly that was the case with my last PHP project - developed on my Windows desktop; QA'd on a VM running on the Windows box; and then finally applied to a RedHat server.
Servers need to be reliable...
...and desktop computers need to be easy to use and compatible.
If you have to wipe your windows hard drive occasionally then no big deal. You should have everything important on the server anyway.
Pretty much anything can run on Windows, but Linux is more decerning. Developers would like to use Linux for everything but instead use it where ever they can.
I mean are you really going to mess about in Linux trying to get your Nokia to sync with your Thunderbird or just use Windows and Outlook instead?
On the other side are you really going to mess about in Windows with regular updates that could change the way your server behaves and also risk viruses or are you simply going to use LAMP?
It really is a case of the right tool for the job.
"In a recent study from Zend Technologies, forty two per cent of PHP programmers named Windows as their primary development operating system."
That isn't the same as saying "PHPers prefer Windows desktop to Linux"
We all use Windows here to develop PHP apps, but not through choice. That's just the operating system the company provides. If we had a choice, most of use would be using Linux, so that study merely indicates usage trends, not preferences.
And all the apps we developer are only written on Windows, so it's really just a glorified text editor for us. They're tested using Linux servers and deployed to Linux servers.
A blue pencil moment
"But it seems that after four years work the vast majority of PHP applications are still being *deployment* on Linux servers at the expense of Windows."
Was the proof reading step mist?
Of course, the P in LAMP can equally be Perl or Python, and it's as easy to write code vulnerable to SQL injection in all of them.
I put this down to there being no decent PHP IDE's for Linux. Combined with Photoshop on Windows. Yes Eclipse/Gimp ARE upto the job, but they aint what many people know...
Give you Photoshop on Windows but I generally use Netbeans as my IDE, being Java based it's compatible with WIndows, Linux, OSX and so on - and with OSX you'd still have Photoshop... although you would have to put up with that god-awful Mac GUI (fuse lit, runs for cover).
Setting up a straw man?
"... forty two per cent of PHP programmers named Windows as their primary development operating system. Linux came second, with 38.5..."
Consider the vastly smaller install base of Linux on the desktop, compared to Windows. Consider further that almost all new PCs come with Windows pre-installed, and the fact that most employers will supply people with a Windows-based PC. The 42% using Windows will generally have just gone with the flow, while the majority of the 38.5% using Linux will have made a positive choice to do so. In that context, the fact that there is only a 3.5% difference between the figures for Linux and Windows could be argued to show that PHP developers who expressed a preference prefer Linux.
I prefer developing on Linux / BSD
But sadly most UK corporate / public sector IT departments are stuck in an age of Windows desktops.
After installing Putty / Plink / Pscp / Pageant and Cygwin development on a Win32 machine is acceptable but to be honest I'd much have direct access to a native Unix Bash / Csh shell with the usual tools (find, grep, awk, sed, cron etc) and simple hooks into Perl / Python / C programmes. Unix is a very powerful computing environment for getting the work done.
I've never understood why Windows command prompt is still so woefully poor despite Microsoft having had 20 years to address basic limitations like not having one click copy and paste and having to set preferences to resize the terminal window. Thats without going into annoyances like path case insensivity and using backslashes as path delimeters.
But, not everyone wants to bother learning Unix commands so many web forms developers get by with point and click and pre-built installer based WAMPP, XAMPP stacks that make setting up a dev environment relatively simple.
As for the server side - I wouldn't trust Microsoft IIS to serve me tea in the morning let alone run a mission critical web application.
The numbers make sense
"The numbers are interesting given Microsoft has worked with PHP shop Zend since 2006 to improve the performance of PHP on Windows operating systems and servers".
It's probably not an issue of performance but more of security. I'm a 99.9% Windows user when it comes to development but I would never consider deploying a Windows server nor recommend anyone to; in fact I recommend Linux.
A big thumbs-up from the Windows Guy to the penguinistas who keep my servers running and secure.
It would be expected that windows would still dominate on the desktop, however Linux is making a massive mark on it.
Another way of reading it would be, 38.5% of nerds and web doodlers use linux. A massive improvement on the 0.74% statscounter is reporting it has in the mainstream.
While 18 per cent use Vim
And of those :
Per cent who use Vim because they grew up with it during the nightmarish period when there really wasn't anything less hideously painful available on Unix: 1%
Per cent who use it because, despite having a deep understanding of text editor theory and having kept up to date with decades of usability research including the key studies relating to productivity and modal vs modeless text entry, etc, they just like it : 1%
Per cent who use it because some wank stain on slashdot said that "real men use vi" and they bought into the self perpetuating bullshit, thus condemning themselves to a hell of their own devising for the sole purpose of playing the alpha and waving their tiny geek wangers in peoples faces to show how uber leet they are : 98 %
Per cent of the above who are linux jihadi, for whom purity of ideology is more important than productivity, output or even using the right tools for a particular job : 100 %
In summary then, if you're a Vim user, there's a roughly 98% chance that you're a mong.
If most of your end users are on Windows you're going to want to be sure your markup works well in windows browsers. As you don't need real server power to serve up test content to a single user it's pretty logical to use windows to develop your php apps.
Of course, directory separator bugs during deployment are a likely outcome as well. And yes, I know I can use "/" for that, but sometimes I forget and I bet I'm not the only one...
As someone who dabbles in web development...
I can understand why many PHPers develop in Windows - it allows people to test their pages with Internet Explorer. Awful browser, I know, but I'm afraid that a fair proportion of their target audience will be using one of the many versions of IE. Put it this way - it's nice to know straight away if one of their multiple CSS bugs is leading to layout problems.
I have thought about developing in Ubuntu, but I only have one PC - and switching between different boots is a little more trouble than it's worth. Instead, my preference is to develop for Firefox on Windows, and then use Multiple IEs to try out the look and feel in IE6, IE7 and IE8.
But I only deploy to Linux.
> And do you really trust someone saying he uses vi(m) ? That's an old joke between developers: "Is use vi" or "I use notepad".
Actually vi being available on nearly all unix's is a very useful and capable editor - allowing editting of code from any machine capable of opening an SSH session to the server.
Vi lets me write/edit code without the need to download a 10mb text editor or a 100mb IDE and once you know its arcane sytax you can often get stuff done quicker than using an IDE.