Windows Loses Ground With Developers 431
An anonymous reader notes that InfoWorld is covering a survey of North American developers that claims that Linux is gaining share as the number of developers targeting Windows fell 11 percent over the last year. Evans Data has been conducting these surveys of client, server, and Web developers since 1998. Evans Data says that the arrival of Windows Vista likely only kept the numbers from being even worse. The big gainer wasn't developing for a Web platform, but rather for Linux and "nontraditional client devices." Windows is still dominant, with 65% of developers writing code for this platform. Linux stands at almost 12%, up from 8% a year earlier. The article says that Evans Data collected information on Mac and Unix development but did not include them in this year's report.
Linux is not another Windows (Score:5, Insightful)
Linux will never replace Windows, because nothing else ever will. Windows is an artifact of a time when having a single platform was more important for development than having the best platform. Now that the industry is maturing, the needs are rapidly becoming commodities behind standards-based interfaces (TCP, XML, etc) while the platform itself is becoming less and less relevant. The Internet met a need that Microsoft simply couldn't provide, and now the cat is out of the bag. Vista is Microsoft's attempt to lock users in before erosion gets too bad, and it's pretty evident how well that's going.
Windows' market share will slowly erode, slowly being beaten by an increasing number of products, services, and wares on an increasing number of platforms.
Go standards!
Nice but worthless data (Score:2, Insightful)
Javascript? Thats just one step up from HTML as far as "development" goes, of course it has 3 times the users, unlike Perl, Ruby and Python all you need is 24 hours and a dummies book.
Linux is a better target for new developers. (Score:5, Insightful)
Not suprising... (Score:2, Insightful)
There continues to be a vast increase in the number of embedded chips capable of running a full-fledged OS (like Linux) and as the chips get smaller, the of course get put into more things. Not only does Windows CE not support a lot of these chips, but even if it did no one in their right mind would use windows for something that didn't need a GUI. The only time to even consider using WinCE is in a PDA like-device, and thats a very small percentage of the embedded market.
Re:Client vs. Server Applications (Score:3, Insightful)
That being said, TFA data goes against my personal experience.
Almost everyone I know is now experimenting with Linux, with slow adopters and doubters being prodded by Vista to finally look over the fence, but I don't know of any Windows developers who have abandoned Windows development altogether.
Your comment, chris098, falls directly in line with my experience. The first step most developers I know are taking is evaluating Linux as a server platform... tweaking/playing with/learning about the O.S. in that capacity.
Regards.
Metrics (Score:3, Insightful)
It's the target platform that matters in my view, if they took this into account I'm sure that linux would be a lot higher, because it would count all of the Web 2.0 people who are hosting on Linux but write in windows.
Re:Nice but worthless data (Score:5, Insightful)
If you carefully pick your 400, your survey isn't legit.
Embedded Linux (Score:3, Insightful)
Re:Nice but worthless data (Score:4, Insightful)
Re:Client vs. Server Applications (Score:5, Insightful)
It shouldn't be. The solution is really simple
Qt if you are going to GPL your code and want to code in C++
Qt if you don't want to GPL your code and code in C++ just pay Trolltech for the none free version.
GTK if you want to code in C or C# GPL or not since you can use it under LGPL.
GNUStep if you really want to use Objective C and don't mind being different.
I mix Qt and GTK apps at will on my Linux desktop. For many applications your choice between GTK and QT really doesn't matter. Okay I hate GTKs file dialog Qts is a lot better IMHO but even that isn't a really big issue. I use Eclipse CDT which uses SWT-GTK for it's interface on Suse 10.1 running KDE. No big problem.
The lack of a standard windowing tool kit just isn't a big deal. Frankly I suggest just going with QT and then you can make your code run on Windows, Mac and Linux with very little effort at least as far as the UI goes.
Re:Linux is not another Windows (Score:5, Insightful)
We are far more productive just sticking to one set of code for one platform, because there are no good languages out there that work for any platform.
Excuse me for being naive, but why not Java? Its not like Java carries any performance penalty as compared to C# - both are JIT compiled languages that are run by a VM. Java has excellent developer tools as well: both Eclipse and Netbeans have matured as IDEs.
Re:Linux is not another Windows (Score:4, Insightful)
Are you kidding? I've seen businesses that were still running pentium 1 systems in 2000 and 2001.
Not everyone replaces all of their equipment every couple of years. For instance, the laptop I'm writing this on was bought in 2003. With a 2.4ghz processor and a decent amount of ram, it still performs quite well even when I'm doing development.
As for the people who just use a computer for email and surfing, most of them don't have to get a new machine until the one they're using dies.
It's a budget thing, and most people simply have better things to spend their money on than a new computer every other year.
Re:Client vs. Server Applications (Score:5, Insightful)
X-windows together with any of the popular graphical toolkits is every bit as fast as windows GDI primitives, and very similar to what apple's DPS does to draw widgets. The old fashioned integration of graphical primitives directly into the operating system is exactly what everyone is trying to get away from, as it tends to make everything suck. Take one look at beryl and youll see the future of eye candy is going to be coming from the free software camp.
Now, in addition to that, you are taking the licensing issue 100% backwards. With any OSS toolkit, the terms and source are 100% disclosed, and many times simpler than proprietary licenses. The toolkit you choose will be around forever as surely as if you own it yourself. I don't suppose you have ever read one of MS or Apple's EULA's, but to sum them up you are essentially placing yourself and your company at their mercy when you develop for their platforms.
If your reason for choosing proprietary products is because you plan to make proprietary products, that at least would make sense. But keep in mind that the product model for software is receding into history, and you may need a change of business model in the forseeable future.
Number != percent (Score:4, Insightful)
"Just 64.8 percent targeted the platform as opposed to 74 percent in 2006."
That does *not* automatically mean that the number has declined. There may still be the same number of or more Windows developers, but their percentage is smaller because the other categories have increased.
I hate misleading article titles. The numbers should be thought of as multiple line graphs, not a pie chart.
Market Potential (Score:2, Insightful)
That being said, why limit myself to one platform? It would only be a smart business decision to code for both. Hey, what do you know...I work for a company that currently does that. It's like Windows users that refuse to use Linux "because it's too complicated", or *nix users who refuse to use Windows "because of (monopoly/commercialism/shady business practices/insert random slashdot whine here)".
If you limit your target, you only limit your market and earnings potential. That's just stupid from a business perspective.
Re:Why target? (Score:3, Insightful)
I still like how people think that C is a platform-dependent language.
I write stuff in C/C++ using OpenGL and it compiles and runs consistently on Windows, OSX, and Linux. I don't need any interpreters (Python) or fancy toolkits or anything.
Platform independence is not a language issue, it's a library / API issue. If you use Win32 or .Net, you're stuck Windows (excepting Mono). If you use Cocoa, MacOSX. I suppose the equivalent on Linux would be glibc or one of the GUI toolkits. You could probably even classify Python as an API if you looked at it in a certain way.
The standard C library is probably about as standard an API as you'll get, along with Python, Java, etc. Now, yes, I realize that some implementations are a bit goofy (or just plain wrong), but if you stick with the functions that have been around for 30 years, it's hard to be bitten.
(Note: Also, stop using undefined features of languages, like "i = i++;"!)
Too bad no Mac numbers... (Score:3, Insightful)
Re:Ob.. (Score:4, Insightful)
I see what you mean, and I agree. A computer should be programmable by its users.
One correction though: it wasn't the PC that turned kids into programmers. It was (a) Unix systems at universities and (b) the cheap home computers of the 1980s, with a BASIC interpreter and a demo scene, like the Commodore 64.
Re:Linux is not another Windows (Score:2, Insightful)
Wow, they finally got money to grow on trees, huh?
North American developers? (Score:4, Insightful)
What's the point of polling North American developers?
The 11% decrease in Windows targeting could be because one of the 9 still working here switched to Linux.
If only it were true. (Score:3, Insightful)
there is just far to small of a sample that the margin of error is probably well over 20%
Also where and how where these "developers and IT managers" sampled.
At a Microsoft Developers conference?
Most Linux developers I know are broke and living on almost nothing but air. Many are student, very green (save the environment) or have some other oddness like being idealistic or so focused on Cool stuff they forget that they need to have an income.
Odds are that these guys did not get surveyed.
With only such a small sample, I don't give much weight to the results.
Also it take about 10 Windows developers to get the same work accomplished as one Linux developer.
Most windows development is dealing with Bugs, Features, bad documentation and changes from Microsoft rather then with real forward progress.
I'd love to know what they think developers are moving over too? Cross platform stuff like Ajax, TCL, PHP and Java? Cross platform C++ and C? Much of the application layer stuff I work on tends to be platform Agnostic like that. The rest is Kernel and Drivers that are every OS specific, although I even did 2 drivers that were windows and Linux cross platform. It even worked to my own amazement.
John
Re:Linux is a better target for new developers. (Score:3, Insightful)
-matthew
Re:Client vs. Server Applications (Score:3, Insightful)
So a series that only included bindings to a single widget set should have in the implicit expansion a completely different widget set? The "etc." stood for the perl elisp etc. (hope you can see where this is going now) bindings that I didn't list.
Let's see, GTK is the default in Fedora and Ubuntu. Mono/C# and Java basically only have GTK bindings. For a commercial entity (which you said you were) you have to pay for Qt and don't have to pay for GTK ... I'm kind of assuming, again, but this doesn't seem that hard of a question to me.
Re:Linux is not another Windows (Score:3, Insightful)
Oh boy. An "I'm geekier than you" boast. I am so sick and tired of the "real men don't use IDE" fools.
Hate to break it to you, but the reason we use IDEs is because they make us more productive. A good IDE can help you write better code faster than using a text editor.
Those of us who do it for a living tend to be rather fond of our IDEs. I am perfectly capable of coding just using notepad or pico and a compiler (after all, if you have that much of a hatred of people who use IDEs, anything but the most basic text editor must be evil) if I wanted, but that would, on the whole, be a waste of my time.
Give the guy a break. Java's a big language (face it, the core o'reilly books on the subject span three volumes) and it can be a pain in the rear to work with at times, especially if you don't have a lot of experience in it and don't have someone to ask questions of.
Re:Ob.. (Score:1, Insightful)