My views on Eclipse and Apple's decision on discontinuing all WO Dev tools
Georg Tuparev <[email protected]> Wed, 28 Nov 2007 02:06:22 +0200
| Newsgroups | gmane.comp.web.webobjects.general |
|---|---|
| Message-ID | <[email protected]> |
Folks, First of all I am happy this discussion moved to wo-talk mailing list. This is the correct place for this types of emotionally charged discussions. Second, I hope Pierre & Co. from Apple are listening. Will start with few opening remarks, before moving to the core of my statements. 1. It might seam that I have no idea about what I am talking about. The truth is, I use WO since version 0.7 (I believe Sep. 1995, when a NeXT employee sent me a prerelease copy). Since that time I was involved in many WO projects, trained many people (mostly here in Europe) , and created two companies around WO. To focus just on projects we have currently in my second company. This includes among others the largest european data warehouse project (chemical manufacturing), the police, and security forces training and info system of one of the largest EU countries, a banking system that is currently used by 57% of all dutch internet banking users, the largest online newspaper in the world (last stat is about 45 downloads every second), two major mobile phone networks, and and possibly the only existing control system for network of robotic astronomical observatories. A very conservative estimate of the user base that uses our software is about 6 million. This we achieved with a small team of about 10 people (on average) and non of us is a famous superstar. I am not telling this in order to impress anyone, but to make it clear, that: - I care very much about productivity, and - I have enough experience under by belt to claim I have a feeling about statistics and the community. 2. The fact that our team is not well known and not contributing actively to the community is not because we have nothing to say, but because with our clint base we are very restricted what we can tell, and even more so what we could share. This was one of the reasons I had to cancel a multi-volume book contract with AW about Cocoa and WO (after writing about 400 pages :( People who read this posting and are over 40 might remember that for many years I was maintaining GNUStep and was contributing to MiscKit and other open source initiatives. 3. Neither I nor any of my colleagues is "religious" about any platform, tool, or even hardware manufacturer. From IBM 360 to Apple ] [, from Sun Spark to Cray, and from IRIX to DEC's masspar and telecom satellites we used and developed software for many very strange systems, and most of them were interesting experience. Neither Xcode nor Eclipse is the first or the last IDE we will use. 4. I use Eclipse for all our WO projects already for few months, but for some smaller projects for about two years. So I am not guru, but also not complete greenhorn. Now concretely about the Xcode vs. Eclipse discussion. A. Productivity For many people productivity is measured in terms lines of working code per day, or speed of refactoring. We measured productivity in work done for the last three years (this choice is deliberate). Our way of working is as follow: think, think again, and think a bit more, write a small experiment, start thinking again... and in half year write few hundreds lines of source and the work is done. Will give an example. From the portfolio above one could imagine we have to deal with gazillions of legacy flat file formats, and to be able to load virtually any junk into the database. We do not like doing this again and again. So we developed a system based on two components. One is an engine (unix tool) that gets any file, a mapping, and produces an XML. The mapping is done with a specially designed graphics editor where with click and drag one (even a not very technical project manager) could describe the file format. Another tool is a single java class that loads XML files in arbitrary database (in terms of schema and not brand). The core of the unix tool and the java class together are written in ca. 900 lines of code (and 2-3kloc for the mapping editor). When writing 900 lines of code by two people for half year the difference between very sophisticated IDE or TextEdit is negligible. I would even go as far as saying that all the hundreds of Eclipse vies, configuration parameters, etc. is actually very hindering. On the other hand, I could install Xcode from a disk image, open a project and compile and run it without all the fuss. All these Eclipse bells & whistles are completely useless to me (even Xcode is often too complex :) and they slow me down. They disturb my flow of thoughts... BTW, for all these years, all of us together for all our projects wrote between 100 and 200 kloc. For comparison, a similar but not truly robotic telescope project after 6 years and after 300kloc is still not finished. What I claim here, is that the typical for so many developers over- reliance on complex tools and techniques does not lead to higher productivity, and at the end of the day the number of happy customers counts (to me at least) more then the number of buttons on the toolbar of my IDE. B. Esthetics. In one word - Eclipse is harassment to even the most modest sense of esthetics or beauty. It is a torture for the eyesight, it is ugly, distasteful, painfully inconstant and repulsive! It might contain countless smart and useful functions, but they a wrapped in dirt. And this mess is not because it is complex (as some did claimed). Only on that subject I could fill many pages, but I will skip it. I will only ask you why are you all using Apple hardware and Mac OS? Eclipse looks exactly as ugly on windows or Linux, yes? If you do not care about esthetics, why are you buying Mac and not one of these ugly cheap plastic bricks every computer shop around the corner sells for $500? Pierre, if you are reading, why don't you make the following experiment - open one project in Eclipse, go to Steve, tell him that Apple customers have to cope with this and watch his face :) C. New WO Developers In our team we have one guy that knows Eclipse inside-out and defends it to some extend. Few days ago I asked him the following question. Imagine a guy across the street reads about this fantastic framework called WebObjects, how it makes you more productive, etc. And he decides to be a WO developer. So he buys a Mac (with Leopard on it), and tries to write and deploy a simple WO application with a simple database of just one table. What is the chance of success? After some thinking he looked at me and told me - yes, you are right, the chance is close to zero. Do I need to go further and explain what does this mean for the future of WO? Final word Day after day I go to the office and work on extremely complex software systems that handle inter-banking transactions, mobile phone calls, or control of some very complex instruments. This pays the bills. In the evening I go home, have few hours with my family, and after every one is sleeping I start working on yet another complex software system that models the macro-molecular chemical pathways in our bodies (my goal is to understand how muscular dystrophies work, and hopefully help to find a cure... it is a hobby for me). In all these activities I have to think about two-phase commits, satellite links, chromatic aberration, or protein folding. I do not want to think about classpaths, or if I installed the version of WOLips from this afternoon. For me and countless other people the process of software development is just the way to achieve our goals and not the goal itself. We are professional economist, physicist, chemist, or biologist first, and software developers second. IDE is a tool, and as every tool in the hands of an amateur it must be first and foremost simple! Therefore many of us hate Eclipse. And believe it or not, people like me (amateur developers) are the majority of the users (exactly as there are more weekend photographers using iPhoto then professionals using Photoshop). Now, I can go on and replay few of the comments posted here, but I believe I made my point. Thank you for reading so far... Georg Tuparev Tuparev Technologies Klipper 13 1186 VR Amstelveen The Netherlands