As anyone who is reading this probably realizes, I'm a unix person. Not only am I a unix person, I'm also a unix programmer. Which just means I program under unix - under normal circumstances anyway. Recently, I've had the opportunity to be exposed to the world of windows programmers.
I have a few things to say.
I'm sorry I have ever made fun of windows programmers.
I am sorry I ever made light of your work and accomplishments.
I am very sorry.
You guys (that's the windows programmers 'you') have to work under conditions I would equate to working in salt mines in 19th century.
Instability, cryptic non-transparent technology, mouse, good lord, everything is mouse-driven. I am in awe and amazement that given the environment and constant non-code-related problems you guys accomplish anything.
My hat's off to you. If I wore a hat anyway.
TrackBack URL for this entry: http://www.unix-girl.com/mt/mt-tb.cgi/964
Hmmm.
I write database driven applications on the Windows platform using Borlands Delphi 7 (Object Pascal). I've enjoyed Delphi 7 more than any other language/IDE combination I've used to date. I don't feel that I enter a 2nd class coding environment.
I run Windows 2000 on my workstation. Minus MS updates, my workstation runs like a charm. I don't run Windows outside of work.
Out of curiosity, what language/IDE combo did you have to use in Windows?
#erm, Borland Delphi :) .. 7.. on 2000..
I'm very willing to admit that it may just be my stubborness and inability to accept a different universe that drives my bias.
#Note, I didn't touch "non-code-related problems" you mentioned. *grin*
Problems such as Exchange, Outlook (forced!!!), other windows users whom I must provide tech support for....well, at least everything is OK in my little Borland universe. It's when I step outside that little universe in the Windows world that the pain starts.
Thank goodness for OS X at home. Thank goodness for Mozilla and OpenOffice on the Windows platform.
#Mouse driven?
Kasia, you have hit the nail on the head. The biggest problem with windoze systems is that they can't easily be scripted because they're all gui-based. That problem alone would be enough reason to kick windoze to the curb but, as you said, its stability, security and elegance (read "lack thereof") completely annul it from server applications.
That being said I still like it as a desktop--and of course the games.
#For the most part I agree with Bill Allaire, Delphi 7 is the more pleasant IDE I've used for Windows programming. However only after I customize it for better keyboard control and dump the editor. The only thing the editor helps with is the code completion, but that is not enough to save it. Myself, I use Delphi to drag 'n' drop the GUI and for actual coding I use jEdit. It sounds funny to have both an IDE and a programming editor on screen to work with the same project but I found I was far more productive with such a scenario.
#*shudder* Delphi. god I hate that godawful excuse for a language :) .. Should try something a bit more refined.. :)
#Those of us that have spent all of our professional lives programming windows can say simmilar things about Linux/UNIX.
For us, writing GUI apps for Linux seems just as cryptic.
#Kasia, I completely agree. Compare the source code of a Visual C++ Windows program with a C++ X11/Motif program and even the pre-OO X11/Motif complexity seems simple. The Win32 API is just a mess. For a concrete example of this see Raymond Chen's blog: http://blogs.gotdotnet.com/raymondc. Part of the problem with Windows programming is that the early versions of Windows didn't hide the 16 bit memory model and address space from the programmer. And then it took many years for Windows to move to 32 bits. By then all the far pointer and other machine cruft was impossible to eliminate. Unix compilers had it right by hiding all that junk from the programmer and so Unix has aged very well (it's about 34 years old now!).
Windows programmers though are like frat initiates. They've been beaten so often that the only way the can rationalize the continued beatings is to say the love the frat (API in this case). The Win32 learning curve is super high.
#Hi,
I think it is very much a personal choice. I have seen Unix being used as a target platform but almost every case that software development was done on Windows. I find the Visual Studio. Net tools a very confortable development environment. It is not perfect but it is something that is being continually updated and improved. Maybe when Mono is further along I might have a look again. I suppose I am a GUI person at heart and using the mouse comes naturally. There are somethings that are easier to do with scripts but a lot of the shell stuff in Unix seems to be have written to deliberately obfusicate the code. Readability seems to be sacrificed on the alter of saving a few key strokes. I remember with fondness DCL on the Dec Vaxes.
My favorite IDE is Eclipse, because it is very code-centric, and I like to write most lines of my code on my own, with the exceptions of Refactorings, and Patterns, which are nicely built into Eclipse. Iīve developed Eclipse Plugins at university, and itīs impressive what OpenSource Plugins have appeared.
I dislike "visual" IDEs like JBuilder, VS, Delphi.
(for lack of any decent IDE (on windows), i therefor dislike C++, C#, Delphi ;-))
I have only used it on W2k, and my W2k System at home is a pleasure. I use Opera 6 for Mail, Opera 7.21 for surfing, Topstyle for XHTML / CSS. I donīt use any MS software but the OS itself. My PC doesnīt crash all that often, and iīve narrowed those cases to my Terratec DMX 6fire! Soundcard (or, the driver), thatīs about the only reason my PC ever crashes (and that only by means of excessive use, e.g. EAX in Games).
But i will migrate to Linux one day (though i love the looks of MacOS X, just to expensive)
#Linux programmers though are like frat initiates. They hate Microsoft so much they can't talk/think objectivly about anything Microsoft does. The Linux learning curve is super high.
The same arguments work both ways. Both platforms have very steep learning curves.
One can find crappy things about any platform, and I suppose that "writing GUI code" sucks anywhere. I've managed to write Win32 systems programs for years, all from the command line: I use the MKS Toolkit which gives me a shell and all the normal UNIX tools, and a multi-million line project (the VSI-FAX fax system) has the same build tree and environment on NT as it does on all the other platforms.
The only thing I use the mouse for is cut-and-paste.
Having programmed all over the place mainframe, dos, dos/ems, assembler/intel/vax/mainframe, win16, win32, vb, c, c++, vb, .net, gcc, rexx, vbs, etc. etc. I can say that perferences like mouse/cmd line etc. are insignificant compared to other pain. I find the MS doc fantastic most of the time. In linux/bsd, ONCE YOU GET THE DEPENDENCIES installed, likewise. Once you get past particularities of the platform/toolset, I appreciate the effort that all vendors have put into their developer support.
#I can't seem to get a usable VS.NET going in 1280x1024; it seems to have been designed for larger screens or dual-head setups. I consider that a huge design problem. Project Builder/Interface Builder thinks its getting paid by the window but at least it fits comfortably on my 1024x768 screen.
#Joel Spolsky has a great book review this month that tears into the meaty topic of why Windows and UNIX...
(read more)
December 16, 2003 06:20 AM