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==--