Slashdot Mirror


Software Fashion

fedor writes "Software fashions come and go, but they always claim a few victims on the way. Where there's fashion, you'll find that rather weak willed person who is the Stupid Fashion Victim (or the SFV for short). This great article from Software Reality is all about fashion in software. Do you all remember WAP? In a couple of years some of the current 'technologies' will be gone too. The article mentions VB.NET, struts and XP as current fashion..."

88 of 477 comments (clear)

  1. I wonder... by inertia187 · · Score: 5, Funny

    Actually, I always suspect an idea is bad when Sun Microsystems has an entire Java-One conference based on it.

    --
    A programmer is a machine for converting coffee into code.
  2. YIKES!!! by drayzel · · Score: 2, Funny

    That girl in the school girl uniform is pretty scarey!

    Whats next? A front page story post with the goatse guy?

    1. Re:YIKES!!! by UrgleHoth · · Score: 2, Funny

      Didn't you know? She's your next XP partner.

      --

      Dogma - "let's just say we'd like to avoid any empirical entanglements."
    2. Re:YIKES!!! by KillerHamster · · Score: 4, Funny

      Whats next? A front page story post with the goatse guy?

      I've been submitting those, but for some reason, they keep getting rejected.

    3. Re:YIKES!!! by arcanumas · · Score: 2, Funny

      She is more scary. I mean, she could EAT the goatse guy

      --
      Slashdot Sig. version 0.1alpha. Use at your own risk.
    4. Re:YIKES!!! by JDWTopGuy · · Score: 2, Funny

      Could? Looks like she already has!

      --
      Ron Paul 2012
    5. Re:YIKES!!! by mhesseltine · · Score: 2, Funny
      She is more scary. I mean, she could EAT the goatse guy

      Or, she could climb in goatse guy.

      --
      Overrated / Underrated : Moderation :: Anonymous Coward : Posting
    6. Re:YIKES!!! by schtum · · Score: 5, Funny

      She is more scary. I mean, she could EAT the goatse guy

      Or, she could climb in goatse guy.


      If she did both at the same time, you'd have a wicked MC Escher drawing.

  3. LOL, Struts is right on target. by Anonymous Coward · · Score: 3, Insightful

    It's good for a lot of situations, but it's the most overused framework I've ever seen.

    Rick

    1. Re:LOL, Struts is right on target. by Celandro · · Score: 5, Informative

      The Struts tag libraries are incredibly useful for any kind of html form based web app (aka. all of them). Remembering what the user last selected on a form takes a ton of horrible looking code if done with pure jsp or old school servlet/jsp model 2. Struts is also useful for automatically filling out your java bean with data from the http request, validating it according to your rules and sending it back to the input page if there are errors or processing it if there are not.

      I will definitely agree that the learning curve for struts is quite steep and the number of files involved per user action is high (1 form bean, 1 action, 1 jsp, 1 xml config file, 1 property file, possibly 1 xml validation file) but there are some IDEs which help out in some cases. The problems are incredibly similar to most MVC frameworks. Using modular design leads to more complex code, its a fact of life.

      Struts is certainly not the end all and be all but its better for medium to large projects than the alternatives I've looked at (caveat: I have not investigated JSF which someone mentioned)

    2. Re:LOL, Struts is right on target. by Digital11 · · Score: 3, Interesting

      Believe it or not ASP.NET also does the whole remembering what the user picked EXTREMELY well.. It's almost as if you're coding windows forms sometimes because of how painless some things can be.

      Now I'll admit that there are some areas of .NET that make me want to poke my eyes out with a blunt object, but overall i've found it to be much easier to work with than PHP or ASP for large web-based app's.

      --
      I am a leaf on the wind. Watch how I soar.
    3. Re:LOL, Struts is right on target. by russ_allegro · · Score: 2, Informative

      Struts was the worst thing I ever gotten into. I wrote a survey creation wizard with it. Instead of it taking a week it took me a month to make. The tags don't give you full control like code, so trying to fit it in using the tags made it more messy than code would ever be. Having error messages a properties file takes very little code if you do it right. I'll never touch struts again with a ten foot pull. It might be good for simple forms, but anything half way complex it isn't worth it, in fact it makes it worse. Maybe you can take some IDE that is integrated with struts to use over Macromedia's Coldfusion. Both Coldfusion and struts are bad with anything greater than small size.

    4. Re:LOL, Struts is right on target. by Mr.+Slippery · · Score: 4, Insightful
      Using modular design leads to more complex code, its a fact of life.

      If modularization begets complexity, you ain't doin' it right.

      Modularization should simplify, in that each module encapsulates and abstracts a well-definined function. It may add volume to your code, but should render it easier to work with.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    5. Re:LOL, Struts is right on target. by Moraelin · · Score: 2, Insightful

      Actually, that's the whole thing that's wrong. When one of these "silver bullet" technologies creates more complexity and a steeper learning curves, that's my criterion that it's hype, buzzword and/or mis-used.

      The whole _problem_ is that software projects are becoming more and more complex each year, and thus more likely to fail if tackled in the wrong fashion. (Even if they don't fail the first time around, they fail when someone has to maintain them. Whenever a whole enterprise system gets scrapped and rewritten from scratch, that's a failure.)

      The whole goal is to reduce and manage this complexity, not to increase it even more. The driving force between inventing methodologies and patterns was precisely to manage and/or reduce complexity.

      E.g., OO design was not invented just for the sake of writing extra code, it was suppose to make complex projects simpler and/or more manageable. The MVC idea itself was suppose to make complex GUIs (web based or not) simpler and more maintainable. Etc.

      If you use framework which actually _increases_ complexity, makes you write 6 (SIX!) files for each button, and gives the developpers a steeper learning curve, you're doing it wrong. Worse yet, you're wasting your employers money. It's that simple. You're just wasting time and effort and money, to achieve something even harder to maintain than even the maligned monolythic JSP.

      And I sure hope that one day the employers will wake up and start asking extra questions when they see purely buzzword technologies on a resume. Because someone in that team effectively cheated their employer of money and development time, just to get an extra buzzword on the resume. They spent extra time and maybe even caused a project to fail, just to make their own resume look better.

      And it is about time that someone started kicking these leeches out of this industry. Well, I can only dream...

      --
      A polar bear is a cartesian bear after a coordinate transform.
  4. Soapbox by Anonymous Coward · · Score: 3, Funny

    We regret to inform our readers that the column, formerly titled "Soapbox" will appear under a different name after the girl on the left ate the entire soapbox.

  5. Victim? by tarquin_fim_bim · · Score: 3, Funny

    "as demonstrated by Britney, our sexy young model over on the left"

    That's my mother you insensitive clod.

  6. Linux fashion. by Anonymous Coward · · Score: 2, Insightful

    In the pro community of linux, I've seen the fashion of linux distributions.

    First it was Slackware, then Debian and now Gentoo. Now that Debian has lost around 90% of its market share it is being left out to dry with its anceint packages and deprecated .deb format. Rpms and Ebuilds are the new fashion!

    Whats next? Ive recently seen a rise in Mandrake cooker users, as they provide the ultimate in ease of use combined with the power.

    1. Re:Linux fashion. by Zocalo · · Score: 2, Insightful
      Redhat must be the anti-fashion.

      I'd liken Red Hat to a business suit; not really practical for rolling your sleeves up and getting dirty, but still required by staid corporate types everywhere. Odd how that tallies with its prime marketplace... ;)

      --
      UNIX? They're not even circumcised! Savages!
    2. Re:Linux fashion. by Rex+Code · · Score: 2, Informative

      Try Linux International's Linux Counter.

    3. Re:Linux fashion. by jon787 · · Score: 2, Interesting

      You are only viewing the Desktop side of Linux, from the server side state of the art isn't always good and when Debian says stable, they really do mean it. Unlike Red Hat which shipped GCC 2.96 and called it stable. Mandrake shipping with a kernel that wasn't even released yet. The list goes on.

      The Debian package format is not deprecated, when I first started using it APT was far superior to RPM, although RPM has gained ground since then.

      If you don't want "ancient" packages upgrade to testing or unstable, they are actually quite stable.

      Gentoo is actually really good if you want that last bit of performance out of your system and are willing to take the effort.

      --
      X(7): A program for managing terminal windows. See also screen(1).
  7. Microsoft Bob will never go out of fashion. by Anonymous Coward · · Score: 3, Funny

    Clippy the paperclip told me so.

    1. Re:Microsoft Bob will never go out of fashion. by Penguinshit · · Score: 2, Funny


      I was a beta tester for 3.11. Then I upgraded to being a beta tester for Windows 95. After that came NT, then 98, then 2000. I'm happy beta testing 2000, and have no inclination toward joining the XP beta test group...

  8. The one i hate most by smartin · · Score: 4, Insightful

    Hungarian Notation., the fashion of obfuscating your code.

    --
    The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.
    1. Re:The one i hate most by WatertonMan · · Score: 2, Insightful
      Damn yes. Microsoft had some of the stupidest variable names because of that. What was so bad with just looking up the damn variable's definition! (Rather easy with most modern IDEs) Some of the naming schemes for variables are just ridiculous.

      Most movements like this or XP have their points. It's just that the good is almost overwhelmed by the "let's do it just because." People get caught up in the title rather than the content. This is exactly what leads to the dreaded "checklist bloat" of most products. They have to deal with "buzzwords" regardless of function or use.

    2. Re:The one i hate most by grungeKid · · Score: 2, Insightful

      What was so bad with just looking up the damn variable's definition! (Rather easy with most modern IDEs)

      I have not seen an IDE which makes it as painless to deduce a variables type quickly as hungarian notation (once you learn what "sz" "lp", "pI" and so on stands for). When scanning through new code this helps a lot, even if it's not done 100% consistently. Not even tooltips (as VS.NET and several other IDEs has) are quick enough.

      I do think such an IDE (or editor, really) could be constructed, perhaps using different coloring, permanent tooltips or icons to indicate types, scope, access levels etc, and when I start using one I shall drop the usage of hungarian notation.

      Does anyone know of such an IDE or editor? I would really like to know.

    3. Re:The one i hate most by PylonHead · · Score: 2, Funny

      (once you learn what "sz" "lp", "pI" and so on stands for)

      I'm not sure about "sz", but an "lp" is what I used to put on my parent's stereo, and a "pI" is what you hire when your wife starts wearing six inch stilletto heels when she goes to visit her "friend".

      --
      # (/.);;
      - : float -> float -> float =
    4. Re:The one i hate most by wayward_son · · Score: 2, Funny

      True story:

      The first time I saw Hungarian notation, I didn't know what it was. I wondered why anyone would name variables svStrVar or have type HWND. My initial reaction was that it looked like it was written in Hungarian or something. (Not that I know Hungarian...)

      I laughed rather hard when I found out what the name of that notation was.

    5. Re:The one i hate most by wrmrxxx · · Score: 3, Insightful

      Even Charles Simonyi, who started the whole Hungarian Notation thing, didn't propose that it should be used everywhere, for every variable name. This is, as the parent post suggests, a classic case of a valid idea being used in inappropriate contexts just for the sake of fashion. Unfortunately it (or worse still bastardised versions of it) has become so entrenched it is followed more like it is religion than fashion. Some developers can't be talked out of it with any reasoning - they just tell me it has to be that way, because it's programming. Like religion, logic seems to have no place.

      In the days when you wrote complicated code in older forms of C that required casting all sorts of things to pointers (through char * before void existed), greater programmer care with the scope and type of variables was important. There were all sorts of things that a compiler wouldn't catch, so sometimes it was worth sacrificing code readability. Now, of course, it mostly just doesn't make sense to make the sacrifice. Compilers handle data types just fine, and you don't have to cast through some totally unrelated type in modern languages. OO languages keep a lid on scope: you don't have masses of global variables. OO languages also introduce polymorphism, in which H.N. or type based naming can be very misleading. Code clarity is very valuable, and more natural language is one tool to achieve this (see Knuth's Literate Programming for some interesting ideas). It frustrates me no end when people want me to read a series of codes (with no vowels!) as if I were a computer. Give me language instead: I've been handling that since before I could walk.

      I think this particular fashion persists so strongly despite common sense for a number of reasons:

      • Momentum: there's so much of it about (e.g. Microsoft API docs) that programmers who don't think about why they should do things just copy the pattern blindly. Self perpetuating fashion.
      • Programmers not only undervalue code readability, they get some elitist kick out of making it undreadable. As if making it unreadable somehow makes code look more technical. I've seen programmers write code with vowels stripped out of every single variable name, even though they can touch type and have no absolutely no reason to abbreviate.
      • Maybe HN is useful in a training environment (so markers can see validity without using a compiler?) and it just carries into a professional career.
    6. Re:The one i hate most by nosferatu-man · · Score: 2, Insightful

      And that works really well when someone changes the 'siRfse' to a 'siRfce' but doesn't update the name, doesn't it?

      Hungarian Notation is just file extensions in source code -- it will surprise nobody that both terrible creations were midwifed at the same place. It's a bad idea who's time never came. Now that we've moved out of the '70s and have development tools more sophisticated than vi and grep, it's not merely archaic but rather positively prehistoric. Don't fish Hungarian Notation out of history's dustbin, where it peacefully resides with ritual anthropophagy, the jus primae noctis, and preprocessor macros.

      'jfb

      --
      To spur "enterprise Linux," Big Bang, the distributed two-phase commit.
    7. Re:The one i hate most by crazyphilman · · Score: 3, Funny

      The worst conflict I ever had with a sysadmin was when I was doing Perl for a small company in New Jersey. They had a development group in Manhattan which used VB 6 extensively. Some idiot in that group floated a suggestion that ALL programming at the company use Hungarian Notation. So this sysadmin informs me that as a matter of policy, from now on all of my Perl variables will use Hungarian notation.

      But, I pointed out, in Perl a variable's type depends on context.

      "Huh?" He asked.

      "Ok, I read in a number as a string. Then I use it as a number. Then I format it using a regexp. Then I print it as a string. What is it, a number, or a string?

      "Use two variables, one integer with an "i" prefix and one string with an "str" prefix." he said.

      "Well, now that you're using double the memory to perform the same task, let's consider. How will this scale when we've got thousands, or tens of thousands, of hits?" (this was going to be a CGI app). I crossed my arms and waited.

      "Doesn't matter. Use Hungarian Notation. It'll make it easier to read your code."

      "But it's fucking stupid."

      "No it's not! DO IT!" (and so on, ad infinitum).

      I called a friend of mine, who had taught me a lot of my Perl knowledge, and I asked him, point blank, what he thought of all this.

      "Your sysadmin's a re-re." He said.

      "A what?" I asked.

      "A re-re. A retard. Freshen your resume."

      And, so I did... ;)

      --
      Farewell! It's been a fine buncha years!
  9. .NET = Fashion by bersl2 · · Score: 3, Insightful

    .NET will disappear once Microsoft starts pushing their next initiative and forces upgrades and rewrites. It's all about the $$$, never about the product. The product is just a conduit for money.

    This is why OSS is so great. Most of the time, it's not about the money; it's about the product. Therefore, it's not about getting sales, it's about getting users.

    1. Re:.NET = Fashion by WasterDave · · Score: 3, Interesting

      Y'know, I don't think it is. Certainly when C# was introduced I was like, "yeah, whatever" who's going to swap from Java to this?

      But the point is the frameworks. Finally Microsoft have solved the 'framework that sucks' problem by ... ahhh ... doing a Borland one. For the sanity of those who still have to code for this sack of shit platform, I wish it the best of luck.

      Dave

      --
      I write a blog now, you should be afraid.
    2. Re:.NET = Fashion by bersl2 · · Score: 2, Insightful

      Certainly when C# was introduced I was like, "yeah, whatever" who's going to swap from Java to this?

      I believe that in a year or two, when the next "new thing" is introduced, you'll be going, "Yeah, whatever. Who's going to swap from C# to this?"

    3. Re:.NET = Fashion by Circuit+Breaker · · Score: 2, Interesting

      I thought the same thing when Java was introduced. The alternatives I considered at the time were Python and Smalltalk, each having much more to offer than Java, and better implemented.

      If you think Java's popularity is a result of it's technical merits, you are dead wrong. It's popular because it was marketed as an anti-bug silver bullet to the powers that be, a bullet that is far enough from C to be bug resistant, and close enough to C that it doesn't require much retraining. I don't think it delievers on either, but -- regardless, it's still fashion.

      Like XML, even though it's bad fashion, it did get common enough that thanks to the available support, it is, in this day and age, actually useful.

      The same will happen with .NET - there isn't really anything new in it compared to alternatives, but if enough people fall for this fashion, it will actually become useful on its own, and lose its "fashion" status.

    4. Re:.NET = Fashion by Doomdark · · Score: 2, Insightful
      I thought the same thing when Java was introduced. The alternatives I considered at the time were Python and Smalltalk, each having much more to offer than Java, and better implemented.

      Sounds like you don't really know what you are talking about. If you are implying Smalltalk and Python are supersets of Java (as it exists currently), you are just ignorant. Each of 3 languages (or platform, if you wish), has their specific strengths, but claiming Java is inferior of 3 is ridiculous. It may be that when first commonly used JVMs arrived (1.0.2?) Java was mostly inferior, but lot has happened since then.

      Further, claiming that Java is very close to C is patently absurd. Superficially there are more similarities (syntax) than semantically. Python and Java, for example, are much more similar than C and Java.

      As to C# (I assume you mean C# when referring to .NET) I actually do agree. It's similar enough to Java to be useful as is, although not markedly superior (with sole exception of being easier to integrate with native code). But it will probably gain momentum, and improve due to enough resources being put into developing C# as well as standard libraries.

      --
      I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
  10. What about CORBA? by DrInequality · · Score: 5, Insightful
    He hit all of my favourites: XML, Visual Fred, etc...

    But missed CORBA! Surely it belongs in the Technology X != Silver Bullet category. As far as I'm concerned, CORBA best solves the "this project has too many resources" problem.

    But then again, I'm probably just another SFV :-)

    1. Re:What about CORBA? by alien_blueprint · · Score: 4, Interesting

      But missed CORBA! Surely it belongs in the Technology X != Silver Bullet category

      Disclaimer: I'm clearly bigotted .

      However, if you believe CORBA was going to be a silver bullet, then you were mistaken. I've never heard anyone say such a thing. But then, I stay away from marketing people.

      As far as I'm concerned, CORBA best solves the "this project has too many resources" problem

      I think you actually discovered that "distributed systems are difficult".

      What you need is a component infrastructure that builds on CORBA to make the slice of the generic distributed system problem that most people are (currently) interested in a simple problem. Luckily it exists, and it is called J2EE ;)

      As for me, J2EE *doesn't* address the kind of problems I'm interested in, so the *only* option is CORBA. (And please, don't talk to me about web services or SOAP ... that stuff is years away from being useful to me)

  11. UML by 3Suns · · Score: 4, Funny

    What? No mention of UML?? Together with Design Patterns, these two are making my fellow software engineers less intelligible by the minute!

    --

    -3Suns

    ~~~~
    The Revolution will be Slashdotted
    1. Re:UML by mcdrewski42 · · Score: 2, Insightful

      Trolling a bit there - are they biting?

      I think their point on patterns is equally valid for UML, or TechnologyX in fact...

      UML usage is often seen as an end in itself. Robin (intrepid co-author of this article) was once asked during a job interview: "What's your favourite UML Diagram?" What's the correct response to that? "Oh, Use Case Diagrams every time! Yeah, I use it for everything!"

      However I think "Robin" should have read Joel On Software's Guerrilla Guide to Interviewing for the 'correct' response to that. If it was a smart interviewer, it wasn't a question designed to get an answer, but to elicit discussion about patterns and see if Robin really knew what they were and how to apply them. If they weren't a smart interviewer, and were really looking for an answer, then he/she is probably glad that the interview didn't go so well. :)

      --
      /* affect != effect */ void affect(int *thing,int effect) { *thing += effect; }
  12. Hmmm... by Anonymous Coward · · Score: 5, Funny

    Technology X = Money/Success/Silver Bullet

    Illegal division by zero at line 1.

  13. Re:Interesting? by Doomrat · · Score: 4, Insightful

    Don't you see? Moderating it as Interesting is a master stroke of comedy. It's the only thing which has made me laugh on Slashdot all day. Most of the other attempts to be funny here result in my wishing cancer upon the poster.

  14. Memes by BlueEar · · Score: 5, Interesting

    Richard Dawkins in his book "The selfish gene" introduced a concept of a meme. Meme is a replicator, just like gene, except that it represents an idea. It is copied by us, humans, either verbally or in writing, software, paintings, etc., and so on. Susan Blackmore in her book "The meme machine" expands on the idea.

    Now, what does it have to with "Software Fashions". Both Dawkins and Blackmore present well-thought out argument that memes are subject to similar forces as genes. As a consequence, just like in a genetic world you can have outbreaks of viruses, in memetic environment there are outbursts of ideas. Some of them are as much use as a flu virus, and until our minds develop resistance to it, they will spread. Once memetic vaccine has been developed they die out.

    Blaming software fashions on SFV is just like blaming flu outbreak on a SVV (stupid virus victim). Note that memetic fashions are common and not restricted to software. From bell-bottoms, through furbies to whatever the latest craze we have now.

    --
    A religious war is an adult version of a fight over who has the best imaginary friend
    1. Re:Memes by istartedi · · Score: 2, Funny

      I'll be glad when memetics is out of fashion. I'm sick of hearing about it.

      Nothing against you personally, but memetic arguments always seem to come off as 1. pretentious 2. absolving oneself of personal responsability 3. a "I have a hammer so everything is a nail" approach. In this case, the hammer is genetics, evolution, and an overblown analogy.

      Now, if memetics proves to be a viral idea, does that invalidate memetics or prove it? Quite a paradox, eh? I suppose it's entirely possible for memetics to be valid; it's just that it may not be valid for people to think about it!

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    2. Re:Memes by Kris_J · · Score: 4, Funny

      I read that book a while back. Don't worry, you'll stop seeing memes everywhere soon. Or at least, you'll be able to fight the desire to post about them once your immune system kicks in.

    3. Re:Memes by marnanel · · Score: 2, Informative

      Blaming software fashions on SFV is just like blaming flu outbreak on a SVV (stupid virus victim).

      Not so. The "stupid" part of SFV means something like "susceptible to memetic infection". So in making an analogy with biological viruses, you'll need to change "stupid" to something which connotes susceptibility to viral invasion (such as sleep deprivation, old age or stress).

      --
      GROGGS: alive and well and living in
    4. Re:Memes by Anonymous Coward · · Score: 2, Interesting

      Mine too. I recently had the opportunity to tear the idea a new asshole at a philosophy club meeting. In summary:

      1. There is nothing to suggest that a meme actually exists (and certainly not in physical space, as does a gene); it is just another way of looking at the concept of ideas and their transmission.
      2. Thus, it is of use only insofar as it represents the actual nature of the transmission of ideas; it cannot with soundness tell us anything new.
      3. On inspection, it seems that the actual transmission of ideas bears little resemblance to that of genes. Consider:
      - Ideas that fall out of favor do not disappear, as do poor genes.
      - People are free to choose what ideas they carry and transfer, as opposed to genes, in reference to which they are not.
      - The ideas which gain popularity are those which people find most satisfying, not those which ensure the survival of the person.
      4. The concept of a meme adds nothing to our understanding of ideas other than to foist on it unwarranted connotations of intellectual determinism specifically disallowed by point 2.

  15. More ignorant flamebait... by M.C.+Hampster · · Score: 5, Insightful

    From the article:

    VB.Net is really just syntactic sugar on top of C#. C# offers more and better libraries.

    That alone should tell you that the author has no clue as to what they are talking about. I am most definately not a VB.NET fan, but that statement is just false and shows a huge lack of understanding of the .NET Framework.

    --
    Forget the whales - save the babies.
    1. Re:More ignorant flamebait... by Keith+Russell · · Score: 4, Insightful

      They're talking out their asses on the libraries. CLS-compliant is CLS-compliant. But they're dead-on right about VB.NET. I'm pretty sure that Microsoft "upgraded" VB by starting with C#, changing the syntax to match Basic, then dumbing it down with over-verbose keywords for new language features and a lack of "intrinsic" keywords for unsigned integer types. All this for a language so different from previous versions of VB, it needs a non-trivial conversion anyway.

      Hmm, instead of making the language easier to use, they just made it different. Syntactic aspartame?

      --
      This sig intentionally left blank.
    2. Re:More ignorant flamebait... by Strudelkugel · · Score: 2, Interesting

      Right, the author obviously doesn't understand .Net.

      Having coded in VB6, VB.Net, C++ and C#, I have noticed that VB editors highlight what I think represents the "language" of the future...

      (Prepare for Troll or Flamebait mod - Now!)

      Intellisense.

      As a language, I like C# better than VB.Net, but the line completion and type lookup under VB.Net make it easier to work with. Fewer typos and faster coding are the result. This is obviously tricky to do in languages where whitespace is insignificant, though. I haven't tried Python with Intellisense, but I suspect I would have the same impression.

      --
      Imagine how much harder physics would be if electrons had feelings! -Feynman, maybe
    3. Re:More ignorant flamebait... by boatboy · · Score: 2, Interesting

      I was going to have to post this if someone else didn't. VB.NET and C# are both languages that compile to Intermediate Language, which runs on the Common Language Runtime. Common, as in, all languages have these libraries in common. As for Microsoft dropping it, that's debateable, especially in apps like Excel, where it serves as a scripting language that novice users can pick up to, say, tie in a web service- <sarcasm>assuming they don't go "out of style" like XML and Java. </sarcasm>

  16. Re:In a few years... by kryonD · · Score: 4, Funny

    .NET is more like a cold than a fashion. After a while, it will just go away and everyone will feel better that it is gone.

    Makes you wonder if there is some hidden insight in calling the Linux version 'Mono'.

    --
    I've dirtied my hands writing poetry, for the sake of seduction; that is, for the sake of a useful cause. --Dostoevsky
  17. lots of valid points by koehn · · Score: 2, Interesting

    The authors validate many of my own concerns with the products mentioned, although some of their predictions are already coming true:

    Rational Unified Process has contained roadmaps for XP process variants for over a year. RUPs primary purpose in life now is to keep consultants employed, although there's a ton of good stuff in there. Sorting it from the three tons of crap is why you need a consultant.

    VB.net appears to have been largely abandoned by IT, and Microsoft's not far behind. That's good, since it just doesn't fit the .Net model, as noted.

    I'm not too sure what the joke is behind local interfaces on entity beans, I thought that was what entity beans were supposed to be in the first place. The whole pass-by-value thing just wasn't going to work, even if the caller and callee were in the same VM, so how else should J2EE support container managed persistence?

    Finally, yes, Struts is bloated and needs to be either updated with something that has a smaller learning curve (like auto-generated beans and forms) or just something else (like the author's suggestion of JSF, which is probably going to be the thing for Java webapps). However, for organizing your code Struts gets the MVC thing down. It's just over-engineered for most apps.

  18. Re:Linux fashion. (should be titled flamebait) by joeldg · · Score: 2, Interesting

    but i'll bite..

    I am actually not sure why Gentoo is so popular right now.. I use it, but I have kind of specific reasons for using it (four-node openmosix cluster of boxes that need to be identical and so upgrades are cron'd to go off at the same time)..
    For the average user not really needing to sit and fiddle around with make.conf and funky masked ebuilds I would not recommend it, Mandrake is nice for home systems where you have a ton of stuff plugged into the box and need something quick that just plain works..

    I guess maybe other have specific reasons for using it..

    I would post to the forum there but that is to risk massive flames and extreme moderation. ;)

    fun fun..

  19. Re:Let's vote for the greatest forgotten... by WatertonMan · · Score: 3, Interesting
    C# (as opposed to the generic .NET) actually is a good language that does improve on Java a lot. One can even argue that its GUI tools are a considerable improvement over Swing.

    On the other hand one must ask whether programming in C# really is better than doing RAD in C++ Builder or even (ugh) Delphi.

    Also, while it may be a "fad" at the moment, we should remember that Java was as well for a long time. Yet Java definitely made it past the fad moment. With C# this is even more likely since it seems like Microsoft will be making Windows more and more dependent upon .NET whether we like it or not. Thus calling it a "fad" seems difficult, despite all the exaggerated hype.

  20. Some good points, but... by grungeKid · · Score: 2, Interesting

    These guys have some points, but I think a much better article could be written about this topic. In particular, I object to some statements made:

    Robin [...]was once asked during a job interview: "What's your favourite design pattern?" What's the correct response to that?

    I don't think that's such a stupid question, as long as it's interpreted correctly. A good design pattern, like a good algorithm, is likeable in its own right, because of it's elegance and the way it breaks down a complicated problem. Maybe the interviewer wanted to know if Robin was really passionate about programming.

    VB.Net is really just syntactic sugar on top of C#. C# offers more and better libraries.

    What libraries do C# offer that are not accessible from VB.NET? As far as I know, all C# libraries (at least those in the standard framework) are CLS compliant, and thus accessible from any CLR language.

    Because programmers didn't test that much, XP stipulates that tests must be written before the code. In other words, just because something has a weakness you shouldn't do the opposite in an extreme form.

    That's just crazy talk. Automated regression tests isn't intended to relieve those lazy programmers, in XP they're the de-facto definition of what the system is designed to. Not to mention that test-first design often leads to better design, in particular wrt coupling between classes and components.

  21. Re:WAP fashionable? by EarwigTC · · Score: 5, Interesting

    The savvy love WAP. I monitor every network I manage with it, created WAP-based listing searches for one of my real estate clients, and wrote a system to put our local newspaper's stories into WML. The users who know this don't hesitate to pay Nextel $10 a month more to get it.

    There's lots of useful content that can fit within WAPs limitations, and it's a snap to do. I blame the low acceptance on content creators who are not taking the tiny bit of time needed to make WML versions of their sites.

    Until the content is there, it can't become very popular in the mainstream.

    --
    Promote civility: mod down any post starting with 'ummm'.
  22. Missing the biggest stupid software fashion by 0WaitState · · Score: 5, Insightful

    The biggest stupid software fashion is IT outsourcing--it has reached the point where every corporate middle manager feels they have to have a story on how they're outsourcing, long before (if ever) outsourcing has proven any reliable ROI.

    Unfortunately, unlike other stupid fads applied to software such as TQM, ISO9000, RUP, etc., outsourcing does real economic damage to the victims, (as opposed to just the psychological damage represented by trying to work around the others).

    --

    Remain calm! All is well!
  23. Everything, including tools, in moderation! by RevMike · · Score: 4, Insightful
    What? No mention of UML?? Together with Design Patterns, these two are making my fellow software engineers less intelligible by the minute!
    RevMike's first law of development methodologies- "The only thing worse than not following a methodology is rigidly following the wrong methodology."

    If UML and Patterns is making your engineers less intelligible, then they are doing something wrong. It is possible that those tools are not appropriate for your problem space. It is also possible that they need to drop the elements of the model that aren't working for them.

    Design Patterns is an incredibly useful tool, especially in the OO world. But as was noted in the article, there is a danger of designing everything as a pattern. Being able to say "I use a Service Locator to look up the remote resources" or "I use this Abstract Factory to get the proper xml parser" is incredibly useful. But it has a tendancy to be overdone.

    Everything, including tools, in moderation!

    1. Re: Everything, including tools, in moderation! by gidds · · Score: 2, Interesting
      Well said.

      Design patterns and UML were designed as practical tools, not dogma. If they help you do what you were doing anyway (and they often do), then great: use 'em. But if they don't, then don't. They're there to serve you, not the other way around.

      UML is simply a way of describing objects and their relationships; not a way to create those things, just a way to communicate them afterwards. Similarly, design patterns are simply practical examples that have worked for people before; reusing them may save you time, and give you a common language others can recognise. That's all. The moment someone with pointy hair tries to treat them as a methodology is the moment you need to worry.

      Personally, I think the main problem with software design (at any level) is that it CAN'T really be codified, bundled into a neat set of rules and procedures to be followed. It's creative. People like to call it 'engineering' and compare it with areas of physical construction, but it's too different - whereas one bridge or building is likely to be the same order of magnitude in size and complexity as another, and have similar technical challenges, software developers are constantly dealing with new ideas, greater complexity, new techniques, and greater demands. And you can't always solve these by using the same old methods. Of course, some parts are repetitive and mindless, but some parts will always be creative (or, as Alan Turing observed, you could get the computer to do them!).

      Some people are naturally good at creative tasks, and others can grow to be so by exposure to good examples and guidane, but some are so used to making and following standard procedures, rules, and processes, that that's all they can do. In software developers, this can work as long as they're writing 'standard' software, but the lack of deep insight can lead to baroque monstrosities, unnecessary repetition, pointless layers of abstraction (or lack of necessary ones), vast bloated frameworks where little is needed (or vice versa), &c, simply because that's The Way Things Should Be Done. You can't codify insight itself.

      And in management, it can lead to the enforcement of methodologies. When things go badly as a result of the sort of developer above, it's natural to consider how that can be avoided. But the idea that software development can be reduced to standard procedures, rules, and processes, while natural for people who've seen it work in other areas, just doesn't work for software. It may give excuses to those who can't do the job, but it merely cramps those who can. Methodologies and tools can make great slaves; but they're lousy masters.

      (The Programmer's Stone is an interesting read and develops this idea much further.)

      --

      Ceterum censeo subscriptionem esse delendam.

    2. Re: Everything, including tools, in moderation! by GlassHeart · · Score: 3, Interesting
      Design patterns and UML were designed as practical tools, not dogma. If they help you do what you were doing anyway (and they often do), then great: use 'em. But if they don't, then don't. They're there to serve you, not the other way around.

      This is true, but note that the UML/patterns/OO newbie is in no position to determine that. One common mistake is to read the book, discard the parts you don't think is necessary, and then proceed with your design work. The rules that you chose to ignore were put there by pretty smart people, and there's a good chance they were put there for a good reason. When the design finally fails because you were missing something, the egotistical designer then blames the method.

      The point is, I think the parent post was suggesting that the programmers in question may simply have broken the rules, and not actually found some instance where the methods really apply poorly. It's ego-boosting to think that what you do is unique and beyond the reach of old stuffy rules, but the truth is that most of us are doing things that have been done before.

      This isn't to say that those cases don't exist, but that they're probably rarer than you think, especially if your team of programmers is trying it out for the first time, especially if you don't have a senior engineer already experienced in the method guiding your team. For the first time, at least, the instructions should be followed to the letter and strictly enforced. They should be dogma until you've at least went through a complete product life cycle with them.

      What you suggest we've already tried for decades. The result is prevasively poor documentation and fragile designs.

  24. Re:XHTML by Obsequious · · Score: 4, Interesting

    That's an interesting point, and one that I have been having a hard time reaching an opinion on.

    See, the hacker part of me demands that anyone who has a web page learn HTML: it's not that hard, and it's like having a driver's license -- it's a lowest common denominator of skill. I believe that if every dork with a GeoCities site actually knew HTML instead of exporting from MS Word, the Web would be a better place. So, from that perspective, XHTML is something I support -- though I support it from the sense of replacing HTML (which should die in the eternal fires of Hell) entirely. Making people learn XML would be nice, but it's too complex a thing to make "required reading" for GeoCities weenies.

    That said, you are obviously correct in that XML is the way the world should be. In fact, I did some web pages in straight-up well-formed XML coupled with CSS stylesheets, and it worked just fine. The only problems are that with current browsers, you can't use inline embedded images (Mozilla and IE don't support this) or hyperlinks (basically XPath, which IE doesn't support.) So, it looks like the Promised Land is withheld from us, which forces us to use XHTML for a while yet.

    So, as you can see, I am wishy-washy on whether I like XHTML, or if I do whether I like it better than XML.

    Of course, now I feel like I just did an in-depth evaluation of whether N*Sync or Britney will be more successful in the long run.

  25. Re:Let's vote for the greatest forgotten... by __aagmrb7289 · · Score: 2, Insightful

    Ah, and then there is the other fad - point to Microsoft and say - "That's crap. Never used it, never will, won't even look, but it's crap. It's a fad! Watch it disappear."

    I suggest you get off the bandwagon and do a little of your own thinking...

    p.s. Stop making me defend Microsoft, you insensative clods!

  26. Re:Come on SOAP...Come on SOAP!! by FatSean · · Score: 2, Interesting

    I was rooting for SOAP to be on their list of crap. I've had to work with it lately, and aside from the UDDI feature, I can't think of one goddamn use for it. I mean, unless your service is a commodity, each service is going to be different enough such that a UDDI search would be useless. Without the UDDI, there is no need for the common message format. I hope it dies soon. The upside is, that most SOAP toolkits expose a service bean...and you can expose that bean using other technologies...like oh...RPC.

    --
    Blar.
  27. Relevance to, well, everything by ghostlibrary · · Score: 5, Funny

    I don't know, we just tiger teamed on this same paradigm at a standup meeting, and frankly most of their suggestions violate ISO 9000 and show no facility for CMI. Perhaps if they'd used a quality circle to better evaluate their stance, they'd actually have action items that would be meaningful.

    Fortunately, we here in the business world don't have the same 'fashion trends' problem you software blokes seem to suffer.

    --
    A.
  28. The very worst fashion... by cartman · · Score: 4, Interesting

    The very worst fashion has to be EJBs.

    EJBs complicate development. Where a single class would previously have worked just fine, EJB requires up to seven (!) classes to define things like the Remote Interface, Remote Home Interface, etc. And where a simple constructor would previously have served, EJB requires a long JNDI call. Not to mention, there are zillions of arbitrary coding restrictions that must be memorized and followed for EJB to work properly.

    Furthermore, EJBs drastically impair performance. The "shopping cart" demo that comes with a major commercial app server brings my 1GHz 512M machine to its knees. Such a program could otherwise execute quickly on a 286 8MHz, a machine less than 1/1000th as powerful as the one running the EJB. I regularly encounter shops that have huge farms of commodity boxes to run very trivial EJBs that would otherwise execute on a single box just fine.

    And EJBs do not scale any better than 2-tiered systems. 2-tiered systems allow you to horizontally scale the business logic by adding commodity machines to the second tier. Adding another tier does not help this at all.

    ...For this crippling blow to development, you get to pay Bea $40k/developer. Snake oil! Very expensive snake oil!

    Software development resembles a foot race between you and your competitors, and using EJB resembles paying a surgeon exorbitant sums to cut off your left leg before the race. It costs craploads of money, it cripples progress, and it hurts!

    1. Re:The very worst fashion... by wrmrxxx · · Score: 3, Insightful
      EJBs complicate development.

      Misuse of EJBs complicate development. When they're used just for the sake of fashion (as often seems to be the case), a perfectly good solution (for something) can be applied to entirely the wrong problem, resulting in a mess. The parent post makes two good points about the danger of fashion (another way of saying following blindly without thinking?); one of these points is perhaps made inadvertantly. Firstly, the results are bad. Secondly, it can make it look as if the subject of the fashion always produces bad results and has no merit.

      Just because EJBs can be (and sometimes are) misapplied does not mean they have no value. Sometimes the situation is not 'EJBs complicate development', but rather problems get complicated all by themselves, and EJBs can provide a solution. For example, container managed entity beans can make object-relational mapping happen (along with transaction management) with hardly any code. It may seem complicated when you look at the multiple interfaces and deployment descriptors needed, but really this is a very simple solution relative to the complexity of the actual task to be performed. If I had to write my own code to handle these tasks so easily, it would take me forever.

    2. Re:The very worst fashion... by cartman · · Score: 2, Informative
      Just because EJBs [are] misapplied does not mean they have no value... For example, container managed entity beans can make object-relational mapping happen (along with transaction management) with hardly any code. It may seem complicated... but really this is a very simple solution relative to the complexity of the actual task to be performed.

      Container-managed persistence may have some value, but it's an ancillary feature of EJB and is included as an "add-in." There are lots of libraries and tools to handle Object/Relational mapping, and the other ones work as well but do not involve the complexity and overhead of EJB.

      Not to mention, it appears that container-managed persistence usually just maps each instance variable to a single column in a relational table, with each object being a row. Thus, the code rendered unnecessary by container-manager persistence was actually quite trivial, and the persistence mechanism handles the simplest cases only. The more complicated cases must use bean-managed persistence, which requires as much custom programming as avoiding EJB altogether.

      I'm sincerely quite curious to learn what is the actual benefit of EJB. It's possible, of course, that there is some benefit of which I'm unaware. All of the claimed benefits, like scalability and simplicity, seem to be falsely claimed. If there is some situation in which EJBs are genuinely called for, then I'd be grateful if you'd tell me what it is.

      Thanks...

  29. Woah! by Gurudev+Das · · Score: 2, Funny

    You mean my micro-horse was just a waste of money?

    Anything more is stretching the point, like sticking a saddle on a pig and calling it a micro-horse. Inevitably, books then start to appear that rationalize the industry's madness, such as Micro-Horse Revealed, Micro-Horse Developer's Guide, or Teach Your Micro-Horse to Sing in 21 Days!
    anyways, here is a cool page I found.
  30. I nominate XML by tjstork · · Score: 3, Insightful


    XML is a fad because the whole concept of universal interchange of data is getting locked down by the big vendors. Theoretically, yes, data in XML is portable, but, so are well documented binary structures and CSV.

    To have real interoperability, you have to know how the software uses the data. To get that, you must have open source. Microsoft knows this, and that's why they are pushing XML as the "nirvana" of interoperability.

    I'd invite anyone who argues against the above to look at an XMLized Word document...

    --
    This is my sig.
    1. Re:I nominate XML by mlilback · · Score: 2, Informative

      Apple seemed to find a way to interoperate with XMLized Word documents. In Mac OS X 10.3 (Panther), any application using the Cocoa text classes can read MS Word files, including the latest XML variants.

      I've spent time trying to decipher the Excel file format, and I'd much rather have the XML version than the binary version.

    2. Re:I nominate XML by Anonymous Coward · · Score: 3, Insightful

      I don't care about XMLized Word documents. I care that 10 years from now I'll know exactly what

      <record id="35">
      <name>Joe Blo</name>
      <shoe-size>12</shoe-size>
      <favorite-number>10</favorite-number>
      </record>

      means, while the following:

      35,"Joe Blo",12,10

      is just a blob of useless data.

      I.e. XML helps ME in MY PROGRAMS today. It's not the nirvana of anything, but I sure as hell don't want to switch to CSV.

  31. Re:WAP fashionable? by homer_ca · · Score: 2, Interesting

    I've browsed the web on a PocketPC, and it's more a half assed, almost there solution. Some sites will detect the User Agent as Pocket IE and reformat accordingly. Some sites have a mobile version that's formatted for handheld screens, if you can dig around and find the link. You can also just browse the regular full size site. It fits what it can on that little 320x240 screen. Sometimes it fits and sometimes you'll have to scroll around a lot. Speed is decent with Wifi, but I imagine CDMA or GPRS would be painfully slow.

  32. Well... by Mr.Zong · · Score: 2, Interesting

    ..all i can really do is echo the standard sentiment. Except the .NET hate. I mean, most of it's prolly justified (Though only heaven knows, it not exactly a software package/framework people cut their teeth on), but i get this feeling, mostly from using it this past couple of months, that it will be here for the duration, for better or worse. The fact that it has so much crap integrated into it, and not to mention (considering its STILL in an extremely immature stage, and its rather broad functionality) its actually one of the MOST (if not the most) stable/functional(if not practial) things ever to come out of M$, it just gives me the feeling that this is were they want to head (again, maybe not the best idea, hell maybe not even in top 100, but i digress). That, and i like my compilers/FW's to be just like me, simple (not right, not always rational, but simple ;P).

  33. Re:What about Linux itself? by vadim_t · · Score: 2, Insightful

    Of course, just like everything, I'm pretty sure that Linux will eventually die, morph into something completely different from what it was, or be replaced by a better implementation.

    I think that Linux is going to last for a long time though. Given its open nature it can adapt much better to changing requirements than say, Windows. It looks like Windows is going to have to break the API soon, and become incompatible with older versions.

    Meanwhile, Linux, not having such a closed and monolithic design will almost surely remain compatible with old versions for a long time. I wouldn't be surprised if 4.0 was still able to run programs written to run under 2.0.

  34. Re:"Required" email by Clueless+Moron · · Score: 2, Interesting
    UML is pathetic. It's the OO equivalent of flowcharts, which thankfully died in the late 1970's. The worst part is that as soon as the first byte of code gets written, it becomes out of date and misleading, because who the hell is going to maintain the UML fiction when there's code to be written??

    And so of course, comically, tools came along that make UML diagrams out of code. Or try.

    Absurd. As a programmer, why on earth would I want to look at a bunch of silly boxes when I could look at the source code instead, complete with comments and algorithms?? Even just vi with etags is more useful than UML.

    What? You say there are no good comments in the code? Well, then the project is Doomed, and UML diagrams aren't going to change that. In the end, the code has to stand on its own two feet, and no amount of plastered-on "design methodology" is going to change that.

    PS: I have a compsci degree and 20 years hardcore experience. If you choose to tangle with me, beware that I have a large bookcase of mostly useless fad methodology books here ready to throw at your head.

  35. WAP Dead? I think not... by joefreshman · · Score: 2, Interesting

    Interesting to call WAP dead, considering that it's supported by just about every cellphone released nowadays.

    I'm a software developer for a company that delivers solutions over WAP. We have building, health, and fire inspectors pass or fail inspectors via WAP. It's simple, it's fast (as fast it would be on the web), and it's extremely cheap (existing cell phone plan + around $5/month extra for the WAP service).

    The news that WAP is dead is surprising to me, especially because I've had meetings with higher-ups at three major cell phone providers in the past month about their continued support for WAP on their cell phones.

    I personally use WAP constantly to check sports scores, plane schedules (and departure/arrival gates), and to check on my fantasy football team.

    I also own a T-Mobile Sidekick, which is consistently reviewed as one of the best devices for web-via-phone, and frankly, compared to WAP, it sucks. It's useful for sites that aren't supported via WAP, and of course it's essential for emailing or using extensive form-based websites, but it's much faster to check sports scores and use our Inspector interface via WAP than with the Sidekick browser (or the Treo browser, for that matter).

    Currently, there's simply no substitute for WAP, and I'm glad that it's here to stay.

  36. your job is a fashion trend by juicy_lizard · · Score: 2, Insightful

    UML, EJBs, SOAP, XML, all fashion trends, you say? This may be true, but take a look at job advertisements in the software development field... a lot of them require that you know wonderful things like UML, EJBs, SOAP, XML, etc. This is why I quit my very well paying software development job and went back to school to pursue graduate studies. I realized my job was based on nothing more than fashion trends. It was just the same old stuff being rehashed and remarketed in a different way. In grad school, on the other hand, I get to explore problems from the perspective of real research and development, instead of being constrained by a bunch of marketing drones insisting that we include every latest piece of technology possible to make our product seem "cutting edge."

  37. Favorite quote by El · · Score: 2, Insightful
    Marketing budgets are huge and are often larger than the budget to develop the software in the first place.

    Well, that sentance pretty much sums up what wrong with the computer industry, doesn't it?

    --

    "Freedom means freedom for everybody" -- Dick Cheney

  38. Fashion isn't really the correct term, IMO by King_TJ · · Score: 2, Insightful

    Is it just me, or does this strike you as sort of a fluff-piece? It seems like the author had little to say other than a vague concept that "Gee, a lot of once-popular software ends up not really having any staying power." and realized he could put together something somewhat eye-catching by relating it to the fashion industry.

    To me, fashion is a term reserved for defining the look of a thing. If people stopped wearing shorts because the weather got cold, it wouldn't be correct to blame the lack of sales of shorts as due to their being "unashionable anymore". Maybe everyone WANTED to wear their shorts but just couldn't stand to do so anymore because they weren't practical for the conditions.

    This is how I view most software. Things get hyped up initially, simply because they're new and different. (I.T. folks generally like variety. We get bored if we use the same old tools every day, for years on end, and no new challenges arise.) Then, as enough people put the new tools to use, they start coming to conclusions. "This product is far more efficient than the last one." or "This thing is bloatware!" The products that are too buggy, insecure, too slow, or just not as practical as they sounded on paper get tossed aside.

    The only element of "fashion" I can see in software development is in user interface design. Even this tends to stay within a single product line though. (EG. Apple went through their whole "Aqua" stage - where everything had shades of blue. Now Jobs is fascinated by chrome, and even his new G5 towers have metal cases, to match the chrome look to most of the new Apple apps.)

  39. author is full of poop by Anonymous Coward · · Score: 2, Insightful

    A lot of these "fads" are natural progressions of computer science.

    You do realize that computer science is pretty young still, right? Stuff like design patterns are breakthroughs, and they are *discoveries*, not "methodologies".

    Design patterns: "[programmers] shoehorn as many design patterns as possible into their design". Well, the author misunderstands patterns just as much as the people he is criticizing. Patterns are not "cookbooks". Patterns are simply names we use to describe stuff that our programs do over and over. You can't say you're not using patterns, because you are. The purpose of patterns is to think about your code at this higher abstract level, so you can recognize what's "the same" between every loop you ever wrote (and no "loop" is not in the GoF book, but it's still a pattern, because each loop is different but there are still similarities. learning to recognize those similarities is what patterns are about. Some people who've never read GoF have this ability).

    Struts: in the old days (a couple years ago), I'd agree with the author: Struts makes code too slow and complex. But these days with big complex projects and super-fast computers, Struts makes a lot of sense. In my own programs, as they become complex, I tend to abstract stuff out over and over until it ends up looking basically like Struts anyway. Why not just start abstract? My Struts code is completely factored into simple testable objects and is much more reliable. If I had to hire a wizard JSP/Beans programmer and a mediocre Struts programmer, I'd think hard about the Struts programmer because his code will probably be easier to refactor (this an untested theory :-). Again, it's not Struts itself, but "Struts-like systems" which are highly abstracted.

    Web service: Sure there's a lot of hype but I can throw together a remote procedure call interface in Perl that calls Java in about 5 minutes. Computers are fast, I don't care if they are burning extra cycles building SOAP envelopes (or XML-RPC which I prefer at the moment, easier to debug, SOAP is not stable and universal yet).

    XML: say, why does he "flinch" at XSLT? XSLT is a great solution to a whole class of problems. I think of XML as the ASCII of this century.. not the most perfect representation for all data, but probably pretty close. How many times have I needed a format and just started using XML and not have to worry about 1) how to escape weird characters; 2) how to handle different character sets; 3) how to write and debug yet ANOTHER parser for MyLittleDataFormat23425, etc., etc. XML just makes life easier.

    VB.NET: haven't had much experience with this but people seem to like it....

    XP: XP is definitely faddish, but beneath the fad is solid basic computer science best practices. For instance testing: is there any idiot out there who DOESN'T think testing is important? Unit testing catches so many stupid errors it's not even funny. And test-first development means the tests actually get written. Psychologically, it's a lot more "satisfying" to write the test, and then the code that passes it, then the other way around. etc. etc. etc... the author is right, XP stuff will be integrating into other "traditional" methodologies. But that means XP is not a fad, doesn't it! XP is basically the only methodology that I've seen that works, even if you don't do it right, and it makes programming FUN. I can't say that for anything else I've tried or seen.

    So in summary, the author seems like an old-timer who doesn't like this new-fangled stuff, and doesn't realize that yes, after the fads die down, we'll be left with the best parts of each "fad", and we'll be the better for it!

  40. Models by yerricde · · Score: 2, Insightful

    This is XML as well, but is it any easier to pick apart once you've deserialized it into a tree?

    <j:u sno="35">
    <j:clin>Joe Blo</clin>
    <j:m dim="len" obj="foot" unit="USShoeSize">10</m>
    <j:phint>
    <j:q>What is your favorite number?</q>
    <j:a>10</a>
    </phint>
    </u>

    Just having XML syntax just gives you a tree. You need some way to process Microsoft's model of something into a model your program can understand.

    --
    Will I retire or break 10K?
  41. Shrink-wrap apps by Latent+Heat · · Score: 2, Insightful
    I know of two people I know doing "shrink-wrap" apps. My friend is doing this medical testing freeware/shareware deal. My sister-in-law is doing some kind of automating of chemical lab tests that she is selling through some lab equipment company. These are small markets that are unlikely to be absorbed or assimilated by MS any time soon. Both are using VB 6.0 and don't have any hurry to change any time soon.

    .NET might make sense in "the enterprise" where your IT dept makes everyone run XP Professional and goes around and loads the .NET runtime. Other than that, no one has the .NET runtime because Windows does not come with it. Until the .NET runtime becomes more ubiquitous, I don't why these people should switch from VB 6.

  42. Reading UML by Latent+Heat · · Score: 2, Insightful
    At least I could read flow charts. The problem with flow charts is also the problem that Structured Programming (an loop invariant analysis and all that jive) tried to solve. If the flow chart fits on one page it is good, but any useful system has a flow chart that could cover walls and walls.

    I would like very much to have a tool like UML to explain my designs -- I am a very visual/graphical type person. The trouble is that UML has so many kinds of lines, arrow heads, and connector icons that I can't make heads or tails of it. Even if I could learn the UML iconography and calligraphy, the representation is so busy that it seems to be useless.

  43. Re:Collections. by jfengel · · Score: 2, Interesting

    For the most part you should substitute the JCF HashMap and ArrayList, which roughly replace Hashtable and Vector with non-synchronized versions (which add overhead which is frequently unnecessary).

    The poster might be referring to the fact that the routines tend to provide Objects instead of strongly-typed objects, which leads to so much casting that I do frequently end up writing specialized collections classes just to avoid the cast. JDK 1.5 (when and if) should have a new collections framework designed to solve that problem.

  44. My personal vote for industry flavors of the week by meldroc · · Score: 3, Interesting

    Flavors of the week, past & present:

    DRM: Right now every big software company is considering it, and many of them will stop using it when they realize just how much it pisses off their customers, and how little it does to reduce piracy.

    Push content: How many of you still have a push client on your systems? /me listens for responses, hears nothing but chirping crickets.

    .NET is also a flavor of the week that will be yesterday's news once Microsoft force-upgrades their customers to the next flavor of the week.

    Cameras in every gadget, starting with cell-phones. Most people don't care enough to use them, don't want to have to check themselves in the mirror every time their phone rings, and have little use for them outside the normal uses that a dedicated camera is usually used for. In the end, it's an expensive gimmick.

    Virtual reality. Visions of William Gibson's matrix have danced in the heads of thousands of developers and marketers, but that's not going to happen in real life. The problem is that VR interfaces are far less intuitive than the good old fashioned screen full of windows with a keyboard & mouse. Can you imagine donning VR goggles & gloves to write a letter or buy airline tickets? It's just plain easier & faster to do it the way we do it today.

    --

    Meldroc, Waster of Electrons
  45. Re:"Required" email by WNight · · Score: 3, Insightful

    A method that proposes comments that don't live in the code is broken. It requires programmers to have a second file open, and to update two things every time they make a change. A system that requires an extra annoying step for absolutely no gain is defective.

    For absolutely no gain? Yes. There are better ways, such as putting any needed documentation into the source code itself. That way not only are they more accessible when reading the code but they're easier to change and harder to forget about.

    Check out doxygen (at sourceforge) for a pretty cool system.

  46. Re:WAP fashionable? by FireBreathingDog · · Score: 2, Funny
    I dont have bluetooth, nor a bluetooth PDA. I do have a $50 cell phone with a $3/month for WAP access and I read my mail, buy movie tickets, send e-mail and even browse pr0n with it.

    Yikes! I can't imagine that screen size is useful unless you're into midget sex.

    I get better resolution out of the memories of pr0n in my head than you probably get on that damn phone.

    Besides, who's holding the phone for you while you're...umm...

  47. Fashion? Yeah sure. by jotaeleemeese · · Score: 2, Insightful

    This is your fashion: it is cheaper to outsource, at least in the short term. This is here to stay (is not even a fashion, it has been common sense since the early 90s). If your company makes doughnouts why should it devote resources to accounting, IT or cleaning? All this can be done by specialists in the respective fields. And if those highly skilled specialists happen to live in Gujarat and charge you substantially less for the outsourcing, you, as the person responsible for increasing shareholders value (and you own stock options) would be mad not to take the oportunity.

    End of the history. In an economic system where quarterly reports are king you did not expect long term vision, or did you?

    --
    IANAL but write like a drunk one.