btw I use Eclipse 3.0.1 with several cool plugins for building and
testinf my webapplications... Sofar it rocks. The new features in 3.2
make it even more user friendly and easier to work with..

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: donderdag 30 juni 2005 14:28
To: user@struts.apache.org
Subject: RE: [OT] Stinking IDEs


I very much like the ease of use of struts (yes it need some
improvements still) and everytime I encounter a lack of functionality
building my JSP I will have to ask myself if this is lack of
functionality or simply an attempt of me to put too much logic into the
JSP... Sofar I could handle all issues with the bean,logic ad html
taglibs. All other problems are solved in small almost atomic actions
that do the real task and prepare the bojects for viewing.. 

regards

Jacob

-----Original Message-----
From: Mark Galbreath [mailto:[EMAIL PROTECTED] 
Sent: donderdag 30 juni 2005 13:55
To: Struts Users Mailing List
Subject: RE: [OT] Stinking IDEs


Amen, brother!  Like I said when I began this thread...Struts is dead
and Java is a C# wannabie.

~mark

-----Original Message-----
From: Gregory Seidman [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 29, 2005 7:17 PM
To: user@struts.apache.org
Subject: Re: [OT] Stinking IDEs


So I hate to feed the trolls, but...

On Wed, Jun 29, 2005 at 02:35:50PM -0700, Yan Hu wrote:
} Look at the job market for the server side now. 3 years ago, .Net took
} only 20% of the server side market. Now it is creeping up to 40%. .Net
is } better or faster than Java?  Nah.. Some .Net zealots otained some }
benchmarks on Tiger and .Net1.1 using linPack.  Tiger outperformed .Net.
} But why is .NET creeping up so fast?  VS.net contributes to a great }
portion of its success. One of my friends is a NET develepor. I envy his
} speed of rolling out (small to medium sized) web applications like
they } were egg rolls. Only the market tells what is good nor not.....
You have } one thousand sound reasons to back up what you claim. If the
market says } "no", then it is garbage........

I have never liked IDEs. I have never used an IDE that didn't get in my
way more than it helped. VS.NET is no exception. Below I'll give you
some reasons why .NET is popular that have nothing to do with the
quality, or lack thereof, of VS.NET as an IDE.

I recently developed an ASP.NET web app. This involved writing in the
following languages: ASP.NET (JSP-ish), C#, CSS, and JavaScript. It was
only because I could convince VS.NET to let me edit these files with Vim
that I did not tear out all my hair.

That said, ASP.NET beats the pants off JSP. I can tell you definitively
that ASP.NET's custom web control stuff (both ascx files and just plain
class instances) beats hell out of JSP's tag libraries. The EL is not a
big enough plus to make up for the difficulty of wrapping functionality
in a custom tag. I haven't done anything significant with Struts, but I
didn't have any trouble separating model, view, and controller in
ASP.NET.

In addition, C# is what Java always should have been. Here are a few
Java mistakes that are done right in C#:

1. The language and virtual machine are internationally standardized.

2. JavaBeans use a naming convention (get/set methods), rather than
   first-class, syntactically clear, reflectable properties. (Yes, you
find
   the methods by reflection, but they are "properties" because of the
   naming convention, not because the reflection API knows anything
about
   properties.)

3. Namespaces (packages) are hierarchical in name, but not in scope.

4. The source filename must match the (public) class defined in it.

5. The source file must be located in a directory hierarchy that matches
   the package hierarchy to which it belongs.

6. C/C++ precompiler directives were simply dropped, rather than fixed
to
   be less prone to misuse.

7. Receiving an event requires implementing an interface, with its
   associated method(s), and calling a method on the event producer to
   register the handler; producing an event requires writing add and
remove
   handler methods, as well as writing a loop to invoke the appropriate
   method on each registered handler.
   
   What makes this wrong can be seen by comparing it to the C# event
   handling mechanism: a delegate type (essentially an OO function
pointer,
   which includes the object reference almost exactly like Obj-C's
   selectors) is declared to handle a particular event, an event is
   declared in the producer class of the delegate type, a method with
the
   appropriate signature can be registered with the event using += and
   unregistered using -=, and the handlers are invoked by the producer
   class by calling the event like a method. Oh, yeah, and a class's
events
   are available through the reflection API.

8. Special casing value types (e.g. int, char, etc.), rather than either
   making everything a proper object (like SmallTalk) or making it
possible
   for developers to define value types.

I'll admit that Java has gotten better with the release of 1.5, and
about damn time. It has generics, which are not yet available in C#
(currently in beta). It also has anonymous classes, which are primarily
valuable for event handling. Java now has the enhanced for loop (C#'s
foreach), automatic un-/boxing (C# has it), and typesafe enums (C# has
it). There is also the metadata facility, which is similar to C#'s
attributes. In some ways, Java has caught up with C# (though I'm not
likely to forgive Sun for the unpleasantness that is the JavaBean
convention).

Of course, C# is moving forward as well. (See
http://www.ondotnet.com/pub/a/dotnet/2004/04/05/csharpwhidbeypt1.html
and
http://www.ondotnet.com/pub/a/dotnet/2004/04/12/csharpwhidbeypt2.html
for a
rundown of its coming features.) It's getting generics. It's also
getting anonymous methods (a lot like anonymous classes, and intended
for the same sort of use, i.e. event handling, but see mistake #7
above). It's also getting an absolutely brilliant way of expressing
iteration, using the "yield return" construct. Basically, all the
bookkeeping you have to do in an iterator is done for you, and you just
write a loop (or whatever other
traversal) around your data, executing yield return on each element.
Also coming is partial classes; not only are you not required to define
one and only one (public) class in a source file, you are no longer
required to define an entire class in a source file. (At first blush,
this sounds terrible; it makes more sense when you take into account its
purpose, which is to allow developer code and generated code to reside
in separate files without being forced to subclass.) And one more thing:
nullable value types. That means that you can have an int variable that
acts just like an int, unless you need it to be null.

There are other things I haven't mentioned. C# and .NET and ASP.NET have
their warts, like anything else (the largest being Microsoft itself). As
a developer, however, I have to say that it was a pleasure developing in
ASP.NET/C# as it never was in Java.

--Greg


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






************************************************************************
*******************************************
This email and any file transmitted with it may be confidential and is
intended solely for the use of the individual or entity to whom it is
addressed.  If you received this email in error please notify the DBM
Service Desk by forwarding this message to [EMAIL PROTECTED]


This email has been scanned by networkMaryland Antivirus Service for the
presence of computer viruses.






************************************************************************
********************************************
This email and any file transmitted with it may be confidential and is
intended solely for the use of the individual or entity to whom it is
addressed.  If you received this email in error please notify the DBM
Service Desk by forwarding this message to [EMAIL PROTECTED]


This email has been scanned by networkMaryland Antivirus Service for the
presence of computer viruses.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-----------------------------------------------------------------
ATTENTION:
The information in this electronic mail message is private and
confidential, and only intended for the addressee. Should you receive
this message by mistake, you are hereby notified that any disclosure,
reproduction, distribution or use of this message is strictly
prohibited. Please inform the sender by reply transmission and delete
the message without copying or opening it.

Messages and attachments are scanned for all viruses known.
If this message contains password-protected attachments, the files have
NOT been scanned for viruses by the ING mail domain. Always scan
attachments before opening them.
-----------------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to