Slashdot Mirror


Windows Loses Ground With Developers

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.

13 of 431 comments (clear)

  1. Client vs. Server Applications by chris098 · · Score: 5, Interesting

    I'm guessing the majority of the applications written to target Linux are server applications. It would be interesting to see if this can be explained by a result only in the server application space, or if more client applications are also being targeted at Linux. Of course, in order to find that out, one would probably have to pay to view the full report.

    1. Re:Client vs. Server Applications by fyngyrz · · Score: 5, Interesting

      We don't do server apps, and we considered linux quite seriously.

      We have abandoned windows as a development platform, but it wasn't linux that replaced it, it was OSX. Linux's lack of a standard GUI layer in the OS - modern menus, buttons, lists, even windows - is the primary issue for us. There are lots of things that are very attractive about linux, not the least of which is a large user base that we think would have an interest in some of the things we can offer, and so we do keep an eye on what is going on. But there is a long history of independent widget development projects with quite a range of capabilities, licenses and corresponding legal issues, and in some cases, prices for commercial use; there's no certainty there will ever be a standard graphics layer. In my opinion, which is only one fellow's outlook (though I do control my company's direction) this is a key factor.

      Both Microsoft and Apple have some pretty nice interface builders; that'd be a factor too, presuming that the embedded graphics eventually gets past xwindows and user-land layers on top of it. And by the way, I'm not advocating any of that be dropped; just that a standard be added to the OS that anyone can use in any way without any issues, just as one can use the fopen() call and know it'll be there and neither legal nor accounting will have to be called because the call was used.

      --
      I've fallen off your lawn, and I can't get up.
    2. Re:Client vs. Server Applications by jimstapleton · · Score: 4, Interesting

      I typically use QT as it works in just about anything.

      You can use GTK instead if you like. Or if you want something that works in anything, but looks different every version, you can always use WX.

      Add in a platform independant language like Python if your application is not extremely intensive (and sometimes, even then), and you have an extremely nice setup for anyone to use.

      And QT has a very modern (and more importantly, customisable) look. It comes with a little app, and you [the user], can set GUI appearances that the developer left as default, to look like Windows, MacOS 9, MacOS X, and QTs native, amongst others. It also pulls the system default colors for various field types, which is extremely nice.

      --
      34486853790
      Connection too slow for X forwarding? Try "ssh -CX user@host"
    3. Re:Client vs. Server Applications by Cyberax · · Score: 5, Interesting

      No, you can't (effectively).

      You can have your code under BSD license, because it's less restricting than GPL. But if anyone tries to use your application as a part of a commercial closed-source project, then they will be violating _GPL_ license of QT. Which, sort of, defeats the whole purpose of BSD license...

      You can have QT in BSDs without GPLing the whole thing because of the 'aggregation' clause in GPL.

  2. Perhaps Its just gotten easier.. by cybrthng · · Score: 4, Interesting

    I know more "indy" developers that code irrespective of the platform. Programming is just different these days - what took an entire staff can now be done efficiently with just a few. Is the market downsizing or has growth in the field shrank or is it more platform agnostic? How do you determine a windows coder vs a universal or only a linux/unix coder?

    Windows has some of the best tools out there - software as a whole has matured to a level that there hasn't been anything "new" and its been mostly upgrades. No wonder the market has shifted. Just because there are more developers in other environments, doesn't mean the market has dried up, just that it has matured.

  3. .net anyone? by hxnwix · · Score: 4, Interesting

    By day, I code in WTL, Win32API and (regrettably) MFC. Like a great many, I wonder whether .net is pushing developers away from Windows.

    This mess is drawing Microsoft's attention away from the C/C++ layer, where it's sorely needed, and into what, as far as I'm concerned, is comparable to Visual Basic. Put simply, neither my employer nor I are interested in writing in a proprietary, bytecode-interpreted language. If we have to abandon our C/C++ investment, it certainly wont be for a proprietary java knockoff. It will be for the real thing, allowing us to slowly drift away from Windows.

  4. Blowing off VB6 burned some bridges by Maxo-Texas · · Score: 4, Interesting

    The way Microsoft ended Vb6 with no easy upgrade path to .net both irritated developers here and stranded some of them in vb6 with no path to .net. Some of them trained to java (tho they would have preferred .net).

    --
    She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    1. Re:Blowing off VB6 burned some bridges by dedazo · · Score: 5, Interesting
      Partly true. In my personal experience the vast majority of VB6 developers are using... VB6, actually. Which is why the VB6 IDE is supported under Vista, but Visual Studio 2003 is not.

      The lack of a clear upgrade path from VB6 has forced companies to hold off on porting, upgrading or even replacing "legacy" VB apps for a lot longer than they otherwise would. The standard average lifecycle for a LOB app in most corporate environments is about 3 years. We're going on 5 now, and unless Microsoft pulls a rabbit out of the hat somehow, these people are probably not going to go to .NET. They'll go to Java or some other technology, at least those that have the option, because some don't. Microsoft has made it really hard for a lot of folks and they're going to end up paying for that in the long run.

      Microsoft squandered the mine gold that was the enormously huge VB developer base. They should have released a follow up to the COM-based VB6 platform with improvements and provided a clear timeline for the jump to the .NET CLR. Instead one day they just announced VB6 was dead, being replaced by something that is arguably better but completely incompatible, at least from a practical standpoint.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
  5. Different niches by athloi · · Score: 4, Interesting

    For mainstream and corporate software, Windows may continue to rule, but the biggest leaps I've seen in development have been in the niches where Linux has prominence. Audio, networking, manufacturing and server-side work is booming for Linux.

    In a perfect world, this article would distinguish between development "for pay" and all development.

  6. Developing for Linux is just easier. by Dr.+Manhattan · · Score: 5, Interesting
    One of the reasons that Windows has the kind of IDE and debugger support that it 'enjoys' is because it needs it. Developing for Windows is nearly unmanageable without that kind of support. The Windows API is huge, complex, only occasionally and accidentally orthogonal, and in my experience mostly very poorly documented. I'm not the only one who thinks so:

    "Today we are ready for the official release of the .NET Framework 2.0. Tabulating only MSCORLIB.DLL and those assemblies that begin with word System, we have over 5,000 public classes that include over 45,000 public methods and 15,000 public properties, not counting those methods and properties that are inherited and not overridden. A book that simply listed the names, return values, and arguments of these methods and properties, one per line, would be about a thousand pages long.

    If you wrote each of those 60,000 properties and methods on a 3-by-5 index card with a little description of what it did, you'd have a stack that totaled 40 feet."

    Meanwhile, the entire POSIX spec, suitable for fully implementing a POSIX system including the utility apps, with commentary and rationales for design decisions, fits in about two and a half feet of binders.

    Intellisense is practically mandated if you want to work with an interface as baroque as Win32. And it's nice even when you're working with your own defined classes and structures. But it has its own drawbacks, as Petzold notes:

    "For example, suppose you're typing some code and you decide you need a variable named id, and instead of defining it first, you start typing a statement that begins with id and a space. I always type a space between my variable and the equals sign. Because id is not defined anywhere, IntelliSense will find something that begins with those two letters that is syntactically correct in accordance with the references, namespaces, and context of your code. In my particular case, IntelliSense decided that I really wanted to define a variable of interface type IDataGridColumnStyleEditingNotificationService, an interface I've never had occasion to use."

    I develop for many platforms at work. It's a core part of my job. I mostly enjoy writing code for Unixish platforms, and tolerate the Windows stuff. The APIs on Unix are small, well-thought-out, have few if any side effects, and tend to be thoroughly documented. I find very few interfaces on Windows have even a majority of these traits, let alone all of them.

    I've rarely felt the need for more debugging support than Linux comes with. The problems tend to be simpler and more easily uncovered. Eclipse is nice, and appears to take many of the good things about Visual Studio and leave much of the bad behind. For some projects, it's very useful. For others, it's overkill.

    Another item worth reading - the whole book, really - is The Art Of Unix Programming. For a Windows developer's perspective on the book, see here. Needless to say, I don't agree with everything he writes there, but you might find it interesting.

    --
    PHEM - party like it's 1997-2003!
  7. Vista hurt the numbers, not helped by caywen · · Score: 4, Interesting

    FTA: "The arrival of Windows Vista likely only kept the numbers from being even worse." I think that Vista actually hurt the numbers. Not so much Vista itself, but in Microsoft's post-launch execution. Microsoft's big developer hotness is supposed to be all these great .NET technologies. But the lack of Vista adoption might be putting the brakes on developer enthusiasm because Microsoft is failing to lead the way in showing the end result benefits of it. COM didn't really catch on until Microsoft started demonstrating how hot it was through dogfooding and releasing applications architected on it. With it came a greater degree of modularity and flexibility that they demonstrated compellingly well with IE, Office, Visual Studio, etc. To this day, Microsoft hasn't delivered any real WPF+WCF applications - at least none that a significant number of people care about. They should be pumping out amazing applications that can be showcased on Vista, causing developers to envy and copy them, and causing customers to actually want Vista because of the hotness the developers *and* Microsoft are offering.

  8. Re:Ob.. by PopeRatzo · · Score: 4, Interesting

    The migration of developers away from personal computers toward "nontraditional client devices" worries me a bit. The best thing about the rise of the PC was that it gave people access to a machine that could be configured to do a lot of different things, including "learn about making your own applications". I wonder whether all the "embedded devices" will also provide a coming generation with a platform from which to recreate their world the way PCs did for us.

    I love the Mac interface, but the thing I always loved about Windows was that it forced me to look more closely at what was going on than I may have wanted to. And that exploration of the nuts and bolts of an overcomplicated desktop OS gave me insights that I may never have gained had I stuck with the more opaque Mac OS. Of course, for those who want that experience today, Linux has it in spades. But as much as I loathe Vista and the company that has trumpeted this abomination on us, I'm glad that I had to learn about a "registry" and I'm glad I had to learn about shared libraries and memory management.

    As much as I'm sure that the devices that will contain embedded processors will provide us with utility and convenience, pleasure and all varieties of entertainment, I hope that the idea of an all-purpose, configurable, expandable box with a keyboard and operating system doesn't go away any time soon. And I hope that developers continue to create tools for us to use on those boxes.

    --
    You are welcome on my lawn.
  9. I'm actually sad about this by dinther · · Score: 3, Interesting

    But not surprised. In the last few years Microsoft has increasingly taken a "My way" or the "High way" approach to software development. Like many others I work as a full-time software developer for many years now and these day's building a working solution is the easy part. The hard part is to make sure it runs at a customers site. The very thing Operating systems are supposed to enable.

    The hack and slash security patches Microsoft brings out these days often unexpectedly denies features in the API on which solutions are based thus rendering large chunks of our code useless and a workaround must be found.

    Security is important in a connected world and indeed not recognised enough my many programmers but the hap hazard ducks and dives in Windows makes it hard to tackle this issue in a structured way. Often I find myself hacking my way around "Security patches" in order to restore functionality in our software.

    Add to that this crazy program (I refuse to call it an operating system) called Vista which is is so secure you hardly can run anything on it. I imagine the next version of Windows is 100% secure as it will only run "Notepad" and "Calculator"

    So, bottom line. If the Operating System no longer allows us to use the hardware to drive our programs then the OS get's in the way. For me the problem is that I have a huge skill base in Windows and my programming tools that I don't like to give up. But for some of my projects I seriously consider to try my hand at Linux so I can provide a turnkey solution (Include the OS with the software).

    MS Windows has become like a government. It is supposed to serve but instead it now insists to rule the IT world.