It's the Developers, Stupid!: The Real NT-Linux Battle
Kelly McNeill writes "The media is nutso for bigness. All you hear about in the tech press these days is that Linux is attracting big partners like IBM, finding big users like Deja.com, and making big IPO money like RedHat. That's all good, and I'm sincerely grateful for anything that helps me make a living without using Visual Interdev -- but to me, small and raw is where it's all at." The quote's from the article, which is big and cooked - and full of graphical comparisons between NT and Linux as useful development environments for small Web businesses.
I've said something very similar a couple of times before. As long as I can help it, I am staying away as far from NT as possible. I can do VB, and I can do VC++, but I'd rather not to thankyouverymuch.
Every time I attempt to do any work in Win32, I feel like I have to undergo a lobotomy first. Win32 IDE may look like eye candy up front, but when you strip away all the makeup, underneath you'll find one ugly beast. The Win32 API is a complete and utter joke. In fact, it's so bad that you can't really work with it directly, and you have to use MFC to get a barely workable API to work with.
Ever tried to put together a simple process, under Win32, to listen on a socket for connections, for some simple processing? This is a ten minute job in *NIX. Win32 forces you to use a convoluted event-driven architecture that absolutely makes no sense, and is a royal pain in the ass. This is just an example, but is quite typical of Win32's idiocy.
I don't really know why people thing that graphical IDEs are so sexy. I have absolutely no problems with autoconf, automake, and make. A graphical IDE would probably be nice to have, but absence of it does not really make much of a difference to me.
--
Microsoft delivers an operating system to users (and you pay again for development software).
Linux delivers an operating system and development software to every user.
Which approach is going to encourage more developers in the long run?
As the market stands at the moment, Linux is certainly attractive to would-be developers. And as computer use spreads into countries where it is not yet widespread among the general populace (China springs to mind), Linux is going to have further advantages: It requires less powerful hardware, and it is open to home grown localisation.
I wonder what effect of 1,000,000 Chinese hackers will have on Linux? Of course a lot of work will go into some really good Chinese language support, but I expect to see some stuff come out that we can all use.
Unless Microsoft can buy off China. But I think China is old enough skeptical enough enough to see through that.
Of course, while developers are pretty important, developers without users are of questionable value.
I've just started programming in Perl and I tell you something - it beats the hell out of VB (not a hard thing to do I suppose!)
Microsoft have always tried to bend over backwards for it's development community - no developers - no software !
But as Linux becomes more popular - an increasing number of Windows programmers are turning to Linux.
Why ?
As a developer for Windows, I hate the way that with every new release of one of their developer packages a 'new' API or programming model is introduced.
(Don't forget the increasing system requirements)
In Vb there are at least four different APIs to develop DB applications - can't they get it right first time (not to mention careless bugs in the components??
The MFC that was introduced is quite simply a mess - the learning curve for MFC is ghastly to say the least. When is a *sane* abstraction layer going to be introduced?
(Then again the Windows api has always been a mess anyway!)
Their development products can only be used for the Windows platform.
The development products in the Open Source Community are cross-platform. For example I use the Windows port of Perl at work (won't allow Linx) and then at home I can continue on my linux hardware.
I suppose at the heart of the linux community are the developers who create the software.
This is the achilles heel of Microsoft.
If there is one way to tackle Microsoft - converting the developers is an answer.
I personally have nothing against Microsoft as a business - only their products are just not up to scratch - this is one of the many reasons why I use linux.
Oh well...back to programming in VB...(I wasted a day trying to get my databound flexgrid to refresh it's contents - then discovered in the MSDN dox that this is a bug and a suggested fix was to use the dbgrid or a 'third party control')
I've worked for a MS Certified Solution Provider. They are licenced to give copies of any MS product to their employees (at least where I worked)
MS is also providing the resources and incentives to be a MS developer. Have you ever seen the MSDN website? It is really, really good - a better resource for developers than anything except dejanews. (Okay, so it has a little to much eye candy, but still)
MS does pretty good promotions to do their developer exams, too - Trips to conferences in the US (from Australia), stuff like that.
They "pay" (in the form of discounted softwear) solution developers to get their developers certified - and developers don't mind the automatic doubling of market worth for a MCSD.
Believe me, I'm 2 years out of Uni, make AUS$90K (which is HUGE money here - a uni graduate makes 27-32K), and are bored senseless by the work. I'd do anything to do interesting work on Linux, but I can't find any work like that here, even if I take a 50% pay cut.
(BTW, for all you Aussies, did you see the SGI ad in Tuesdays Australian for Linux developers in Melbourne? Who's applying? - I'm in Adelaide, and can't move at the moment)
The other point is that MS is putting out some really cool stuff at the moment, eg SOAP, their XML support in IE5, etc, and under Linux you have to produce it yourself, or maybe use Java. (please IBM, Java2? Please!)
As for VB, say what you will (and I won't argue with you - I use Delphi), but it does allow less skilled "programmers" to produce reasonable programs quickly.
Anyway, the point I'm making (sorry for rambling!) is that I'm sure these startups do exist, but don't underestimate MS. Microsoft understands it needs mindshare and it is going after it.