The Artima Developer Community
Sponsored Link

Weblogs Forum
The Architecture of Participation vesus Hacking

32 replies on 3 pages. Most recent reply: Sep 1, 2004 1:36 PM by Todd Blanchard

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 32 replies on 3 pages [ « | 1 2 3 ]
Richard Dale

Posts: 4
Nickname: rdale
Registered: Aug, 2004

Re: The Architecture of Participation vesus Hacking Posted: Aug 13, 2004 11:16 AM
Reply to this message Reply
Advertisement
For instance, java has no dynamic despatch on static methods - it doesn't have class methods. Also classes or not first class types. In Objective-C, you can send a message to a class to create a new instance. Java has to have 'borked' factory method patterns to get round this obvious limitation. You can't have static methods in interfaces, which in turn messes up remoting - this design flaw permeates java

Here is a good discussion of what's wrong with static methods. Can this be fixed by an architecture of participation and/or impressive Eclipse features? My point is that it can't be fixed so easily..

http://www.ftponline.com/javapro/2004_09/magazine/columns/proshop/

Todd Blanchard

Posts: 316
Nickname: tblanchard
Registered: May, 2003

Re: The Architecture of Participation vesus Hacking Posted: Sep 1, 2004 1:01 PM
Reply to this message Reply
"when I want remove a class in a Java project, I just rip it out.. the compiler then tells me what I need to change. Sure, you could do the same with unit tests in P**** but you HAVE TO WRITE THEM.. and in Java you get the functionality EVEN IF YOU DON'T."

Hmm, you ought to download Squeak and try removing a method or a class - the system will warn you with a message like:

This method has x number of senders - would you like to:
1) Browse senders
2) Remove method and Browse Senders
3) Just remove the method
4) Cancel

This is old hat because all of Smalltalk code is just structured data that is searchable and manipulateable even while the sytem runs (live vs dead in Java).

Todd Blanchard

Posts: 316
Nickname: tblanchard
Registered: May, 2003

I don't see it Posted: Sep 1, 2004 1:36 PM
Reply to this message Reply
What exactly is it about Java that "promotes communities" (other than a group think mentality and general shared lack of experience with other languages)?

Certainly it can't be Eclipse. Its just an IDE (and a bloody awful one at that - I use IDEA FWIW).

In fact, its easy to argue that the importance of the IDE would drop precipitously if Java had remotely consistent naming conventions (example - array.length, string.length(), collection.size(), ListModel.getSize(), etc).

Frankly I find the Java community to be narrow minded, lacking in imagination, and intolerant (poke around JavaLobby forums and make a post mildly critical of some java feature to get flamed and called a loser who needs to learn something).

I compare this to, say, the Squeak/Smalltalk community which is generally respectful and helpful. In addition the Squeak environment does much more to promote communities including:

A fairly exhaustive swiki
SqueakMap (a bit like CPAN - package catalog browser with auto download/install)
Monticello - version control that is much smarter and more structured than text files with preflighting ability and compatibility checking
SqueakSource - Monticello compatible sourceforge type of thing (which was written in a few days using Seaside).

In addition - this community created SUnit (cloned as JUnit), eXtreme Programming/agile, automatic refactoring, assistive code editing, and many other innovations claimed by the Java "community" (which has produced precious little in the way of new concepts - innovation in the style of MS I'd call it).

In fact, your list of most valuable java developers mostly lists people who have reimplemented old ideas in Java - or have implemented ideas that simply haven't caught on (JXTA and AOP come to mind).

So where is the community support inherent in Java? I don't see it at all. As far as I can tell, people use java because other people use java.

Flat View: This topic has 32 replies on 3 pages [ « | 1  2  3 ]
Topic: It's not enough to say what it does Previous Topic   Next Topic Topic: Java IDE comparison

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use