Re: My views on Eclipse and Apple's decision on discontinuing all WO Dev tools
Miguel Arroz <[email protected]> Wed, 28 Nov 2007 00:58:09 +0000
| Newsgroups | gmane.comp.web.webobjects.general |
|---|---|
| Message-ID | <[email protected]> |
--===============0156233516== Content-Type: multipart/signed; micalg=sha1; boundary=Apple-Mail-25-1008441623; protocol="application/pkcs7-signature" --Apple-Mail-25-1008441623 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi! First, let me say that your CV is impressive, and I wish I already had all the experience and the knowledge you gained with all that work. Also, it's great to see that WO is being used in such serious places (banks, etc)! :) About Eclipse itself: On 2007/11/28, at 00:06, Georg Tuparev wrote: > 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. I think productivity is something very subjective. I can be very productive with some tools and techniques, and you can be very productive with other tools and techniques. I have seen persons who are really well organized with complex outlining and project managing software, and others that reached the same organization level with text files and stickies. So, I perfectly understand that you are less productive on Eclipse than on xCode. But... 1) Complex software takes time to learn, but generally that time pays off. Note that I said "complex" and not "crappy". Apple itself has very complex applications. Try to edit a movie in FCP without reading the manuals first. You can't. You simply can't. It's impossible. But after reading the necessary manuals and tutorials, man, that rocks. You edit like a pro, you use all those shortcus on the keyboard, and you get your work done much much faster than in a software like iMovie (assuming iMovie had the same capabilities than FCP, which is obviously not true). Eclipse is the same thing. Takes time to learn. But when I tell people I know who work (professionally) with xCode for writing Cocoa apps what Eclipse does for me, sometimes they ask me "damn, can I work with ObjC on that?". Eclipse is really really powerful, and in a very helpful way. I keep learning that all the stuff it has is there for a good reason. The GUI is not brilliant, but hey, you can't be perfect. Example: one day I wrote a class. Spent hours writing it. I hadn't committed it yet to SVN, and I mistakenly erased it. Oh boy. Asked Mike for help. Mike says: do this, click that. And what do you know, Eclipse records everything you do since you launched it. Just backtrack (ok not as fancy as time machine, but it gets the job done) and boom, my class is back. This makes me much more secure. If I screw up on a more granular level than my SVN commits, no problem. Just go to Eclipse history. Would it be more productive to re-think and re-write the whole class again? 2) As I said, it's subjective. I am much more productive in Eclipse than in xCode. xCode is a pain for me. All those compile- error-fix-compile-error-fix-compile-error-arrrrghhhh-fix cycles that do not exist in Eclipse (note that I didn't even talk about compile- RUN-fix, I'm still in the compile part! ;) ). Running EOGenerator manually. Handling the imports manually. Argh. Or, so you don't have to deal with classpaths, but you have to deal with imports. I *do* prefer classpaths. Really. By far. At least I don't have to deal with them every 5 minutes. > 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? This is where I most disagree with you. Being a Next user and so, you know well that Macs weren't always "beautiful". They were gray boxes like everyone else (ok, a nicer gray tone, but gray). A Mac is a Mac because of how you use it. Because of what it allows you to do. Because HOW it allows you to do it. Not because it's beautiful (and I personally don't think the current aluminum PBs and MBPs are beautiful at all). If you think Mac is esthetics, that I think you missed the whole point! I don't care about esthetics. I really don't. Damn, sell me this things in some plastic box, and not this stupid aluminum one that can't even hold the paint, and if it falls in the ground, gets totally twisted and bent. Screw that. I don't buy a Mac because of that. I buy a mac because I don't want a fucking yellow think jumping around 1 minute after I install the OS (if you can call THAT an OS) saying "Hey hey, your computer is at risk, please help me!". Or recompiling the whole kernel just to (hopefully) make my 3G USB modem work. No. I buy a Mac because IT WORKS. Because it LETS ME WORK. It's that simple. Oh, it has nice shadows and spinning things and flying windows in space? Ok, fine. But take that away and I really won't mind (after all, I still like OS 9 GUI much more that OS X's). (Time for shameless plug: <http://www.ipragma.com/about/>, section "The magic of the macintosh") Applying this to Eclipse: I don't care about how it looks. It actually doesn't look bad at all, in my opinion. It's not Cocoa- compliant, true. But you look at it and you know what a button is. You know what a tab is. You know what a pan is. Damn it, it works. As Chuck said, we are not prima-donnas. We don't need to be attracted by beautiful 3D-rendered icons. We can perfectly work with not-so- beautiful stuff. What's the problem? Yeah, it could be improved. But well, look at xCode. Does it look THAT good? I don't think so. It's just a window with code and a toolbar. Who cares? The only thing I really miss from xCode (only on Leopard) is xRay, aka, Instruments (what a crappy name, BTW). Not because it looks good, but because it looks simple and allows me to do profiling as no other tool does. But I think it's possible to use it with Java, so I'll try it when upgrading to Leopard. But that's important: I like xRay because it allows me to do something much faster and much more comprehensively (or better yet, allows me AT ALL) than Eclipse. But I feel exactly the opposite about xCode itself. > 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? That's true, but it's only true because of one thing: no docs. That's the MAIN problem. If you didn't have docs and tutorials on xCode, the problem would be exactly the same. Can you create the classic Cocoa Currency Converter with no docs at all on xCode (assuming you know nothing about it, which is obviously not the case)? Well, I think I simply couldn't. If you have docs, good docs, official docs, than you have no problem. It can be Eclipse, it can be xCode, it can be pico and javac, who cares. You read, you learn, you code. This was a little more emotional than I expected, but oh well, it's what I think! :) Fell free to disagree! ;) Yours Miguel Arroz Miguel Arroz http://www.terminalapp.net http://www.ipragma.com --Apple-Mail-25-1008441623-- --===============0156233516== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ WebObjects-talk mailing list [email protected] http://www.omnigroup.com/mailman/listinfo/webobjects-talk --===============0156233516==--