[OT] Leaving the list
I can't say I've been very active on this list, but I used to read it carefully. I find that I am now only giving it a cursory glance. I originally joined because I had intended to create a wedding guest management webapp for my own user for planning my wedding. (I wrote a prototype with JSP and a tag library.) Well, that was over two years ago and I've been married for more than a year now, and the webapp never did get off the ground. I still have some intention of developing it anyway, but I am not going to use Struts. Or Faces, Springs, Tiles, Shale, Hibernate, iBatis, JSP, or even Java. I gave up on Java for GUI work some time ago, having done significant development with AWT (1.0 and 1.1) and Swing and found it frustrating at best (no, I haven't tried SWT). On the other hand, I was impressed with JSP and servlets and the frameworks around them. Now, though, I am giving up on it as a web development platform as well. I almost unsubscribed when I started using ASP.NET at work, and discovered the real pleasure of C# and the ASP.NET web control system. (Oh, the misery of Beans as compared to real reflectable properties!) I was sufficiently wary of the vendor lockin involved to want to remain abreast of Java web development, however. I have now gotten into Ruby, and I am so impressed with it as a language and Ruby on Rails as a web development platform that I see little reason to bother with Java at all anymore, much less Struts. I am not writing this as evangelism, a troll, or flamebait. I could have just quietly unsubscribed. Instead, I wanted to give the list some sense of why someone would give up on Struts. It isn't just some failing of Struts itself (though most of my initial difficulties when I was trying to port my webapp prototype to Struts involved shortcomings in documentation, despite the various online documentation and having purchased _Struts_Kickstart_), but of Java as well. I am unsubscribing now, so I will not see any responses to this sent only to the Struts list. If you have a response you think would interest me (and I assure you, flames do not interest me), feel free to CC me or send me email directly. It's been fun and, often, highly informative. Best wishes to everyone. --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts vs .NET???
On Mon, Jul 04, 2005 at 03:15:38PM -0700, Dakota Jack wrote: } I didn't ask how Mono runs on Apple, did I? No, you asked how C# runs on Apple. The only .NET runtime and C# compiler than I know of that supports MacOS X (which is what I believe you mean by "Apple") is Mono. Therefore, C# runs on Apple under Mono, which is the answer I gave. Were you fishing for a different answer? --Greg } On 7/3/05, Gregory Seidman <[EMAIL PROTECTED]> wrote: } > On Sat, Jul 02, 2005 at 11:34:44PM -0700, Dakota Jack wrote: } > } And how does C# run on Apple? LOL } > } > See http://www.mono-project.com/ } > } > --Greg [...] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts vs .NET??? -> Real Stats
On Sat, Jul 02, 2005 at 11:48:37PM -0700, Dakota Jack wrote: } What is your basis for your assessment of .NET and Struts? What sort } of problem are you talking about/ My assessment is based on my own development experience with both, plus lurking on this list for a few years. I will reiterate that I am not interested in converting Java/Struts developers to C#/.NET developers; I want Java and Struts to be the best they can be, and that knowing the competition is a step toward that. I posted something fairly in-depth about the advantages of C#-the-language over Java-the-language. Check the archives for the last couple of days. A few of those advantages have to do with the .NET runtime itself (in particular, 1) properties being first-class reflectable objects, just like methods and members, rather than derived from the JavaBeans get/set naming convention, and 2) events and delegate (method pointer) types being first-class reflectable objects rather than using interfaces for handlers). For now, Java has the advantages of generics and anonymous inner classes over C#, but the next version of C# (due out this year, and what I'm hearing about the betas leads me to believe that it will actually be out this year) supports both of those and simplifies a few other common idioms (iteration, in particular). I have not done any comparison of .NET vs. Java performance, nor have I compared their garbage collection strategies or threading models. They seem to be pretty similar, and they can be expected to maintain very similar performance profiles since the optimization techniques for such things are old in academia and well-published. Their different choices of performance tradeoffs may eventually effect their usefulness for particular purposes, at which point it may be appropriate to choose one or the other based on one's specific application. The APIs (system libraries and extension libraries) considered part of either Java or .NET are pretty similar. Java has a much larger set of third-party free libraries (in good part thanks to Apache's Jakarta project), but many of those are being ported to .NET. On the other hand, there are many commercially-licensed components for .NET, and there are likely to be more, simply because it is in the Microsoft world. I don't have exact (or meaningful) figures on this, so take it with a grain of salt. Anecdotally, I can say that in a previous project I sought a particular ASP.NET control and found dozens of candidates, commercial and otherwise, and the one that best suited our application was commercial. (We bought it, we used it, their tech support was excellent (including accepting patches from me), and it did what we needed.) Comparing JSP and Struts to ASP.NET turns up sharp corners in both. It's very easy to encapsulate functionality in a custom tag in ASP.NET, much harder to do so for JSP. Struts abstracts away the specifics of the generated HTML (both outgoing HTML and incoming form data), which supports the MVC model; ASP.NET requires a bit more hoop-jumping to do so. Validation, both server-side and client-side, is far easier in ASP.NET than with Struts. ASP.NET has almost no configuration required other than the .aspx/.ascx (equivalent to .jsp) files themselves, whereas Struts requires a configuration file that grows increasingly complicated as the site grows larger (though, to its credit, it does centralize the transition graph of the site). Neither Struts nor ASP.NET cares much about business objects, but both can deal with them just like any other object. Finally, while ASP.NET scales well from a single page to an entire site, Struts doesn't really shine until you get to at least 5-10 separate forms/pages. I hope this is a useful answer to your question. --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts vs .NET???
On Sat, Jul 02, 2005 at 07:56:23PM -0700, netsql wrote: [...] } And now this is realy going to piss you off: You can do Apache Struts } MVC in C#: } http://svn.apache.org/viewcvs.cgi/struts/sandbox/trunk/overdrive/Nexus/Core/?rev=208875 See, now *that's* a cool idea. I'm afraid the straight code isn't of much use to me without some examples of how it integrates with ASP.NET, but if it can integrate as well as it does with JSP, that would be excellent. Note that I haven't been claiming that struts is dead, nor that it should be; I have only been encouraging people to take a look at what the competition is doing better right now. From that perspective, this can't possibly piss me off. It's actually quite exciting. } .V --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts vs .NET???
On Sat, Jul 02, 2005 at 11:34:44PM -0700, Dakota Jack wrote: } And how does C# run on Apple? LOL See http://www.mono-project.com/ --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts vs .NET???
On Sat, Jul 02, 2005 at 04:41:38AM -0700, Nitish Kumar wrote: } With all due respect to every one (including microsoft).. the advantage of } .NET is nothing but a IDE which is idiot proof. } Any dumb can do a few clicks followed by intelligent editor to prompt and } spoon feed whats to be written, and then the IDE creates a code, which makes } any dumb with or without any intelligence, a programmer. You clearly missed my post on the advantages C# has over Java, IDE notwithstanding. The language itself is more convenient, in that common idioms require fewer lines of code. Sure, you can tell me that Eclipse or whatnot takes the drudgery out of getters and setters, but I can tell you that the C# language itself avoids that drudgery. You can also tell me that there are Java tools to make the unpleasant task of developing a JSP tag easier, but I can tell you that C# and ASP.NET make encapsulating functionality in custom tags comfortable and easy. Furthermore, it is at least three times easier (i.e. takes 1/3 the lines of code) to express event handling in C# than in Java. C# has other advantages as well (I'm particularly excited about the coming C# improvements, which include a very nice way of expressing iteration), but those three are sufficient basis for the points below. If you are an idiot, you can produce crappy code that may actually work. This is, indeed, more likely using Visual Studio (though I'd claim the days of it being truly easy were over when VB6 went away) than in Java. Ultimately, however, if you want solid, dependable, maintainable, scalable software then you need good software engineering, and no IDE or language will change that. If you have good software engineers, it then becomes a concern of how much do they have to do to accomplish the task, which boils down to lines of code. (A better software engineer will accomplish the same task in fewer lines of code, but there is a lower limit on the lines of code required to express any specific functionality.) With C# in particular, and ASP.NET to some extent, the number of lines of code required (whether or not you count lines generated by your IDE of choice) to express any given functionality is generally less than that required to do the same thing in Java. This is based on my experience, of course, but also based on the specific advantages I listed above; they are common idioms, which means that saving a few lines of code in the numerous places in your program where you use those idioms adds up. } Unfortunately in java, we still have a long way to go before we promote } idiots to the coder level.. We are progressing in that direction, but I } guess we still have some time before that..till then I hope to retire.. :) I am not interested in having idiots coding. There are two problems with coding by idiots: 1) They often become managers (or already were) and can't understand why it takes so long for those lazy software engineers to accomplish the tasks before them. I mean, after all, when they slapped together that VB app in a week it worked great! 2) Once the idiots have produced their crappy code, it becomes some software engineer's problem to maintain it, make it scalable, etc. and it's just unpleasant to deal with crappy code. Even worse is when management ties the software engineers' hands and prevents them from treating the crap code as a working prototype (i.e. which should now be rewritten) and forces them to keep it alive as is. Also note that there are huge distinctions between a coder, a programmer, and a software engineer. The coder produces (working?) code. The programmer can produce working code that accomplishes a medium to large task with some eye toward efficiency. The software engineer can produce well thought out, working, maintainable, scalable code that provides hooks for potential future development. I hate working with coders. Programmers are useful, but require guidance. } Thanks and Regards, } Nitish Kumar --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts vs .NET??? -> Real Stats
On Sat, Jul 02, 2005 at 03:32:00AM +0200, Leon Rosenberg wrote: } Btw... Can you name 10 successful .NET sites? Something clearly above 100 } Million PIs / month, better 1 billion PIs ? } I'd be really interested :-) I don't know that anyone keeps a list around, but this is a foolish challenge to give without checking Google: 1) www.donotcall.gov 2) www.gop.com 3) www.us.playstation.com 4) www.computerjobs.com 5) www.xanga.com 6) asp.usatoday.com 7) online.firstusa.com 8) www.bankone.com 9) www.careerbuilder.com 10) finance.lycos.com Of course, I can't make any guarantees on how much traffic these sites get. They are, however, pretty popular. That said, it matters very little how many sites are successfully using it. I only know of one successfully deployed LISP-based site, but that doesn't mean it isn't excellent technology (see http://www.paulgraham.com/avg.html). If it's a matter of being able to find people to maintain the software in the future, you are almost always better off choosing Microsoft technologies, though both Java and C++ are pretty strong in that area as well. Struts? Maybe not so much. JSF? Still new, which makes it risky. In any case, I'm not trying to post flamebait here, nor do I wish to engage in an argument. I would like Java and J2EE/JSF/Struts/API of the month to be better than any Microsoft offering. I will have to learn more about JSF, since it seems to be getting there. I can say that Java/JSP/Struts falls short of C#/.NET/ASP.NET at this time. Those of you who have never tried doing anything with C# and ASP.NET should try it out, just to know the competition and to gain some perspective on the sharp corners of what you are currently using that you have grown too used to for them to register as worth fixing. } Regards } Leon --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts vs .NET???
On Sat, Jul 02, 2005 at 02:16:49AM +0200, Leon Rosenberg wrote: } Heh, } } I hate this kind of discussion... } } Maybe you are the fastest keyboard user on the world... } } I want to see you refactoring a method, lets say change the method name, } with emacs/vi/notepad if there are about 20 other places in code where this } method is called. With an IDE it takes 1 second. With vi? 3 hours? A) If you change the name of a method, especially by the time it's referenced numerous places, you've already screwed up. It shows a lack of forethought in your design (and I don't necessarily mean formal design). B) With appropriate unix tools (ed or perl, in this case), it's under a minute. While that's more than one second, it should be an exceedingly rare operation (see A). } leon --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Unacceptable Behaviour of Mark Galbreath @ elections.state.md.us
On Wed, Jun 29, 2005 at 08:50:47PM -0700, Carlos Duque wrote: } Actually, I wonder just how happy the State of Maryland would be know the } amount of time this fellow expends pontificating on topics far removed } from any work for the Department of Elections. It certainly seems ill-advised to use a work-related email address for non-work activities, but there is no guarantee that his workplace has any policy on what he is allowed to use his email address for, nor is there any reason to believe that he is billing his employer for the time he spends posting. } A troll is a troll is a troll. Trolls spam. Span is odious in any form. You seem to have a nonstandard definition of spam there. Spam, in general, is unsolicited commercial email. Trolls are rarely trying to sell anything. There is also some question as to whether Mark is a troll. Sure, he says obnoxious things, but some of what he says is at least thought-provoking. Furthermore, the posts that attempt to correct his wild statements are often edifying. } This long time lurker, and beneficiary of the discussions, says: Stop the } spam. I'm going to go with the slippery slope and futility argument here, and say "suck it up." It's poor policy to start banning people, and it's ultimately futile since email addresses are easy to come by. Beyond that, in any online community there will be annoyances; that's what the pretty little delete button is for. In fact, if your email program is clever, you can filter out everything he writes and never see it in the first place. If it's especially clever, it can filter out all replies to anything he's ever written. } Carlos --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [OT] Java vs .NET
On Thu, Jun 30, 2005 at 09:00:58AM -0400, Mark Galbreath wrote: } Scary? Ponder this: in the Wash DC area, there is an overabundance of } Java gigs and a scarcity of Java developers. Why? Because all the Java } developers have wised up and realized that (1) C# is what Java should } have been to begin with, and (2) C# and .NET are O-P-E-N } S-T-A-N-D-A-R-D-S (can you spell it? say it, learn it, live it!) Java } is NOT. What I find interesting is the vast majority of Java developers } are more technologically bigoted than any M$ evangelist I've met. } Curiously, at least the M$ camp's positions are based in reality. Not quite accurate. Over the last few months I was looking for a software development job in the Baltimore/DC area. I put my resume (which has C#, .NET, ASP.NET, Java, and JSP on it, though not J2EE) on Monster and HotJobs. The responses I got were 80% .NET positions, 10% C/C++ positions, and 10% Java positions. I wound up in a .NET position. The Java and C/C++ positions were either TTH (temp to hire) or full-time but not paying well. At this particular time, in this particular area, the available software development positions (outside the defense industry, which I was looking to leave) are primarily .NET development. } ~mark --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
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 co
Re: Way of reading this mailing list as a heirachy
On Sat, May 07, 2005 at 12:02:19PM +0100, Mark Benussi wrote: } I use Outlook and was wondering if there was a way of reading all these } messages as a hierarchy. I sometimes miss messages on a thread I was } interested in. You need a better email client. Outlook is steaming pile. Oh, Outlook 2003 is better than previous versions, but it's still crap. I like mutt a lot (www.mutt.org), but I'm of the opinion that an inherently text-based medium like email is best read with a text-based client. You may feel differently, in which case you might want to try Thunderbird (www.mozilla.org). Both clients are both free (no cost) and Free (open source). --Greg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]