“Two years ago, the number of developers writing applications for the Microsoft Windows platform fell, while the opposite was true for Linux – this has now become a trend. Instead of the Web stealing away Windows Users, as people have predicted for years, it’s Linux and handheld devices. According to analysts at the Evans Data Corporation research house, 64.8 percent of North American developers are writing software for Windows, down from 74 percent only a year ago. The decline in popularity of the world’s most prevalent operating systems appears to coincide with the rise of Linux, as the number of developers targeting the open-source environment has gone up by three percentage points from 8.8 percent to 11.8 percent in the same year.”
Windows went down 10% and Linux went up 3%…so what happened to the other 7%? Attrition?
Suicides from the 7% switching to Linux who couldn’t get the damn thing installed correctly.
Good to see darwin’s law in action. We need less incompetent developers.
“””
Suicides from the 7% switching to Linux who couldn’t get the damn thing installed correctly.
“””
Is that sort of comment *really* necessary? What value does it contribute to these forums?
I think it’s a crock (pun intended) but I still thought itwas funny.
It’s only fun until someone gets hurt. Meaning until yet another long and pointless flamewar breaks out, of the sort that any reasonable person should be tired of by now.
OK, OK, I’ll make the popcorn.
It made me laugh, I’d mod it up just for that.
“Is that sort of comment *really* necessary? What value does it contribute to these forums?”
it’s a warning about linux. that installing linux is more harder than programming and it might drive the user to commit suicide.
“Suicides from the 7% switching to Linux who couldn’t get the damn thing installed correctly.”
so installing linux is harder then programming?
A few years ago Kroc might have had a point (though he would still be guilty of cheap point-scoring and trolling). Nowadays it’s nothing BUT cheap point-scoring and trolling.
Yes, sometimes Linux is a bitch to install. But then so is Windows.
I was being sarcastic of that point, ergo it was solely a joke. I always follow Ubuntu development and try out each new release.
In which case, IIRC you’ve changed your tune. Which is a nice surprise.
It’s KDE which I have a deep rooted problem with :3 Linux and distros in general are all good things, just not my permanent cup of tea atm. Not using Windows, even if not Linux (OS X, Solaris, BSD &c.) gives you a greater respect for it.
Just curious … what is your problem with KDE?
KDE seems to me like a good development platform … Kdevelop would certainly have a claim in that direction.
They killed my dog :B
Ha, ha. I shouldn’t bite the bait, but, I cannot stop myself. Installing Linux is A LOT EASIER than installing Windows, BY FAR. Just think:
In one, easy step you install the OS, the drivers and most of the applications you need.
You don’t need to reboot 666 times, every time you swap in one of the driver CDs.
The process takes just a fraction of the time that you would need to install Windows and all the apps you usually need.
You don’t have to sign your life away in 400 different EULAS which pop up at different times.
Whatever software you lack at installation time, you simply add the minute you finish with a simple add-software interface that lists everything together and saves you hunting all around the internet and popping in yet more CDs.
From then on, security and bug updates for all your software (not just the base OS) will come automatically. Every six months you get an full version update for all of your installed software.
Windows surely must have its advantages, but installation is certainly not one of them.
Solaris, game consoles, phone and other embedded software, Haiku, *nix (instead of nux)?
Pure speculation, but I see these as possible. Maybe it just takes fewer programmers to do software other than ‘Doze? (^;
Attrition doesn’t change the fact that percentages add up to 100!
One aspect of this study that’s interesting is that it’s limited to North American developers. Programming jobs have been moving from North America to South and East Asia, so it stands to question whether a part of these changes represents more Windows programming jobs than Linux jobs moving overseas.
Also, the conventional wisdom is that Linux is growing slower in North America than in most other parts of the world. Perhaps a similar study in European or Asian nations would result in a more prominent trend toward Linux and/or away from Windows.
Finally, I bet that free software developers are underrepresented in such surveys because a higher percentage of them are amateurs and freelancers. Sort of like how minorities and the urban poor get screwed in the census. Dewey didn’t beat Truman in a landslide, so Linux might just have more than 12% of North American developers.
“””
Attrition doesn’t change the fact that percentages add up to 100!
“””
They add up to 100% in the case that developers develop for only one OS at a time. Since developers can and do develop for more than one platform in the same year, the picture is somewhat more complicated.
My guess is that the Evan’s Data figures probably came off a Ouija Board anyway.
No doubt they have special “professional grade” ones with decimal points.
Edited 2007-07-08 02:49
Ha ha ha!
I loved the Ouija Board Pro concept. I’ll make a mental note of it to have it ready to use, if you let me. ;-D
Actually, the EU did a fairly comprehensive study on the impact of FLOSS and it covered all global regions. It didn’t specifically isolate Windows and linux, but rather it compared development/deployment of FLOSS vs proprietary solutions.
The gist was that individual FLOSS projects on the whole are still represented more heavily by individual developers than organizations/paid developers (obviously excluding biggies like the linux kernel), that FLOSS is gaining much wider acceptance in corporate/institutional use and that the growth in FLOSS development is not actually coming at the expense of proprietary development.
The last point is fairly noteworthy, they stressed that despite dire predictions of cannibalization, FLOSS is attracting development without drawing away proprietary developers. I would guess this indicates that FLOSS solutions are seeding more projects and drawing more interest from developers globally, so in other words, the base of developers is increasing rather than moving air in a balloon.
Such could be the case with the Evans study, by talking about percentages, it doesn’t specify developer counts in terms of numbers. It could very well be that Windows-based developmet is actually remaining static, while FLOSS is developing new developers, which could result in Windows showing an apparently “loss”.
Regardless, the takeaway is that FLOSS support and development is growing in leaps and bounds, but it may be arguable if that’s coming at a significant expense to Microsoft.
Software development can be tricky. Yes, I think that 7% have found another occupation.
Perhaps they are already a lot more Linux Developers….
If there are 30,000 windows developers and 100,000 Linux Developers then 3000 developers switched then Windows would have dropped 10% and Linux would have Gained 3% But… What is more likely is that people didn’t all go to Linux Camp, There are other good platforms as well included imbedded, Web (So they may just say Unix other then Linux), Java platform independant, Macintosh… then there is the fact that there is a declining amount of programmers as well
I understood that the percents are from the group of all developers questioned.
What does it mean “Windows developer” ? To me it means someone who is developing in languages, API’s and frameworks that exist only on Windows.
Why would developer let herself/himself to be limitted
that way ? The same goes for Linux. One would, at least, want to develop for all UNIX-like platforms.
I think that this is mainly about developers going multiplatform, like Java, PHP, Ruby…
A very prominent Windows developer, Mike Gunderloy (he’s written dozens of books as well, notably Coder to Developer which is a must read for anyone in the software business) has been chronicling his move from .Net over to…well, anything not .Net/Windows:
http://afreshcup.com/
It’s a fascinating read. He’s 6 months into his transition and seems to be doing quite well.
A very prominent Windows developer, Mike Gunderloy (he’s written dozens of books as well, notably Coder to Developer which is a must read for anyone in the software business) has been chronicling his move from .Net over to…well, anything not .Net/Windows:
Interesting read, thanks. I’ve been doing quite a bit more with RoR recently, and we have really great rich client tools like Qt available to us as alternatives as well.
Personally, I think some of this is down to the fact that Microsoft has screwed development on Windows. It isn’t possible to take classical VB code and run or recompile it on a .Net environment (and Microsoft were extremely blase and hihg handed about it), and some of the new stuff is just too much of a moving target. Certainly, web applications get around that quite a bit.
At my last job, one of the other divisions was this massive enterprise app, which some genius years ago had done on VB6. We were at the point where it would take between five to ten minutes to load on average machines at the time, and quite frankly, it looked like ass.
After getting to the point where management was convinced something major had to be done with the project, VB.net was suggested as an easy solution. After some research, we found an automatic migration tool. Great! So we give it a shot, pretty sure that even if we still had to put work into it, it would make porting the monstrosity a hell of alot easier. All the tool ended up doing was commenting out roughly 95% of the code, and mangled the 5% that it actually managed to port.
The final decision was to port it to JSP/Java/Oracle like the rest of our newer apps.
I have been switching between technologies for the past 15 years. Done Python, Rails, C#, Java, C++, etc, etc, etc…
Yet I always come back and gravitate to Windows. Why? Simple MONEY…
As afreshcup.com says:
>My Rails rate is nowhere near what my top C# rate was (or for that matter, what my top Netware rate was many years ago), but that’s OK.
You do that for a couple of years and then things get tedious. You can’t afford that new PC, you can’t afford that higher speed connection etc. I noticed the initial move away from Windows was pretty easy. Then three years down the road when you need to replace things and buy new things it becomes VERY HARD.
I am guessing he will do this for about two years and then get the itch… (for Windows that is)
“””
You do that for a couple of years and then things get tedious. You can’t afford that new PC, you can’t afford that higher speed connection etc.
“””
I use the tools that I enjoy using and find the most powerful. I don’t compromise my principles. And I don’t do Windows because I don’t care for the environment.
I get by just fine.
My primary workstation, an Athlon64 4000+ w/2GB RAM, is about as much as I want. The 22″ flatpanel works perfectly fine for me. And the 1.2mbit cable connection is serviceable enough.
I can’t imagine using tools that I dislike like day after day just because the pay was better.
Not that I really think that the pay *would* be better.
And feeling good about what I *am* doing? Priceless…
The popular notion among tech industry followers is that a more capable Web browser, able to run sophisticated applications either online or offline, will make the desktop operating system less important, if not irrelevant.
Hopefully by the time that happens, they’ll figure out a way to make these apps run standalone. At this moment, just typing this with one tab open, Opera is consuming nearly 40MB of RAM. By comparison, the PIM I use (WinOrganizer) has TONS of functionality built into it, and runs happyily in my system tray using about 3.6MB of RAM.
So, as an end user, can you developers out there see why I’d rather have my balls crushed by a wooden mallot than run all my apps in a goddamn web browser? You guys need to find a solution where online apps can run as light and as fast as their native counterparts. And yes, this means that BOTH Java and .NET need to go away in a favor of a better solution.
“Hopefully by the time that happens, they’ll figure out a way to make these apps run standalone. At this moment, just typing this with one tab open, Opera is consuming nearly 40MB of RAM. By comparison, the PIM I use (WinOrganizer) has TONS of functionality built into it, and runs happyily in my system tray using about 3.6MB of RAM.”
With all due respect, 40mb isn’t that much. How much RAM does WinOrganizer consume when you have the GUI open after a few minutes? When apps are minimized to the sys tray, you’ll see RAM go down quite a bit as the GUI is unloaded from memory, which is (of course) what takes up most of the memory.
With all due respect, 40mb isn’t that much.
I guess 40MB isn’t really that much, assuming you’re used to coding your apps with fat-ass, bloated frameworks.
Just having Opera (one of the lighter web browsers) open with an empty tab is 30MB. Even if we were to agree that 30MB isn’t that much for a web browser, it also means that if I’m running all my apps in a browser, then ANY app on the system (even if it is as simple as Notepad) requires at least 30MB to get going. That is unacceptable, IMHO.
How much RAM does WinOrganizer consume when you have the GUI open after a few minutes?
6.8MB. And that’s running with all my tasks, notes, calander, etc. And it’s fast too, and can run off a USB stick
Edited 2007-07-07 20:15
You got a point there , unfortunately too many people code with fat ass bloated frameworks.
I mean look at the ram-munching skype and voipstunt programs run them off of a Usb stick would be a nightmare.
As a developer interested in my own productivity, you can pry Django from my cold dead hands. Because that’s the only way you’re gonna get it.
Yes, but 40MB only represents about $2.50 (US) worth of memory. How many programmer-hours of development time, and how much maintainability, do you want sacrificed in the name of the $2.25 dropping the requirement from 40MB to 3.6MB would save you?
Yeah, when I was in high school, I maxed out my new Apple ][ with a full 48k. I know that 40MB seems a huge waste to my 1980’s oriented brain. But the reality is that 40MB is worth less than a Big Mac, fries, and a large coke in the year 2007.
40MB is not even that significant for handhelds anymore.
It might be significant to OLPC, though.
You make a good point, but I think the plumeting cost of hardware excuses poor programming habits. Regardless of what I think, software will require more and more resources.
Its not necessarily poor programming. Its highly maintainable, clean and readable programming.
I’d go for cleaner and maintainable code rather than optimisations that minimise memory usage.
You make a good point, but I think the plumeting cost of hardware excuses poor programming habits.
It doesn’t, any more than the plummeting (ok not plummeting, slowly descending) cost of cars excuses crap cars. This is cited as being one of the main reasons why the US car industry is in decline.
You can certainly understand that it’s harder to ferret out bugs in the kinds of apps we have these days than it was when everyone was using ed and troff, but it’s not an excuse for *crap* coding, or coders.
bah that’s been claimed since Netscape Navigator announced they were going to release the ability to browse your computers filesystem in the browser and put the browser integrated into your desktop.
That scared MSFT into putting their browser into the OS free which crushed Netscape and the rest is history.
Web applications and desktop applications target different audiences most of the time. Not always, but most of the time. When you have a number of applications to be used by number of users in a number of locations it is often easier implement them as web applications that work with universal client.
The solution for your problem would be a network computer.
I would say that the largest growing category is OS neutral:
Java – OS doesn’t usually matter
.NET – thanks to Mono, many .NET apps can now be run on other platforms. Many in this group call themselves Windows developers, but they are actually writing mostly platform-neutral code.
Dynamic languages – Perl, Python, PHP, Ruby – the OS doesn’t matter.
Unlike 5-10 years ago, only a small minority of developers are actually writing Windows-specific code – such as VB6 and VC. Everyone else is writing for an interpreter or a virtual machine that is platform neutral.
“Everyone else is writing for an interpreter or a virtual machine that is platform neutral.”
I’d venture to say that now, the VM is the platform…the OS doesn’t matter so much anymore. Which is fine by me
So I guess, I, for one, should welcome our new http://www.parrotcode.org/ overlord?
The statement “The decline […] appears to coincide with the rise of Linux” is a non-sequitur; you haven’t specified why the Windows decline is happening, only that Linux is increasing in number of developers.
The real reason the numbers have dropped on the Windows side probably has to do with:
* Old-timeys not wanting to move onto .NET and seeking other, more platform-agnostic, languages. VB6/WIN32/MFC are gods in some places, there’s VB6 code out there that won’t ever be replaced.
* Vista is/was a bummer. People generally don’t want to code for it because of the persistent problems, slowness and general lacklustre acceptance by the industry.
* Sun’s new found popularity with Solaris and Java is increasing demand and mind-share for Java on the server (which is already very popular). More people are seeking to train in learning Java where the money and experience is.
* The growth of web applications. Windows is more irrelevant than ever, and certainly not in the “cool” crowd when it comes to web 2.0 (RoR / LAMP &c.)
And there’s probably a lot more.
I just dislike how this article tries to make a 1=1 comparison between falling Windows developer numbers and increased Linux developers. It’s simply not that simple, and those two numbers are not that directly correlated on the person-to-person level.
edit: Looks like many people above have beaten me to a few of the points I’ve raised
Edited 2007-07-07 20:28
Meh, I think the greater issue is this; although win32 is being depriciated unofficially (Microsoft would never admit to it, heck, they’re still maintaining 16bit crap that should have been removed over a decade ago!) there are features in win32 they need and .NET can’t/won’t provide them.
Thats probably the big problem with closed source – you’re at the mercy of Microsoft when developing, too bad developers don’t see that, they’re too busy bouncing around on pogo sticks at MSDN hypefeasts.
Incorrect. The operating system itself has some great technology – the issue is, large parts have to be completely re-written from the ground up again; take a look at the new presentation layer, for example.
At the end of the day, the question will persist – am I better off, if I need to do major re-writing to simply either go platform neutral or move the application onto the web in some form or another.
Hopefully it should also mean that having been opensourced it should allow longstanding bugs and issues to be resolved in a timely manner – the performance one being high on the list.
People don’t care about the language or the platform, what pisses the end user off is when the application is slow, buggy and crash prone. I’ve yet to see a large Java application which doesn’t suffer from atleast 2 of the 3 issues I outlined before.
What they think is cool is completely irrelevant. The end of the day, does it fullfil what the end user wants – thats the only matrix that actually matters.
Unfortunately I’ve seen this article used in other parts of the web to claim that it is now the year of the desktop (like every other year for the last 10+ years).
Of course developers are running towards Linux on the server, but at the same time, alot of server components are being written in things which are platform agnostic, for reasons far beyond the OS holy wars that exist – the technology enables quick execution of projects rather than the fuzzy feel good factor being able to run a certain operating system.
So server orientated developers – I’m not surprised; its been a major growth path for Linux for quite some time – even Linus said that the server isn’t all that interesting, there are a fixed set of specifications, meet them, and voila, success. As he (Linus) said in an interview, the desktop is alot more exciting given its greater challenge.
The days when we start seeing big software houses like Adobe/Macromedia, Corel, Quicken, Sony, MYOB and the likes Linux (or some other opensource operating system) version of their applications, thats when I’ll truely believe that there is a massive move within the IT industry to escape from the clutches of Microsoft in favour of supporting an operating system with a level playing field.
Linux says Windows is losing and Linux is winning. No news here.
Developers, Developers, Developers
and what better way to attract developers than to have the best development tool available, the source code.
“and what better way to attract developers than to have the best development tool available, the source code.”
Most would agree that Visual Studio is one of the best development tools currently on the market, and the .Net framework is actually a very easy platform to code against. This article doesn’t really back up that claim though.
I’m not sure what you mean by having the source code available, but not once in my 7 years of Windows programming have I ever said to myself “wow, I sure could use the source code for [x] API” and as far as .Net goes, source code is readily available by using a tool like Reflector (written and maintained by Microsoft for decompiling BCL classes), which I use on a very regular basis to learn more about what’s going on underneath the .Net hood. Having OS level source code benefits maybe 1% of applications, if even that.
When I was a Windows programmer, I was never once interested in the source code to any Windows software at all. When you are a Windows developer, it simply never even passes your mind, such is Microsoft’s ecosystem.
You’re trying to say that the mindset of Linux programmers applies to Windows developers, and that simply isn’t anything like the case. Windows developers are not interested in Microsoft’s source code.
I hope that developers do still more multiplatform software in the future. The WIN32 API is the reason of windows monopoly on desktops.
Unfortunately Microsoft remain creating incompatible and windows only technologies/APIs/protocols like .Net, DirectX, Metro, Silverlight, OpenXML, etc.
Metro is XPS which is an openstandard along with OOXML; XPS is actually one of Microsofts better documented specifications. There is a project underway already to support XPS using Cairo – I can’t seem to find it, I was given a link a while ago though.
As for DirectX – there are reasons behind its development beyond the boogie man arguments used here – it would be nice for Microsoft to atleast fully document it and submit it to some sort of standards body.
Regarding .NET and Silverlight – like XPS, they’re one of Microsofts well documented products – the issue I have (which no Microsoft employee is willing to explain) is how they can on one hand say its ok to implement, and yet, they set their attack dog at the end of last year, in regards to implementing Indigo and Avalon, that they’ll sue them into an early grave!
Look through Arstechnica, there are a number if Microsoft employee’s, and everytime asked, they avoid the question – the sad part, its pretty damn interesting technology, the downside, its controlled by an organisation who think that to make a buck and maintain marketshare, they need to jealously guard their technology.
“Metro is XPS which is an openstandard along with OOXML; XPS is actually one of Microsofts better documented specifications”
OOXML is not a “open standard” its a “proprietary standards”
So I guess that:
http://www.ecma-international.org/publications/standards/Ecma-376.h…
Is a figment of my imagination. It has also been submitted to ISO, which will be standardised soon (given the reports so far).
“So I guess that:
http://www.ecma-international.org/publications/standards/Ecma-376.h…..
Is a figment of my imagination. It has also been submitted to ISO, which will be standardised soon (given the reports so far).”
Regardless of Microsoft power to lobby organizations. I suspect you should examine the word open. Unless another company can implement these standards which they can’t its not open.
I suggest further reading on the standard(sic)
http://doc.oooforum.dk/Filer/ISO_kommentar_OpenOffice_org.pdf
Uh, Novell and CleverAge and Sun and Corel and Apple and some web-based tools have all implemented or are implementing programs which read and write OOXML files. The format is pretty damn specified. On the other hand, the specs are long and probably not very interesting to read. Implementing a suite as complex as office is hard, so the file format will be the least of your worries.
Whats also interesting is Microsofts format does not include a full implementation of what is included in office, Microsoft already break their own standard.
Edited 2007-07-08 11:28
“so the file format will be the least of your worries.”
The file format is the most of my worries if it includes features that *cannot* be implemented, or in todays world contains *patented* technologies. You have to remember that a *file format* is not just used by an office package but by *label programs*, *report generators* *tv listings*, *log files*, *databases* etc etc. or the many programs that export or import into it.
Thats also ignoring all the embedded Microsoft only format stuff, form clipart to equations. The non inclusion of SVG is a disgrace.
That ignoring finer details like lock-in.
Not quite. I think you must have meant to write: “CleverAge and Sun and Corel … are implementing programs which read and write ODF files.”
On this topic, Sun’s plugin for MS Office for full ODF compatibility is apparently finished and ready for download:
http://www.heise.de/english/newsticker/news/92193
That is very welcome news for MS Office users … now they won’t have to use OOXML as the default format any more, they can use ODF as their default format. An enormous bonus for MS Office users.
CleverAge’s ODF translator (which cannot be set as the default format) is reportedly miles off even reasonable conversion:
http://boycottnovell.com/2007/01/27/opendocument-microsoft-office-a…
http://www.groklaw.net/article.php?story=20060720063746488
“””
So I guess that:
http://www.ecma-international.org/publications/standards/Ecma-376.h…
Is a figment of my imagination.
“””
The document that you link to is well over 6000 pages and still resorts to directives like “This should be done like older versions of office do it”.
While it may describe a “standard” in some bureaucratically correct way. It is hardly a useful for any purpose other than giving the appearance of OOXML being open.
You are quick to link to the document. But how much have you actually read of it? Honestly?
I would have to agree with Cyclops that, in a practical sense, it is a proprietary standard disguised (rather poorly) as an open one.
There being plenty of incentive for other office suites to offer good compatibility with MS Office formats, time will confirm how “open” the OOXML standard really is. But it isn’t difficult to see, even today, that it’s not very.
Edited 2007-07-08 13:49
Um, specs are boring to read, even if you’re implementing an office suite. How much of it have you read? Or are you just basing your comments on Rob Weir’s blog? There are about 10 tags in OOXML that specified in the way you describe. Those tags are all related to spacing and display conventions which are produced by older versions of Office (not 2007) or other legacy apps (like WordPerfect). For reference, ODF also includes this sort of display-related information as application-specific extensions to the format (they are given app-config tags for OOO), so they are not part of the spec either.
The purpose of document format interchange is not to get pixel-perfect rendering of your documents. You’d use a fixed format like PDF or XPS for that. Document formats are meant to usefully convey editable text and layout on a “close enough” basis. The information needed to create documents openable in Office apps is in the spec and you can certainly parse 99.9% of what’s produced by those apps without having to deal with tags like autoSpaceLikeWW6. Those tags are not really meant to be implemented. It’s good enough that if your company wants to switch to ODF, the cost won’t be too high: just a cursory glance across documents which are sensitive to layout changes… (this could be many docs for some orgs, but you’d have the same chances of getting it right if you were converting from the old binary formats or from rtf).
You do realise that you don’t actually need to implement all of the 6000 pages – I’m confident in sayingn that a good 80% of what is in the documentation is only required if you want a full loop from OOXML to DOC to OOXML and maintain perfect translation.
Writer the filter minus the backwards compatibility and you’ll still have compatibility with the format.
Those are all Microsoft formats. Windows-only.
This is the problem with OOXML … it calls up a lot of Windows-only Microsoft-proprietary dependencies. ActiveX, WMF, BMP, WMV, WMA, VBA … the list is quite extensive.
Microsoft has offered no “covenant not to sue” over these Windows-only Microsoft-proprietary dependencies of OOXML.
Therefore, OOXML is thoroughly unsuitable for consideration as a standard.
Further more, because of all of the Windows-only dependencies, there is no chance that Office 2007 documents will be portable cross-platform. Unless of course you stick with earlier versions of MS Office (shun Office 2007 altogether) and install the Sun plugin, and save your documents as ODF by default:
http://www.heise.de/english/newsticker/news/92193
Then you can still use MS Office, and be ISO standards-compliant, and gain a cross-platform capability all for free.
You do realise that end users actually have to USE those formats! if you don’t use those formats, its a non-issue.
Maybe if you have a company, just put, “do not import files in these formats when constructing documents” – there you go, problem solved.
Considering the only people who have to worry are those companies who have flat out refused to sign agreements with Microsoft – just steer clear of Red Hat. There you go, there is the solution.
But mp3 which is an iso standard has patents, same with AAC, a number of 3g technologies as well – but hey, its all good to bash Microsoft because they’re the epicentre, the ‘evil empire’ of the IT world.
@kaiwai I’m getting increasingly concerned about your comments. “Microsoft – just steer clear of Red Hat” and “bash Microsoft” and “evil empire”
I think you don’t understand the basics of this argument. This is not part of *any* OS smackdown. This is not a GNU vs Microsoft argument.
The only way that GNU is an issue is Microsoft do not have a *native* Microsoft office. So they do not have the choice of using Microsoft products so interobabiolity is important.
Red Hat have stated that they are not interested in Desktop GNU, so are irrelevant to this discussion. Although servers have there own problems with Lock-in, interoperability with proprietary standards.
Microsoft *is* a Convicted Monopoly around the world that pollutes current standards, and creates its own that companies cannot interoperate with, and has very deep pockets; is accountable to nobody. The EU is trying to stop to allow *competition*.
The format is irrelevant to how good an office package is *as* long as you can save and load it and its the same. Why should Microsoft care?
On The Microsoft Platform, not GNU, or apple there are *many* alternative office solutions, from Corel to Google to Suns own offering. If all these companies can interorate with each other providing 100% compatibility. Microsoft *has* to compete of the quality and cost of its own product…it cannot do that. It is simply not good enough. Microsoft Office is *not* worth the money.
Who said it was an arguement between GNU and Microsoft? I certainly haven’t raised any issues pertaining to operating systems. I am talking about patents in the broadest sense of the meaning. Red Hat refuses to sign an agreement which would allow them to have access to Microsoft IP – there fore, stare clear unless you want interoperability.
For some out there, its a non-issue; they don’t use the enhanced features of Active Directory, so therefore, LDAP and Active Directory interoperability is a non-issue. For those who do have a mixture of environments, then sure, they will need to approach a vendor such as Novell who do have an agreement.
This extends right up the chain to the Office suite; if you’re a UNIX shop and have already standardised on StarOffice or OpenOffice.org, its a non-issue. The vast majority of customers aren’t in that situation – you can either sit around losing customers and money, or accept the fact that end users demand interoperability which might just mean dealing with the devil on some sort of level.
Yes, which means implementing OOXML – shock! horror!
Pardon? Red Hat have actually said they’re going to be releasing a “Red Hat Desktop Edition” soon to compete head to head with SLED and Ubuntu.
Yes, but at the same time, the EU right now is doing very little which can damage Microsoft – fine Microsoft? great, Microsoft will just take that into as an extra cost of doing business in the EU – possibly even pass that extra cost onto the consumer whom they have by the balls anyway (Linux or what ever else you can through in the mix isn’t an option).
For it to be effective, individual countries need to start mandating that all government departments move to ODF and PDF file formats; if you push the envelope at the National level, especially in the EU, private companies will also have to follow. Microsoft will then have no choice but to support ODF – the simple fact of the matter, no one is willing to put their collective foot down and say, “do this, or no market for you”.
Good question; hence the reason I was against OOXML – I said it was an openstandard, I never said it was a good one or one worthy of being granted that status.
Hence the reason I pulled in mp3 and 3g, because quite frankly, the idea of ‘openstandards’ is a joke when it is castrated by patents up the wazoo. A openstandard should be, at the same time, a reliquinshment of all patent claims on the technology relating to it. No ‘subsets’ or ‘partial’, its either all or nothing. Too bad the standards bodies are gutless wonders who are corrupt from top to bottom with each member having their vested interests which do nothing for consumers in the end.
Pardon? StarOffice has been out how many years, and still has not made a dent to Office’s marketshare – instead of mindlessly bashing Microsoft, why don’t you find out why companies haven’t moved. They might not have moved because *SHOCK* *HORROR* StarOffice/OpenOffice.org lacks featurs which they need.
Sharepoint is one example – and hey, there is nothing stopping Sun or what have you from creating a sharepoint clone through the use of the Glassfish application server – but like I said previously, its alot easier to bash Microsoft than come up with a competing product which not only equals but is better than the status quo. So far there hasn’t been a single Office suite which can hold a candle to the depth and bredth of features found in Office.
Edited 2007-07-09 11:46
@kaiwai You need to stop this “bash Microsoft” language.
Again this is not a an Smackdown, thank you for you large post, but your missing the main points.
* Microsoft is a Monopoly on the Desktop
* Microsoft is not the producer of Office Packages
* OpenOffice is one of *many* alternatives.
* Microsoft Office is Several times more expensive than the nearest
This is *nothing* to do with OS platform. This is to do with competition, something you don’t seem to understand.
Microsoft Office *cannot* compete fairly with competition without lowering its prices *drastically* to compete. Because the feature set of alternative offerings is *good enough*, even earlier editions of itself are *good enough*.
*throws hands in the air* you believe what you want to believe – if you want to belive there is some sort of grand unified conspiracy theory against Microsoft competitors, then go ahead. Simply avoiding the real issue, the lack of features equal of Office, will simply result in never make any inrodes into the market.
OpenOffice.org has only been biting away at Corels marketshare; Microsoft has either stayed static or grown – if there was to any impact of OpenOffice.org, Microsoft would have had reduced revenue or major defection of customers – the fact is, neither have happened.
Neither have happened because of issues far beyond the redherrings you bring out about file formats issues. If OpenOffice.org developers can’t be stuffed fixing long standings and lacking features, whose to blame for that? I certainly don’t think its Microsofts fault for poor programming on OpenOffice.org part.
Edited 2007-07-09 22:51
“if you want to belive there is some sort of grand unified conspiracy theory against Microsoft competitors”
That statement doesn’t really work. The think about the word conspiracy is their has to be well people “conspiring”, you don’t get this Microsoft is one entry and is fairly transparent. The thing about theory is that it needs to be unproved. When Microsoft not only has *history* of abusing standards for lock-in, and has blue chip companies actually crying foul over their formats. *I* didn’t write that report I linked to showning Microsoft’s abuse of its proposed document format. In fact is *one* of many reports on Microsoft Lock-in.
Now when you start claiming long standing bugs and missing features in OpenOffice you show what this is about. You think this is some sort of Office smackdown, its not. OpenOffice is good enough for most user. In fact its had Microsoft’s Office *most requested feature* for forever which is PDF export.
Whats interesting is you actually moved into lying, talking about *poor programming*, *lacking features*, *long standing bugs*. Saying these things doesn’t make them true. In fact OpenOffice has regular updates that add features, improve code, and fix bugs. In fact OpenOffice 2.3 is getting a new interface. On their todo list there has been a “most used options first” so I wonder what that will be like.
But again OpenOffice is one of many competitors to Microsoft Office I believe Google amongst others. Even supermarkets have a version of Office.
Which again, doesn’t adress anything. The issue is regarding Office and its features. Transferring them is a one off operation, and nothing ever stopped companies like Sun from creating plugins for Office in the past. So like I said, your file format rant is nothing sort of a red herring.
Nice to see you deliberately ignore (or just blatently lie) abotu the fact that Microsoft wanted to include PDF export support in Office, but Adobe threatened to sue Microsoft.
But of course *slaps forehead* its all Microsofts fault! why have responsibility when you can blame Microsoft.
Pardon – look at font rendering for instance, lack of collaboration features, VBA support etc. etc. But like I said, abuse first, genuine debate later – for your type.
Well, for the desktop, you are right.
On the server, you aren’t. Imagine 40MB times thousands of users (real production environment here), and $2.50 will all of a sudden become a serious issue.
That doesn’t take into account the fact that you might have other applications that need memory.
In short 40MB can be something not worth a discussion, or a show stopper.
But in general – 40MB is a LOT of memory for a single browser window.
Regards,
_mikk
“Imagine 40MB times thousands of users (real production environment here), and $2.50 will all of a sudden become a serious issue.”
In theory that’s a decent argument, but most web apps (if well written using modern web frameworks) should level off after about a gig or so. I’ve written asp.net applications which supported ~5,000 concurrent users, and we only need a 2 server cluster, and each server had 2 gigs of RAM, of which maybe 800mb+- was in use at any given time by IIS on each machine.
If a single user session needs 40mb RAM on the server, then something is seriously wrong with the coding implementation…you’d actually have to go out of your way to get performance that terrible IMO, or the framework you’re using is awful.
“””
Well, for the desktop, you are right.
On the server, you aren’t.
“””
No. On a server the app is typically going to be something developed in-house. So the company is paying for the expensive development time all by themselves, and will be paying to maintain it, and will be responsible for any errors.
It is especially important, in that case, for the code to be clear and maintainable above all else.
And $2.50 * 1000 instances is *still* only $2500, which is going to be a fraction of the cost of the server, and *totally* dwarfed by the cost of the developers’ time… and ongoing maintenance.
Also, on a Unix-like server OS, anyway, quite a bit of that 40MB is going to be shared. And anything that is truly in memory unnecessarily is going to end up off in swap anyway if the OS has a decent VM.
So I would say that my viewpoint holds *especially* true in server environments.
Coding to save memory, for its own sake, is *highly* overrated, and the fact that people still consider doing so a badge of honor is mainly a commentary on just how rapidly things have changed in the last 20 years.
In today’s world, it makes much more sense to focus on designing systems to *scale out*, where feasible, and not on clever ways to save memory.
From a business perspective, memory is cheap, processor is cheap, and disk is cheap.
People… are expensive. Coding mistakes… are expensive.
Edited 2007-07-08 02:09
Do statistics really make us all feel better? [Rhetorical Question]
I personally like the “idea” of writing code that isn’t bound to one platform. That was the promise of Java at one time. .Net has the potential for that through Mono, but due to Novell’s deal and other potential IP threats I think many developers are leery of it.
Of course I figure that many Windows developers are looking to support Linux in some form or fashion. They are trying to sell software and if enough revenue can be generated from Linux sales then why not support it.
It only makes sense because MSFT wants to be the only developer of software for their OS. – They crushed the web browser market (by that I mean paying for it), then they went after media players, and now with vista they’ve taken DVD player software, firewall, and Anti-virus!
It got to the point for a while that the only purpose to be a developer seemed to be to hope MSFT wanted your technology bad enough to buy you out. But now they don’t have to do that because they can just throw around claims of patent infringements without proving it or naming the patents. IOW it’s suicide to code for their platform unless you think it can be bought out by MSFT.
I will have to disagree with the article – with Vista I can do pretty amazing things with Visual Studio .NET 2005 (BETA).
For one…I can write a hello world application in XML and turn it into an executable…genius!
While i’m “among the defectors” developing on/for Linux now (albeit not exclusive) i welcome the trend, but despise the idea of browser apps. Every single technology for “rich” browserapps is a collection of dirty butrape hacks and a pain to develop with. The exception here being Java which unfortunately doesn’t seem to be very widespread for browser based applications.
“””
Every single technology for “rich” browserapps is a collection of dirty butrape hacks and a pain to develop with. The exception here being Java
“””
Could you elaborate a bit, please? What do you not like about them? Why is Java better? Are you speaking of Java on the server, Java on the client, or both?
Thanks.
-Steve
I’m speaking of Java on the client. I despise solutions like “Ajax”, “Web 2.0” or however you want to call them, because they are hacky, troublesome, sparsely documented and as far away from clean specification as you can probably get.
I’m not talking about Ruby on Rails or Php or pretty much all serverside components, since they usually are well documented and well engineered.
Every single technology for “rich” browserapps is a collection of dirty butrape hacks and a pain to develop with.
You really must take a look at ruby on rails which is certainly a full, well integrated, framework with full functionality including test infrastructure.
]{
And I would ban Java and any other bloatware. More and more software is developed in Java, and it easily uses 100-200MB of RAM (see Zend Studio, Aptana, Eclipse, etc…). These hardly run on my computer. On the other hand, nice and clean C++ applications run so damn fast (KDevelop, Dreamweaver, Krita, Photoshop, Opera).
There are frameworks that assist you to develop for multiplatform with common code (ie: xtklib: http://xtklib.sourceforge.net/)
Have you tried running Aptana under JRE 6? Eclipse platform based apps are large and cumbersome but I find that Aptana is responsive under JDK 6.
Netbeans 5.5 under JDK 6 is very responsive certainly better than Dreamweaver and Photoshop. By the way Photoshop CS3 is a monster and not an example of a nice and clean C++ app.
People still seem to bash Java based in JRE 1.4 and prior versions. Sun has made huge strides and Java 7 is going drive a nail in the coffin of any “Java is bloated” beliefs for anyone open minded enough to give it a try.
I have found Netbeans to be a very responsive IDE and now that 5.5.1 has been released with C/C++ support I am using it for almost all my development.
The only thing I would like is Java being optimised and recompiled up to the point that it runs as fast as possible. The default Sun JDK for 32-bit x86 has been optimised for i586 whereas most people only have Intel Pentium3s and AMD Athlons or even better running anymore.
I would like an aggressively optimised JVM or even better complete native binaries generated by GCJ to get the best performance out of the code. The 64-bit x86 JVM does not suffer from this problem and has much improved performance albeit the lack of a browser plugin is a huge drawback.
“””
The default Sun JDK for 32-bit x86 has been optimised for i586 whereas most people only have Intel Pentium3s and AMD Athlons or even better running anymore.
“””
In general, I’ve never been particularly impressed by processor specific optimizations.
Also, are you saying that their JVM is optimized for i586? Or that it does not use any instructions specific to later architectures? Use of the those added instructions makes almost no difference at all. I would expect that their JVM would be optimized for 686 or P4 but only use instructions available on i586.
If you find the 64 bit JVM more responsive, that’s cool. But likely it is due to the additional registers available to the compiler for optimization under X86_64.
Edited 2007-07-09 00:17
I have seen huge performance improvements for some software when rebuilding. I optimised Slackware 10.1 for AMD Athlon and some things such as gcc worked a lot faster than the default i486 (with i686 tuning) optimised versions.
That’s exactly what I said. I have seen the makefiles and they don’t contain anything other than “-O2 -march=i586”, which is detrimental to performance for anything other an actual Intel Pentium processor.
When you run an i586 Linux kernel on an AMD Athlon processor that is particularly bad for performance. It would be better to stick to either “-O2 -march=i486 -mtune=i686” or “-O2 -march=i686”.
For AMD Athlon I tend to use “-O2 -march=athlon -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2”. I have used these flags reading the AMD Athlon software optimisation manuals. All of this is with GCC of course.
The x86 JVM is really heavy on the processor with its optimisations for a CPU that is 10 years old and probably not much in use anymore, at least not as a full-fledged desktop.
The reason is that those older opcodes are not as much streamlined with the RISC-like microarchitecture in modern processors such as AMD Athlon. This means more time spent decoding the instructions and suffering code alignment penalties.
I haven’t really seen that much of an improvement in performance going from x86 to x86_64 overal. It has more to do with x86 versions containing code for ancient processors whereas x86_64 has been able to start from a reasonably clean slate.
The doubling of the amount of registers is very useful indeed but it doesn’t come close to the RISC architectures and IA64 regardless of its heavy compiler dependency really looks like an ISA for the future despite its current performance problems. Maybe the former Alpha and PA-RISC architects can really fix the microarchitecture in the Poulson/Kittson timeframes.
I hate to say it but Eclipse, is very nice. I’ve been playing with it on and off for a few days…and its lovely; I suspect it will become my weapon of choice unless I find something too unsavory.
Java applications are looked on as slow; memory hungry beasts, and personally have always looked *odd*. Do they really deserve this!? I don’t know if my machine is so much faster, or my memory that much higher than it used to be, but I didn’t notice a hit on either, and I’m on a machine that can’t run Vista.
Eclipse is the second application in java I’ve run in the past week, that I’ve thought thats a little bit nice. Nice in a way that I would be happy for all java applications…and I was bigoted about java even when it was hip in the 90’s.
I think Sun albeit strong armed into free software, is going to be an ever increasing boost to GNU landscape. I’m getting increasing interested in its offerings; Solaris will probably be my next OS of choice.
The big problem with Java desktop apps is that swing is insanely complex for a gui toolkit, and best practice coding for it consists of quite a few really esoteric tricks. You can get a decent gui out of it, but not easily, usually it seems sluggish and unresponsive. That however is a problem with the gui, benchmarks have put java and c++ at more or less the same level of performance for years now. The upside of swing is that being 100% java, it looks the same on every platform.
The reason that Eclipse is nice is that the project developed its own toolkit for it, called SWT. Instead of drawing its own widgets, it maps what you want to native widgets, and gets the OS to draw them. IMHO this is a better approach in general, small inconsistencies between platforms are vastly outweighed by the app not sticking out like a sore thumb. The downside of SWT is that it is really made by eclipse for eclipse, so when you try to use it for a serious project, you quickly find that if you need a feature or a bug fixed that eclipse itself doesnt need, chances are it will not get done.
The good news is that now that Java actually has some serious competition with .net, we are seeing some dramatic improvements on the platform, especially in the area of desktop stuff.
“The reason that Eclipse is nice is that the project developed its own toolkit for it, called SWT. Instead of drawing its own widgets, it maps what you want to native widgets, and gets the OS to draw them. IMHO this is a better approach in general, small inconsistencies between platforms are vastly outweighed by the app not sticking out like a sore thumb. The downside of SWT is that it is really made by eclipse for eclipse, so when you try to use it for a serious project, you quickly find that if you need a feature or a bug fixed that eclipse itself doesnt need, chances are it will not get done.”
Having gotten fed up with web app complexity, and not liking a lot of Flash/Ajax type stuff simply as a user, I’ve more and more interested in cross platform desktop development.
Of course, this has involved a lot playing around with, and coding up programs with, both Java Swing and Java SWT.
In principle, I agree with your assessment regarding SWT. It makes sense to let the OS itself do a lot of the heavy lifting on GUIs, and at the same time have the Java app look more naturally native. But the problems I’ve run into with SWT are:
1) As said, it’s made for Eclipse, and if there is a bug that does not affect Eclipse, it probably won’t get fixed on a timely manner, if at all.
2) It’s pretty easy to write, compile, and run an SWT application within Eclipse itself. But try deploying a stand-alone SWT application outside of Eclipse, and it becomes a pain in the ass. You have to deploy the SWT.jar, the SWT-pi.jar, and fight with class/library paths. And the documentation for doing so completely sucks. Yes, probably the way to go is to use Eclipse RCP. That’s fairly easy, because your app is based on Eclipse, and thus all the dependencies are taken care of, and builds a deployable zip. But there is a problem with Eclipse RCP:
3) Eclipse RCP brings along with it large size, and limited visual versatility. Eclipse look and feel looks nice, and blends pretty well with the native environment. But it’s limited in what you can do with it, and it’s look and feel, as well as how it’s organized and laid out, does not fit into all desktop application needs.
Then on the other side of the fence is Swing, of course. Yes, there have been problems in the past (alien look and feel, non anti-aliased fonts, perceived sluggishness, being somewhat difficult to develop with, etc).
But those things are changing.
With Java 6 speed has been improved immensely. Plus, even though Metal/Ocean is still the default LnF, you have at your easy disposal native LnF’s. For instance, the GTK LnF for Java 6 can make your app look almost exactly like a Gnome/GTK app. Then there are Swing frameworks coming out, that handle a lot of the low level dirty work, making Swing development less complex. Then there is the Matisse GUI builder that comes with NetBeans – awesome. Finally, deployment of a Java Swing app is a complete no-brainer. So long as there is a JRE, it will run, without extra work of deploying extra libraries and worrying about classpaths.
I think Sun, after years of being asleep at the desktop wheel, have finally woken up and made the Java desktop a major priority. I think going forward, Swing will be the preferred choice for Java GUI development.
…an answer to the same question as others here:
“What about the other seven percent?”
Where “answer” does not include “flames”, “trolls”, or “wisecracks”.
Not that I don’t enjoy ’em (it’s often fun to see how far off the mark trolls are), but they’ve been done before for this article.
Developing on Linux is more accessible to vast majority of people. I.e. those who don’t work in corporate environment where they get a lcience for MS Visual Studio. Of course, many will resort to piracy of VS, or e.g. use mingw for win32 stuff (but the latter is more likely to be used for producing open source software).
Now Linux is actually quite a decent platform, easy enough to use as a desktop OS (= not annoying and frustrating users), so increase in development is a natural thing. Anyway, there is much more to do for a hobby coder – he has a chance to participate in development for any part of the Linux (and similar open OS’s).
The hobbyist market was why MS introduced their “Express” SKUs of Visual Studio 2005. A free version of Visual Studio for all your hobbyist needs. Now, many of the advanced tools like integrated profiling, automated unit testing (although available in NUnit), OpenMP, etc. are only available in the $$$$ versions. For the general hobbyist programmer though, the Express versions are plenty sufficient for personal projects and OSS projects.
The number of Mac OS X developers is up a lot too since the switch over to Intel processors.
I’m a Windows developer and I did try other platforms/toolkits. Unfortunately, it never really worked for me.
Most of my code is a mixture of c/c++ using the win32 api (I don’t do much MFC/WTL). I hate web stuff so I can’t talk about web technologies. I do use .NET from time to time (C#/winforms).
Java has been my first experience with other platform. I didn’t like it. I don’t like the design of Swing and SWT.
I tried GTK 2.0. Big deception. I don’t like the idea of having GKT, Glib, Pango, etc. It’s like using different apis in the same application. I think GTK is over-engineered too (think G_OBJECT). Sure, it makes making bindings easier, but to me, it’s confusing. And the whole signal/slot thing is weird.
My experience with QT was better. Unfortunately, I didn’t like some aspects of QT. IMHO, wxWidgets is the best object-oriented framework to build GUI applications. These guys got it right. QT isn’t bad, but wxWidgets is better and is truly free.
I did try some other alternatives. I do like wxWidgets. However, no other platform/toolkit can give me more control than the win32 api. Even .NET can’t provide me all this power.
I admit it, some part of the api is a mess. I wouldn’t recommend it to a new programmer. But I love it and it’s damn fast.
Especially when COMPLETELY MEANINGLESS numbers like these end up posted – Why is it meaningless?
Because SEVERAL very important numbers were left out – how many developers there are total, and how many developers are in each group… Did the sampling size change from last year, where are the other 15-18% coming from? It’s worth mentioning that programmers of OTHER operating systems besides Win/Lin grew from 17.2 to 24.09 according to these numbers – how many of those are Java programmers targeting all platforms? Who did they ask? What was the demographic?
Hell, if they increased the sample pool size, only adding programmers from other than windows, the actual number of windows developers didn’t change but the percentage did – I would ASSUME they didn’t pull that type of chicanery, but without them showing us actual NUMBERS who’s to say.
No link to actual statistics in the article, wild conclusions without presenting the complete facts?
That’s one of the cornerstones of propaganda – Card Stacking. Presenting the facts from your research that proves your conclusions – while omitting the facts that do not.
http://www.youtube.com/watch?v=cEy7DX7OLcE
Something I think most people DESPARATELY need to watch since they seem to fall for it each and every time.
Hmm. I think we can see glittering generalities in that article too.
Edited 2007-07-09 06:46
I just reverse engineered their numbers… and I suspect they ARE skewing their results.
Let’s say their original pool was 1000 programmers… that works out to
1000*74% = 740 Windows programmers
1000*8.8% = 88 Linux programmers
1000*17.2% = 172 ‘other’
Now comes the fun part… let’s increase the pool by 142 programmers…
1142*64.8% = 740 Windows
1142*11.11% = 126.8735 Linux
1142*24.09% = 275.1 Other
Now, there’s number skew there likely because their percentages are likely also rounded off and our sample size is different… but the relationship should be much the same.
… and THIS is why you don’t trust ANYTHING that lists just percentages – because by changing the pool size you can skew the percentages to say anything you want.
Edited 2007-07-09 07:26
Actually you *can* trust percentage figures. Thats the point. Your figures actually emphasize an important point.
Because GNU has a smaller percentage, a small increase in percentage has a dramatic effect on the number of developers targeting GNU. In your example a raise of 3% of Develops with a raise of 14% overall develops means there is a 33% increase in overall developers.
But the bottom line is the same increasingly GNU is looking more attractive to platform to develop for to the developers in North America, even after the launch of Vista…and this trend is set to continue.
Edited 2007-07-09 10:01