Slashdot Mirror


When Should We Ditch Our Platform?

odoketa writes "My organization recently had to replace our Web developer. It took us an extremely long time to find someone with the necessary skill set. I don't know if this is because of the platform we are running (which I will leave nameless), or simply because the fates conspiring against us. It's easy to assume that languages or platforms are popular based on buzz, but the rubber hits the road when you have to hire someone to maintain that code. How are folks out there determining when you've backed the wrong horse, and getting back on track?"

622 comments

  1. Solution by TheSpoom · · Score: 5, Funny

    Stop using FORTRAN. It really wasn't built for the web, you know.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
    1. Re:Solution by shutdown+-p+now · · Score: 3, Informative

      You're joking, but sometimes it's for real. Care to try PL/SQL for that instead?

    2. Re:Solution by lexarius · · Score: 5, Funny

      You'll change your mind after you see FORTRAN on Rails.

    3. Re:Solution by Anonymous Coward · · Score: 5, Funny

      FORTRAN runs in Ruts, not on Rails, don't forget.

    4. Re:Solution by farrellj · · Score: 1

      But what about all those poor souls who are using cavemen to beat rocks together to make 0's and 1's for today's legacy systems?!?!?! THINK OF THE CAVEMEN!

      ttyl
                Farrell ...this is not a commercial for Geico...although I would love to see the Geico Cavemen eat the Geico Gecko!

      --
      CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
    5. Re:Solution by sirgoran · · Score: 2, Funny

      Damn!
      And here I was thinking that COBOL on Rails would be released first.

      Looks like I backed the wrong horse again!

      Man, I am going to be SOOO fired for this...

      --
      Carpe Scrotum - The only way to deal with your competition.
    6. Re:Solution by MightyMait · · Score: 2, Insightful

      Hey, this is funny! Don't you get the joke? Ruts=punch cards.

      --
      Nothing interesting to say...MUST...NOT...REPLY...ohtheheckwithit.
    7. Re:Solution by slashdotlurker · · Score: 1

      Good suggestion. The number crunching world has long since moved on to Fortran 95 and F2K in any case. No one in their right mind messes with FORTRAN any more.

    8. Re:Solution by HomerJ · · Score: 5, Interesting

      I've actually WRITTEN web backends in Fortran....how else are you going to make a pretty website with data that only sits on a 20 year old VAX?

      I also did one site in Fortran just to see how it would work. Fortran write statements using formats, is a lot better than using C, I'll tell you that much.

    9. Re:Solution by sm62704 · · Score: 1

      You'll change your mind after you see FORTRAN on Rails.

      Dude, smoking pure heroin through a Kool cigarette (a "rail") is so 1970s. These days FORTRAN smokes crack.

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    10. Re:Solution by mengel · · Score: 3
      Sure it was! How about the following demonstration:

      program hellocgi
      write (*,100) 'Content-Type: text/html'
      write (*,100) ''
      write (*,100) 'hello world!'
      stop

      100 format (a)

      end
      (Boy is it hard to get Slashcode to do a decent fortran listing -- I had to do double-nested blockquotes with ecode blocks inside except for the line numbered part... And I had to add this at the end to make it not complain about how many characters per line the post is)
      --
      - "History shows again and again how nature points out the folly of men" -- Blue Oyster Cult, 'Godzilla'
    11. Re:Solution by hullabalucination · · Score: 3, Funny

      Stop using FORTRAN. It really wasn't built for the web, you know.

      Oh, haven't you heard? HTML tables are out; layouts based on Hollerith fields are in.

    12. Re:Solution by greg1104 · · Score: 2, Funny

      FRAILS? That sounds about right.

    13. Re:Solution by ProducedRaw · · Score: 1

      It'll blow up when you see FORTRAN on paper planes.

    14. Re:Solution by hey! · · Score: 1

      Neither was PERL.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    15. Re:Solution by HomerJ · · Score: 1

      Another way to do it, is to start naming variables after html blocks, set them to format lines, then you can do something like this...

      write(*,p)'hello world'
      write(*,bold)'this is in bold'

    16. Re:Solution by supervillainsf · · Score: 1

      Ruts=punch cards

      well, if it didn't before it sure does now
    17. Re:Solution by Anonymous Coward · · Score: 0

      > I've actually WRITTEN web backends in Fortran....how else are you going to make a pretty website with data that only sits on a 20 year old VAX?

      Emulate the VAX on a 386? :)

    18. Re:Solution by TheRealMindChild · · Score: 1

      Or FORTRAN.NET Ultimate Enterprise Team Edition

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    19. Re:Solution by Neanderthal+Ninny · · Score: 1

      When the platform is used well beyond its intended purpose.
      Take for example FORTRAN programming language I see as whipping boy here. FORTRAN is great for people who are doing mathematics and other math based computation but not for other purposes. We still use FORTRAN for physics applications and yes, we still can use it with the internet as part of the application for the web.
      However there is a limit to this especially if you are in a production environment. If an platform is no longer supported my anyone, 3rd party or open source (ie OpenVMS), then you should abandon that platform and migrate to another platform. If you use that platform for fun and backup the data to another system then you can use as long it works. I have a 10 year old Apple PowerBook 1400CS that runs only Apple Mac OS 8.1 that I only use as an digital picture frame and it still works.

    20. Re:Solution by Nimey · · Score: 1

      You laugh, but someone has a product called CobolScript.

      http://cobolscript.googlepages.com/cobolscript

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    21. Re:Solution by nebaz · · Score: 1

      Wouldn't that be F# ?

      --
      Rhymes that keep their secrets will unfold behind the clouds.There upon the rainbow is the answer to a neverending story
    22. Re:Solution by HomerJ · · Score: 1

      HA, if I didn't already post in this article, I'd have rated you +1 funny

    23. Re:Solution by toadlife · · Score: 1

      You misspelled pearl!!

      Ha! hA!

      --
      I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
    24. Re:Solution by rubycodez · · Score: 1

      quite true, Net Express for MicroFocus COBOL is clearly the superior way to pump the electric mails and datums through the intertubes.

    25. Re:Solution by bunratty · · Score: 1

      NONMEM, used by most (if not all) scientists doing pharmacokinetics/pharmacodynamics, is written in FORTRAN 77. I'm sure there are many more examples of important scientific and engineering code still maintained in FORTRAN. When gfortran becomes about as stable as g77 was, perhaps most will really move on to Fortran 95.

      --
      What a fool believes, he sees, no wise man has the power to reason away.
    26. Re:Solution by cyphercell · · Score: 1

      ... then he could talk to a prison psych, brilliant!

      --
      Under the influence of Post-Cyberpunk Gonzo Journalism
    27. Re:Solution by marklark · · Score: 1

      :^)! This has to be the most worthless set of _Answers_ that I've ever seen here!

    28. Re:Solution by slashdotlurker · · Score: 1

      There is tons of legacy code in FORTRAN. netlib is an easily accessible example.
      I was talking about new code development. Big vendors like NAG and others have long since moved to Fortran 95 and C. The latter does not have as much traction because of the complicated and platform dependent nature of interfacing from FORTRAN to C (which is necessary if you do not wish to rewrite decades worth of well tested high performance code), but most Fortran 95 compilers offer switches that can handle legacy code quite happily.

    29. Re:Solution by MasterLock · · Score: 1

      I've seen a COBOL one. My father-in-law. Crazy stuff!

    30. Re:Solution by HomerJ · · Score: 1

      You could do a full output of a page with COBOL. I'd have to set up a COBOL environment for the specifics though. Normally it's just backend stuff, and you expose output via an RPC call or the like. But entirely possible to use it to generate a page directly.

      Actually, what a lot of people don't realize, is a lot of these older languages are almost better for this sort of thing. They were designed for text based output. This was used for reporting back then, but barely more than trivial to retool it for an HTML or XML output as input into something else. If you ever used perl's formatting(using actual formats), COBOL's output isn't much different.

    31. Re:Solution by Anonymous Coward · · Score: 0

      No, F# is ML on .net. Not even close.

    32. Re:Solution by iso-cop · · Score: 1

      You could use DEC Ada on your 20 year old VAX. Believe it or not, we still do.

      To answer the bigger question, get together a decent training program on the particulars of your system and hire as follows:

      1) junior/fresh-out to "grow your own" expertise
      2) well-rounded mid-level folks when the need hits
      3) senior personnel with specific expertise in your type of system, when in dire need

      Both 1 and 2 greatly benefit from a well structured training program. You do not care what particular system people know, only that they can learn yours at a reasonably rapid pace. The more you head from 1 toward 3, the more you need targeted expertise in your specifics because you are paying those people more and expect more from them.

    33. Re:Solution by HomerJ · · Score: 1

      Still using DEC Ada? Your ideas are intriguing and I wish to subscribe to your newsletter.

    34. Re:Solution by Sadsfae · · Score: 1

      if you are still utilizing flaming urns, walking skeletons and flashing text it's time to move on.

      --
      Have a squat over at the hobo house.
    35. Re:Solution by Ed+Avis · · Score: 1

      Awesome... the CobolScript logo is a cute little dinosaur...

      --
      -- Ed Avis ed@membled.com
    36. Re:Solution by Anonymous Coward · · Score: 0

      And, on a slightly related note, I've written one in S3 and SCL (System Control Language) on a Fujitsu (ex ICL) mainframe !

    37. Re:Solution by drew · · Score: 1

      Oh God, does that bring back some bad memories. But boy, did it pay well...

      --
      If I don't put anything here, will anyone recognize me anymore?
    38. Re:Solution by Just+Some+Guy · · Score: 2, Funny

      You're joking, but sometimes it's for real. Care to try PL/SQL for that instead?

      I walked into a job interview and saw a book, "Web Development with Visual RPG". I got up and left.

      --
      Dewey, what part of this looks like authorities should be involved?
    39. Re:Solution by real+gumby · · Score: 1

      Actually, using for layout (as opposed to using HTML for mark-up) is exactly equivalent to Hollerith fields, sad to say.

  2. Which platform? by Anonymous Coward · · Score: 5, Funny

    How do you expect Slashdot readers to tell you whether to ditch your platform unless they know whether it is Microsoft or not?

    1. Re:Which platform? by Brian+Gordon · · Score: 2, Insightful

      Why can't we know it anyway? That's just stupid, like for security reasons or something we can't know? Nobody answer this joker.

    2. Re:Which platform? by LithiumX · · Score: 5, Insightful

      Maybe he wants an objective response?

      If you know what platform he's talking about, opinions would be skewed based on what people think of that platform. It would be a distraction.

      Not knowing the specifics makes it easier to provide the general answers he's looking for.

      --
      Do not confuse "Freedom of Choice" with "Free Will".
    3. Re:Which platform? by Brian+Gordon · · Score: 4, Insightful

      Or not- many older platforms are just worth ditching in favor of easier or more efficient platforms. Yeah he'll get objective answers, but they won't be valuable.

    4. Re:Which platform? by snl2587 · · Score: 1

      But there isn't a general answer. In order for anyone to give an accurate assessment of the situation all factors must be taken into account.

    5. Re:Which platform? by mooingyak · · Score: 5, Insightful

      The platform is irrelevant. Maybe you could list a dozen problems with it off of the top of your head, but THAT'S NOT WHAT HE'S ASKING.

      He wants to know, generically, how you decide that what you're using is the wrong choice.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    6. Re:Which platform? by orclevegam · · Score: 2, Insightful

      Ok, let me see if I follow your logic here. We're supposed to provide feedback on whether he should ditch his platform or not, but we can't know what the platform is because it might effect our opinion of whether he should ditch it or not. Riiiight. Hey, you think I should be using a different brand of shoe, but I can't tell you which brand I'm currently using because it might effect your opinion of whether I should switch or not.

      News flash, when asking for an opinion about something, you have to tell people what that something is so that they know which opinion they're supposed to be giving you. I suppose I could just run down the list and toss out an opinion of every platform that's ever existed and you could make your decision based on that, but that really wastes rather a lot of time don't you think.

      --
      Curiosity was framed, Ignorance killed the cat.
    7. Re:Which platform? by orclevegam · · Score: 5, Interesting

      He wants to know, generically, how you decide that what you're using is the wrong choice. All choices are wrong, some are just more wrong than others. Generally you attempt to find the least wrong choice at that time, and then periodically re-evaluate the cost of switching to a newer less wrong choice.
      --
      Curiosity was framed, Ignorance killed the cat.
    8. Re:Which platform? by LithiumX · · Score: 2, Insightful

      There is no single general answer, but:

      If the system is already fully developed and no major changes are expected, that's a plus for sticking to their guns.

      If they can find an already-good web developer who's willing to pick up a new platform (and they're in no rush to change it much), that's another plus for sticking with it.

      If the system itself is older, then a rewrite becomes more reasonable even if it works great.

      Is the website largely static? Platform barely matters then.

      Is the site Java based? Dump that trash, because only bitches use Java.

      That is some of my totally unbiased generic input.

      Maybe it would be a good idea if a list of current "optimal" systems were given out. On second thought, though, maybe it would be better if the actual platform were named, as any ProductX blasting would still contain a few useful threads.

      --
      Do not confuse "Freedom of Choice" with "Free Will".
    9. Re:Which platform? by fyrie · · Score: 1

      Oh... so true. But seriously, how can it be MS if they are having trouble finding a good developer to support it. MS-abled developers aren't difficult to come by. However, it is possible that it's some niche offshoot platform based on .NET like say Monorail or Castle.

    10. Re:Which platform? by RingDev · · Score: 1

      His question is: "How are folks out there determining when you've backed the wrong horse, and getting back on track?"

      Knowing which platform he is using is irrelevant to the topic.

      Not only that, but can you imagine the flame fest, evangelism, crazy modding, and entirely worthless chaos that would ensue from him stating his platform? It would be nothing but Ruby, PHP, ASP, .Net, Java, Flash, Silverlight, AJAX, etc... fans screaming at each other over why their bandwagon is better than all the other bandwagons and flaming each other for even suggesting an alternative. Everyone would end the day with less karma and feeling crappy.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    11. Re:Which platform? by orclevegam · · Score: 2, Insightful

      Is the site Java based? Dump that trash, because only bitches use Java. Out of curiosity, what would you recommend using instead of Java (and don't you dare say PHP)?
      --
      Curiosity was framed, Ignorance killed the cat.
    12. Re:Which platform? by LithiumX · · Score: 3, Interesting

      Out of curiosity, what would you recommend using instead of Java (and don't you dare say PHP)?

      My unreasoning hatred for Java blinds me to any semblance of logic. I would suggest Ada before I'd suggest Java.
      --
      Do not confuse "Freedom of Choice" with "Free Will".
    13. Re:Which platform? by Grayputer · · Score: 5, Insightful

      No he it NOT asking whether he should drop his platform. He is asking the more general question, how do you know when ANY platform has reached it 'drop' time'. You want to feed him a fish, he is asking to be taught to fish, big difference.

    14. Re:Which platform? by mweather · · Score: 1

      Python, Ruby? Tcl?

    15. Re:Which platform? by truthsearch · · Score: 1

      MS-abled developers aren't difficult to come by.

      Very good ones are. It's not unlike any other popular platform: plenty of developers know enough to get by, but very good developers are often hard to find. I worked in MS-centric IT departments for 10 years and I'd say maybe 10% of the staff were what I would call great developers. It was amazing how many candidates we turned away just trying to find mediocre developers.

    16. Re:Which platform? by LithiumX · · Score: 4, Informative

      I do believe the original question was how do you know when you're off-track, rather than asking if he should drop his specific technology.

      Using the shoe analogy, I'd probably say that if she shoe was comfortable, wasn't breaking down after a week of use, and people weren't openly ridiculing your choice of footwear, then your brand should be fine. If it wasn't comfortable but everything else checked out, I'd suggest a different type of shoe regardless of brand. If it was breaking down immediately, hell yes get another brand, and consider spending more than $15 bucks next time. If people are laughing, then you venture into a whole new line of questioning.

      Through that whole thing, I don't need to know what brand you wear now. If I did know, I could give you better advice, but what if you were wearing a brand that might not be popular on a particular forum? You would have to separate out the BrandX-haters who make reasonable arguments from people who honestly don't care but have a low opinion of that specific brand.

      Which proves the man is running a Microsoft product, because he's hiding something. Only MS can produce that level of guilt.

      --
      Do not confuse "Freedom of Choice" with "Free Will".
    17. Re:Which platform? by BoomerSooner · · Score: 1

      What about Assembly? Wouldn't that run quickly?

    18. Re:Which platform? by moderatorrater · · Score: 5, Insightful

      The answer's easy: ditch the platform when the costs of maintaining it become greater than the cost of switching. That answer's so easy, in fact, that it's pointless to ask slashdot about it, bring it up in conversation, or even think about it for more than 2 minutes.

      If you want something that actually requires an answer, you need to give more details. What's making him think of switching platforms? What's costing so much in maintenance or in finding people that it's just not worth it? Are these difficulties in his head, or is he actually having problems?

      My guess is that he's talking about ruby on rails, because it's got a lot of hype and it's short on people with the necessary skill set. My answer in that instance would be, don't go with a young platform in the first place. Don't buy into hype until it's so mature that it doesn't have any hype, just a good solid list of pros and cons.

      But maybe he's using .NET, in which case the necessary skillset is having your head up your ass ;) But seriously, if he's having problems finding people of the right skillset on .NET, he needs to increase pay or switch to a platform where the pay's not as high as it is.

      Perhaps he's using LAMP on either perl or php. If it's perl, he should shift to php as soon as possible, because perl code becomes very hard to maintain the longer it goes and developers are fewer and higher paid. He might have a problem with php because the developers lack the professional focus, in which case he should tighten his hiring practices.

      Those are just some of the possible scenarios, and each of them requires a different response. The variables going into platform decisions are so complex that asking for an analysis without giving details requires a response that would be well over a hundred pages. He deserves credit for coming to the proper forum for his question (instead of asking a legal question, like "when is it legal for me to take my children without my ex-wife knowing?"), but that doesn't change the fact that any discussion which arises will be based on things that almost certainly don't answer his question.

    19. Re:Which platform? by RingDev · · Score: 1

      Pacal maybe, but Ada? That's just cruel.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    20. Re:Which platform? by laughing+rabbit · · Score: 1

      Mod +5 "Gets the Point"

      Thanks for playing!

      --
      No incumbents, not no where, not no how.
      Vote them out every term.
    21. Re:Which platform? by moderatorrater · · Score: 1

      Asking for a generic answer to this question is like asking for a generic answer for when to settle a lawsuit: stop when the costs of moving forward are greater than the cost of switching. Done. End of story. Without further details on his hiring problems or his platform, any other discussion is pointless.

      So, the only generic answer that can be given is this: find someone with the necessary skills to evaluate the costs and benefits of switching and staying, and pay them to give you the information to decide which one is better. We can do a shallow analysis of the different factors that go into the decision, but the submitter shouldn't expect or hope for a glimmer of insight, because platform decisions rely on a thousand little variables.

    22. Re:Which platform? by blincoln · · Score: 4, Funny

      Is the site Java based? Dump that trash, because only bitches use Java.

      I didn't know Lil Jon worked in the tech industry. I suddenly feel the need to crunk-enable all of my servers.

      --
      "...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
    23. Re:Which platform? by doom · · Score: 1

      Not only that, but can you imagine the flame fest, evangelism, crazy modding, and entirely worthless chaos that would ensue from him stating his platform? It would be nothing but Ruby, PHP, ASP, .Net, Java, Flash, Silverlight, AJAX, etc... fans screaming at each other over why their bandwagon is better than all the other bandwagons and flaming each other for even suggesting an alternative.

      Yes, and y'all are depriving us of that fun.

      Seriously: one way you evaluate platforms is by reading advocates flaming each other and then trying to decide which group sounds like they know what they're talking about. How else are you going to learn about a platform, by reading the hype put out on it's own website? (I tried looking at the Drupal web site the other day, and they don't exactly make it easy to find technical information... hell, it's hard to find out that it's written in PHP! They will however tell you that it's "robust" -- whatever that's supposed to mean).

      The decision to avoid naming-names is a recognition that there are problems with this syndrome of dueling advocacy flames, but it's just ducking the problem without fixing it. It sure would be nice to have something better, wouldn't it? What exactly would that be?

      How do you evaluate web platforms? Well, you re-implement your site in every available web platform, and create a heavy duty system of performance benchmarking, and you hammer away at all of them and determine which one performs better. Then you survey the sub-managers of each of the sub-projects for each platform, and ask them to tell you if they felt like they were having trouble hiring qualified people to work on them (unfortunately, they'll all say "yes"), and so on. Then you put that information all together, and then you'll get fired for spending millions of dollars without doing any productive work.

      Or, here's an idea: how about you go to one of those university departments with "Computer" in the name (CS, CE, whatever) and talk them into doing comparitive studies like this, using their copious supply of undergraduates as volunteer labor? Then they could publish useful data that everyone would actually want to know.

      Or you, could look over the results of the "Plat Forms Contest" again... except it didn't show a lot of difference between the language/platform choices, did it? It seems that if you've got a team of experienced developers working with a mature set of libraries that they're familiar with, there just isn't a huge amount of gains to be made from switching platforms.

    24. Re:Which platform? by Anonymous Coward · · Score: 0

      Maybe he wants an objective response? He's asking Slashdot, I think we can safely rule that out, or otherwise conclude that he is a complete idiot.

    25. Re:Which platform? by mysqlrocks · · Score: 2, Insightful

      Out of curiosity, what would you recommend using instead of Java (and don't you dare say PHP)?

      PHP + Zend Framework - seriously

    26. Re:Which platform? by MightyMartian · · Score: 3, Interesting

      Perhaps he's using LAMP on either perl or php. If it's perl, he should shift to php as soon as possible, because perl code becomes very hard to maintain the longer it goes and developers are fewer and higher paid. He might have a problem with php because the developers lack the professional focus, in which case he should tighten his hiring practices.


      I'm attempting to manage someone else's PHP code, and I can tell you it can be every bit as awful as maintaining alien Perl code. Throw in a spattering of CSS and DHTML, and man-o-man, but trying to read some absent developer's mind can be a nightmare.

      So here I am, thinking about redoing the whole thing, just so it makes sense. This is the real problem with a guy sitting in his basement writing your platform for you. Unlike a team where there is proper documentation, notes and usually decently documented source code, you have a collection of half-baked half-used ideas tossed together until they work, but in a fashion so maniacally complicated that you end up spending more time (and thus money) trying to sort it out than if you just simply rolled your own again.

      Of course, the guy that follows you has the same problem, because the need to get it into production fast means you don't properly follow conventions either. It's an endless vicious cycle, and PHP is every bit as bad as Javascript, Visual BASIC, VBA and so forth for producing this shitty code.
      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    27. Re:Which platform? by vandit2k6 · · Score: 0

      Is the site Java based? Dump that trash, because only bitches use Java. Is the web application written with Struts framework and Java really that bad. What do you have against this. Please explain. Thanks
      --
      Its nice to be important but its more important to be nice
    28. Re:Which platform? by parvenu74 · · Score: 1

      I tried looking at the Drupal web site the other day, and they don't exactly make it easy to find technical information... hell, it's hard to find out that it's written in PHP! You know, if you had checked Wikipedia, you would have learned, in the very first sentence of the article, that it was written in PHP.

      Sheesh, that was hard.

    29. Re:Which platform? by wildBoar · · Score: 1

      Newer more efficient platforms like J2EE :-)

    30. Re:Which platform? by BeanThere · · Score: 1

      opinions would be skewed based on what people think of that platform

      You say that like it's a bad thing. We're talking about platforms here, some really are better than others, there is no "platform relativism", since when are we supposed to pretend they're all equal? They're no more equal than all cars are equal, and when I want to buy a car, you bet I ask a few mechanics what they think of different makes.

    31. Re:Which platform? by Omnifarious · · Score: 4, Interesting

      My hatred of Java has nothing to do with speed. The platform has become a giant morass of 'enterprisey' 'solutions' that create more need for more 'solutions'. And all Java 'solutions' must somehow involve XML, because it's standard, and enterprisey.

    32. Re:Which platform? by BlackSnake112 · · Score: 1

      Which Ada? The Object oriented one or the other one?

    33. Re:Which platform? by Omnifarious · · Score: 2, Interesting

      I would highly recommend either Python or Ruby, though my general preference is for Python. TCL is an awful tar pit put there to make it easy to spot academic things that aren't actually useful in reality. They all seem to get trapped in TCL. It's eerie.

    34. Re:Which platform? by Rary · · Score: 4, Insightful

      But there isn't a general answer. In order for anyone to give an accurate assessment of the situation all factors must be taken into account.

      I think that's the point. He doesn't want us to assess the situation for him, he wants us to identify what the factors are that he should take into account to do the assessment himself.

      If he leaves the assessment to the SlashHorde, the factors that will be used will include religious bias. He's trying to eliminate that.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

    35. Re:Which platform? by Reverend528 · · Score: 1

      I'm pretty sure Java is the object-oriented Ada.

    36. Re:Which platform? by DaveV1.0 · · Score: 1

      actually, it is not stupid and I bet it has nothing to do with security.

      He is looking for an objective measure. He doesn't want the ideologues spouting off that he should drop his current system for their favorite system.

      He wants a way to make the decision himself.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    37. Re:Which platform? by soliptic · · Score: 1

      Brilliant post, but I don't agree with this last bit:

      Which proves the man is running a Microsoft product, because he's hiding something. Only MS can produce that level of guilt.

      Every (recentish) /. story about Ruby on Rails, Java or PHP (let alone >1 of the above compared) has, at least in part, degenerated into the same old flamefests. I could reasonably see the guy's point in taking the approach he did were it any of those, just as much as MS.

    38. Re:Which platform? by KlomDark · · Score: 1, Insightful

      ASP.NET with C# as the back-end language.

    39. Re:Which platform? by Plugh · · Score: 2, Interesting

      As a person who's been using Drupal for the past 2 years, I can honestly say, I'd prefer to be beaten up in the face than have to use Drupal any more.

    40. Re:Which platform? by mooingyak · · Score: 1

      Asking for a generic answer to this question is like asking for a generic answer for when to settle a lawsuit: stop when the costs of moving forward are greater than the cost of switching.

      I don't think the answer is actually that simple. You need to cover risks as well. Maybe the current maintenance costs are trivial, but replacing people *might* be time consuming (hence the emphasis on personnel by the submitter). It gets more complicated when you have to factor in unknowns.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    41. Re:Which platform? by sm62704 · · Score: 1

      here's a picture of the guy's platforms. I say ditch 'em NOW!

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    42. Re:Which platform? by mooingyak · · Score: 2, Funny

      If your chosen platform [snip] is unpronounceable.

      This reason. I like this reason. Is good reason.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    43. Re:Which platform? by CustomDesigned · · Score: 4, Informative
      My hatred of Java has nothing to do with speed. The platform has become a giant morass of 'enterprisey' 'solutions' that create more need for more 'solutions'. And all Java 'solutions' must somehow involve XML, because it's standard, and enterprisey.

      I sympathize. However, that is hatred for J2EE, not Java. I stuck with JDK 1.1 until last year just to keep away from J2EE. However, I've found that you can safely ignore that crud, and just use core stuff. It doesn't affect startup time thanks to the classlib precompiler introduced in Java5. (In theory, you can create your own custom compiled classlib minus the crud to save memory also, but the memory isn't an issue anymore with current hardware.)

    44. Re:Which platform? by mongus · · Score: 3, Informative

      Not all Java "solutions" use XML and require that you develop EJBs. You just haven't seen the right platform for Java web development.

    45. Re:Which platform? by sm62704 · · Score: 1

      My unreasoning hatred for Java blinds me to any semblance of logic.

      I'm like that with C, which is unfortunately what everything is written in these days. Damn kids. Give me plain old assembly any day.

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    46. Re:Which platform? by sm62704 · · Score: 1

      I wear KDEs shoes. Don't all Linux users?

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    47. Re:Which platform? by forgotten_my_nick · · Score: 4, Insightful

      "I stuck with JDK 1.1 until last year just to keep away from J2EE."

      ROFL. That's like saying I stuck with Windows 95 because I wanted to stay away from XP.

      Even 1.4 JVM is considered dated by todays standards and still way better then 1.1.

    48. Re:Which platform? by moderatorrater · · Score: 1

      No, he's saying that he thinks he's been fishing wrong, but he doesn't know whether he has or not, and he can't give any details about where or how he's fishing, but he wants to know what he's doing wrong. Without knowing whether he's fly fishing, net fishing, deep sea fishing or trolling in a lake, how are we supposed to tell him what he wants to know?

      If he gave a specific platform, he would hear enough advice and argument about that platform in particular that he can start to learn about it in general. He would see the interaction between old and new technologies, scripting vs compiled, proprietary vs open, etc. Hell, his use of the word "platform" could even mean anything from language to DB to OS to webserver to all of them put together. Maybe all the arguments about language are pointless since he's having trouble finding a developer that can use Sun's webserver well.

      The techniques associated with fishing can be taught in an afternoon, the techniques associated with development and technologies take years to learn. Without narrowing down the field, you can't expect to get usable knowledge.

    49. Re:Which platform? by donweel · · Score: 1

      He never complained about things not working. He needs to learn fishing for competent developers. Failing that he has to get a more popular platform.

      --
      Many a long talk since then I have had with the man in the moon; he had my confidence on the voyage. Joshua Slocum
    50. Re:Which platform? by forgotten_my_nick · · Score: 1

      Your bias is somewhat limited. Do some research on Java. It would be like a hatred for C++ because it is only used for windows programs.

    51. Re:Which platform? by moderatorrater · · Score: 1

      And if this technology and the techniques associated with it were as simple as a shoe, then they would have had the internet for thousands of years. Unfortunately, the field is much more complex, too complex to answer in a post to slashdot, too complex to even attempt it.

    52. Re:Which platform? by NathanBFH · · Score: 1

      I will vouch for that combo as well. We use the Zend Framework (it's PHP, for anyone not familiar) on 80% of our projects here at work (10 developer team) and we can deploy projects incredibly rapidly. We've been using the ZF since it's 0.1.5 days in April of 2006 and it's becoming a quite mature platform.

      In my mind, though, there are a few things that are holding back the otherwise decent ZF, and that's language shortcomings of PHP. Particularly a lack of late static binding and first class functions. I'm told that late static binding is coming (sort of?) and we have, in the past, mimicked first class functions via call_user_function, but without closures it's mostly useless.

    53. Re:Which platform? by Omnifarious · · Score: 1

      I will have to look more at that. I find the Java language itself to be merely mildly irritating and overly verbose. And I really dislike the current JVMs that are out there. I'll be happy when there's a JVM that starts in less than a millisecond and takes less than 50M of memory to run decently.

      But, my biggest vexation is the ponderous stupidity of most Java frameworks and how they simply refuse to even acknowledge that the world outside Java and its JVM even exists.

    54. Re:Which platform? by kramulous · · Score: 2, Insightful

      You would have to separate out the BrandX-haters who make reasonable arguments from people who honestly don't care but have a low opinion of that specific brand. That would be nothing like ...

      Is the site Java based? Dump that trash, because only bitches use Java.

      and people weren't openly ridiculing your choice of footwear ... Honestly, who cares if it is popular or not? If it works and is not breaking down, don't change it. This may not be a case of needing a "Superstar programmer" but actually having programmers who are barely competent. How hard is it to learn a platform and language that enables you to find what is breaking in unknown code? And making minor changes to that code to fix it. It's not rocket science. You only need basic debugging techniques and google.

      Which proves the man is running a Microsoft product, because he's hiding something. I think he may actually be referring to Apple. But like you pointed out, wants to avoid the fans.
      --
      .
    55. Re:Which platform? by localman · · Score: 4, Insightful

      ditch the platform when the costs of maintaining it become greater than the cost of switching.

      Yeah, sounds so simple -- except you've missed a critical variable: how much does it cost to maintain after the switch.

      If the cost of post-switch maintenance is only 80% as much per year as the pre-switch cost (a generous estimate in most cases), and the switch takes you only six months (another generous estimate), it's a 2.5 year ROI. Meaning you'll actually be behind where you would have been for 2.5 years before getting any advantage out of the switch. How many businesses can weather that?

      I've never seen anyone correctly estimate the cost of switching. Partly because they underestimate the costs of maintenance after switching, believing in the glowing code Utopia of the promised platform. And partly because rebuilding from scratch is usually much more time consuming than people expect: most working systems have lots of tedious, forgettable, but absolutely critical code that must be rewritten and debugged.

      To answer the original poster's question: if you've got a substantial working system (read: reasonable performance and reliability) stick with it. Almost any platform can be set up well enough that a decent programmer can work well with it. If the maintenance is such trouble it may be that the programmer sucked, not the platform. In that case, a good programmer can slowly replace the most troublesome components and bring it in line for probably less than the cost of a full switch.

      If you can't find programmers who are expert in your platform, look for programmers who are generally experienced and hungry to learn your platform. They're often better anyways.

      If the system as it stands doesn't work (read: has major performance or reliability problems), then a switch is a more reasonable option.

      Cheers.

    56. Re:Which platform? by pipatron · · Score: 0

      I would seriously write a website in assembly language rather than java. And I'm not kidding.

      --
      c++; /* this makes c bigger but returns the old value */
    57. Re:Which platform? by orclevegam · · Score: 1, Insightful

      I hate Python for the simple reason that I think blocks should never under any circumstances be delineated by whitespace. Sadly there are a number of Python frameworks our there that I really do like, if only they were written in something besides Python.

      --
      Curiosity was framed, Ignorance killed the cat.
    58. Re:Which platform? by hoganlong · · Score: 1

      What is "Pacal"?

      A non-plural version of Pascal?

    59. Re:Which platform? by zymurgyboy · · Score: 2, Insightful
      He's already stumbled on part of the answer to his question anyway. If you cannot find candidates to interview that have even heard of the platform you're hiring to support, that's a pretty good indication that the rest of the world has moved on... And perhaps you should as well.

      Been there, done that, rather not do it again. Better to have a pool of people from whom you must determine who sucks, who doesn't, who's a scheister, and who's the straight shooter than a pool of one who could be any combination of the above.

      --
      If you never make mistakes, it's probably because you're not doing anything.
    60. Re:Which platform? by xouumalperxe · · Score: 1

      Only MS can produce that level of guilt.

      Nah. Coming to slashdot asking whether it's time to change from Linux to Windows would see a whole thread of -1 flamebait. If I wanted to ask that question, I'd steer way clear from naming names.

    61. Re:Which platform? by orclevegam · · Score: 1

      PHP is ok, but it's waaaay to easy to shoot yourself in the foot with it, particularly where security is concerned. I also hate how difficult it is to decouple the view from the logic. I tried looking something up about zend, but I can't seem to find any docs or tutorials on the zend website that would give me some idea of how they handle application logic.

      --
      Curiosity was framed, Ignorance killed the cat.
    62. Re:Which platform? by LWATCDR · · Score: 3, Insightful

      Sorry I have work on both Perl and PHP. I see little difference in them as far as read ability. Heck if nothing else PHP can be worse.
      Python seems like it is better for maintenance but that is from just a quick look.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    63. Re:Which platform? by palalonde · · Score: 1

      Numbers are always a good place to start.
      Netcraft.com does a good job for web stats.
      See the February 2008 Web Server Survey here:
      http://news.netcraft.com/archives/2008/02/06/february_2008_web_server_survey.html
      Apache still has 50.93% of the market.
      More market = more developpers to choose from.

    64. Re:Which platform? by plague3106 · · Score: 1

      That's not the fault of Java, that's the fault of people building stuff with Java.

    65. Re:Which platform? by mysqlrocks · · Score: 1

      I tried looking something up about zend, but I can't seem to find any docs or tutorials on the zend website that would give me some idea of how they handle application logic.

      I'm not sure exactly what you mean here but it sounds like you're trying to figure out how to use Zend Framework MVC. If that's the case then check out the Zend Controller Quick Start. That will help you figure out the View and Controller aspects of MVC in Zend Framework. However, you may want to wait a bit until it's been updated with all the goodies in 1.5 like Zend_Layout. If you're trying to figure out how to create Models then that's a little harder because Zend Framework doesn't dictate what you're Model should look like. However, in many applications it will be Zend_Db.

    66. Re:Which platform? by Anonymous Coward · · Score: 0

      Did he mention they are running a Windblows platform?

    67. Re:Which platform? by JavaLord · · Score: 1

      You hurt my feelings, Mr LithiumX.

    68. Re:Which platform? by xhrit · · Score: 1, Insightful

      Any language can result in a mess if used improperly. The solution is to use well defined conventions or a standard framework like Fusebox, and document every process. This requires well trained programmers, who cost more to hire then 'a guy sitting in his basement'.

    69. Re:Which platform? by SatanicPuppy · · Score: 3, Insightful

      These days I develop primarily in Java and Php, and I can say with assurance that if you think you can do anything in php that you can do in Java, you're out of your mind.

      Php has its place, and it's easy to develop in, but if you can do everything you ever need to do in php, you have pretty simple needs.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    70. Re:Which platform? by rk · · Score: 1

      And as a person who used Drupal for the last two years, I can honestly say it's a pretty darn useful framework for creating dynamic websites. Developing modules for it can be a pain, given the way PHP's introspection features are abused to extend it (I shit you not, I once had to deal with a function named "video_cck_video_video" in third-party add-on module. WTF?) instead of using true objects (I hear rumors that will change in Drupal 7). That was sometimes comparable to getting beaten up in the face, but on balance I think the platform saved me a lot of effort. I don't like PHP, but I (mostly) like Drupal and will put up with it in that context.

    71. Re:Which platform? by IdeaMan · · Score: 1

      Nono recommend APL. The entire universe can be written very concisely in just 1 line of it... And you thought PERL looked like line noise.

      --
      They ARE out to get you simply because They are in it for themselves and they don't care about you.
    72. Re:Which platform? by powerlord · · Score: 4, Funny

      I wear KDEs shoes. Don't all Linux users?


      Only the Dyslexic ones.
      --
      This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
    73. Re:Which platform? by dhasenan · · Score: 0

      Monorail with C# as the back-end language. And Brail for the views. It lets you write the views PHP-style, not just tags, which is a fair bit more natural. And yes, it does run on Linux.

    74. Re:Which platform? by asc99c · · Score: 1

      What is the cost of switching?

      I think that's a question you could spend more than 2 years thinking about and not get an answer. How do you know when you're overcomplicating an issue, and when you're just doing something complex?

      Developers always horribly underestimate the difficulty of a task. Every solution starts clean and simple, and it's incredibly hard to keep the finished product looking anything similar to the one which did 95% of the job.

      You always look at a nasty solution and think it should be much simpler done this other way. Half the time you're right, but half the time you add in all the little niggles to your overall work of art and you're back at the starting point with an ugly solution that works.

      How do you figure out in advance which half you're heading for?

    75. Re:Which platform? by jgrahn · · Score: 1

      My hatred of Java has nothing to do with speed. The platform has become a giant morass of 'enterprisey' 'solutions' that create more need for more 'solutions'. And all Java 'solutions' must somehow involve XML, because it's standard, and enterprisey.

      I sympathize. However, that is hatred for J2EE, not Java.

      I think he makes it pretty clear that he has a problem with the dominant(?) culture around Java, not Java itself. There's not much one can do about that, except stay away (and post on Slashdot).

    76. Re:Which platform? by Plugh · · Score: 1

      Drupal has no introspection. Everything is global in scope. The APIs change radically in point releases, and there's no backwards compatibility. Suckage.

    77. Re:Which platform? by Grayputer · · Score: 1

      So how is knowing that he was talking about an application on DOS 2.0 in 1989 and that the question arose in 1990 going to help now. Or differently, assume it is on windows or linux now and it is in ASP or PHP; now provide information using that that helps him make a similar decision in 2030 when neither Windows nor Linux exists any more, hell the Internet as we know it will not exist. The point is "How do I make the general decision"/"What metric do I need to measure/compare in future decisions", NOT what is the recommendation for today. In future decisions he may not (nay, will not) be using the same environment as today.

      Asking about the specific environment and providing specific information related to that environment doesn't really answer his question. It does make "our" job easier as we can all focus on the smaller specific issue and not have to deal with the general complex case. The "question" is what is the general case metric to determine obsolescent platforms. Or a better one would be a methodology that provides a numeric value rating the TCO of an architecture/platform. The question, of course, has no one answer and a general solution is not readily available.

      What he will find is, the more general/vague the question, the more general/vague the answer has to be. OR the more the answer resolves only a discrete instance. We can all guess at a platform and provide data. If by "Platform" we mean web based multi-user application or client server application and we restrict our answers to that, we will get some form of response for that discrete 'instance'. We can further restircit to a language, ASP/PHP and provide a more specific answer. That answer will be useful until 20xx when that platform/language 'dies'.

      We can try to answer the general question but the answer gets pretty complex/vague/academic. E.g., For any system/platform/entity we can decide a set of properties that are important, say flexibility, availability of resources (developers), etc. and assign weights (e.g., web sites that are relatively static need little implementation flexibility and have low resource consumption due to low change rates). We can add other variables we think important (e.g., lost opportunity costs) and add weights for those. All this continues until we have the massive untested model. The equation of which would contain numerous weighting factors and if written on paper would probably be massive enough to kill a cat (or not).

      Now we can continue to run down this rabbit hole but I expect that little of practical value will emerge the other end. The key to the data the submitter wants is, as usual, in asking the correct question. General open ended questions are not known for generating highly useful, reusable, succinct answers. Highly specific questions are more apt to generate highly useful and possibly succinct answers but they frequently leave much to be desired in reusability. The best we can do is state this obvious issue to the original poster and suggest they rethink the issue and pose a question that strikes a correct balance for the information the submitter needs. I personally intend to conserve what few brain cells I have left and move on to other topics.

    78. Re:Which platform? by Dragonslicer · · Score: 5, Interesting

      Sorry I have work on both Perl and PHP. I see little difference in them as far as read ability. Heck if nothing else PHP can be worse. The big difference is that PHP gets more readable as the skill level of the person who wrote it increases, while Perl gets less readable as the skill level of the person who wrote it increases.
    79. Re:Which platform? by xhrit · · Score: 0

      I got flamed on irc one time for saying that.

    80. Re:Which platform? by moderatorrater · · Score: 1

      You start by looking at what platform you're using... ;)

    81. Re:Which platform? by street+struttin' · · Score: 1

      I think the best answer for "when to switch" is almost certainly a political one and not a technical one.

      The answer is probably "How much money does the business make because of the system?" If it makes a LOT of money, you shouldn't mess with it (because it seems like it is doing its job). If it makes a lot of money but keeps breaking down, fix it so you can make even MORE money. If it doesn't make money and switching would cost lots of money, it isn't worth bothering with.

    82. Re:Which platform? by SanityInAnarchy · · Score: 1

      I'm curious -- why?

      The best answer anyone ever gave me was that whitespace can be nuked by pasting in places like Slashdot, which tend to trim whitespace. But that's like not wanting to use XML because some forums don't like angle brackets. Seems like a perverse reason to me.

      Of course, there's another possible answer: Write a preprocessor.

      Myself, I'm happy with Ruby, and Rails, and Merb/Camping/etc if I need them. The one thing I wish I didn't have to do is write all those "end" statements -- it's not DRY, I'm already indenting anyway.

      --
      Don't thank God, thank a doctor!
    83. Re:Which platform? by MightyMartian · · Score: 2, Insightful

      The problem is that a lot of firms, even some larger ones, don't want to pay the initial outlay for a well-trained programmer. It's more like "Bob, do you know anything about website scripting?" "Why sure Doug, I read the PHP Cookbook last week!" "Great, Bob, write us an E-commerce site."

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    84. Re:Which platform? by Omega996 · · Score: 1

      er, to continue your analogy, then, asking a mechanic who is used to working on a particular brand of automobile is unlikely to give you much in the way of useful insight into other brands. Just like Slashdot, you're going to get the biases inherent in the opinion on the mechanic; whether they have any factual merit or not is irrelevant, as how would you know, unless you were likewise 'proficient'?
      Speak to three different mechanics for three different makes, and you'll get three varying points of view. Same with /. - there aren't that many people here who can view things objectively, and say "platform x is easier to work with in this particular instance than platform y, and both cost more than platform z (though it's not initially configured to support what you need, it can be made to work with a little elbow grease)." It's linux fanbois vs. the *bsd fanbois vs. trolls, with the occasional helpful bit of information thrown in.

    85. Re:Which platform? by mysqlrocks · · Score: 1

      Php has its place, and it's easy to develop in, but if you can do everything you ever need to do in php, you have pretty simple needs.

      I don't claim to be able to do everything I ever need to do in PHP - washing the dishes certainly requires other tools. But seriously, when it comes to building web applications there aren't many web applications that can't be built in PHP. Just because you can doesn't mean you should so obviously you should pick the right tool for the job at hand. Even with that said PHP is a serious contender as a good tool choice for many web applications. Keep in mind that my original post was talking PHP + Zend Framework which brings to PHP quite a number of very useful library components. Can you give me some examples of types of web applications that PHP would not be a good choice for and why? I can certainly think of a few but I'm interested to hear what you come up with.

    86. Re:Which platform? by ivanmarsh · · Score: 1

      He wants to know, generically, how you decide that what you're using is the wrong choice.

      When the consultant your boss hired, for four times the rate the programmer that created the system was being paid, who quit becasue he wasn't getting paid enough, tells you that Microsoft, C# and .NET are the best tools for the job becasue that's the only technology he's ever used and what he's being paid to schlep.

    87. Re:Which platform? by owlstead · · Score: 1

      Just stick to JSP and some default back end beans, and you'll be fine. Hell, leave out both and stick to servlets and JDBC. There is no need to go into all this crud unless you seriously need it. You could go to ASP, which will get you a decent IDE, a managed environment and some SQL backup as well. You'll be locked in though. I've programmed PHP and C++, but PHP or CGI are not really options in my opinion. Of course, if you only need a basic website you might go with a pre-made solution (such as a content mgmt system for instance).

      The XML for everything is quickly fading in the Java language, it was one of the reasons for the new 1.5 features, such as metadata (annotations in Java). Have a new refreshing look, and just choose the platform that's currently in favor if you do. I mean, there is no reason to throw away Java just because there are many choices. Hell, there are many Linux distributions with different takes on the thing. No need to disfavor Linux for that reason alone.

    88. Re:Which platform? by SatanicPuppy · · Score: 1

      It's rarely that simple. The cost of moving forward is seldom in the "lump sum" format, whereas switching platforms often is, so you're trying to cost justify switching to a platform that will pay for itself in 5 or 6 years, but you have to have people who are willing to overlook the fact that a platform switch is going to cost them dramatically more in the short term.

      A lot of the time they'll vote to stay with the crap platform on the premise that something better (cheaper) will show up in a few years. That sort of reasoning can delay a migration indefinitely.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    89. Re:Which platform? by SanityInAnarchy · · Score: 3, Interesting

      Depends how you measure efficiency, but yes. (Also depends how you define "framework".)

      I'm sure someone could write a book -- I haven't got the experience, but someone -- which covered all the possibilities here. Fact is, this is actually something you want to do your best to translate into numbers, and then have a manager look it over and make the call.

      The kinds of questions you want to ask are:

      • How much work is it, really, to find people with the skills?
      • How much does it cost to train people who don't have the skills?
      • How efficient are they at developing for this framework? If possible, measure in dollars to functionality.
      • How long is it going to take to migrate to a new framework? How much money? Double those amounts, because you're underestimating. (Yes, you are. Really.)
      • How long are you intending to keep the product you're developing on that framework?
      • How much does it cost you now to maintain?
      • Based on all of this, how long before your migration pays off?

      You could fill a book with questions like this, analysis, etc -- it's really a bunch of boring business stuff. And it's going to be very different based on what the framework is, what your project is, the lifespan of your project, etc.

      For example: I just finished porting a simple corporate website (and a blog) from an old, contractor-hacked version of a blogging engine to a shiny new one. In the process, I tried to avoid touching the actual engine itself, rather adding our skin as a theme, and adapting the site to the features the engine had, rather than the other way around.

      Say what you will, but it took the contractors months to make those modifications, and it took me about a week to port what I saved of their stuff over to the new engine. The old site was buggy as hell, probably because of the contractor modifications. The new one actually works.

      Now, a few jobs ago, I was working at a company which had a fairly large .NET app, which had SQL injection vulnerabilities all over the place, and was not fun to maintain. But we did anyway, because it was a big app, and we'd lose money anytime it went down, and so on. Maintenance may have been a pain, but a ground-up rewrite was just not feasible, as much as it was needed.

      And then there was the odd job I did -- a single server (an old, retired computer) which sits in a corner, whose sole purpose is to run a single app once every three months. I hacked it together as an AJAX app before I really knew JavaScript, with an ugly, hackish backend, horrible limitations, etc. But it allows one person to do in 20 minutes to an hour what used to take two people more like five hours or more, and allows reports to be sent via email, rather than printed out. And it's only run once every three months, so as much as I would like to patch it up now that I know better, it's not worth it -- it's good enough, and no new features are really needed.

      --
      Don't thank God, thank a doctor!
    90. Re:Which platform? by bunratty · · Score: 2, Insightful

      Keep in mind the original question. The submitter had problems finding a developer for their language. Are there really as many Python, Ruby, or TCL programmers out there are there are Perl, PHP, or ASP programmers? That's why I tend to stick with more commonly used languages. I haven't bothered to learn Python or Ruby, as I prefer to use Perl in case I need to hand the code off to someone else. I write server-side web code in PHP, even though I'd rather stick with Perl, which I'm more familiar with.

      --
      What a fool believes, he sees, no wise man has the power to reason away.
    91. Re:Which platform? by zuperduperman · · Score: 1

      You should stop being such a weak minded sheep and start using designs that don't involve all the crud. There's plenty of the java community who do likewise. With the ability to drop into more dynamic languages at will (jython, jruby, rhino-javascript) it's just about the best of all worlds these days.

    92. Re:Which platform? by fireboy1919 · · Score: 1

      The answer's easy: ditch the platform when the costs of maintaining it become greater than the cost of switching. That answer's so easy, in fact, that it's pointless to ask slashdot about it, bring it up in conversation, or even think about it for more than 2 minutes.

      That's way off.

      Switch when you think that you can minimize the overall cost of switching once you've realized that these two conditions are met:
      1) the technology that you rely upon is going to become obsolete
      2) the technology requires humans to operate & maintain it.

      Once you realize that is the case, you *know* there's going to be a point where the cost of maintaining will be extremely high compared to your competitors, but the cost of replacing *will also* be extremely high. You don't want to ever wait until you're in that situation. That will kill your business. For example right now would not be a good time to switch your bank system away from Cobol. It would have been better to do that 20 years ago when there were a lot more people working on the cobol languages, and a lot more banks making the switch.
      The cost of doing so was much less, and you know that the technology was going to be obsolete even then. You try it today and you have to pay through the nose.

      If you're really smart about it, you'll incrementally switch so that you're never extremely obsolete (because slightly obsolete is extremely cheap to change). Then, *possibly* you can live by the idea that you're spouting. But not everybody can do that because a lot of systems are indivisible.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    93. Re:Which platform? by Roadmaster · · Score: 1

      The one thing I wish I didn't have to do is write all those "end" statements -- it's not DRY, I'm already indenting anyway. So ditch rails and use Django under Python. It's a matter of preference; I find indent-based parsers to be way too anal, and I don't mind writing the "end"s. That, for instance, is one of the things I don't love about haml.

      On second thought, textmate *can* insert the end statements for you. Your editor should be able to, as well.
    94. Re:Which platform? by SourceFrog · · Score: 1

      Actually I often ask mechanics their opinions/thoughts 'in passing', and I must say there are very definite trends/patterns that you can easily/quickly pick up. You can call each one's preference "bias" if you want and you're free to believe that all cars really are equal and that any preference is completely arbitrary, and that nobody is really capable of detecting differences in quality (that sounds quite absurd to me though). I'll stick to gathering opinions from people who know what they're talking about, in all fields, it works for me.

      Of course, there is some difference between 'cars that mechanics tend to prefer' and 'good cars', which you have to take into account, because most mechanics look after their own cars, and this makes a difference - they tend to look for cars that are easier to do work on (yourself) and easier/cheaper to find parts for ... a mechanic can save money thanks to their expertise by investing extra time while at the same time using the opportunity to keep their skills sharp. This is somewhat analogous to techies who prefer Linux, it may work for them, but it doesn't necessarily mean it's the best fit for the average user.

      In this case though they're looking to hire a tech person to maintain the site, presumably.

      --
      My other UID is three digits.
    95. Re:Which platform? by Roadmaster · · Score: 2, Informative

      Using vim? here ya go (automatic end insertion on ruby and erb code). Not using vim? well not everyone is perfect ;)

    96. Re:Which platform? by moderatorrater · · Score: 1

      So what you're saying is that there's a hidden cost I failed to delineate in my one sentence answer? I'm shocked.

      The problem with your statement is that it's not generic enough to fit the question. You're absolutely correct that in the situation where you're platform is going obsolete, you need to follow your procedure, which is really just computing the cost of waiting to switch as a hidden cost of maintaining the platform.

      What about a situation where they chose out of competing, emerging technologies and they chose the wrong one? Ruby is an emerging technology, one that's likely to maintain its niche status instead of going widespread; arguably it's already obsolete. Your analysis fits very well for a large, complex application that's been going for a while, but not for those which aren't.

    97. Re:Which platform? by jez9999 · · Score: 1

      This is the real problem with a guy sitting in his basement writing your platform for you. Unlike a team where there is proper documentation, notes and usually decently documented source code,

      I can testify to the fact that you can work in a team, and yet fail to have any of that stuff because certain members can't be bothered to implement it. :-)

    98. Re:Which platform? by jez9999 · · Score: 1

      The big difference is that PHP gets more readable as the skill level of the person who wrote it increases, while Perl gets less readable as the skill level of the person who wrote it increases.

      So what you're saying is, PHP code is usually very unreadable?

    99. Re:Which platform? by jez9999 · · Score: 1

      So because 'most' businesses do that, you have to do it too if you use Java?

    100. Re:Which platform? by anomalous+cohort · · Score: 1

      My guess is that he's talking about ruby on rails, because it's got a lot of hype and it's short on people with the necessary skill set. My answer in that instance would be, don't go with a young platform in the first place. Don't buy into hype until it's so mature that it doesn't have any hype, just a good solid list of pros and cons.

      The shortage of RoR developers after years of buzz and hype is interesting. I ran across this phenomenon last year and blogged about it.

    101. Re:Which platform? by entropiccanuck · · Score: 1

      Python/Django. Beautiful, powerful web development.

    102. Re:Which platform? by entropiccanuck · · Score: 1

      Pure python isn't the best for web dev, but the Django framework is great stuff. Powerful, clean, versatile, and exceptionally well documented.

    103. Re:Which platform? by rtb61 · · Score: 1
      The other thing to do is to review the whole system of development of the web site. If it is so difficult to find a person capable of doing the full development, break it down into separate development areas, contract out some of the development to external coders and do some internally and get the internal developer to carry out other tasks to make up a full day, including the contracting and supervision of external developers.

      If you have some much trouble and it took so long to find a replacement do not set yourself up for another fall, restructure your problem so that you can find alternate solutions.

      --
      Chaos - everything, everywhere, everywhen
    104. Re:Which platform? by LWATCDR · · Score: 2, Insightful

      I don't buy that. If a perl developer has the skill of writing readable code then it will be readable. Yes they will have to stop using the mentality that every perl program should e written like a one time use macro but it can be done.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    105. Re:Which platform? by Bill,+Shooter+of+Bul · · Score: 1

      I understand your sentiments about PHP, VB, and VBA. However, I think thats just an indication of the ease of developing in a given language. The easier, and more idiot proof you make your language, the more idiots you have writing it. The longer a person can code in a language without realizing the holes they're shooting in their feet, the worse code you get.

      I think the opposite question would be a good ask slashdot:

      What is the most widely deployed language that you are least likely to find horrible code written in?

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    106. Re:Which platform? by MightyMartian · · Score: 1

      Well, I know I'm probably in the minority nowadays, but I think strongly typed languages at least offer a bit of protection against the loose-and-fancy-free kind of coding I see. You can simulate that sort of thing in languages like PHP, but the onus is very much on the programmer. I really despise weak typing myself, because I think it encourages a dangerously relaxed kind of development. When you have sit down and really think about how your variables and classes are going to work, it forces a certain amount of pre-planning.

      There's no language out there that's entirely immune to shitty coding, but I think that the rise of languages like JavaScript and PHP have permitted undisciplined programmers to gain an unfortunate advantage, which of course comes to bite them (or more likely the poor bastard that follows them) in the ass.

      I'm not a particularly big fan of Java, but I think that at least in this regard it's more likely to enforce sound coding practices.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    107. Re:Which platform? by xhrit · · Score: 0

      uhh, yeah. ben there, done that. got the shirt. my meticulously crafted solution relies on first hand knowledge ov the issue's subtle complexities. What is worse is when the firm does decide to pay the initial outlay for a well-trained programmer, but doesn't want to give said programmer the time or equipment required for a project and insists they instead use an ill fitting pre-canned solution.

      'bob in marketing said that phpfox is the best, so we want you to use it to build our E-commerce site. oh, and we need it by friday, so that you have time to do lots of social networking optimization.'

      ...

    108. Re:Which platform? by Supergibbs · · Score: 1

      OK then, Slashdotters let's help out. Fill in the following:

      switch(platform)
      {
              case "perl":
                      UpdateTo("php");
                      break; // TODO: add more cases

              default:
                      NoUpdate();
                      break;
      }

      --
      First post! (just in case I am...)
    109. Re:Which platform? by oliderid · · Score: 1

      I'm curious -- why?

      Personnally because I'm so used to brackets. I mean all languages I know (c++,java,c#,perl,php and even Javascript) use them.
      I did try to experiment python but this feature was a no-go for me. Okay that's silly I know :-), but that's true.

    110. Re:Which platform? by gambolt · · Score: 1

      I know you meant it as a joke, but check this out.

      Self-hosting online image gallery software written in . . . Ada

      http://adaimgsvr.sourceforge.net/imgsvr.html

    111. Re:Which platform? by stonecypher · · Score: 0

      Php has its place, and it's easy to develop in, but if you can do everything you ever need to do in php, you have pretty simple needs.


      It's funny, because other programmers say the same thing about Java. I mean really, what kind of language removes legitimate tools because they're too hard?

      Oh, right. Java. (Think I'm kidding? Read their justification for removing MI.)
      --
      StoneCypher is Full of BS
    112. Re:Which platform? by jimijon · · Score: 2, Funny
      I can only say one thing WebObjects! WebObjects with WOLips on Eclipse and Wonder blows everything away.... everything. It is a very, very, exciting time to be a WebObjects developer again. Before I was just kicking out the code and the solutions while the JSF, etc, guys where still going blind with XML. True components, true Eclipse, it just Rocks!!!!


      It really does.

      --
      Mind | Body | Spirit | Cash
    113. Re:Which platform? by lordSaurontheGreat · · Score: 2, Insightful

      Yeah, right now Java's getting a firm Ruby in the butt though. The number of RonR apps I'm seeing developed is quite interesting. Personally this Ruby on Trains crap gives me a massive headache, but it does work and if you take the time to learn the extensive API it can truly magnify the agility of your site. As soon as I saw RonR I said to myself "how is PHP not dead yet?"

      --
      Consider yourself spoken to.
    114. Re:Which platform? by SanityInAnarchy · · Score: 1

      On ruby is good, thanks. And actually, I type fast enough that it's not that I don't want to type 'end' -- it's that I think it makes the code look cluttered.

      Oh, and I don't really like ERB much, either -- hooked on Haml.

      --
      Don't thank God, thank a doctor!
    115. Re:Which platform? by weston · · Score: 1

      I'm attempting to manage someone else's PHP code, and I can tell you it can be every bit as awful as maintaining alien Perl code. Throw in a spattering of CSS and DHTML

      Stop right there, we have a winner.

      In the first place, any decent developer knows dropping more than bare minimum HTML code into PHP (and vice versa) is a bad idea.

      In the second place, many non-decent developers write horrid HTML. Nested tables, inlined styles, shim images, and font tags exploding all over the place....

      I've walked away from good money rather than deal with it.

    116. Re:Which platform? by SanityInAnarchy · · Score: 1

      So ditch rails and use Django under Python.

      Two problems:

      First, I do this for a living. There are four other Rails programmers here. I doubt they want to become Python programmers.

      Second, there's a lot more to the languages than indentation. I like Python indentation, but I like too much more about Ruby.

      On second thought, textmate *can* insert the end statements for you. Your editor should be able to, as well.

      I don't mind typing them (I type some 80 wpm), I mind having them there. In short blocks, they're nice, but when there are four or five 'end's in a row, it's not telling me anything new -- but it is wasting space, and looking weird.

      --
      Don't thank God, thank a doctor!
    117. Re:Which platform? by Omnifarious · · Score: 1

      I tend to feel that in general the market will follow demand. It can be painful in some ways to be a leader, but I don't think that it's worth switching away.

      I guess my general recommendation on that would be if the userbase is small and shrinking, consider moving away. If it's really tiny, but growing, maybe you're a little too much on the edge and would be more comfortable switching away, and that's an individual call to make. If it's smallish but not tiny, and growing, you probably shouldn't switch away.

      And, of course, the values for tiny and small are rather fuzzy.

    118. Re:Which platform? by chromatic · · Score: 1

      If it's perl, he should shift to php as soon as possible, because perl code becomes very hard to maintain the longer it goes...

      Citations, please.

      Feel free to throw out any studies or (especially) anecdotes where the Perl programmers did not write effective test cases, did not refactor regularly, and did not take advantage of the breadth and depth of prior work found on the CPAN (including Perl::Critic, Perl::Tidy, and Test::Class).

      Those are the techniques I expect from any professional development team, regardless of language. I've seen Perl teams use those techniques effectively -- so I doubt that any problem you've had is the result of the language.

    119. Re:Which platform? by SanityInAnarchy · · Score: 1

      Personnally because I'm so used to brackets. I mean all languages I know (c++,java,c#,perl,php and even Javascript) use them.

      Probably the single biggest thing that helped me get over that (and similar quirks) is good syntax highlighting. That, and, well, on dvorak, both "do" and "end" are on the home row, whereas { and } are a long reach -- so it's actually faster to type the other way.

      --
      Don't thank God, thank a doctor!
    120. Re:Which platform? by skelly33 · · Score: 2, Interesting

      As someone who has spent about 10 hours a day for the last 4 years coding predominantly MySQL-backed PHP-based content management systems, I concur: most things PHP works just fine for. That includes shell scripting automation processes, communication middle-ware, commerce, front ends, data conversions, image and video generation and manipulation, and some pretty good mathematical computations. There are a couple things that I have found it lacking in however:

      1) Some of the magical pre-processing that occurs prior to PHP script execution prevents you from doing certain things such as doing the work for uploading files through a browser to the server; with PHP alone, you cannot intercept a file upload without PHP first spooling the file off to disk. I use Perl for this instead which allows me to abort uploads in progress as well as provide an upload progress measurement system.

      2) Fatal errors cannot be redirected through a graceful handler and shutdown process. This, to me, is retarded, and has recently bitten me on an application that tests and loads third party modules which may have fatal errors even though they pass syntax checking.

      3) OOP is still pretty weak. There have been improvements, but it's still incomplete. I don't like, for example, not being able to navigate a pointer tree through parent identifiers which is something that can be done in just about any other high level language. I can fake it in my own app by deriving all my objects from a base class that gets a pointer to its parent in the constructor, but it's not a capability that's intrinsic to the language.

      Those are just a few samples, but I'm sure I could come up with more if pressed. If it weren't for the widespread availability of PHP-capable programmers and open source code development in PHP today and I were tempted to choose an alternative, I'd probably fall back to Perl - an oldie, but goody that never let me down.

    121. Re:Which platform? by pjr.cc · · Score: 1

      > These days I develop primarily in Java and Php, and I can say with assurance that if you think you can do anything in php that you can do in Java, you're out of your mind.
      > Php has its place, and it's easy to develop in, but if you can do everything you ever need to do in php, you have pretty simple needs.

      I've deployed (as an integrator not a developer) some of the biggest j2ee apps in AU (not just web applications), and i think your waaay over simplifying the equation. PHP and java are both general purpose languages (for the most part), and yes you could do ANYTHING in php you can do in java.

      However, just because you could code something in php doesnt mean its efficient use of your time or the resources of the box its running on. Which is an important difference. Now while java provides a tonne of things (both in the language and the API) that php doesn't, doesn't mean you cant code them into php or find alternative methods. This is true for any general-purpose language (again, generally speaking), but in the case of php v java i would almost bet money you cant name a single thing in java that couldn't be accoplished thru php (assuming time and computing resources were reasonably limitless).

    122. Re:Which platform? by Heir+Of+The+Mess · · Score: 1

      My hatred of Java comes about because my company decided to port the backend of all their desktop applications to Java, and then, out of some total madness, they decided Eclipse was a good host for the front end! I just....I just can't be bothered trying to explain how bad this is. It's just too painful.

      --
      Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
    123. Re:Which platform? by Tablizer · · Score: 1

      Why can't we know [the platform/tool] anyway? That's just stupid, like for security reasons or something we can't know? Nobody answer this joker.

      I believe the question is how does one know if the developer is *mis-using* the tool, not if the tool is the wrong tool. He/she rightfully knows slashdotters will get caught up in a tool brand fight if the platform or tool itself is mentioned, distracting everybody from the main question about checking human behavior.

    124. Re:Which platform? by Tablizer · · Score: 4, Funny

      My hatred of Java has nothing to do with speed. The platform has become a giant morass of 'enterprisey' 'solutions' that create more need for more 'solutions'. And all Java 'solutions' must somehow involve XML, because it's standard, and enterprisey.

      Java is a gift from the Job Gods to make up for the offshoring by creating new specialists such as GUI architects, Object-Relational-Mapper Admins, XML Configuration Admins, I/O library figure-outers, etc. etc. etc.

      I'm applying for Hello World Architect by showing on my resume it can be done in under 30 Java classes.

      (Yeah, it's flamebait, but venting's therapy.)

    125. Re:Which platform? by alexborges · · Score: 1

      Java the platform or java the languaje?

      Java with jboss or something akin to that or without it?

      If its just the language, your position is moronic: you can do anything you can do with java in assembly if thats your thing.

      If its not just the language, your position is moronic: youre comparing a language to a whole suite of appservers and all sort of thingies that are not "language". Want a closer comparission? Java versus Perl+cpan (and perl may be ugly, but cpan is bigger than all of the java code out there).

      How about comparing .net vs java. Ah, there is a better idea. How about comparing the LAMP stack to the tomcat/struts stack... ah, then you could start comparing. How about comparing RoR to jboss/ejb3 (and no, RoR is cool, but it aint nowhere close with respect to scalability. Cooler language than java, this ruby thing, that IS true though).

      --
      NO SIG
    126. Re:Which platform? by Tablizer · · Score: 1

      The big difference is that PHP gets more readable as the skill level of the person who wrote it increases, while Perl gets less readable as the skill level of the person who wrote it increases.

      The problem is that the culture of Perl encourages odd experimentation; AKA "mental masturbation". How many one-line-PHP contests or sigs do you see? The Perl language itself is as good or bad as you make it as far as readability. (PHP may have a less-than-perfect culture also, but it's mostly about excess copy-and-paste habits, not readability itself.)

    127. Re:Which platform? by Daimaou · · Score: 1

      It depends on the purpose of the web-site, I suppose, but for most run-of-the-mill sites, I would use Django or Ruby on Rails (I like Django better because it is faster).

      I don't care much for Java because it is needlessly complicated and I loath its unhealthy fixation on XML. XML is good for some things, but it is not good for most things.

      As for PHP, I guess it is good for a one off "something" on a single static page, but I wouldn't personally use it for anything more than an example while teaching somebody the dangers inherent in mixing presentation and logic.

    128. Re:Which platform? by cromar · · Score: 1

      Very, very educational. It's true that a lot of programmers in .NET do not know what they are doing (from my personal, quasi-limited experience). I am a .NET programmer, to be honest, and the clients I have dealt with (writing apps for their servers) were upset that I was using threads because they "don't always work." That's the senior programmer in a very large government operation. DO* of my state... The pay matches the game, at least 'round here, but I am very bored at work. I get the feeling the last coder was busy fixing her bugs all day! :( She just got promoted ARHGHGHGHG

    129. Re:Which platform? by baarr · · Score: 1

      When you're asking Slashdot ;-)

    130. Re:Which platform? by syousef · · Score: 2, Interesting

      You're not alone in thinking that.

      I learnt to code in the late 80s and early 90s, when RAD was king. I went to uni and then got a job where J2EE wasn't used. I felt that J2EE had passed me by and my employability was in question.

      I transitioned to being a J2EE programmer because I felt I was losing touch with the industry. I was writing front end code using Java 1.0 just 3 years ago and using old unsupported Smalltalk for the server side. I'd been with the company for 5 years starting with the boom. Their pay and conditions went down hill but we didn't lose our jobs and the company was self funded so I didn't regret my time there, but knew it was time to move on. They started to take on J2EE work but were hiring new programmers to do that work.

      When I moved to my current job, knowing there was a learning curve, I thought it was just a matter of riding it out. What a rude awakening. No RAD tools. XML hell. Development with layer upon layer of crud that got in the way of doing the job and did little more than require huge amounts of boiler-plate and cookie-cutter wiring code. Even when I'd joined there had been a shift away from EJBs. Now the big thing is wow we have frameworks like Spring to remove the error prone code. Yippee? We're still hand writing visual code using JSP. We're still building monolithic files (jar,ears,wars) with lenghty build processes. What use to take a day to do client/server style takes a week to do in J2EE. Everyone's focused on the cosmetics of web pages instead of functionality.

      Some days I think the world's coming off the rails and society's in rapid decline. When I have to code like this to make a living it doesn't help.

      --
      These posts express my own personal views, not those of my employer
    131. Re:Which platform? by wiresquire · · Score: 1

      Whaaat?

      --

      So does Anonymous Coward have good karma?

    132. Re:Which platform? by xiaomai · · Score: 1

      Agreed. I work with both PHP and Perl on a daily basis. People like to complain about obfuscated or difficult to read perl. Neither langauge does anything to encourage good coding practices (which is fine, that's certainly not the language's responsiblity), but for some reason the PHP code I come across is *always* eye-gougingly bad. Maybe it's a combination of low barrier-of-entry and popularity. Maybe it's just that I fix too many people's low-budget sites. The point is, PHP code that I come across is almost always a maintability nightmare.

    133. Re:Which platform? by geekboy642 · · Score: 1

      Bah.
      I've written highly useful programs in Tcl. Of course, they were an upgrade from a csh script, and were written in Tcl only because it was the only language I could get a GUI out of. Just having a choice of colors other than green and black is an improvement.

      The chief advantage of Tcl is that it's not really a language. It's a set of building blocks that come in the shape of a language. If you want to turn the entire thing into an unrecognizable monstrosity, Tcl will let you do that. I'm not sure why...but it's there nonetheless.

      --
      Just another "DOJ fascist authoritarian totalitarian bootlicker" -- Zeio
    134. Re:Which platform? by RAMMS+EIN · · Score: 1

      ``If it was breaking down immediately, hell yes get another brand, and consider spending more than $15 bucks next time.''

      Eh? In my experience, the more expensive software (and shoes, too) is not necessarily better, let alone more reliable.

      Also remember that, with software platforms (unlike with shoes, I hope), most of the cost doesn't usually go to the purchase price (licensing, etc.), but rather to the wages of the poeple who use and maintain the software. The less time you spend on the software, the better. Software that is slow, has downtime, has an inefficient user interface, requires lots of updates, etc. is more expensive than software that has fewer of those drawbacks.

      Of course, there is software and software. The above applies to software _platforms_, with the assumption that people will actually spend a lot of time working with that software. If the software is custom-developed (and thus has a very high upfront cost) and quietly does its job in the background, the picture will be wholly different.

      --
      Please correct me if I got my facts wrong.
    135. Re:Which platform? by Wiseman1024 · · Score: 1

      Tcl is actually some sort of weird LISP that's string-oriented instead of list-oriented ("cudder-based" for any /prog fags reading this). It's quite admirable in its intent and how it succeeds at it; it has awesome features such as homoiconicty, no statements (a design wart inherited from FORTRAN) and nestable quotes among others, but it fails at scoping, variables and being easy to implement reasonably fast.

      --
      I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
    136. Re:Which platform? by Wiseman1024 · · Score: 1

      That's about the silliest reason to hate Python. You could complain that GvR doesn't loves and hates functional programming, that it has statements, that lambda is crippled, that str and the parts of the standard library which rely on str need to die, or any other actual reason to care, but indenting? If anything, it's preventing idiots from not indenting their code properly, which is a big pain. If it keeps non-indenting people away, then it's great. Also, it saves lines (fitting more meaningful code on screen) and effort typing braces. But if you're so obsessed with braces, try this:

      for i in xrange(100): #{
              print 'I really like braces'
      #}

      As long as you indent properly, it's going to work just like you want. If, however, you indent unproperly, GTFO my Python.

      --
      I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
    137. Re:Which platform? by Wiseman1024 · · Score: 1

      "all languages I know (c++,java,c#,perl,php and even Javascript)"

      Then you're missing a beautiful experience. All the languages you know, except partly JavaScript and partly-though-uglily-hacked Perl, can't even dream of Python's features. You seriously need to try Python; forget about the braces and concentrate on the language and what you can actually do with it. Heck, if you love braces so much, at least get Ruby, or learn a Lisp which uses parens instead of braces, you'll *love* it. Any of these three languages will make you a much better programmer.

      --
      I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
    138. Re:Which platform? by The_reformant · · Score: 1

      I dont see the problem with J2EE, it saves work not makes it. You write your app to conform to J2EE architecture which requires some reading, research and thinking. But then in return you can swap out pretty much any component to other vendors or in some cases other technologies.

      Want to change all your comms to go from email to nntp, no problem since you coded using the J2EE interfaces you just need to change 1 config file to point to the right jar.

      Want to log to a remote syslog server instead of flat files (or the windows event log), no problem, change one config file in your log4j setup.

      Now admittedly the time investment learning J2EE architecture and the associated frameworks / vendor specific components takes a while but the resulting product is remarkably adaptable and fault tolerant. True one dynamic web site, serving data from one database may not jsutify it but this stuff is about linking together many disparate systems.

      --
      I have discovered a truly remarkable sig which this post is too small to contain.
    139. Re:Which platform? by 1110110001 · · Score: 1

      @3 you mean this?
      $class = new ReflectionClass('classname');
      while ($class) {
              echo $class->getName(), ' ';
              $class = $class->getParentClass();
      }

      @1 you can disable the file upload feature and use php://input instead. But you won't need it to show an upload progress meter. That's already a feature of the file upload handler, but needs an extension so it can be handled from PHP. http://pecl.php.net/package/uploadprogress is one and it's also part of http://pecl.php.net/package/APC .

    140. Re:Which platform? by Dragonslicer · · Score: 1

      Honestly, I'm a bit worried about the people that gave me "Interesting" and "Insightful" on that. I was aiming for about +1, Funny, since it wasn't really all that funny (as the moderation shows). I write PHP professionally, in a group of three professional software engineers and a couple interns from a nearby university, and most of our code looks like Java (since PHP5's OO model is a more-or-less direct copy of Java). Teenage script kids that don't know anything about software design and architecture will write horrible, ugly code in PHP, just like they would in any language, while experienced and/or just plain smart programmers will write PHP code that's just as well-structured and readable as they would in any other language.

      The part about Perl was just because I like making fun of the Perl stereotype of programmers trying to find obscure ways of making their code take up as few as lines as possible.

    141. Re:Which platform? by s4m7 · · Score: 2, Interesting

      I think the gp's comment was more about Perl's "hack factor," where more skilled practitioners come up with unique solutions using less-used features of the language. This owes largely to Perl's "There's more than one way to do it" mentality.

      --
      This comment is fully compliant with RFC 527.
    142. Re:Which platform? by Dragonslicer · · Score: 2, Insightful

      Depends on where you look. Most of the code you see on tutorial sites is pretty bad, since it was probably written by a teenager with no real software engineering experience. The good PHP code is usually done by professional programmers and software engineers working for a company, where it isn't viewable by the general public.

    143. Re:Which platform? by sm62704 · · Score: 1

      Join the DAM - Mothers Against Dyslexia.

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    144. Re:Which platform? by LingNoi · · Score: 1

      Yes because you'll be working for those businesses and "that's how we do things here".

    145. Re:Which platform? by LWATCDR · · Score: 1

      Yep on the internet nobody can hear the tone of your voice. I have not worked with PHP for a while so maybe PHP5's OOP helps a lot.
      As far as your joke about perl. We forgive me I should have guessed that you where making a joke. The problem is that often I see things on Slashdot that I think must be a joke only to find that the poster is deadly serious.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    146. Re:Which platform? by SnarfQuest · · Score: 1

      It's not MicroSoft, it's SCO. ;)

      --
      Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
    147. Re:Which platform? by Yogs · · Score: 1

      These are all very, very valid points, but it's more or less impossible to come up with good estimates for any of the piece parts here, never mind the lot of them. Garbage in, garbage out. Not to say this is without value... it makes for a great presentation to management, but your instincts are usually a better guide than a spreadsheet filled with SWAG, especially since there's no S for a lot of these numbers until you gather data yourself.

      What are your instincts telling you? Listen to them. Also listen to other people with experience with the new target language/framework and veterans who've been through rewrites. If you strongly feel that you should try the move the application to a new language/framework, explain this to management and together find small sized pieces of the system that you can rewrite independently in the target language/framework at times that don't hit the business too badly.

      Expect it to be a rough at first, any time you're moving to new stuff there's a learning curve, but take a look at the final product... is it better? How much better? By what measures? As long as the experience wasn't an unmitigated disaster, try it once or twice more. Then you can fill your spreadsheet with a little more S now in your SWAG, but you'll probably know whether you're on the right course or not.

      If you're not on the right course, for sure that's a painful realization, but by approaching the rewrite as an experiment rather than a personal crusade, you've insulated yourself and your company from an order of magnitude larger debacle. That maturity is generally appreciated.

      If it does work, great... you've have not only a spreadsheet of SWAG, but actual precedent to make the case for the larger system rewrite. Again, coordination with management and business needs is key, but you'll generally get some good backing to actually do it by virtue of having approached this the right way and made your case.

      If you don't have an app that isn't well factored enough to make this course practical, you should refactor it within the existing language/framework first... doing a top to bottom rewrite without any experimentation is a recipe for disaster. Also, refactoring within the same language/framework is a lot less risky, and often is a good 80/20 when the desire to do a rewrite hits.

    148. Re:Which platform? by Anonymous Coward · · Score: 0

      You know, if you added "Java" to your sig you might get some responses...

    149. Re:Which platform? by TheLink · · Score: 1

      "And all Java 'solutions' must somehow involve XML, because it's standard, and enterprisey"

      The Java program = Lisp interpreter.
      The XML config/instructions/data = the actual "Lisp" like program :).

      People/programs actually end up coding in XML (aka New Lisp)

      That's how you get flexibility and power in Java.

      It's still a lot more work than doing it right in the first place, but I guess that's how Java programmers feel like they deserve all the $$$$ they get paid - they had to work hard for it (excolleagues had to write so much more code or go sift through so many more libs to do simple stuff).

      I'm too lazy for that.

      --
    150. Re:Which platform? by skelly33 · · Score: 1

      @3 - Negative; that gets the class name, not the instance of the parent object itself.

      @1 - Okay; there is a solution to pull upload progress into PHP, but it's written in C to extend PHP's access. I've done the same thing with Perl - and Perl doesn't need extensions to do the job. The point was that Perl has better overall lower level system access than PHP even though both are third layer high level scripting languages. Being able to do what you need without installing custom extensions, restarting Apache, etc. has a much higher chance of successful deployment in, for example, shared hosting environments.

      Not that I'm walking away from PHP - I have so much reusable code in PHP that is in good working order that I put nearly everything I can in PHP to leverage those existing assets.

    151. Re:Which platform? by graveyhead · · Score: 1

      The APIs change radically in point releases

      This is just lies. I do security updates all the time on point releases and only the shadiest of the shady third party add-on modules will break.

      Please keep your FUD to yourself.
      --
      std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;
    152. Re:Which platform? by kaiser423 · · Score: 1

      This seems to be exactly his problem. It's mine. Everytime I express frustration with Java, I get a "you just don't have the right platform/tool, use this!" Then I need up with 50 more tools with people suggesting even more platforms and tools and enterprise solutions, with everyone having their own favorites. Not a bad language, but just too much other hassle.

    153. Re:Which platform? by ckaminski · · Score: 1

      Nice generalization. I knew a truly amazing perl hacker who could make incomprehensible regexps. That's how I learned; but he never put anything like that in production code. He'd write a single line regexp into a 30 line program just to insure it was readable. He knew that in six months he'd have to revisit and relearn it.

    154. Re:Which platform? by kaens · · Score: 1

      I don't really like php as a language - I get frustrated by the lack of things like first class functions.

      That said, it really does work fine for web development.

      That said, I do a lot of freelance work at the moment, and a lot of it is fixing up other peoples very poorly written php. I mean, php that looks like the author never heard of a loop, where the markup looks like it was spit out by Dreamweaver.

      Dear god, it's hell sometimes.

      Case in point - I'm currently working on a site that has a search engine for real estate for sale. The results page had the tds for content repeated over and over again for each possible combination of session variables, when only a few strings within the tds actually changed from iteration to iteration. That one page has currently gone from around 2100 LOC to around 800, and it's still messy.

      Granted this is more of a problem with bad developers, not with the language itself - although the language itself does get on my nerves as well.

    155. Re:Which platform? by kaens · · Score: 1

      switch(platform)
      {
              case "perl":
                      UpdateTo("php");
                      RealizePhpIsJustAlmostCuttingIt();
                      if (TryToHireAGoodHacker("perl")) {
                          UpdateTo("perl");
                      } else {
                           UpdateTo(CURRENT_WEB_TREND);
                      }
              default:
                      Lose("money");
                      break;
      }

  3. But that would obsolete our hardware! by EmbeddedJanitor · · Score: 4, Funny

    Fortran works better than anything else on punch cards.

    --
    Engineering is the art of compromise.
    1. Re:But that would obsolete our hardware! by Omega996 · · Score: 2, Interesting

      I've had no experience with Fortran, but a billion years ago when I got my start in IT I remember writing programs in RPG II for a System/36. I remember the joys of the program cycle, and struggling to remember the positional params without the 'punch-card' cheat sheet. Actually, in retrospect, it's kind of keen in a really nerdy way that RPG had that 'virtual punch-card' support, but I wasn't so hot for it at the time...

    2. Re:But that would obsolete our hardware! by agrounds · · Score: 1

      FORTRAN was my first language I took at college.

      While punch cards were still an option, we actually carried our code around on tape reels that you had to wait in obscenely long lines to have mounted for you. It would seem like a pain in the ass, but it was kind of a social meeting-ground for the computer geeks and no one seemed to mind. Great conversations, running commentary on the few women in the department, and comparing notes on BBS dialups and number swapping..

      It's hard to imagine things like that now. Everyone just slaps in their USB sticks and moves on. Things were a bit more social, a bit more fun, and a bit more weird back then.

  4. measure the hype by budgenator · · Score: 2, Insightful

    I've found that the more a manufacturer hypes a product the more likely it is to be a flash in the pan; If your lucky the previous programmer made a well designed application that will be easy to translate into other platforms or languages. Still sooner or later everything goes the way of the dodoe, I learned COBOL once apon a time.

    --
    Apocalypse Cancelled, Sorry, No Ticket Refunds
    1. Re:measure the hype by CastrTroy · · Score: 1

      Most platforms don't provide a simple way to transition between one platform and another, especially in the web development sector. It would basically be a complete rewrite. Some lock you in more than others, but I think it would be quite difficult to switch between them, if you had a reasonable amount of code.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    2. Re:measure the hype by Kingrames · · Score: 4, Funny

      "I've found that the more a manufacturer hypes a product the more likely it is to be a flash in the pan...
      --
      When is the last time you hadn't thrown your vote away? Ron Paul even if its write-in!"

      The Irony is... overwhelming.

      --
      If you can read this, I forgot to post anonymously.
    3. Re:measure the hype by misleb · · Score: 1

      My experience is that there is a lot one can salvage from a web app when moving from one platform to another. All that HTML and CSS takes a long time to develop for a presentable public site. Intranet apps, however, can be a little more rough around the edges. I probably spend more time on that in the long run that anything else. Tweaking things to get it right. Also, you've probably already got another big part of the work done for you: just designing the behavior/specs of the app. You might even have a usable database schema. I, personally, find that the backend code practically writes itself once you know exactly what you need it to do and start with a sane web framework.

      The last app I ported from PHP to RoR went pretty quickly. And I was only just starting with Ruby and Rails.

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    4. Re:measure the hype by xhrit · · Score: 0

      The keyword here is 'well-designed'. A well designed application is easy to transition between one platform and another, especially in the web development sector. For example a division ov front end and back end code, with the front end consisting ov html and ajax could easily be transitioned from using a back end written in cold fusion to a php solution.

      And after you translate your code into php, you can easily transfer it from the windows server that used to be running cold fusion and mssql to a lamp platform in a few days.

      I am currently porting my php code (the same code that was formerly cold fusion) to lua - it involves slightly adjusting the syntax, removing brackets, and renaming the file extensions from .php to .lua. The front end has remained exactly the same, as it relies on xmlhttprequest and mostly static template files that contain single line output variables that are replaced with content.

    5. Re:measure the hype by Anonymous Coward · · Score: 0

      Dear English Speaking World: Why do you not know the definition of irony? Note: Alanis Morissette does not understand the meaning of the word irony. It's a simple word with a simple definition.

  5. move on? by Russell2566 · · Score: 2, Informative

    It's hard to give tons of feedback without knowing more about what your currently using (low use tech / vs god hates your HR staff) but if your going to consider making a tech jump, I would highly recomend making a major version jump (assuming your writing that kind of application).

    Depending on the age of the current app(s) and skill of your past developers, sometimes a total rewrite is cost saving in the long run by aiding in faster turn-around and all around easy of adding on to the app at a later period...

  6. Based on my complete lack of experience... by PresidentEnder · · Score: 2, Funny

    Right now seems like the perfect time to get yourselves a new platform, preferably something easy to maintain.

    --
    I used to carry a bottle of whiskey for snake bite. And two snakes. -Nefarious Wheel
    1. Re:Based on my complete lack of experience... by ajs · · Score: 4, Insightful

      This is probably not a great idea. Instead, consider broadening your hiring criteria, and hiring people who don't have experience with that particular platform, but know the application domain well. For example, if you're a PHP shop and you need someone to maintain PHPNuke, but can't find anyone, consider bringing in someone who knows Slash or some other Web logging software and has a grasp of the technology.

      Make one of the new guy's first tasks the evaluation of competing products and the overhead involved in moving to them, not with an eye to switching, but just to get a lay of the land and further expose him to a breadth of approaches. Periodically, send him off to appropriate conferences too.

      All together, you'll end up with a well-rounded employee who can speak to the costs and benefits of your platform.

    2. Re:Based on my complete lack of experience... by Anonymous Coward · · Score: 0

      Pretty much. Either their requirements are too strict, or they aren't offering enough money. There is always someone who can do the job.

    3. Re:Based on my complete lack of experience... by hey! · · Score: 1

      While I agree with you, it doesn't invalidate the point that potential usefulness in a platform change is a valuable criterion in the hire. In fact, the two points reinforce each other: you don't want somebody having to learn both the problem domain and scrutinize code he doesn't understand while he's supposed to implement a new system.

      It's also important to note that you can't count on the luxury of maintaining the old code indefinitely, if the old platform was closed source, proprietary, and no longer maintained. It may have serious security issues that will never be patched, or incompatibilities that will prevent you from keeping your operating system up to date with its security patches.

      One of the reasons I've sworn off proprietary platforms is that they may be full of whizzy stuff that gets to you a demoable prototype faster, but the vendor can decide overnight to completely revamp the product management, or it may go belly up, or it may sell the product to somebody else who simply wants to own it so it won't get sold.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    4. Re:Based on my complete lack of experience... by Anonymous Coward · · Score: 0

      Web logging software "Web logging" is probably not the best alternative to "blogging".
    5. Re:Based on my complete lack of experience... by Stormcrow309 · · Score: 1

      Actually, the best solution is to do a make vs. buy analysis. Make vs. buy analysis, being basic business school stuff, would be done on this problem as a comparison of how much it would cost to train up an expert, hire an expert, and various combinations of the two. Weighing time required to search vs. cost would also be useful. We did this when comparing the cost of keeping Sybase ASE or going to MS SQL Server when considering if our DBA left. Hiring a new Sybase ASE DBA costs as much as training another DBA up, but a search for a new DBA will take so much longer, due to the lack of Sybase ASE DBAs vs. DBAs expert in other systems that we could train. Conversely, it is easier to find a MS SQL Server DBA, since there is a larger pool of experienced candidates.

      My organization sees these issues a lot due to the specialized clinical software we run. It is very expensive to train up staff on those systems. On the other hand, the pool of experianced candidates is very low. This causes an issue if we take an experianced candidate, not trained on the application and send them to training, because they have a habit of leaving one trained and having a minimum level of experiance. The way to mitigate this is to apply a Time in Service requirement to the training, but management feels that would be a disincentive to hire. Therefore, they look for the 'ideal' candidate, causing very long search times.

      As for training a new candidate, we found the best solution is to make them responsible for some core piece. As I am in a system management/project management department, we usually make the new person the admin of a large system. This exposes them to a wide breath of how our implementation is setup. Ideally, we have a more senior system analyst act as a mentor, even though sometimes that doesn't work out due to staffing constraints.

      --

      In God we trust, all others require data.

    6. Re:Based on my complete lack of experience... by ajs · · Score: 1

      Actually, the best solution is to do a make vs. buy analysis. Typically, I'd agree, but in this case, I can't.

      This wasn't a situation where a) all of the options were known or b) there was a choice to be made on making vs. buying. The product already existed, and the company simply wanted to determine if they should continue to maintain what they had or hire someone qualified for something else, and switch.

      My response had more to do with not switching people and products at the same time than it did with the choice to build in-house or buy from an external source.

    7. Re:Based on my complete lack of experience... by Stormcrow309 · · Score: 1

      What is required for a decision analysis approach, which is what a make vs buy comes down to, might be lacking from the original post (op). However, I think this just leads to a requirement for more research and work into determining a decision. I find the op to be very lacking in detail, leading to a suggestion that they tread carefully. I know the requirement for privacy and such, but consider this example:

      We have a main system and BI system provided by the same vendor. To support the data load from one system to another, we created an intermediary data store, using MS SQL Server 2000 and DTS. The issue is that we have only one employee that understands developing an ETL transformation of this magnitude (80 - 100 GB range). The data store has been used also to off load the user reporting off of the main system's transactional databases. 8 other employees have been sent to training, with either no programming experience or a background in cobalt programming to MS SQL Server 05 integration services training. The only person interested in using integration services is a non-programmer looking to gap their system's issues. The cobalt programmers view integration services as not real programming and refuse to work with integration services. The initial programmer is interested in moving up in the company, pursuing further education and degrees.

      There are three current solutions to choose from: (a) Use the vendor's canned transformation application, which will get the BI platform the needed data, but remove the extra data in data store beyond the needs of the BI platform. This will force all reports (120ish at last count with an expected time per report of 30 minutes and a cost of $25 per hour to convert) to be rewritten, increase system load on the main system, and reduce speed of both the main system and reporting. The cost of transformation application is approximately $15,000 (b) Let two cobalt programmers go, since we have no need for as many cobalt programmers as we have had in the past. This will allow for hiring of people more familiar with Integration Services and MS SQL Server in general, at a cost of $5,000 hiring costs, similar salary, and $2,500 in training and travel each. As always, the company could choose just to ignore the issue.

      Which choice should we make?

      --

      In God we trust, all others require data.

  7. Two of Each by MightyMait · · Score: 1

    I like Noah's method when it comes to platforms...two of each.

    Of course, that can get costly, but, when you work for the government...

    --
    Nothing interesting to say...MUST...NOT...REPLY...ohtheheckwithit.
    1. Re:Two of Each by orclevegam · · Score: 2, Funny

      Of course, that can get costly, but, when you work for the government... ... you should save time and shoot yourself now. Oh wait, did you fill out the right form for that?
      --
      Curiosity was framed, Ignorance killed the cat.
    2. Re:Two of Each by MightyMait · · Score: 1

      Ha! That's funny.

      But seriously, we only have one IBM mainframe, one IBM AIX box, we got rid of all of our Novell file servers (leaving us only one last Novell print server).

      For the web, we're running a couple flavors of IIS, as well as LAMP and Perl/MySQL applications on Linux. A bunch of us got sent to Java training before management determined that they'd stick with Microsoft .NET for new development. So, we have a few JSP applications in production, though we're not making new ones. We use some off-the-shelf open-source applications like Metadot and RT.

      The DA's just had to get an Oracle database server.

      Frankly, I like having my fingers in a few different pies, even if I'm not planning to look for a better-paying job in private industry.

      --
      Nothing interesting to say...MUST...NOT...REPLY...ohtheheckwithit.
  8. Stick to "standards" by SQLGuru · · Score: 1

    If you are having trouble finding the skillset, then you probably are on a less mainstream platform. It might work for you, but if your goal is to have interchangable parts, stick to platforms that are "standard". Look through the job sites (Monster, Dice, what have you) and figure out the top three requested technologies in your area are and stick to them. If your field is real estate, make sure you weigh postings for work in that field a little heavier (since it is more likely that canned software supporting real estate will also lean that way) -- if it's health care, then weigh those heavier.

    This won't ensure that you get anyone of any quality, but it will ensure that you have a platform that can be supported easily.

    Layne

    1. Re:Stick to "standards" by doom · · Score: 1

      If you are having trouble finding the skillset, then you probably are on a less mainstream platform. It might work for you, but if your goal is to have interchangable parts, stick to platforms that are "standard".

      But if you're the only people in the business using an unusual platform, you'll be able to attract the entire range of people who are familiar with it, and they may very well be more enthusiastic to work on it than yet another corporate-grunt (I'm channeling Philip Graham here).

      When a platform becomes popular, that encourages programmers to learn how to work on it, but if you jump on a bandwagon too soon, you may find that the jobs are outpacing the trained programmers and you're hosed even if it did seem like very "mainstream" choice to you. Surveying ads on Dice to make a decision is perhaps not the best idea: you'll find out what kinds of programmers everyone is having trouble hiring, not what kinds are easy to hire.

      And in any case: is "ease of hiring" really that big a concern? Maybe you should be worrying about employee retention so you don't need to hire so often. If you can keep your programmer's happy with a less-mainstream choice, then maybe that's the way to go (returning to Philip Graham, here).

    2. Re:Stick to "standards" by SQLGuru · · Score: 1

      So, based on my little bit of experience with those boards, they are really head-hunters looking for your info so that they can get the referral fees. Or "consulting" companies looking for someone to round out some billable hours. Either way, it indicates that there is enough demand for someone to want the skill. I wasn't really expecting those to be sources for talent, just as an indicator of what skills are considered more important.

      Layne

  9. A few questions by Nightlily · · Score: 2, Insightful

    You didn't say where your organization is, but have you factored your location into the equation? Maybe in another area, you could find web developers with the correct skill set. Of course on the other hand, you could be using something outdated.

    Last time my company hired a new programmer, we had trouble. However it had more to do with the local job market, a general lack of IT talent in the area and other human factors (pay, benefits, etc...).

    You know when you are asking about an older technology when most of the younger applicants give you a blank stare and the older ones sit there for a minute thinking about the last time they used it.

    1. Re:A few questions by alta · · Score: 1

      So your recommendation is:
      Don't change your platform, change your location! :)

      Sorry, had to.

      --
      Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
    2. Re:A few questions by tepples · · Score: 1

      Maybe in another area, you could find web developers with the correct skill set. How much does it cost to open an additional office hundreds of kilometres or miles away, and how much productivity would be lost in the communication between these offices?
    3. Re:A few questions by truthsearch · · Score: 1

      It does sound crazy and expensive, but it's actually a popular trend today. Hire someone that's too far to commute, but not too far for the occasional face-to-face. Let them work from home, or if you find a few people in the same area open a small satellite office. It's usually worth the extra expense and inconvenience of communications if the staff is highly qualified.

    4. Re:A few questions by TheSpoom · · Score: 1

      How much does it cost to outsource to a freelancer without setting up that office? Not much, and it works more often than you might think.

      --
      It's better to vote for what you want and not get it than to vote for what you don't want and get it.
      - E. Debs
    5. Re:A few questions by Chris+Mattern · · Score: 1

      So, in other words, you need "location, location, location" for your "developers, developers, developers".

    6. Re:A few questions by rmerry72 · · Score: 1

      Maybe in another area, you could find web developers with the correct skill set.

      Location? For web developers? I can code web applications for anyone anywhere. Its the web! Remote development should be the norm, then you can hire from any labour pool in the world. Even if I lived in your labour market, why travel an hour to sit at a desk in the office and hammer into a computer then travel back home for an hour a day?

      --
      We do not inherit the Earth from our parents. We borrow it from our children.
  10. Bad Analogy by explosivejared · · Score: 0, Redundant

    How are folks out there determining when you've backed the wrong horse, and getting back on track?"

    That line of thinking is dangerous. The thing to do with horses is to just shoot the horse and breed a new one. I STRONGLY ADVISE YOU NOT TO FIRE BUCKSHOT INTO YOUR SERVERS!! For one thing, electronics do not breed well. Of course there are others, but this is a big one.

    --
    I got a catholic block.
    1. Re:Bad Analogy by flewp · · Score: 1

      Maybe he works for Cyberdyne? Their tech seemed to be able to reproduce, and buckshot may be the only solution to prevent impending doom!

      --
      WWJD.... for a Klondike bar?
  11. Isn't the answer obvious? by Anonymous Coward · · Score: 0

    "When you stopped getting paid (a living wage) for it."

  12. Wrong Question by tha_mink · · Score: 5, Insightful

    Everybody always says about the various platform/language wars, use what you can to get the job done. Since you said "web developer" and not "web developers", I assume the project isn't that large, or at least isn't large enough where you can't afford to do a bit of a re-write. The thing that is more important to me than language and platform, is design. If you have a good design, then refactoring your code_base into a different platform, shouldn't be all that impossible. (Remember, I'm assuming your application/site isn't really really big) And if you don't have a good design, then you need to redesign anyways. Just my two cents though.

    --
    You'll have that sometimes...
    1. Re:Wrong Question by Shade+of+Pyrrhus · · Score: 2, Insightful

      I fully agree - I came in here expecting to have to preach about design, but seems like you hit the nail on the head.

      If you expect things like this to happen, write them down as risks and take them into consideration when you're doing your design and plans. I understand a lot of people, especially with web code, want to sit down and just start writing until it works. At the very least laying, down the framework ahead of time will save you headache in instances like this.

      I guess when dealing with this, the best thing you can try to do is get your people to document their code and keep it as neatly modularized as possible. If you know what you had to write for your previous app, you can bet you'll be needing very similar functions/methods in the app created in the new language.

  13. When Should You Ditch Your Platform? by katterjohn · · Score: 1

    When it sucks. And since you chose to leave it nameless, I'd say it probably sucks.

  14. Sometimes, you can't ditch soon enough by susano_otter · · Score: 4, Insightful
    The developers I support have somehow convinced upper management to let them build their app around a third-party application that, get this:
    • Can only be installed by third-party technicians
    • Costs us several thousand dollars for the installation service
    • Must be scheduled at least a month in advance for installation


    Yes, this does, in fact, mean that if one of our application servers dies and has to be re-baselined for any reason, our entire application[1] is down for over a month and will cost us several thousand dollars in re-installation fees alone.

    [1]The entire application is a system of interlinked application servers, each of which has a different role in the system and each of which represents a single point of failure.

    I know what you're thinking: You're thinking we should have ditched the development platform before we ever even implemented it.

    But you're wrong. We should have ditched the developer platform the moment they came up with this hare-brained scheme.
    --

    Any sufficiently well-organized community is indistinguishable from Government.

    1. Re:Sometimes, you can't ditch soon enough by Reverend528 · · Score: 2, Funny

      The developers convinced the management that they needed to use some god-awful platform? It's like you're working in some evil alternate universe!

    2. Re:Sometimes, you can't ditch soon enough by Anonymous Coward · · Score: 1, Funny

      Or for Oracle/Peoplesoft

    3. Re:Sometimes, you can't ditch soon enough by susano_otter · · Score: 1

      As a Systems Administrator, I guess I [i]do[/i] live in an evil alternate universe.

      In my universe, the biggest source of headaches and jackassery is invariably the developers I support. In [i]their[/i] universe, developers are holy god-kings that can do no wrong. But in my universe, they're directly responsible for the miserable pile of unstable, un-maintainable, insecure applications whose uptime I'm supposed to sustain.

      There's not a single industry best practice in the realm of systems administration that my developers don't insist on violating every day, because it makes their job easier to ignore it.

      As a result, I have a very low opinion of software developers, application engineers, and all their ilk. Upper management comes in a distant second.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

    4. Re:Sometimes, you can't ditch soon enough by Anonymous Coward · · Score: 0

      All that and you, as a sysadmin, haven't been able to make the case that these practices were wasteful, and the developers should be put on notice by management?

    5. Re:Sometimes, you can't ditch soon enough by xero314 · · Score: 1

      In my universe, the biggest source of headaches and jackassery is invariably the developers I support. In [i]their[/i] universe, developers are holy god-kings that can do no wrong. But in my universe, they're directly responsible for the miserable pile of unstable, un-maintainable, insecure applications whose uptime I'm supposed to sustain. I'm guessing this is just a bunch of Developers trying to get even for having to jump through a dozen hoops just to find an System Administrator capable of deploying applications, let alone willing to do it in anything even resembling reasonable a time frame.

      There's not a single industry best practice in the realm of systems administration that my developers don't insist on violating every day, because it makes their job easier to ignore it. Being as the "industry best practice in the realm of systems administration" appear to be set up to make the system administrators job easier at the expense of every other job in the company, I can fully understand where the developers are coming from. Developers and Engineers like to get work done, Administrators (all types) like to avoid work and make it hard for others to get anything done, I always thought it was in the job description. Compare the definitions of Administrator and Engineer, you'll quickly see which group actually works.

      This is exactly why processes like Automated Continuous Integration, automated testing, and all other forms of software automation came about. Anything that can take the Administrators out of the loop improves the rate at which code can be maintained.
    6. Re:Sometimes, you can't ditch soon enough by dave562 · · Score: 1

      That's the problem with developers. They are so sex starved that even a single lunch a strip club will sway them and completely disarm any sort of logical decision making processes they might have. Kudos to the sales staff who persuaded your developers to go along with such a hare brained scheme. Their Jedi powers must be good.

    7. Re:Sometimes, you can't ditch soon enough by susano_otter · · Score: 1

      Like I said, we live in opposed-aligment alternate universes.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

    8. Re:Sometimes, you can't ditch soon enough by KyleTheDarkOne · · Score: 1

      Sounds like the developers might be getting a nudge from the third-party company to use them.

    9. Re:Sometimes, you can't ditch soon enough by IdeaMan · · Score: 1

      Please give us a list of the 10 worst of those. As a programmer/DB admin, and I think it would be very educational.

      --
      They ARE out to get you simply because They are in it for themselves and they don't care about you.
    10. Re:Sometimes, you can't ditch soon enough by susano_otter · · Score: 1

      All that and you, as a sysadmin, haven't been able to make the case that these practices were wasteful, and the developers should be put on notice by management?
      I would love to live in your alternate universe! Are you hiring?
      --

      Any sufficiently well-organized community is indistinguishable from Government.

    11. Re:Sometimes, you can't ditch soon enough by Anonymous Coward · · Score: 0

      Like I said, I live in an opposed-alignment alternate universe.
      There, fixed that for ya...
  15. What platform? by dougmc · · Score: 1, Insightful
    Knowing the platform would make this question far easier to answer in a useful way.


    Jokes about Fortran might be funny, but without knowing what your platform is, we can only answer in very vague ways. If you can't find anybody to work on this platform, and can't train anybody, then you need to replace the platform now and you have no choice. But this probably isn't really true -- what's more likely is that people who know this platform are hard to find or want to be well paid and it becomes a tradeoff. How much is invested in the platform? How much work to move to something else? And what to move to? We need more details ...

    1. Re:What platform? by gbjbaanb · · Score: 2, Insightful

      on the other hand, we can make some inferences from this. We know its not ASP on IIS.

      I think that tells you something about why people choose Microsoft no matter what. Quite often the decision to go with a cool, new technology is not a good one simply because it is new and cool. Old and boring generally always wins in this industry.

    2. Re:What platform? by 93+Escort+Wagon · · Score: 1

      on the other hand, we can make some inferences from this. We know its not ASP on IIS.

      I think that tells you something about why people choose Microsoft no matter what. Quite often the decision to go with a cool, new technology is not a good one simply because it is new and cool. Old and boring generally always wins in this industry. So what you're really advocating, then, is running Apache on Linux? Because that has been around longer than IIS; and it has a larger marketshare than IIS.

      --
      #DeleteChrome
    3. Re:What platform? by Ahnteis · · Score: 1

      I hardly think he's advocating using Apache to write his webapp. You'd have to do some really bizarre plugin-type-thingy to do that. Perhaps you meant PHP on Apache or something? :)

    4. Re:What platform? by gbjbaanb · · Score: 1

      yep, that'll do too. What I was not advovating was anything based on technical merit - just 'business' factors that matter more, as the OP has found out.

    5. Re:What platform? by Anonymous Coward · · Score: 0

      Assuming that the link to the submitter's blog is honest, why not give him a call :

      http://www.google.com/search?q=david+barber+Ann+Arbor,+Michigan

      or drop by and ask :

      http://maps.google.com/maps?li=rwp&q=606+W+Summit+St,+Ann+Arbor,+MI+48103

      Didn't bother to find out where he works, but I guess you could.

      Google scares me sometimes.

  16. Sounds like you already made a decision... by javabandit · · Score: 4, Insightful

    If sensible individuals in the organization are starting to question whether or not the platform needs to be replaced, then it probably does. Because usually those discussions don't come about unless you've hit a wall of some sort: performance, unavailability of employees with those skills, incompatability, unsupportability, deprecation, et cetera.

    When you start to experience those things in your platform, its usually time to start an exit strategy.

    1. Re:Sounds like you already made a decision... by bryguy5 · · Score: 1

      A immediate cut over re-write is going to be the costliest, riskyest strategy. If you can split your site into seperate applications and migrate them over one by one. Any decent web developer should be able to pick up your old platform enough to do minor maintenance edits. Make all development on the new platform. It's helpful if you can use a common backend database for both platforms so that might limit your choices. Just stick to your guns on the transition plan and make sure that all the important decision makers understand. You have to stick to your platform plan. One company I worked for was in the middle of a transition from Cold Fusion to .NET (yes they were a microsoft shop). When one of the marketing execs hires an outside design firm to do a major rewrite in php we ended up having to rent a second dedicated server after having stability problems with php on iis (although zend and microsoft are currently working on that - don't touch it until they have the mssql driver done ). It effectively killed .net transition as we scrambled to maintain all 3 platforms. p.s. before you flame me, at my current job we use php exclusively on LAMP. Note at my former company we had a huge exisiting mssql database that we had to integrate with the web on virtually every project so .net made more sense.

    2. Re:Sounds like you already made a decision... by SpinyNorman · · Score: 1

      Nah.

      If the manager doesn't have a clue whether the project he is managing is based on obsolete or dying standards, then the fact that he is questioning it doesn't carry much weight!

      Developer: We're going to build the new project out of Jello and Duct tape!

      Manager: Sounds great! ------------- unfit for the job

    3. Re:Sounds like you already made a decision... by drew · · Score: 1

      It sounds to me like the only wall they are hitting is hiring. That might be because the platform is outdated and needs to be replaced, but I can think of a number of reasons that are more likely.

      The most likely reason is that they just aren't offering enough for the position. I think this is a big problem at my current company. I've been here for years and there's never been a time that we haven't been trying to hire more web developers. I'm only involved in part of the hiring process, but as far as I can tell, they tend to offer a pretty middle of the road salary for web development positions, but the people making the salary offers don't understand that we aren't trying to hire middle of the road developers. In fact the people who review web developer resumes will typically throw out an "average web developer" resume without a second look.

      The other very likely reason is that they are being far to specific. If they are looking for "5 years ASP.NET + VSS + AJAX.NET + [some random .NET technology]", they are limiting their search too much. 5 years ago, a hiring manager could get away with that, because there were so many out of work programmers that you couldn't throw a stick without hitting one, but not anymore. Try broadening your search. If you're looking for AJAX (I can still barely use that word without gagging), well, it's about the same no matter what language you use on the backend. Any good PHP programmer will have no problem working in ASP if they are willing to, and vice versa. Same with C# and Java. Instead of trying to find somebody who knows your platform inside and out, look for a solid programmer in any language that is familiar with the type of work that you need done and is willing to learn.

      --
      If I don't put anything here, will anyone recognize me anymore?
  17. Without knowing the platform, how could we say? by seebs · · Score: 4, Insightful

    You could be talking about anything from RealBasic to perl. Without knowing, we can't even speculate on whether you can't find someone because demand is so high that they've all been snapped up, or because the product is dead.

    In general, I tend to look for a healthy third-party community. If there are multiple third-party sites, well run, with competent spelling and grammar, and no legal affiliation with the primary vendor, that's a good sign.

    Examples: Ruby, python, perl, C.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    1. Re:Without knowing the platform, how could we say? by jedidiah · · Score: 1

      He is more than likely NOT talking about Perl. He might be. Although then this
      would be a discussion of why he doesn't want to pay the market wage.

      This is probably something rather obscure. Being an expert in this platform
      probably puts you in a deadend position where you're pretty much either working
      for this guy or being out of work for 3 more years.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:Without knowing the platform, how could we say? by Bogtha · · Score: 1

      Precisely. Who says their difficulty in finding a replacement web developer is down to the platform? Too many times I've seen people asking for an experienced graphic designer and expert developer rolled into one, while offering a salary that would be miserly for just the one. And don't be surprised if nobody responds to a request for a Photoshop wizard with ten years experience in Rails. It's rare to find people who are an expert in two very different fields and you have to pay them accordingly.

      --
      Bogtha Bogtha Bogtha
    3. Re:Without knowing the platform, how could we say? by slamb · · Score: 1

      The question was: "With knowing the platform, how could you say?" That's what odoketa is asking you. To reiterate, if he had given you the name of the platform, by what process would you decide if he should ditch it?

      Everyone here (including you, obviously) seems to be expecting him to just ask a expert if his specific platform should be ditched, and I'm inclined to agree. So my answer to his question is "ask an expert, preferably one who works for you". If you're not going to invest the effort to become an expert, there aren't any real shortcuts to making this kind of decision, so you need to hand it off to someone who has invested that effort.

      So here's my new question: "How can a nontechnical person hire a good web developer to take over a project written in platform X?"

      odoketa's current approach seems to be finding web developers who know platform X. That's not working well. There are a lot of platforms out there, and given the proportion of good web developers to all web developers, restricting yourself further to ones who happen to know a particular platform seems unreasonable. If they're really good, they can learn it quickly, particularly if they've used similar platforms in a similar programming language before.

      Unfortunately, I don't have a good idea. I'm a technical person, so I have the luxury of being able to ask candidates a variety of technical questions to determine if they know what they're talking about. That only works if you already have at least one technical person on hand...

    4. Re:Without knowing the platform, how could we say? by FranklinDelanoBluth · · Score: 1

      Examples: Ruby, python, perl, C.

      While C as a language is far from dead, I would hope you're not recommending it for web development. That's just brutal.

      C++, on the other hand, might be more feasible for the intrawebs...

    5. Re:Without knowing the platform, how could we say? by DragonWriter · · Score: 1

      Without knowing, we can't even speculate on whether you can't find someone because demand is so high that they've all been snapped up, or because the product is dead.


      Does it really matter why its impossible to find someone to maintain what they have? The end result is the same.
    6. Re:Without knowing the platform, how could we say? by seebs · · Score: 1

      You have an interesting point, and that is indeed the question I tried to answer.

      You are right that good developers can pick up a new platform. However, if there are no developers using the platform, that may be a subtle indication that there is something wrong with the platform!

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  18. Every 9 Months Obviously by aliens · · Score: 0, Redundant

    You should finish rewriting your site around the same time you start seeing articles extolling the latest and greatest language that some too-smart developer dug up from obscurity after becoming bored with the last obscure language they used and got other bored minds excited about.

    Then again you could just write it in Sanscrit, a 5000 year old dead language, I'm sure lots of kids coming out of college majored in that.

    --
    -- taking over the world, we are.
    1. Re:Every 9 Months Obviously by An+ominous+Cow+art · · Score: 1

      I was going to make a joke about a new scripting language called "SANscript", but I remembered something...

      In the early 90s, I had to look at the C source code for some language translation software, written by a
      linguist. The comments and variable names were in Sanskrit.

    2. Re:Every 9 Months Obviously by aliens · · Score: 1

      Haha that's classic. I was actually making a joke reference to the movie PCU.

      --
      -- taking over the world, we are.
  19. When it stops working by downix · · Score: 1

    If the system works, but you are just having an issue finding help, then the issue is not the platform it is the job pool. Perhaps you are setting your sights too high, or perhaps you are wording your help request poorly. I happen to be skilled in Linux admin, yet in my current job I am working with a mixed Solaris and zOS environment. The skill difference turned out to be very slight, and within 2 weeks I was up to speed for the most part.

    --
    Karma Whoring for Fun and Profit.
  20. Its your company by kperrier · · Score: 0

    not the programming platform that is causing the issue.

  21. Binary is better by sjwest · · Score: 4, Funny

    we train monkeys to shout 1's and 0's at computers. The Monkeys are happy.

    1. Re:Binary is better by sm62704 · · Score: 2, Funny

      We train monkeys to Write fiction.

      In COBOL. Using Hollerith cards because keyboards are for pussies.

      Am I done yet? Can I go home now?

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    2. Re:Binary is better by saboola · · Score: 1

      This same method was used in the 2004 presidential elections.

  22. Immediately by z-j-y · · Score: 5, Funny

    And I recommend Ruby on Rails. Its developer community has been growing exponentially, from 5 guys in 2006 to 10 guys in 2007. If you are extra conservative, you can try Groovy on Rails. It's just like Java, but better.

    1. Re:Immediately by doom · · Score: 1

      And I recommend Ruby on Rails. Its developer community has been growing exponentially, from 5 guys in 2006 to 10 guys in 2007.

      I was going to yell at you, before I got the joke.

      Awhile back, there was some core Ruby dude who was storming out the door with a FOD flamefest -- most discussion here centered on his obvious personality problems, but along the way the man talked about Rails servers being horribly unstable, needing to be rebooted frequently. It could be that The Problem is Fixed Now, but you have to wonder how the buzz for a platform can reach such a tremendous pitch when there are still basic problems with it that need to be solved...

      (And why do you think they call ORMs "Object Relational Mappers"? They seem to be designed to make sure you can't use any Relational features. Maybe "object dumpers" would be a better name -- or "database crippleware".)

    2. Re:Immediately by SanityInAnarchy · · Score: 1

      you have to wonder how the buzz for a platform can reach such a tremendous pitch when there are still basic problems with it that need to be solved...

      I wonder, too, and it does often piss me off, but the fact is, it filled a need, and it forced people to think differently about how to develop web frameworks (and applications). In other words, it was going to happen, whether or not the technology was ready -- and Ruby is a lot better now because of it.

      And why do you think they call ORMs "Object Relational Mappers"? They seem to be designed to make sure you can't use any Relational features.

      It's the 80/20 rule. But that's disingenuous; I can do whatever SQL I want, for the very few cases where you need custom SQL. The Rails catchphrase, "convention over configuration", isn't really accurate -- what it really means is "there are sane defaults, so you can do the common things quickly and easily, but the configuration is there if you need it." Compare to Java, where you can end up with more XML configuration than code for an ORM...

      There are still things I hate very much about Rails, and I did stay away for a long time because of the buzz. Let it get to a certain amount of hype, and nothing can live up to that -- but it is useful, hyped or not.

      --
      Don't thank God, thank a doctor!
    3. Re:Immediately by dhasenan · · Score: 1

      Just go with Groovy on Grails. It scales to about a hundred users, whereas Rails only scales to sixty. And it's object-to-database rather than database-to-object, so it doesn't confuse those poor Java developers.

  23. Use proven technology by uuxququex · · Score: 2, Insightful
    You don't give a lot of detail about your current setup.

    But here are a few tips anyway, perhaps they can make your decision easier:

    • Use a proven language, not HotNewLanguage v0.09beta. It will do wonders for your stability and you can actually get developers for it, next year when there a new hotness.
    • Use open formats, do not get vendor-locked. Maybe there are a lot of developers for your propietary system, but they are going to use the newest tools that the vendor provides, not your bound-to-be old version.
    • Keep your system simple and modular.

    So, in a nutshell, I recommend Perl, Postgresql and FreeBSD. Plenty of experienced developers, and the tools Just Work.

    1. Re:Use proven technology by seebs · · Score: 1

      I endorse the above comment. pgsql is a delight to work with, perl is durable and well-understood, and freebsd shuts up and stays out of your face.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    2. Re:Use proven technology by quanticle · · Score: 1

      One more thing: Abstraction. Make sure that your new setup makes it easy to write an abstraction layer, or includes an abstraction layer. There's nothing worse than having finished your application to realize that the customer wants to run it on a different backend, so you have to rewrite all the database calls that are scattered all across your application. Having all your I/O stuff concentrated in a (relatively) small set of classes does wonders for maintainability and extensibility.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    3. Re:Use proven technology by doom · · Score: 1

      I endorse the above comment. pgsql is a delight to work with, perl is durable and well-understood, and freebsd shuts up and stays out of your face.

      There's nothing wrong with FreeBSD, of course, but as I understand it postgresql performance is better on linux now, for recent values of linux.

      If you're a unix dude, I don't see why you'd care which one you're working on, myself.

      (And I agree strongly with the recommendations for postgresql and perl -- which is much-maligned, but actually going strong.)

    4. Re:Use proven technology by seebs · · Score: 1

      I like the BSDs better. My ideal world involves NetBSD and PostgreSQL, but I'll use just about any of them.

      I suspect some of it is just baby duck syndrome, but the BSDs tend to feel a little more coherent to me. I think a lot of it is just the experience of watching the boot messages. BSD boot messages are consistently written according to predictable patterns. Linux boot messages are full of innovative new ways of passing on different pieces of information.

      This makes me wonder about the architecture. I also don't trust documentation with grammatical errors, or even just inconsistent usage.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    5. Re:Use proven technology by uuxququex · · Score: 1
      as I understand it postgresql performance is better on linux now, for recent values of linux

      Not according to this benchmark: http://bsd.slashdot.org/article.pl?sid=08/03/06/1313218>

      If you're a unix dude, I don't see why you'd care which one you're working on, myself

      • Documentation - BSD has excellent and consistent documentation. Linux doesn't.
      • Design - BSD is a complete system and feels like it. Linux, to me, feels like the kludged-together patchwork it is.
      • Support - BSD has competent users that are very willing to help, once you have done your homework. Linux has way too much fanboys and posers for me. At least they tend to be more vocal and drown out the 'good guys'.

      Don't get me wrong, I think Linux is a very important software product, and a massive testament to the power of decentralized development. If Linux is a solution for your problem, fine. With distributions like Ubuntu the learning curve has been all but removed.

      For me, though, I'll stick to BSD.

    6. Re:Use proven technology by doom · · Score: 1

      as I understand it postgresql performance is better on linux now, for recent values of linux

      Not according to this benchmark: http://bsd.slashdot.org/article.pl?sid=08/03/06/1313218>

      Try following that link again, it has an update:

      "An anonymous reader sent in word that Linux kernel developer Nick Piggin reran the benchmark today and came to a different conclusion: In his benchmark Linux was faster than FreeBSD."

    7. Re:Use proven technology by uuxququex · · Score: 1
      I had not seen the update yet. Very interesting, I'm sure we'll hear more from both sides about this.

      A bit of friendly competition will ultimately benefit both systems. This is a game were both sides win! ;-)

      I really would like to run my own benchmarks, but it wouldn't be objective nor fair as I don't know enough about tuning the Linux kernel for performance.

    8. Re:Use proven technology by doom · · Score: 1

      A bit of friendly competition will ultimately benefit both systems. This is a game were both sides win! ;-)

      Well yeah... and needless to say the real answer is probably that they're both pretty good, and this isn't worth worrying about all that much.

  24. Re:Finding good web developers is hard. by FictionPimp · · Score: 1

    I will gladly work for my weight in gold per year.

    I estimate that to be about 2.2 mil USD per year.

  25. languages, talent, and community by davejenkins · · Score: 4, Insightful
    A platform is a semi-permanent thing. You cannot just switch your website platform for a major ecommerce site over the weekend-- plan on several months of pain. If you don't plan, figure on several years of severe pain.

    Platform choice should come down to three things, IMHO:
    • language - must be flexible and interconnectable with 3rd parties. Your platform won't do everything, and you'll be using a lot of 3rd party vendors for analytics, cross-sell, reviews, image hosting, etc. Make sure your language plays nice with others: Java, PHP, perl, .NET are all 'common', so these should be good.
    • talent - in my previous city, there was a good amount of perl people, as well as java developers. Now I am in the midwest, and everyone seems to be all .NET this and .NET that-- so, .NET seems to make sense, as we would be pulling talent from this pool for our staff. Some areas of the country are stronger in different languages and platforms.
    • community - there are some great platforms out there, but their communities are dying or shrinking. Other communities have a lot of people, but most of them are script-kiddies. Beware. A platform should be both 1) a bit mature, and 2) viable community.


    Having said those points, DO NOT switch platforms just to make your developer happy. If you have a staff of architects and developers and they all agree that some new platform is better in the short- and long-run, then go ahead and switch. But if this is just the whim of 2-3 guys, tell them NO.

    One last point: if/when you do switch, make sure the clock drives the functionality, not the other way around. If you let functionality drive the clock, you'll be 4 years and several million dollars into a nightmare. Set a deadline (a REAL deadline) of 6 months and take what you get at the end of that 6 months. your developer crew (internal or external) will be augmenting and building out on that platform no matter what, so you're far better off having something cuick and crude rather than late and fancy. I cannot emphasize this point enough.
    1. Re:languages, talent, and community by Panaflex · · Score: 1

      I'd throw a single developer on it... give him a few tasks and see how quickly she/he gets it done. Get feedback and see what happens. Give it some load and see how many control levers there are.

      The benefit here is that you get lots of support BEFORE the sale. A vendor will throw themselves on you usually to get the deal done.

      I've been to many pony shows and they all look great. But until you sit down and do it you don't have any idea.

      --
      I said no... but I missed and it came out yes.
    2. Re:languages, talent, and community by Just+Some+Guy · · Score: 1

      Make sure your language plays nice with others: Java, PHP, perl, .NET are all 'common', so these should be good.

      One of those frameworks will forever tie you to the whims of one specific vendor with a reputation for abandoning old frameworks for no customer-driven reason. If you bet the farm on .NET and it doesn't pan out, you deserve what you get.

      so you're far better off having something cuick and crude rather than late and fancy. I cannot emphasize this point enough.

      Oh, you might've mentioned that you've never worked in IT before. You see, in reality, you'll end up stuck with "quick and crude" 5 years from now and will be cursing that half-assed pile of fragile dysfunctionality until you decide you've finally had enough and start over. On that day, you'll probably write a question to Slashdot: "when should we ditch our platform?", and someone will advise you to crank out something "quick and crude".

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:languages, talent, and community by davejenkins · · Score: 1

      Oh, you might've mentioned that you've never worked in IT before.

      An unresearched attack, nice. Well, I have spent my whole career managing engineers, but I defer to your lower Slashdot number.

  26. Avoid the latest by andlewis · · Score: 1

    Avoid the latest technology, use languages/tools/etc with a proven mainstream history. This might mean you need to skip having the fastest and flashiest, but in return you'll have code that people will know how to maintain five years from now.

  27. synergizing new platforms and paradigm shifts by Anonymous Coward · · Score: 0

    Leveraging existing technologies to advance a new paradigm shift is important. You need to keep in mind that with the advance of Moore's law and the approach of the singularity, that you can't stay in old technology. You see, on one hand, we have programmers, and on the other, we have technology, and together...., wait, oops, what I meant to say was, on one hand we have technology, and on the other, programmers, and together, with synergy, profits will only increase. What concerns me most about your question is that you are only seeking one programmer. Using agile web development you will need at least two programmers, working in a team environment. If you only have one programmer, he is likely to get lonely, which is probably why your last programmer quit. Finally, do you love what you do? This is an important question. You see, if you don't love what you do, how can you expect to hire people that love what they do? Make sure that you love what you do, and if you haven't told your coworkers this lately, be sure that they know it. Before jumping ship to a new platform, keep that in mind.

    1. Re:synergizing new platforms and paradigm shifts by doom · · Score: 1

      You need to hire this man before switching to a new platform. He'll keep management off your back.

  28. Get rid of the PHB who is makeing the choises by Joe+The+Dragon · · Score: 1

    Get rid of the PHB who is makeing the choices and replace him with someone who knowns what they are doing and has the power to put in a new web system that is better.

  29. Well, it depends... by man_of_mr_e · · Score: 1

    My guess is that you're talking about a Mac Server with Ruby on Rails, which despite being a hot buzzword and so much talk about it, really has very few experienced developers out there.

    Most platforms are fully capable of dealing with average loads. If the solution is working fine, perfoming well, and just needs maintenance... then I'd suggest that maybe you just need to change your hiring practices. Maybe you really don't need someone with 3 years of experience in the technology. Maybe what you really need is someone with enough experience overall that he can learn or pickup the technology quickly and apply his experience in other technologies to that technology?

    On the other hand, training someone in a technology that is in short supply is a sure bet that they'll go somewhere else that will pay them more as soon as they have the requisite experience.

    You really need to do a Cost/Benefit analysis. How much will it cost you to convert your platform to something else? How much benefit will that give you?

  30. Well, what is the platform? by SmallFurryCreature · · Score: 4, Insightful

    It matters, because it relates to why you might be unable to find any people for it. It might be a really obscure one that requires deep knowledge. Any programmer worth his salt should be able to switch between PHP/ASP/Perl/Ruby and the likes with relative ease. Did you look for a programmer worth his salt or did you search for someone with 10 years experience with Vista? The more obscure and closed the platform, the less likely you are to find someone with specific knowledge and them more you will just have to hire someone who can train himself on the job.

    The easiest way to determining if your platform has support is to look through personal ads, is nobody else hiring people with those skills, then you got to wonder why. Browse for tutorials, see the forums for that platform for activity.

    The way to avoid this in the future is to remain low-tech. Don't tie yourself to deeply into solutions crafted onto solutions. For instance use PHP, not bloody frameworks build on that. If you then use a software suit, build on a framework, build on a language, build on a platform, well you are going to have problems finding someone with those exact skills.

    Oh and replace PHP with whatever language you prefer.

    I see this all the time, some company buys a solution, does some half assed training, do half of the updates that are available and then a couple of years later when the site is hopelessly out of date wonders why they can't find anyone who responds for their personal ads.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

    1. Re:Well, what is the platform? by smellotron · · Score: 1

      The way to avoid this in the future is to remain low-tech. Don't tie yourself to deeply into solutions crafted onto solutions. For instance use PHP, not bloody frameworks build on that. If you then use a software suit, build on a framework, build on a language, build on a platform, well you are going to have problems finding someone with those exact skills.

      Having been there myself, I can see three possible results from following that advice:

      1. You consistently write low-level code, and your code is full of duplication. If it's not full of duplication, it's because it doesn't have many useful features, like the necessary security precautions on top of vanilla PHP. It takes a lot of effort to change fundamental patterns (because of the duplication).
      2. You use someone else's framework. It mostly fits the bill, but not entirely. You still have to write plenty of your own code to extend the framework as necessary (or modify it, but that's another whole can of worms). You ignore it for the purpose of hiring, since anyone worth hiring can be taught how to use the tools.
      3. You end up crafting your own framework (or toolkit). It fits your particular tasks better than any other popular (and thus overly general) framework. It also has a lot more bugs than the others, and a higher learning curve because it has more poorly-thought-out idiosyncracies.
      I'm personally a fan of #2 when you're starting from scratch, or #3 if you are willing to bet on the skill/experience of your developer(s) and you have a lot of legacy components to interface with. Just don't fool yourself into thinking that avoiding canned solutions will keep you "free"... you'll just be chained by your own creations, instead of someone else's. And of course, this applies to any language; not just PHP.
  31. Yeah, sometimes you inherit some annoying things by ScentCone · · Score: 1

    Sounds like you've been left out in the Cold... a Fusion of problems, it seems.

    But seriously, it's worth mentioning that sometimes the word "platform" is confused with the word "framework" or some other level of organization. A perfectly good scripting language can be used to build up a web site with an intolerably obtuse nested include file strategery. The web site's platform could be a poor implementation of a perfectly usable technology - but with such momentum that it's hard to turn it into something fresher without putting a bullet in it. Yeah, we need a little more to go on here. The advice you need is, ultimately, going to be in the form of a cost/benefit analysis. And that's going to depend on the nature of your web content, who the authors/editors are and how well they can adapt to a new CMS, etc. Those group culture issues can have as much or more to do with the viability of a change than will the decision over whether you have an extra $5k/year to woo a better coder.

    --
    Don't disappoint your bird dog. Go to the range.
  32. If its not backward compatable & you have lots by deweycheetham · · Score: 1

    then you might want to look at a platform that can be maintained over many years(use 10 years a benchmark) with|without with incremental upgrades as needed.

    I recommend any one of the Unix/Linux/BSD (with a maybe on Apples Mac's) as a platform, for running Apache for web applications. There is a long dependable history there. Look for yourself...

  33. hmmm by circletimessquare · · Score: 2, Funny

    i highlighted "When Should We Ditch Our Platform?" but IntelliSense doesn't have any suggestions

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  34. When the cost of maintaining it... by KillerCow · · Score: 5, Insightful

    ... exceeds the cost of replacing it.

    P.S.

    I don't buy this "we couldn't find anyone" BS. Were you, by chance, using a 2 year old technology, and your HR drones were looking for someone who "must have 5 years experience" with it. Were you looking for a laundry list of tools, apps, and domain knowledge that, realistically, no-one except the previous employee had? You could, you know, find someone with a modicum of intelligence and [*gasp*] train them. Did you insist on someone with a degree to do little more than cut and paste text files? Were you paying at the market rate? I suspect that the problem was more with your hiring process than with your technology. If it was purely a technology problem, then the answer would be obvious and you wouldn't be asking us.

    1. Re:When the cost of maintaining it... by geekoid · · Score: 1

      No. Bad advice.

      It's bad advice because very few IT people understand the true cost of replacing a system

      Some chuckle head could just for "100 PC's are cheaper then the mainframe, and they can be clustered!" Then actually try that.(seen it, it's was ugly and we got the VP to trash the project, and the developer was let go.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:When the cost of maintaining it... by kurbchekt · · Score: 0

      /applause
      Makes me wish I had mod points...

    3. Re:When the cost of maintaining it... by merreborn · · Score: 1

      Some chuckle head could just for "100 PC's are cheaper then the mainframe, and they can be clustered!" Then actually try that.(seen it, it's was ugly and we got the VP to trash the project, and the developer was let go.
      I mean, hey, it's how everybody does "web-scale computing", but since you've seen it fail once, it must be a terrible idea, right?

      What do those idiots at google know, anyway?
    4. Re:When the cost of maintaining it... by wagr · · Score: 1

      I do buy the trouble hiring. We're not in a large city, we're not even in a medium city. By a chamber of commerce estimate, the number of developers within 25 miles of our office is 600, roughly 40 of whom are seeking work -- meaning not working at all or not working as a developer. (I only know this because we recently went looking for a web developer). Of those seeking work, most only know Cobol (based off 23 resumes) and / or Excel.

      Here are the criteria we used last fall. We use similar criteria to switch not only development platforms but outside code packs or services.
      1) Our customers are asking for features that another platform can provide easier or faster.
      2) This new platform is newer. Yes, this leaves out some good stuff, but it is one of our criteria.
      3) The new platform is not too costly -- judged by the boss's gag factor. Also the cost of implementing the new platform can't cost our users (i.e. who have their own servers) above what we already charge in their service agreements (sometimes this means we eat any end-user fees).
      4) We have at least one person on staff who already knows the new platform or nearly begs to learn it in their own time (if they offer to take a class, bonus points).
      5) There is some path that allows us to release in both platforms for a while. Meaning we can link work in both so that we can release product that contains a mix.
      6) The new platform is sufficiently powerful that within a couple years we can migrate all features from at least one old platform to the new one. Thereby eliminating an old platform.

    5. Re:When the cost of maintaining it... by Timinithis · · Score: 4, Insightful

      "We couldn't find anyone" usually equates to we are too cheap to pay the market rate.

      I speak from experience. I apparently set someone off in upper management, and the process was set in motion to replace me. When the company received no applications (they placed the salary range in the ad), they removed the salary and asked for salary requirements. My supervisor, who was reviewing the resumes, actually resigned when he saw how underpaid he was!

      I got a small raise, I am above the minimum range, but not close the the average for my position. I stayed only because I was already holding on a security clearance to come through for another job. Took 6 months, but it came through and I'll be resigning myself shortly .

      Never let management/HR tell you "they can't find anyone." Odds are they are too cheap to pay market.

      --
      Sig? What's a Sig?
    6. Re:When the cost of maintaining it... by Doctor+Faustus · · Score: 1

      I don't buy this "we couldn't find anyone" BS. Were you, by chance, using a 2 year old technology, and your HR drones were looking for someone who "must have 5 years experience" with it. etc.

      It could be that they're using a technology that has clearly lost whatever competition it was in, and they can't find anyone because whoever they hired would be stuck with something irrelevant on their resume. Delphi, VB 6, Forth, PL/1, whatever. The only people who would be exercising good judgment by taking a job like that would be those wanting to retire soon.

    7. Re:When the cost of maintaining it... by paulbsch · · Score: 1

      Who says you even have to [*gasp*] train them? A good developer should be able to pick up a book, read web site documentation, etc. and train themselves. i.e. If you hire a good PHP developer, they should be able to quickly learn Ruby on Rails or whatnot and become productive using that too.

      That developer might even [*gasp*] have a desire to learn a new platform s/he hasn't had an opportunity to work with. If the developer is excited about it, there's a good chance they are going to pick it up quickly and stay around longer. Bonus...

    8. Re:When the cost of maintaining it... by smellotron · · Score: 1

      I mean, hey, it's how everybody does "web-scale computing", but since you've seen it fail once, it must be a terrible idea, right?

      Ease up on the sass!

      1. HTTP is stateless, which makes it basically an "embarassingly parallel" problem, similar to raytracing, or batch multimedia processing. Renderfarms are very common, too. Plus, if any given node a render/HTTP-farm fails, it is easy to recover (just retry the operation).
      2. You don't know the details about the problem that was being solved, so it's hardly fair to say "easily-parallelizable problems are good to put on clusters, so your problem should also be good to put on a cluster!" Something like an write-heavy database server probably just isn't going to get the same benefit of being on a PC cluster, unless you spend a massive amount of effort on data partitioning and distributed failover mechanisms.

      What do those idiots at google know, anyway?

      They know how to implement their solutions to benefit from parallism (MapReduce). They know how to use the right tool for the job. Anything they can throw MapReduce at is ideal for clustering; that definitely includes search.

    9. Re:When the cost of maintaining it... by smellotron · · Score: 1

      ...a good PHP developer...

      Seriously? That's like hunting in a forest for 7-leaf clovers and leprechauns!

  35. Exact same problem with Flash by paulpach · · Score: 3, Interesting

    This same thing happened to us with Flash.

    Flash was all powerful and pretty. Putting aside the serious deficiencies with flash, hiring quality people to work with it was nearly impossible. The people that where good with flash where graphics designers, they like to do pretty animations and colorful graphics, but they where terrible programmers, and knew nothing about usability and user interfaces. The people that where good programmers avoided flash like the plague ( myself included :), why did I ever go work for them? ). Usability people's first recommendation: dump flash.

    So if you are a big enough shop, and you decide to do your web application in flash, you need a minimum of 4 people: A graphics designer to do flash, a user interface guy to design your interface and a programmer to do your code, and a project manager that can make them work together. If you are a small shop, and can not afford 4 people, you should really reconsider your choice of platform.

    At the end, we ended up switching to good old HTML, the transition was very painful, but now there are lot more options when hiring, the product improved dramatically, and there is less worry about someone being hit by a bus.

    1. Re:Exact same problem with Flash by julesh · · Score: 1

      Putting aside the serious deficiencies with flash, hiring quality people to work with it was nearly impossible.

      That's because you can't put aside the serious deficiencies with it, and working with it for complicated applications is nearly impossible. Seriously. My company did a good trade in about 2002 - 2004 converting Flash web sites to HTML/javascript when their owners realised how expensive maintenance was going to be.

      Did you know that a lot of them had flash interfaces because Macromedia had subsidised the initial development?

    2. Re:Exact same problem with Flash by poot_rootbeer · · Score: 1

      At the end, we ended up switching [from Flash] to good old HTML

      And how does such a re-platforming remove the need for domain expertise in programming, design, UI, and project management, respectively?

    3. Re:Exact same problem with Flash by Brandybuck · · Score: 1

      And as a side benefit, your users don't have to be subjected to Flash! My platform won't run proprietary Flash, as it's not one of the three Macromedia-approved platforms. Having to reboot into Windows just to engage in ecommerce with you is not worth the hassle. So I take my business elsewhere.

      You can use whatever damned software you want internally, but don't tell your users that they need to install new software, use a different browser, or reboot into Windows.

      </rant>

      --
      Don't blame me, I didn't vote for either of them!
    4. Re:Exact same problem with Flash by Anonymous Coward · · Score: 0

      You forget some more personnel - namely a bunch of other people to do the non Flash version of your site.

      Speaking four mice elf I simply won't use a flash based site.

  36. Profit and profit forecasts by revscat · · Score: 1

    It seems this is more of a financial decision than a technical one. Most frameworks work, and with enough expertise can work well. Sure, there's crap out there, but by and large this is a function of profit.

    1) Is your company currently profitable? If not, is a significant reason for that because of the cost to maintain your applications?
    2) If you are currently profitable, are your forecasts showing continued profitability?
    3) Is your IT budget forecast to increase, and if so is that due primarily to increased maintenance costs? If yes to both, then maybe.

    There's no easy way to know for sure. Despite my previous jab against PHP, there are plenty of successful PHP applications about there. But assuming that it was a relatively unused technology, and you were having a hard time finding PHP coders, I still think this would boil down to a financial decision. If it turns out to be IMPOSSIBLE to find developers, then train the new hires.

  37. let me break the task into smaller ones. by mapkinase · · Score: 1

    * Amount of code behind of old coding solution on old platform
        * Amount of coding needed to be done if old platform changes to platform P.
    * Is platform P supporting the features you want to keep?
    * Is platform P bringing the features you want to add?

    It has to be purely business decision.

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
  38. seen this before by fred+fleenblat · · Score: 1

    My guess is that the guy that quit was actually kind of a superstar-level developer and was doing the amount of work you'd normally get from 3+ people. So your expectations are now so high that you can't find anyone that can slot into your expectations. That's *your* problem not PHP's or slashcode's or anybody else.

    If the business is making money and needs to get things done, they will just have to pony up for 3 or more people to do the job this one guy was doing before. They won't all have the exact skill set you're looking for but maybe they will have overlapping 1/2 or 1/3 of the skills each and if you actually manage the project instead of playing office politics all day you can get things whipped into shape with their help.

    1. Re:seen this before by Anonymous Coward · · Score: 1, Interesting

      I have this problem. I was originally hired on as a 20 hour per week "IT guy" to take care of problems with some high-end CAD and PLM software on Windows and IRIX. As time went by (and one full time engineer who took care of the rest of the IT stuff was fired) I became responsible for more stuff. First it was total responsibility for the workstations. Then the network and servers. Then the custom software and websites. Then expansion of our resources including adding Linux and Solaris servers. Then scientific software written in FORTRAN for the Solaris machines. Then assisting in the development of software and engineering products. Then providing customer technical support for the products.

      Now here I am. Everything has been set up in such a way that there are days when I automate myself out of stuff to do. Most things are done to established and documented standards. Those things that could not be or were not are documented in case I get hit by a bus. If I had smart, adaptable, quick-thinking replacement(s) that I chose and trained it would probably take a week or two for up to two people to get the swing of things. But if I left without training a replacement or died, I can't imagine the nightmare they'd be living.

  39. Do research by shutdown+-p+now · · Score: 1

    Don't rely on the buzzword of the month to be truly the latest and greatest. It's better to go for solid stats - a bit of Googling should help you with that. In general, it is easy to realize what frameworks you can rely on once you see the numbers - say, if you're looking at Java Web frameworks, it's immediately obvious that Struts and Spring both have plenty of skilled developers and plenty of production code based on them and running fine, and it has been that way for a few years already - so there you have it. Now compare and contrast with Ruby on Rails for an example of something on the other end of the scale.

  40. Due Diligence - Cost of Downtime by SoopahMan · · Score: 1

    Hire someone to assess the cost of building the application on a modern platform. That's your due diligence - finding out the time and cost of the conversion.

    Whatever estimate you get in terms of time, triple that then ask yourself, can we survive feature-freezing our app for that long while we spend money converting it to the new platform? If the answer is yes, do it. If not, then you've got to struggle on.

    It would really help to know what platform this is though.

  41. Asking the wrong questions.... by johnlcallaway · · Score: 4, Insightful

    So .. you can't find someone with the right 'skill set'.

    Maybe what you really need are smarter programmers. Anyone who has talent can pick up new languages, especially when they need to maintain an existing system and not create a new one from scratch. Ignoring C++ developers simply because one has a Java web platform (or WebSphere because one has a JBOSS environment) is just plain ignorant. All languages share common elements, and good developers use those elements to pick up the nuances of syntax. All application servers share common elements, and good application support staff can learn new ones.

    Every time I hear a developer or app support person say 'I don't know that', I just want to reach across the room and ask them how stupid they are. The smart ones get online, research, and learn it very quickly, the non-as-smart ones use their ignorance to stay in their comfort zone. I'd rather find the smart ones, because in 6 months there are going to be more changes in the computer industry and I would want staff that can adapt.

    So ... go find some smart people and let them loose. They'll take care of it.

    Then, once you get those smart people that have experience in other areas, work with them to determine what platform to go to, or if you even need to.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    1. Re:Asking the wrong questions.... by BigJClark · · Score: 1


      I disagree. I work for a company that uses Oracle Forms and Reports, and you haven't seen an ungodly platform until you've worked on that. No amount of critical genius can solve OFR's weaknesses. I can see why the company chose it (its an Oracle product, after all) but I can't wait until its dropped.

      Yeah, it's that bad. I recommend a steady merge into the new technology, at a rate that is most comfortable for all involved.

      --

      Hi, I Boris. Hear fix bear, yes?
    2. Re:Asking the wrong questions.... by Anonymous Coward · · Score: 0

      I was offered a job with a firm using Oracle Forms once (or maybe it was still called SQL*Forms, I can't remember). I said no, call me when you are no longer using Oracle Forms. A year later they called and I accepted. I fully believe that saved me a year of misery.

      Granted, this was ten years ago. Even Oracle Forms must have seen progress in that time.

      Back on topic, I agree with everybody that says "Hire someone smart, you git. They'll figure out whatever programming language you throw at them." It's not, usually, bloody rocket science. It's just a new programming language. Any decent developer will pick it up in short order.

    3. Re:Asking the wrong questions.... by G+Wonder · · Score: 2, Informative

      I completely agree with the above post. When hiring developers it is much more important to look for smart people, who get things done. Not for someone with a lot of keywords in a resume that match your particular environment. Smart programmers will be able to pick up the languages, concepts, methodologies and design patterns used in your current application whatever platform it's on.

      A smart developer will be able to tell you whether your application is built in such a way that it can be maintained and expanded upon or if it's such a mess that it may be better to abandon it to re write on another platform. So the real answer to your question is to hire someone who is smart and let them have a lot of input into the decision about platforms, technology and such.

      That being said if you can find a smart programmer who also has experience in your platform and in your business domain, that's the cats behind ;)

      I do a lot of hiring of developers at the company I work for and I've found that my favorite person to read about hiring and interview practices is Joel Spolsky, check out http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html, it's a great article that I've used as the basis for my own interviewing technique. Also check out his archives at Joel On Software. He comments on interviewing and hiring practices a lot.

    4. Re:Asking the wrong questions.... by Samgilljoy · · Score: 1

      So .. you can't find someone with the right 'skill set'.

      Maybe what you really need are smarter programmers. Anyone who has talent can pick up new languages, especially when they need to maintain an existing system and not create a new one from scratch. Ignoring C++ developers simply because one has a Java web platform (or WebSphere because one has a JBOSS environment) is just plain ignorant. All languages share common elements, and good developers use those elements to pick up the nuances of syntax. All application servers share common elements, and good application support staff can learn new ones.

      I'm in sourcing and am so very happy that all the companies I've worked for understand what you just said. There are some cases where switching specializations is either impossible or undesirable for the engineer, but there are so very many cases where a person who has been working with one set of technologies can switch over, if they wish to.

      Being a professional implies that one can learn new but related things with extreme rapidity. For some reason, too many people just pigeon-hole engineers.

      On the other hand, many developers who actually aren't good enough to learn new things, or who are insanely for or against certain technologies will freak, if you ask them whether they might be interested in working with something else, but...this situation is exacerbated by the fact so many bottom feeders don't bother to read resumes, profiles, email etc. and contact a dedicated MySQL guy about an Oracle job, not because they think he's capable of doing either, but because they didn't bother to notice what he had actually done and wanted to do. At first glance, it's hard to tell whether someone has seriously thought about your history and thinks you can do new things or hasn't paid any attention at all and is just grasping for straws.

    5. Re:Asking the wrong questions.... by Chandon+Seldon · · Score: 2, Insightful

      This suggests a good rule of thumb for replacing a platform:

      If a sold-seeming programmer you're about to hire says "You're using platform X? Oh god no, I'm not interested in this job anymore." more than once, it's time to switch platforms.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    6. Re:Asking the wrong questions.... by smellotron · · Score: 1

      Ignoring C++ developers simply because one has a Java web platform...is just plain ignorant

      Ironically, it is exactly my experience in C++ that makes me unhappy with a Java platform. Though developers who don't want to work with any particular piece of technology will self-select themselves away from it. On the other hand... while a platform as large as Java or as "tricky" as C++ may be easy to initially pick up, it will still take years to master. Some shops are willing to pay top dollar to attract those platform masters.

    7. Re:Asking the wrong questions.... by johnlcallaway · · Score: 1

      Hiring someone to work on a system does not require them to be a 'master' of a system on day one. Experience in C++ doe not make someone not want to write Java, it is a comfort zone issue, not skills. Sure, someone can point out all of the areas where C++ is superior. I can point out all kinds of reasons to not use C++, Java, COBOL, FORTRAN and many other languages. But many of those reasons are preferences, not reasons to pass on a well paying job at an interesting company with great benefits.

      I can't count how many languages I've written code in, yet only mastered a couple. It doesn't mean I couldn't hold down a job tomorrow in C#. Sure, some things may take longer. Debugging skills are partly experience based in a language, so that will take longer. Learning which classes to use for which task take time. But so does understanding a company's existing code base and architecture.

      One of the comments that attracted me to the company I work for was a discussion about migrating some C++ code to Java. I asked this question 'Why?'. The interviewer sat back, and realized there wasn't a good reason other than no one had touched it in 6 years, and it was fragile and difficult to recover from aborts, and she was more comfortable with Java. Based on the type of work it did, I told her that it doesn't really make any difference whether it is in C++ or Java or even SQL stored procedures, there are no speed requirements since it is restricted by database response times. So either one would be fine. It comes down to what direction the company wants to go in. These programs are more easily maintained in Java, and don't need the complex capabilities of C++. They tend to be stand alone without lots of shared libraries. But I also didn't see any reason not to rewrite them in C++, or to put the meat into stored procedures and only have the program act as a traffic cop.

      She responded that I was what they were looking for, a software developer that could easily shift skills depending on what the requirements were. Not some C++/Java/C#/Python/Ruby expert who only wanted to work in the one they were the most comfortable with.

      That's why I have a 6 figure salary and only had to interview at one company before I shifted jobs.

      --
      I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
  42. Who says this has to do with the platform? by tulcod · · Score: 0

    First of all, ask yourself these two questions:
    1. Are we missing a feature in our platform?
    2. Does our platform have a bug that cannot be fixed because of lack of maintainers?
    If either can be responded with a yes, then you should indeed look for a new platform. If no solid yes can be given on either, stick to what you have.

    That aside, I doubt this has to do with the platform you're using. You said it took quite some time to find someone with sufficient skills. But what kind of skills are those? If those skills are all about using a certain API, you are looking for the wrong coders. It's not hard to learn using a new API. Hell, it's not hard to learn a totally new language. As long as you've programmed before and the corresponding documentation is available. Just look for a good coder, not a coder who has dealt with this certain platform before.

  43. Watch out for consultants! by Anonymous Coward · · Score: 0

    I know several consultants who like the strange and unconventional. Job security.

  44. If you have abstraction, switching is a LOT easier by quanticle · · Score: 4, Insightful

    Most platforms don't provide a simple way to transition between one platform and another, especially in the web development sector.

    This is why you write an abstraction layer to sit between your business logic and the platform. Lets take databases as an example. Suppose your application is initially written for MySQL. Now, lets say that your application becomes a big hit, and you want to move it to a more robust backend. If you're application is tied directly to the platform (i.e. you've peppered your code with direct MySQL calls), you've got a lot of work in development and testing to make sure that all of the MySQL stuff is replaced with Oracle equivalents. However, if you've got an abstraction layer, the only things you have to rewrite and retest are the components of the abstraction layer. Its not zero work with the latter strategy, but it is a lot less work.

    This is actually one of the gripes I have against web programming as it stands today. It seems to me that programmers are far too eager to call the database directly from their application, without using any sort of abstraction layer. Sure, its faster to create the application without an abstraction layer, but it makes porting the app to another backend an absolute nightmare.

    Some lock you in more than others, but I think it would be quite difficult to switch between them, if you had a reasonable amount of code.

    If you have a good abstraction layer, even the most proprietary platform won't lock you in.

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  45. My first clue is usually... by penguinstorm · · Score: 3, Funny

    when Microsoft "embraces" the platform.

    --
    Skot Nelson music is my saviour / i was maimed by rock and roll
  46. Developer or Programmer? by bushboy · · Score: 1

    I'm never sure exactly how companies define this, but generally - at least in the UK - a web developer is considered the 'cog' between programmer and graphics.

    Having said that, the lines are blurred.

    Can't help you with your question, but if one of our programmers left, we'd be completely scuppered for a while - very proprietry inhouse systems!

    --
    A slashdotting - you get the stick first and then the carrot !
  47. Network! by Mongoose+Disciple · · Score: 1

    This is one of the good reasons to build a network throughout your career. (Of people, such as developers/etc. that you know, not like the intarwebs.)

    Over the years you've probably met or worked with some people who either:

    A) Work somewhere else, in a business with some needs similar to yours or
    B) Work somewhere else, with either the technology you're considering replacing or considering replacing that technology with.

    Talk to some of those people, explain what your situation roughly is, the problems you're having, and why you're thinking of switching. Asking one person can be hit or miss, but across several qualified colleagues you'll at the very least understand what several of the wrong answers to your question would be. Maybe one developer you know will have done a very similar transition last year and can warn you of the gotchas they encountered on the way.

  48. Reverse the philosophy by lars_magnusson · · Score: 1

    It sounds like you did find a developer for your nameless code platform. However, I am a sole developer at a company of 400 employees. We run PHP, PERL, some proprietary guck, and Cold Fusion (I want it gone). My old co-worker used PERL for XML filtering, etc and I am motivated to learn it myself. I will be attending a PERL class soon, just so I can maintain our current code base. My main strength is PHP, so learning PERL should not be a big leap. When hiring a new person, are they motivated or lazy? Are they willing to learn a new platform? I'm willing to do it, learning PERL will help me career wise, and help my employer, and it's (sort of) fun. I said it...PERL and fun in the same sentence, joy!

    Over the long haul, we are phasing out a fleet of Cold Fusion properties we run and converting over to PHP. We had vendor lock in with the Cold Fusion, hosting is expensive, and the sites are 'vintage' to say the least. So, for redesigns and recode we are porting the sites over to a heavily customized version of Joomla. For us, it is cost and maintainability to ditch Cold Fusion. However, it really pushed us over the edge when it came to redesigning the sites, we thought 'why not just build from the ground up' on these. If these were enterprise level sites that would be different, they are independent smaller newspapers.

    1. Re:Reverse the philosophy by Sczi · · Score: 1

      Lol, there is no vendor lock-in with coldfusion. It runs on basically anything, can connect to any database, and there are at least two major vendors for the runtime. Heck, it will even run sourceless as a compiled native .net or j2ee app. NewAtlanta even has a free version (free for commercial use, but with distribution limitations). Hosting shouldn't cost more than any other hosting. Getting a programmer can take a while, but we're out there. It is, by far, my favorite web language, and the new version is really nice. Other languages are fine too, but CF is my favorite. I'm sorry you two don't get along. :|

    2. Re:Reverse the philosophy by lars_magnusson · · Score: 1

      Long story .... we had vendor lock in (contractual) in relation to mega expensive hosting, not the code itself, still the code lacked a lot in functionality (very old, needed a wholesale rewrite), so we ditched it. While I could have written new features in CF, open-source seemed to be the way to go, didn't want to reinvent the wheel. Again, came down to skills, I can cruise in PHP, and am curious how much longer Adobe will support CF in the future...maybe forever, but I am weary.

    3. Re:Reverse the philosophy by Sczi · · Score: 1

      Ahh, that's better. Open source doesn't matter much to me as long as there is no real vendor lock-in. My company is fairly married to Microsoft in a lot of annoying ways. I like to occasionally put up a Linux mail server or a random BSD desktop just to mess with people. But truthfully, after using CF for a while, PHP feels horribly archaic and verbose. It just seems to take so much effort to do the littlest things. On the other hand, CF basically just extends HTML in logical and useful ways. But then it keeps getting less and less market share, so I imagine Adobe will feel obligated to cut the cord eventually. Hopefully at least the language will live on. At least there's always MySpace =]

    4. Re:Reverse the philosophy by jez9999 · · Score: 1

      My old co-worker used PERL for XML filtering, etc and I am motivated to learn it myself. I will be attending a PERL class soon, just so I can maintain our current code base.

      The first thing you should learn is not to call it PERL.

    5. Re:Reverse the philosophy by lars_magnusson · · Score: 1

      I'll call Larry Wall and ask him.

    6. Re:Reverse the philosophy by Anonymous Coward · · Score: 0

      Sorry, but as a Perl, CF, and PHP developer, I must disagree with you. My largest gripe with ColdFusion is its verbosity relative to Perl/PHP. Agreed that for basic stuff, it's a terrific language. Makes much of the basics very easy. However, as a project grows in complexity, it becomes much harder to maintain, refine, and add to existing CF code.

  49. True Solution to your problem by RaigetheFury · · Score: 2, Insightful

    I don't need to know your platform to help you qualify that answer. This is easy.

    1) When you look the technology up on monster.com, how many results do you get?
    2) Does the technology have an active community? How supported is it?
    3) How big is your site?
    4) How much are you willing to spend for someone to maintain it, convert it, implement it etc?
    5) What is your time span?

    I've done a hell of a lot of conversion from PHP and ASP to ColdFusion simply because companies want a language that's easy for other developers to come behind and figure what's going on. Like ALL code... even ColdFusion can be made to look ugly by a bad developer.

    The most important thing is what many echoed already. Pick a language that has years of support behind it with an active community. You'll find your developers easily then. It also prevents the entrenchment technique used by bad developers.

  50. Do you hate the guy? by Spinlock_1977 · · Score: 2, Interesting

    Here's what I'd recommend:

    1) Get 3 vendors to bid on replacing it on your platform of choice, without any functionality changes. Triple the price of the lowest bidder, double the price of the highest, and toss the middle guy out. Then ask: Would you rather pay those prices, or live with what you've got?

    2) Answer these questions: Is it a mission critical app? Do you have support for all the hardware and software components - or are some so old that you're on your own?

    3) Is the existing code really really a mess, or just the usual well-commented mess most programmers like me leave around?

    4) What features do you need to add to it in the next year or two? Can they be added reasonably to the existing code base? Will the hardware, OS, etc support the new functionality, or cave under the weight?

    5) Do you hate the guy who wrote the original?

    Ok, maybe you should weight that last question a little lightly. But at least there's some things to think about before pulling your own plug, or someone else's chain.

    --
    - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
  51. Use mainstream languages by sproketboy · · Score: 1

    Like Java or .NET. Avoid poo like Ruby.

    1. Re:Use mainstream languages by Casualposter · · Score: 1

      Not always good advice. I've got a project that is in JAVA and the developer community isn't very good. Just because it's a stable mainstream language doesn't mean you can get someone to work with it.

      --
      Creative Spelling Copyright (2002). May use without Persimmons
  52. this is not a horse race by obarthelemy · · Score: 1

    It's not about having backed the wrong horse. It's about having a tool that meets your needs, and will for the short+medium term.

    Since your setup sounds modest, I'd say
    - stick with well-represented, run-of the mill solutions (open or proprietary 'standards'), especially if they are widely used in your industry
    - don't change anything unless your concurrent system starts to perform unsatisfactorily (features, reliability, speed..), or if you KNOW it will soon be insufficient/too expensive
    - keep in mind that at one point you WILL need to change/overhaul your system, and/or your Web guy will leave: keep everything well structured and well documented. This does have a cost. It's well worth it.

    --
    The Cloud - because you don't care if your apps and data are up in the air.
  53. Cost by Shagg · · Score: 1

    If the maintenance/development cost (including the cost of finding people to support it) of your current platform is higher than the cost to switch to another one, then switch. If not, then stay where you are (assuming that the current platform meets your needs, etc).

    --
    Unix is user friendly, it's just selective about who its friends are.
  54. Re:Finding good web developers is hard. by sigxcpu · · Score: 3, Funny

    Pick me! I weigh less!

    - think of an add "wanted: lean, mean programmers, that are worth their weight in gold"
    - We pick the small ones, they cost less.

    --
    As of Postgres v6.2, time travel is no longer supported.
  55. Easy answer. by Colin+Smith · · Score: 4, Funny

    He wants to know, generically, how you decide that what you're using is the wrong choice. Well, that's simple. It's when you are more than two standard deviations away from the mean.
    --
    Deleted
    1. Re:Easy answer. by mooingyak · · Score: 1

      And if it wasn't my comment you replied to, I'd be using some of my mod points for a funny on that one. Instead I'll have to settle for letting you know you made me laugh.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
  56. How old is the platform? by Lonewolf666 · · Score: 1

    If developers are hard to find because it is very old stuff, it might help to look at older candidates too.
    There is still a widespread and stupid assumption that a software developer is too old at 40. If your HR guys are guilty of that, chances are that you identified the problem right there.

    On the other hand, sometimes old platforms need to be ditched because they lack the capability to handle modern hardware. As an example, the company I work for still has a DOS based device in the market. It does the job but I think it is no longer a reasonable choice for the next generation:
    We are almost out of DOS base memory as the code has slowly grown over the years, and modern peripherals are out due to lack of drivers.

    Lonewolf, hoping that management will understand the need to put some resources into porting to a better OS ;-)

    --
    C - the footgun of programming languages
  57. When to change? by altinos.com · · Score: 1

    When the developers in your area all say "Ewww, I'm not touching that! That's as bad as COBOL!" That's when I knew it was time to get away from VB6.

  58. As a web developer, I have this to say... by Orig_Club_Soda · · Score: 1

    Its key to keep evolving. New technology is more flexible. That said, stick to what the web hosts are providing. Your average web developer is going to beable to develop in a Unix environment using PHP and MySql. On the UI side, it's standard compliant CSS and Javascript. .NET and ASP seems to either a niche or enterprise solution. Technologies only compatible with with IE will be your down fall.

  59. Job Trends by Target+Drone · · Score: 2, Interesting

    You can graph the trend of platforms/frameworks using job postings. For example heres rails, jsf, wicket, struts. Make sure you look at both the relative and absolute numbers though. The relative gives you an idea of the trend for an individual platform. The absolute tells you how big it is compared to others.

    1. Re:Job Trends by Tablizer · · Score: 1

      Whao, after playing around with the graph, it is clear there is a slowdown trend for most languages. This may be a good time to replace applications as developers will be relatively inexpensive.

  60. did other factors come in to play? by petes_PoV · · Score: 2, Insightful
    You say It took us an extremely long time to find someone with the necessary skill set.

    Don't you really mean it took a long time to find someone ..... who was willing to work for you?

    Without wishing to start an argument, web developers aren't exactly the rarest species of techy. Unless you have something truly bizarre, a remote location, or are paying peanuts, it shouldn't need much more than a "webmaster wanted" ad. to have them queuing round the block.

    Did you interview lots,, and not choose any - or was it simply that no-one wanted to take the job?
    (silly thought - did you consider recruiting someone without the skills, then training them?)

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:did other factors come in to play? by Daltorak · · Score: 1

      [i](silly thought - did you consider recruiting someone without the skills, then training them?)[/i]

      Bad idea.... BAD IDEA.

      Our company did this last year. We needed someone who could step into a web application role; the technologies were ASP.NET 2.0, MS-SQL 2005 and Visual Studio 2005. We hired someone (as a favour, not based on best-person-for-the-job merits) that had web application development experience using Java, Oracle and who-knows-what as an editor.

      The company spent [b]almost $50,000 worth of salary[/b] while this guy went from complete fucking ineptness, to near-complete ineptness, to argumentative ineptness, to mere inetpness, to... oh, hey, you know how to edit an ASPX file now, good for you!! This was NINE MONTHS after he was hired.

      Fifteen months in, he's still learning, and treating our software product like a research project, as opposed to something we need to ship updates to every few months. It's brutal.

      I appreciate that developers need to be able to continually learn on the job, but [b]hiring someone with no skill will cost you money and give you no benefit[/b]. Don't do it. There are plenty of places out there where you can go to take lessons and write exams to help you become skilled at something, before you go get a job. That comes first. If you don't have money, chances are fairly good that your government will help you pay for it. ....

      Joel Spolsky has written what I consider to be the definitive guide for hiring good developers: The Guerrilla Guide to Interviewing. Any software developer who is thinking about switching jobs, and anyone who finds themselves in a position of having to interview developers, should read it.

    2. Re:did other factors come in to play? by blackcoot · · Score: 1

      your company hired a loser.

      i don't think that one anecdotal data point really means that hiring people with proven records of delivering quality results on time and training them is a bad idea so much as it underscores the importance of not hiring losers. quite frankly, if it takes someone much more than a month to three months to develop a productive level of proficiency in a new language, you're dealing with a dud and it's time to let them go.

    3. Re:did other factors come in to play? by ThatsLoseNotLoose · · Score: 1

      it shouldn't need much more than a "webmaster wanted" ad. to have them queuing round the block.

      Maybe so, but he probably would have a lot more chaff than wheat. To me, "webmaster" is not only vague, but it would attract a lot of people who know little more than HTML. He probably needs a real programmer. Since he's looking to run a 1-person web development team, he needs someone who knows SQL and js in addition to his language of choice. He probably also needs a smattering of networking and server maintenance skills. Just because his application is a web application it does not necessarily follow that it's simple.

      These days a web developer is distinguished from any other developer only by the UI of his users.

    4. Re:did other factors come in to play? by Chandon+Seldon · · Score: 1

      Fifteen months in, he's still learning, and treating our software product like a research project, as opposed to something we need to ship updates to every few months. It's brutal.

      I think you made a mistake, and then misidentified which action was a mistake. Here's a hint: This person would have been a bad hire even if he claimed to be an expert in the technology you were using at hire time.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    5. Re:did other factors come in to play? by sholden · · Score: 1

      That definitive guide says:

      """
      Any skill set that people can bring to the job will be technologically obsolete in a couple of years, anyway, so it's better to hire people that are going to be able to learn any new technology rather than people who happen to know how to make JDBC talk to a MySQL database right this minute.
      """

      Which is exactly the thing you called a "BAD IDEA". So not definitive then I guess...

      If anyone takes 15 months to learn anything related to development they are an idiot and shouldn't have been employed in the first place. It takes me longer to get familiar with the existing code base I'm dealing with then it does the language/technology it is implemented in/with. I do not know ruby - I did write one ruby script once upon a time - but I could certainly be productive in that language by next week. But it would take me much longer to get to know an existing ruby code base well enough to not keep wasting my time (and other people's time) finding out where in it some functionality is likely to be, etc. Hence the language/technoology is basically irrelevant.

    6. Re:did other factors come in to play? by kaens · · Score: 1

      You hired someone that sucked as a developer all around - that sucks for you.

      I really doubt that it would take anyone with any sort of actual passion for or experience with programming 15 months to get up to speed with the technologies you listed - 15 weeks, max (and that's a big max).

  61. ha ha by mkcmkc · · Score: 4, Funny
    You think you're joking, but you haven't lived until you've helped someone deploy their Java-on-AS/400-based webserver (itself a front-end to their RPG-based database).

    (And no, AS/400 is not the name of an obscure Linux distro, and RPG does not mean "role playing game" or even "rocket propelled grenade"--it's much worse than that...)

    :-(

    --
    "Not an actor, but he plays one on TV."
    1. Re:ha ha by Ophbalance · · Score: 1

      No, no... you've not lived until you've had to deploy RPG on Unibol 400! Now, that is just the bees knees to make AS400 native code run emulated on Windows NT (and linux). I don't wish that on my worst enemies.

    2. Re:ha ha by Anonymous Coward · · Score: 0

      Do you know adelia web ? :) if so pleaaaasseeee reply

    3. Re:ha ha by HomerJ · · Score: 1

      Ahhh yes...but that's the fun of it all.

      Take a platform that has no business doing something, mix in some 30 year old technology, and make it all work. It's a different kind of creativity than "let's use all this latest whizzbang stuff". When you can push a platform past what it was designed to do, and have it work, you've done something.

    4. Re:ha ha by gangien · · Score: 1

      Oh yeah? i had get our java application to run on z/OS (which mostly meant forcing charset usage), AND i had to write native code to get the CPU usage (which, which meant learning about datasets and RMF and SMF and blah blah blah blah and a whole set of new terminology) so just porting a wussy java app, is for kids! BTW i did all that within my first year out of college!

    5. Re:ha ha by marafa · · Score: 0

      omigod! i understood everything you said! i need a break!

      --
      _ In Egypt Networks: Network Solutions with a Twist
    6. Re:ha ha by Anonymous Coward · · Score: 0

      You forgot to add: "...and get off my lawn!!"

    7. Re:ha ha by jsight · · Score: 1

      You think you're joking, but you haven't lived until you've helped someone deploy their Java-on-AS/400-based webserver (itself a front-end to their RPG-based database).

      (And no, AS/400 is not the name of an obscure Linux distro, and RPG does not mean "role playing game" or even "rocket propelled grenade"--it's much worse than that...) :-(


      You say all of this as if it is difficult. Java on the iSeries is a great platform (ok, the pricing is not:)).

      Seriously, its impressive how easy it is to get cross-platform java code running on the 400.
    8. Re:ha ha by gangien · · Score: 1

      I'm only 26 :( i don't even have a lawn yet.

    9. Re:ha ha by Anonymous Coward · · Score: 1, Insightful

      Take a platform that has no business doing something, mix in some 30 year old technology, and make it all work. It's a different kind of creativity than "let's use all this latest whizzbang stuff". When you can push a platform past what it was designed to do, and have it work, you've done something. Yes. Something that no organization in its right mind should want to do.
    10. Re:ha ha by Amouth · · Score: 1

      "When you can push a platform past what it was designed to do, and have it work, you've done something" true but for the sake of the world that will follow you don't belive this is the best idea - just because something can work doesn't mean you should do it that way

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    11. Re:ha ha by Ammin · · Score: 1

      It is too true . . . that's the project I start tomorrow . . . But it's iSeries now . . . I think . . .

      --
      Step out the front door like a ghost into the fog . . .
    12. Re:ha ha by bwy · · Score: 1

      The thing that really got us when we deployed our Java app on an AS/400 was EBCDIC. Our XML parser was good enough to handle ASCII files, but all the other stuff we did that used text files was all shot to hell because our code that read them wasn't set up to handle non-native encodings.

    13. Re:ha ha by sumdumass · · Score: 1

      I have been thrusted into positions like this not because I thought it was a good idea, but because a PHB somewhere thought it would save money or something. You know, we got that hardware sitting around and not being used for anything....

      I haven't had the pleasure of going to the extremes of what the parent described but I have had to do some pretty stupid things because of decisions outside my control. I suspect that the parent was in a similar position where someone above them just didn't know better- they only knew you where good.

    14. Re:ha ha by Amouth · · Score: 1

      oh i FULLY understand - i don't think there is a sys admin anywhere that hasn't had to do this one atleast a couple of occasions... i just wanted to strees that just because it can be done doesn't mean it should be.

      I have seen some implementations of things that are the quivlent to a redneck "hay yall watch this" moment.. they don't always turn out very well

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    15. Re:ha ha by sumdumass · · Score: 2, Funny

      That's probably a good idea anyways. Maybe some of us would think about asking "who's bright idea this was" when we have to do it. Of course that might get us fired when they answer us.

      Speaking of redneck equivalents and "hay yall watch this" moments, I had a neighbor who was smart enough to put an old althon thunder bird based computer in his car, over clock it, and then complain about all the heat the fans pushed from under the dash and onto his legs. So he took some foam and cardboard and wrapped the heatsink to force the air outside the car or to the passenger side or something.

      I bumped into him at a grocery store and he wanted to show me his fix so so we purchased our stuff and went outside to see the fire department raping his car and flushing it out with hundreds of gallons of water. I guess he left the computer running when he went in and the heat sink got hot enough to smolder the foam which released a bunch of black smoke. Someone called 911 and the fire department broke the windows out to get to the fire and put it out. But because the foam was encased around the heat sink, it wouldn't stop smoking until they opened the hood of the car with an axe and snipped the battery cables.

      It may not sound all that funny or weird but I know this guy knew better. He didn't even account for fresh air to get in to cool the thing, it would have just recycled the previous hot air. And the look on his face watching the fire department slam a pick axe through the hood repeatedly to get access and cut the battery cables was something else. He almost got arrested by the cop who was keeping people away but couldn't understand the frightened rambling of "that's my car". It appears he forgot how to speak for about 20 minutes after first seeing this happen.

      After all was said and done, the only things that exhibited signs of burning or fire was the tube he made for the processor heat. His insurance company totaled the car and didn't give him enough to replace it. It was a bad week for him.

    16. Re:ha ha by TheLink · · Score: 1

      I know exactly what you mean because we use MySQL and PHP at my workplace.

      --
    17. Re:ha ha by doc_doofus · · Score: 1

      You work here too? Which cubee are you in?

      --
      Disclaimer:IANAL/MD/PhD-Just the local yokel PC "doc" ~If you're not having fun, then you are probably doing it wrong.
    18. Re:ha ha by Amouth · · Score: 1

      we had a guy at a shop i used to work at - he was a complete stonner.. on the wall we used to have old hard drive platters - including a set that where the huge (about 18-24in accross) the dumb ass grabed one and called out to a co-worker "hey catch" and procceded to throw it like a frisbe.. luckly the guy ducked cause it was aimed at his head.. it ended up going about 50 feet and then went through the front window which was safty glass leaving a nice little slit...

      never ever under estimate the stupidity of others - they will always supprise you

      (and no he wasn't fired for that - although we was fired about a year later for showing up to work drunk too many times)

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    19. Re:ha ha by kaens · · Score: 1

      Well, he at least got yelled at right?
      Right?
      He at least got yelled at for throwing a giant fucking hd platter at someones head, right?

  62. The Platform? It's Ruby (on Rails) by Azure+Khan · · Score: 4, Insightful

    He said all the right words to point to Ruby or ROR as the platform they chose:

    - The illusion of popularity based upon buzz
    - Lack of employable gurus who are familiar with production level platform development.

    Most of the folks who have the latter work for a firm or work as "consultants". There are few folks with enterprise or production experience with ruby systems to actually employ to develop and maintain an entire codebase, especially one expected to be a jack-of-all-trades, as their 'single web developer' issue probably requires him to be.

    I'm not saying that Ruby isn't a great development platform. I'm just pointing out that it's adoption and dissemination have not allowed it to reach the stage of .NET/LAMP/Perl/Python in terms of available production man power.

    --

    --- I'm going sane in a crazy world.
    1. Re:The Platform? It's Ruby (on Rails) by Chandon+Seldon · · Score: 1

      On the other hand, any competent web developer should be able to pick up Ruby + Rails in a couple weeks - especially if there's an existing Rails developer for them to bug with questions.

      Seriously - the job ad should say "Ruby on Rails developer: 2+ years web development experience on *nix (i.e. Perl, PHP)".

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
  63. What is your job description? by kcdoodle · · Score: 2, Insightful

    You probably are not the person to make this decision.

    Whenever management decides on software it is by reading one-sided literature distributed by the software vendors. Never a true story. Then it is cost driven. Never mind that the platform cannot possibly solve the business problem.

    Tell the developer(s) your problem. They know what the application needs to do and which different solutions can get them there. If you hire good programmers, they will make good decisions, that is OUR expertise.

    When management or marketing (or worst of all -- sales) get to contribute to decisions for software platforms for development, something is REALLY WRONG.

    I tend to "Pink Floyd" in situations like this.
    i.e. "Run Like Hell"

    --

    - I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
    1. Re:What is your job description? by nuzak · · Score: 1

      When management or marketing (or worst of all -- sales) get to contribute to decisions for software platforms for development, something is REALLY WRONG.

      Uhhh, management generally does make the decision. That's why they're called management. Sorry to burst your bubble, but not all managers are complete chowderheads. If they are where you work, well, suck it up or quit.

      --
      Done with slashdot, done with nerds, getting a life.
    2. Re:What is your job description? by kcdoodle · · Score: 1

      I have quit idiot jobs like this.

      I am so glad that I do not work for you.

      --

      - I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
  64. "Backing horses" is the mistake by Dystopian+Rebel · · Score: 1

    How are folks out there determining when you've backed the wrong horse, and getting back on track?" If you see this as a "race", you aren't gleaning your own requirements correctly. The smart decision is always the open, well-architected solution. Well-architected so that you can build a stable product, and open so you can convert easily if there's a major shift in technology.
    --
    Rich And Stupid is not so bad as Working For Rich And Stupid.
  65. Don't assume it's the platform by Dynedain · · Score: 5, Insightful

    As the Senior Web Developer, I've been tasked with interviewing and hiring my team.

    It's been extremely difficult finding candidates because for website design and development, there is an extremely high ratio of signal to noise in quality candidates.

    I've only been able to find 3 people worth interviewing after posting a junior position on several job boards and with several staffing agencies. And we're using an extremely common platform and set of services.

    Anyone who's fired up design mode in Dreamweaver thinks they're a qualified developer. And anyone who's created something in Flash thinks they're a qualified designer.

    And the talented people who are easy to find, are frequently only interested in freelance work because they want the flexibility.

    As for actually switching your development stack, it's doable. Don't try to switch existing clients and projects, instead setup your new stack and only put new projects on it. There will be a learning curve, but if the end results show a significant improvement, it will be well worth it. Don't try to force in-progress projects, or old projects onto the new stack. Once you've done some work with the new stack, how feasible migrations are will become better apparent.

    I've used this method for switching web development stacks several times. From plain old HTML, to ASP/IIS, to PHP/Apache, to Object-oriented PHP, and finally to an OSS CMS that we like. Old sites are only migrated to a new stack if we are redoing the design or functionality as a new project. Otherwise we just deal with the old and focus on making the new the best we can.

    --
    I'm out of my mind right now, but feel free to leave a message.....
    1. Re:Don't assume it's the platform by jrumney · · Score: 1

      It's been extremely difficult finding candidates because for website design and development, there is an extremely high ratio of signal to noise in quality candidates.

      It's not just web development, there's a reason large companies have a whole department dedicated to sorting through the crap.

  66. Re:If you have abstraction, switching is a LOT eas by doom · · Score: 2, Informative

    This is why you write an abstraction layer to sit between your business logic and the platform. Lets take databases as an example. Suppose your application is initially written for MySQL. Now, lets say that your application becomes a big hit, and you want to move it to a more robust backend. If you're application is tied directly to the platform (i.e. you've peppered your code with direct MySQL calls), you've got a lot of work in development and testing to make sure that all of the MySQL stuff is replaced with Oracle equivalents. However, if you've got an abstraction layer, the only things you have to rewrite and retest are the components of the abstraction layer. Its not zero work with the latter strategy, but it is a lot less work.

    Why that's a great idea... if you don't mind crippling all of your database code so that it runs at the same mediocre level with every database. ("We can't use materialized views!"; "Why not?"; "Well, database X and Y don't have them yet."; "But we're not using X and Y...")

    (Personal opinion: if you start with postgresql, you won't ever need to switch, and database-independence starts looking like a pretty silly goal.)

  67. Yet another victim of... by Pig+Hogger · · Score: 1

    Yet another victim of job security by obscurity...

  68. Hire somebody who can learn by Anonymous Coward · · Score: 0

    If you think the platform isn't that bad, and if you think you could retain a new developer for some time, then you could look into giving the dev a few days/weeks time to catch up with the platform. If the new hire is bright enough, he might be able to be productive in short order depending on the complexity of your system. Over all it might be more efficient than switching platforms.

    Of course, if you had a single dev working on an obscure, complex system with no readily available backup personnel to take over if he leaves, that's a really big problem and you should do something about it.

  69. You couldn't find someone because by geekoid · · Score: 1

    You were being too cheap.

    I would look closely at the person you hired. Why did they take the job? Obscure or outdated technical knowledge? New to the industry and will leave in 6 months?

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  70. a reason to switch by ivec · · Score: 1

    Before switching platforms, you need to consider this can imply a costly rewrite.
    And this can be worse than you think:
        http://www.joelonsoftware.com/articles/fog0000000069.html
    But yes, sometimes a platform can doom your ability to hire, when there is a very limited community community supporting it in your application domain.

    I once joined a company developing 3D graphics+physics simulations, which somehow chose to use Borland Delphi as a programming platform (a Pascal dialect, quite competitive in some contexts, but not a popular choice for this type of applications).
    This choice made it very difficult to hire experienced and competent graphics developers - who would dislike switching to a different language, and see it as a bad career move in a C/C++-centric industry. And I wouldn't blame them.
    So what do you do then?

    Switching can be a painful job ... the company went into serious trouble, but we fortunately recovered through the development of new applications, which were based on a more ubiquitous platform (while porting some libraries from the original code - see http://ivan.vecerina.com/code/delphi2cpp/ .

    just my 2 cents worth --Ivan

  71. name by whtmarker · · Score: 1

    okay... lets skip the anonymity. David Barber, an American from Vicksburg, Michigan who has a hobby for traveling. He is using blogger as his blogging platform... any other info we can dig up... like where he works, or what companies are near Vicksburg population: you? The answer to his question depends on what platform he is using... so what company does he work for... and what platform is it using?

  72. Easy answer by geekoid · · Score: 1

    When it stops maturing and starts aging, time to come up with a strategy for replacing it. Just doing it to grab the leads favorite platform is not a strategy.

    I get paid 250 dollars an hour for consulting on IT strategies, let me know when you need some help.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:Easy answer by BeanThere · · Score: 1

      I think if they were willing to fork out dough on an expert, they probably wouldn't be in the fix they are ... seems to me the main thing they need is a good programmer (experienced in any language) - it's more about the quality of the programmer, not the platform (good programmers can quickly adjust to a new platform, you don't NEED someone with specific experience in a particular language/platform/whatever) - but it sounds like they want a 'cheap' solution, as if there were some 'magic' platform that was 'cheap to maintain' with easy-to-replace maintainers.

    2. Re:Easy answer by plague3106 · · Score: 1

      but it sounds like they want a 'cheap' solution, as if there were some 'magic' platform that was 'cheap to maintain' with easy-to-replace maintainers.

      I thought /.ers would call that Window? :-)

  73. Let's play GUESS THAT PLATFORM! My guess is... by JoshDM · · Score: 2, Funny

    Cold Fusion.

    1. Re:Let's play GUESS THAT PLATFORM! My guess is... by durdur · · Score: 1

      A good guess, although ROR is also a good one. Actually, as far as I can tell (and from limited experience) ROR looks a whole lot like Cold Fusion. It lets you code up a bunch of scripts and get data out of databases onto your web page. What's really different, except ROR is new and trendy and Cold Fusion is old and not trendy any more?

    2. Re:Let's play GUESS THAT PLATFORM! My guess is... by funaho · · Score: 1

      At least RoR doesn't believe arrays start with 1 instead of 0 *sigh*

  74. Holding out was just plain dumb. by RomulusNR · · Score: 1

    So you waited forever to find the perfect candidate who fit into the exact same combination of language and paradigm experience to match your previous employee. Why, because you're too damn cheap to hire someone who could learn it all on the job in less time than it took for you to find the absolute perfect replacement?

    Your problem isn't that your platform is outdated or difficult. Your problem is that you want everything wrapped up with a bow for you.

    I don't understand the cold calls I get from recruiters/HRs wanting me to code for a platform I haven't used in eight years, because they HAVE to have someone who's done it before despite how few people actually have the experience. Well, I got that experience by learning it on the job. So can someone else. Don't be dumb, Sparky.

    --
    Terrorists can attack freedom, but only Congress can destroy it.
  75. Platform by mwiley · · Score: 1

    I would venture a guess that the "Platform" you are referring to is Linux and Apache and you were raised on Microsoft. Keep the platform, hire somebody with the skills as they are a dime a dozen and learn something.

  76. Know what you're looking for by CopaceticOpus · · Score: 1

    It seems to me the trouble is with your hiring process. You're looking for someone who has used your exact setup, when you should be searching for someone who excels at programming and web development.

    Within the first 6 months, a quality developer who has to learn your platform from scratch is going to be more productive than a mediocre developer who happens to have experience on that specific platform. Hiring someone with a greater variety of experiences will probably also lead to new ideas and improvements to your way of doing things.

  77. As soon as I heard this... by Weaselmancer · · Score: 3, Funny

    ..but the rubber hits the road when you have to hire someone to maintain that code...

    Soon as I heard this I envisioned pointy hair.

    --
    Weaselmancer
    rediculous.
    1. Re:As soon as I heard this... by xdroop · · Score: 1

      ...but the rubber hits the road...

      My internal parsing of this asked me: why is he throwing condoms in the street?...

      --
      you should read everything on the internet as if it had "but I'm probably talking out of my ass" appended to it.
  78. When Google Trends Says So by shyster · · Score: 1

    Go to Google Trends, plug in your technology and its competitors. Drill down to your region and the last 12 months. If your technology doesn't show up, then you're riding a dead horse. eg., out of Fortran, Java, C#, Lisp, COBOL in Florida, Google Trends says only C# and Java are viable choices. For any who doubt the science behind this method, I offer the following trend graph as proof: Slashdot, Kuro5hin, Digg, DZone. This clearly shows that only Digg and Slashdot are viable choices.

    1. Re:When Google Trends Says So by kylehase · · Score: 1

      I was going to suggest the same thing except with PHP CMS packages mambo, drupal, xoops, wordpress, joomla.

      While this is a very good method there are some possible flaws

      • Keyword overlap can give you funky results. See link above. Most of Mambo's searches are actually for 'mambo kings'.
      • Google is not the dominant search engine some areas where some searches are likely to be higher. For instance Yahoo is popular in Japan where Ruby on Rails big.
      • Only a SEARCH trends are displayed so if something is popular and well known but isn't searched for, it will not show a trend. For instance I use Drupal heavily but I don't search Google for it, I just go directly to drupal.org

      If it's a community project you can see how active their forums are. A large active community usually means it's a strong project.

      --
      You want fun, go home and buy a monkey!
  79. when maintenance exceeds implementation by tooslickvan · · Score: 1

    General rule is when the cost of maintaining the current solution approaches the cost of implementing and maintaining a new solution then it's time to consider a switch. Measuring maintenance, implementation, and opportunity costs is left as an exercise to the reader.

  80. Re:Yeah, sometimes you inherit some annoying thing by Monkey · · Score: 1

    Thats also the first platform I thought of when I read his problem. Where have all the ColdFusion developers gone?

  81. Re:If you have abstraction, switching is a LOT eas by Anonymous Coward · · Score: 0

    > It seems to me that programmers are far too eager to call the database directly from their application, without using any sort of abstraction layer.

    No, that really is just PHP developers. The norm in every other environment is to use one or two layers inbetween. And a good abstraction layer is actually faster than hitting the db directly because it acts as a cache and batches updates.

  82. The problem with your statement... by Vthornheart · · Score: 2, Insightful

    I agree that your statement is 100% correct... but it's also not as easy as you make it out to be.

    Indeed, you should switch when the cost of switching is less than the cost of continuing with your current platform... but realizing that is obviously not the tricky part.

    The tricky part is knowing WHEN switching costs less than continuing with the current platform. That can be a very difficult question to answer, and involves looking at many, many factors.

    --
    -Vendal Thornheart
  83. Here's a clue. by douglips · · Score: 1

    If you're too ashamed of your platform to name it when you're posting anonymously on Slashdot, then you should switch to something you wouldn't be ashamed of naming.

  84. I'd say break out your calculator and do the math by ericwebb · · Score: 1
    Honestly, changing your platform is an incredibly difficult and expensive proposition. Ultimately, it is a business decision that should be governed by numbers:
    • Revenue / company savings from applications developed internally [the more the application makes or saves your company, the more migration probably makes sense]
    • Size and average salary of telent pool
    • Developer turnover rate
    • Cost (time) to hire replacement [resently, it has been impossible to hire good Java talent in the valley, FYI]
    • Cost of stability / performance of current platform [performance and stability come into this equation. Remember, Friendster sucked because it was sloooooww as hell, before they transitioned to PHP]
    • Productivity gains of new platform to current platform [this is a guess, but, I people can agree, Ruby developers are generally more productive developing web applications than a C programmer]
    • Available frameworks / maturity [the newest platforms aren't the most valuable IMHO
    • How long will it take to migrate [this one is key, and probably impossible to get absolutely correct. Error on the high side, and software project ALWAYS takes longer than expected IMHO]
    You should be able to mush these numbers together to get a better sense if migrating makes sense. A company of mine recently changed from a Perl to a Java implementation of a client product. It turned out to be the right call for many reasons: performance, talent pool, maintainability, available libraries, and client perception [a lot of people think a Java application is more "enterprise ready" than a Perl one] All that said, also consider:
    • Can you migrate to the new platform piecemeal [if you have 1 developer, you don't wan to lose all his time while he migrates your platform]
    • You WILL have bugs [and probably the same bugs you worked out when you implemented the system the first time]
    • Web Services, XML, and other standards that allow different code to talk to eachother is probably going to be your friend during this migration
    Good luck! Hope this helped!
  85. Holy negativity pal by microbox · · Score: 3, Informative

    Hi,

    As a software developer I'd like to shoot back.

    First of all, I appreciate sys-admins, and would not want to do their job. But they sometimes do seem to miss a few key things about software. Where I used to work, they *refused* to let me run OS X or Linux. I even offered to pay for my own computer. This is in a large multi-national development shop, and also another time in a government department. If shares as servers are configured in a rational manner, then OS X or Linux should have no trouble talking to them, and maybe a developer may be able to to a few tricks on those systems that will save time. But no - the sys-admins just said:
    + Too hard for us to administer (yes your highness)
    + We can't run our anti-virus on your computer (ahem, I don't need that crap)
    + We can't tell if you're running unlicensed software on that computer (why don't you just like, ask me?)
    + We can't tell if you're running encryption software of packet sniffers you would-be corporate spy?

    This last item is a complete joke. For some reason, a few of the sysadmins I've met aren't clued into the fact that you can get source-code and compile it into a binary and then execute it. Pretty standard stuff. Software doesn't *have* to be installed using some wizard-install-software, and never need show up on any audit. Perhaps you could scan the computer for filenames of well-known software, but that wouldn't stop someone who knew what they're doing. I asked one "top" resource if he'd let me use it anyway if I could sniff the network from a windows box without "installing" any software - he looked at me like a criminal.

    Autocratic, and completely clueless.

    --

    Like all pain, suffering is a signal that something isn't right
    1. Re:Holy negativity pal by DaveV1.0 · · Score: 0, Flamebait

      Explain in detail why you would need to run Linux or OSX in a Windows environment. If the rest of the company is using Windows, why should you be any different? Is it because you are a fanboi?

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    2. Re:Holy negativity pal by microbox · · Score: 4, Interesting

      Well...

      They develop web applications but only ever test them on windows. These are apps for the government that are for general consumption. Not having a single OS X or Linux testing station is plain wrong. But hay, at least the corporate types got the contract right? Never mind doing the job properly, or even learning what that means.

      Also, testing things on Linux, Windows and OS X is a great way to make sure that what you're doing doesn't have hidden quirks. That goes for designing webpages as well as network shares and other network services.

      I find Outlook a terribly annoying email client to use, and would prefer to use my own.

      When writing documentation, I find it *much* easier to use OS X's screenshot technology and inter-app tools to bring the pieces together. This saves enough time that I frequently go home to write significant amounts of documentation, and it looks great when it is done, and it's done *fast*.

      OS X and linux have a superior command line with a complement of tools that is esp. useful when you're batch processing vast volumes amounts of files. I used to write ruby scripts and run them on windows because of a lack of a command line. That is not the most efficient way of doing things. My co-workers were wowed at the things I could do that they just didn't think were feasible because they have no real experience with getting the command line to sing. Large numbers of files is typical when working on software projects.

      I like using multiple desktops, I find that much faster and easier to do than work with the almost crippling windows taskbar.

      And there's tones of fanboy stuff too.

      What I don't get is how anybody thinks that standardizing everything on windows is somehow going to just make everything cheaper and hunky dory. People use other platforms for a reason, and using a bit of intelligence there is no reason why sysadmins can't figure it out. And you get the benefit of not grid-locking yourself into a single vendor.

      To me it seems like common sense is being replaced by a rule book. That's why I left for a smaller company, and they let you run what you want - but only support you with stuff they know. It works out great.

      --

      Like all pain, suffering is a signal that something isn't right
    3. Re:Holy negativity pal by susano_otter · · Score: 4, Insightful
      Like I said, we live in opposed-alignment alternate universes. Each of us is convinced the other's universe is the evil one. Everything you've just said only serves to reinforce my own conviction. Indeed, even the way in which you said it reinforces my conviction. Far from including the kind of technical clarity that would allow me to rationally evaluate your demands and make a well-informed decision on whether or not an exception to the policy was warranted in this case, you instead degenerated steadily into technical inchoherence so that by the end of your post I have no idea what you're talking about anymore. No doubt you--like my own developers--sincerely believe you've been crystal clear in every important detail.

      All that aside, I do have some commentary:

      Too hard for us to administer
      It sounds like you're talking about IT Helpdesk, which I don't know much about anymore. But in the realm of "enterprise" applications (the big, customer-facing, 99.99%+ uptime moneymakers), a developer's insistence on using their own favorite OS rather than the departmental standard is, in my experience, a guarantee of systems-adminstration headaches, instability, confusion, and vulnerability. You may have a list of reasons longer than my big swinging dick as to why your OS is better than the departmental standard, but I guarantee you that once it goes into our datacenter, its nonstandard nature will cause far more problems than it solves.

      We can't run our anti-virus on your computer (ahem, I don't need that crap)
      Contrary to popular belief, non-MS operating systems and the applications that run on them are, in fact, exploitable. And I have yet to meet a Linux developer (of which I support several) who didn't insist on flatly ignoring Linux's built-in security features (such as the permissions system, for example), because it was either easier to develop everything as root, or because he had a hard-on for some third-party app that needed to run as root, or both. Maybe your corporate Linux workstation isn't a big security threat, but all my enterprise Linux servers are just as exploitable as my Windows servers. Because it makes my developers' jobs easier.

      We can't tell if you're running unlicensed software on that computer (why don't you just like, ask me?)
      We don't ask you because we don't trust you. We don't trust you because you generally spew evil-universe stuff like this post at us. Also, we don't trust you because you obviously don't know or care about the requirements of good systems administration policy. Asking end-users if they're complying with regulatory requirements is not a sufficient test of regulatory compliance. Your refusal to acknowledge and accept this fact, and work within its framework, only serves to enhance your notoriety as a super-villain from an evil alternate universe.

      We can't tell if you're running encryption software of packet sniffers you would-be corporate spy?
      This last item and its explanation are complete gibberish to me. About the only thing I can say for sure is that, yes, if you want to run packet sniffers on a corporate network, then you will get looked at like a criminal.

      Autocratic, and completely clueless.
      Only from your point of view. From our point of view, we're just trying to do our jobs, within a set of constraints you refuse to understand or even consider, and to prevent you in your ignorance and sense of entitlement from undoing our hard work, ruining our weekends, or putting our employer into serious legal and financial jeopardy.
      --

      Any sufficiently well-organized community is indistinguishable from Government.

    4. Re:Holy negativity pal by algae · · Score: 1

      Wow, where to start...

      > Where I used to work, they *refused* to let me run OS X or Linux.
      > I even offered to pay for my own computer. This is in a large
      > multi-national development shop, and also another time in a
      > government department.

      Well duh. First off, anyone concerned with your desktop is helpdesk, not systems administration. They might call themselves sysadmins, but if they work on your Windows desktop, they're not. Second off, if you really really gotta have that linux/mac desktop, then why on earth are you applying for jobs at big multinationals and the government? The reasons they gave you are absolutely 100% bog-standard with just about everyone over say 5000 employees.

      Like the grandparent poster, I have to maintain an ever growing pile of poorly written applications in every language available. This is because, unlike you, I work in a small company where the developers get freedom to run whatever desktop they want, and write code in practically any language they want. I assure you, the opposite end of the spectrum is just as bad. Developers thinking they know what a production environment is because they managed to get SuSE installed at home is a *huge* problem.

      --
      Causation can cause correlation
    5. Re:Holy negativity pal by microbox · · Score: 1

      Nice post =)

      > This last item and its explanation are complete gibberish to me. About the only thing I can say for sure is that, yes,
      > if you want to run packet sniffers on a corporate network, then you will get looked at like a criminal.

      Well, the they have this tool that scans your computer for software, so they can work out what you've got installed. For some reason they think that this is failsafe, yet I can compile a program and run it from the command line. It just stops someone who thinks that software is only ever installed with one of those installer thingies. I had open-source encryption software (on the forbidden list) sitting on my computer all year. Also, you can just like, write a few lines of C# and do whatever encryption you want !@##%#. Installing encryption software just means that I don't have to waste my time looking for work-arounds to get the job done.

      The packet sniffer was for diagnosing a programming issue with complex middleware. We were never able to fix the problem because the sysadmins had too much to do, and the corporate types convinced the client that it wasn't possible to fix. Great job guys!!!!

      You can buy anti-virus software for the mac btw. I find that good browsing and downloading habits is the ounce of prevention. I worked out how to disable network associates virus software (wasn't too hard), because my computer would lock up for 20 mintues at a time because of mcshield - I couldn't do anything. Something to do with switching a computer between domains. The sysadmins had no idea how to fix it, so I just disabled the antivirus when they weren't looking, and proceeded not to get a virus all year by not being daft with how I use my computer.

      > Too hard for us to administer

      No, no, these we're talking about sysadmins here, working in a corporate structure with lots of standards and rules.

      --

      Like all pain, suffering is a signal that something isn't right
    6. Re:Holy negativity pal by Anonymous Coward · · Score: 0

      To be completely honest, your request was a little bit unorthodox, and would certainly be a support issue.

      If it's a Microsoft shop they've probably got a domain set up with all sorts of lovely group policies that control the individual machines and what you can do with them. Policies that can keep you from installing un-approved software, force you to install their antivirus, even lock down what screensaver or wallpaper you've got set. This is done because it makes administering hundreds of Windows boxes much easier.

      And then you want to throw in a a Linux/OS X box into the mix... Said box won't play nice with the group policies. They won't be able to ensure that you don't install un-approved software, can't force you to install their antivirus, can't lock down what screensaver or wallpaper you've got set. You make it sound like all those things are trivial... But if you've got a hundred machines to deal with you don't want any surprises. You want to only install software that you know works. You don't install patches or updates until you've tested them. The last thing you want is a random computer running wholly different software/OS to worry about.

      You'd likely run into the exact same resistance if you wanted to bring a Windows machine into a predominantly Mac OS or Linux environment.

    7. Re:Holy negativity pal by QuantumRiff · · Score: 1

      As a sysadmin, I have been in this position before. We had a department that wanted Macs. As much as I have been wanting a Mac for my own personal use, I had to tell them no. A few of the reasons:
      Compatibility: We have standarized email, calendar, and word processing tools. They don't run on macs. That means we have to train ourselves how to work with them, and train the users how to use the software that is completely different from what everyone else uses. Our trainer would have to spend x hours learning app1 to train 90% of our users, and the x hours learning app2 to train the other 10%. Basically doubling their time.
      Licensing: We would have to repurchase many software pieces that do run on macs, such as adobe stuff, in order to run it.
      Maintenance: We run a very lean IS dept. While I want to get a mac for my own personal use, our department doesn't have the time to learn how to troubleshoot problems and maintain/patch the systems, troubleshoot printing problems, etc. We've got too much shit to do.
      Swappability: If their Dell goes out, I can have it swapped and re-imaged in about 15 minutes. We have standardized desktops, this is very, very nice! With macs, We would have to keep around a spare machine just in case of this problem. With the Dells, We'll grab a users PC that is out on vacation, or on a trip for work or whatever, repourpose their machine, and the next day, get the parts from dell, and place the fixed machine back at the desk of the user we stole the working one from.

      --

      What are we going to do tonight Brain?
    8. Re:Holy negativity pal by immcintosh · · Score: 2, Insightful

      This last item and its explanation are complete gibberish to me. About the only thing I can say for sure is that, yes, if you want to run packet sniffers on a corporate network, then you will get looked at like a criminal.
      Just to clarify (and not take sides), I think what he's saying is that these people are foolish to assume just because they monitor standard installation procedures (Setup.exe or whatever), they can prevent a developer from running whatever software he wants. As such, their insistence on this particular precaution is nothing more than a "feel good" measure of security; it's effectively useless. At least, that's how I understand his point.

      To put it another way, a programmer with access to a compiler can get whatever kind of illicit software he wants onto a computer without you knowing; they just program it themselves on the spot if necessary. Any precautions that presume otherwise are foolhardy and give a false sense of security, and can certainly seem foolish as an excuse to prohibit certain activities that would be otherwise harmless.

      I've never worked in an environment where any of this applies though, so I may be misconstruing what's going on here.
    9. Re:Holy negativity pal by swillden · · Score: 2, Funny

      you instead degenerated steadily into technical inchoherence so that by the end of your post I have no idea what you're talking about anymore.

      You know, the rest of your post would have been somewhat reasonable, but this part ruined it all. There was absolutely nothing in the GP post that should have posed the slightest difficulty for a competent system administrator to understand.

      I'm going to choose to believe you were exaggerating for effect.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    10. Re:Holy negativity pal by Zey · · Score: 2, Insightful

      + Too hard for us to administer (yes your highness)

      That's their job. They answer to their boss and must be able to confirm to them particular policies are in operation.

      + We can't run our anti-virus on your computer (ahem, I don't need that crap)

      Just because your Linux/Mac OS X machine might not fall to a virus or trojan, doesn't mean your machine isn't capable of acting as a 'Typhoid Mary' -- capable of passing them to others. That's leaving aside whether they trust you and your chosen distro to keep up to date patches going.

      + We can't tell if you're running unlicensed software on that computer (why don't you just like, ask me?)

      Because if you lie (and from experience, users do lie about these things) it can cost gigantic amounts of money in penalties if they're audited.

      + We can't tell if you're running encryption software of packet sniffers you would-be corporate spy?

      Their general auditing tool is probably specialised for Microsoft environments. Again, the cost of being wrong (their entire client list or source code going missing or other sensitive information getting where it shouldn't) outweighs the needs of one whiney user -- unless you can give them a good business case as to why your need overrides the risk, you'll be out of luck. Sorry about that.

      For some reason, a few of the sysadmins I've met aren't clued into the fact that you can get source-code and compile it into a binary and then execute it. Pretty standard stuff. Software doesn't *have* to be installed using some wizard-install-software, and never need show up on any audit.

      I suspect they'd notice the installation of a compiler though where it shouldn't exist ;-).

      Perhaps you could scan the computer for filenames of well-known software, but that wouldn't stop someone who knew what they're doing.

      Don't underestimate a good Windows policy editor. There are many places where things are extremely well locked down.

      I asked one "top" resource if he'd let me use it anyway if I could sniff the network from a windows box without "installing" any software - he looked at me like a criminal.

      Well, you'd just admitted plotting to breach network security and likely breach terms of your employment contract. No wonder! ;-). Rather than bitching about sysadmin stubbornness, you should be thanking them for not reporting the incident to your manager and it turning into a formal warning or instant dismissal.

    11. Re:Holy negativity pal by AFCArchvile · · Score: 1
      OK, I can understand the value of testing on multiple platforms; most organizations find a way to have all the supported platforms in a testing environment. Those who don't end up with egg on their face when a demo breaks on a prospect's MacBook or Debian laptop.

      That aside, this needs some attention:

      What I don't get is how anybody thinks that standardizing everything on windows is somehow going to just make everything cheaper and hunky dory. People use other platforms for a reason, and using a bit of intelligence there is no reason why sysadmins can't figure it out.

      To put it simply, it's too freakin' expensive, and there are some cases where the administration tools are either nonexistent or too young and raw. Sure, there are some centralized anti-virus suites that cover multiple platforms, but what about security auditing utilities? Configuration and policy management? Sadly, the reason for requiring agent after agent being installed is because of lawsuits that have hit companies hard, and new exploit avenues found, and it's only going to get worse.

      And you get the benefit of not grid-locking yourself into a single vendor.
      So you'd rather have to deal with the hell of four or more vendors? All with differing practices, policies, support contacts, etc.? Been there, done that, worn the t-shirt, moved on.

      I find Outlook a terribly annoying email client to use, and would prefer to use my own.

      Imagine running sendmail/postfix/whatever and an IMAP server for 5000 users. And manually configuring their vacation messages. And still having to scrape together something to coordinate meetings, list telephone numbers, locations, etc., etc. This is why most organizations not already vested in *nix or a prior email infrastructure go with either MS Exchange or Lotus Domino. I haven't heard of a centralized Linux alternative that puts it all together. And hey, you could run Domino on Linux, but from what I've heard Notes is a worse email client than Outlook.

      It comes down to this: the IT departments of large companies have a ton of stuff to try and organize, and not much for resources. And they don't exactly feel motivated to slog through O'Really books and Google searches to perform functions that are made easier (and documented far better) by closed-source companies.

      I hope that some day an initiative will move forward to provide a Linux equivalent of Active Directory and Exchange. Something to integrate LDAP authentication, SELinux policy configuration, LDAP directory, IMAP-esque email that's far more secure, and ties into the LDAP directory providing centralized scheduling abilities, and so on. And an email client that doesn't flake out all over the place (I tried Evolution years ago; it flaked out all over the place). I think that most of this stuff is out there, but it's strewn about in various places.

      --
      "Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
    12. Re:Holy negativity pal by vilain · · Score: 1

      A long time ago on an all-SUN developers network, the company had a developer who just _had_ to have root access to his workstation. We, the sysadmins, said that if he did, he'd be all by his lonesome, totally on an isolated network segment or he'd become a sysadmin and carry a pager. He backed down but left within 6 months after calling the VP of development "worthless" in an all company meeting.

      It makes no difference what the OS is (desktop or server), there are people who's job it is in a company to care and feed for the machines on a daily basis. Developers typically don't worry about backups or how "dirty" an application is (e.g. it leaves a boat load of files in /tmp or other directory and doesn't clean them up making us do it) or how it will scale (hundreds of thousands of files in a single directory is not a Good Idea(tm) since most filesystems scan directory files linearly so the longer they are, the longer it takes to access the file).

      Having the types of systems on a corporate network where a non-admin has root access is a security problem waiting to happen. It's no worse than the sales rep who has a modem on their PC connected to an outside line. _Someone_ approved it.

    13. Re:Holy negativity pal by apparently · · Score: 1
      You work in a "large, multi-national development shop", and none of the other developers have had need for an OS X or linux installation. Doesn't that say something about *you*?

      + Too hard for us to administer (yes your highness)
      Or they've developed the means to administer systems with consistency and efficiency, and adding in a rogue platform for a would-be poweruser doesn't make sense.

      + We can't tell if you're running unlicensed software on that computer (why don't you just like, ask me?)
      The same reason that the IRS doesn't just like, ask you if you've been cheating on your tax returns.

    14. Re:Holy negativity pal by namespan · · Score: 1

      Far from including the kind of technical clarity that would allow me to rationally evaluate your demands and make a well-informed decision on whether or not an exception to the policy was warranted in this case, you instead degenerated steadily into technical inchoherence so that by the end of your post I have no idea what you're talking about anymore. No doubt you--like my own developers--sincerely believe you've been crystal clear in every important detail.

      Somebody else said this, but it deserves repetition. If there's any part of that post you don't actually understand completely -- if any portion of it resembles "technobabble" to you -- then you're essentially fleecing your employers by representing yourself as a competent sysadmin.

      And you can certainly look forward to continued hostility from programmers who can spot the gaps in your understanding a mile away, no matter how much you might be trying to hide it from yourself and others by imagining that they just can't understand your job.

      --
      Libertarianism is rich wolves and poor sheep playing gambler's ruin for dinner.
    15. Re:Holy negativity pal by rmerry72 · · Score: 1

      We had a department that wanted Macs. As much as I have been wanting a Mac for my own personal use, I had to tell them no. A few of the reasons:

      They are all good solid reasons. However, most of them point out the extra costs of time and money involved in supporting the additional platform. Real costs and real money.

      So why not allow this department to have their platform of choice and then BILL THEM for all the extra costs involved. If their budget can handle it; if they can stand waiting around for 3 days for a replacement machine cause they don't use Dell; and if they pay for the extra Mac license for the email then what's the harm? Its their department, their budget, let them blow it on higher IT costs. Then let the upper managers deal with 'em.

      Saying NO all the time and hitting people over the head with company "policies" that work for the 90% doesn't help. You're supposed to be working with them, not dictating to them, I thought. Make that department pay for the extra time and cost involved.

      --
      We do not inherit the Earth from our parents. We borrow it from our children.
    16. Re:Holy negativity pal by The_reformant · · Score: 1

      I find Outlook a terribly annoying email client to use, and would prefer to use my own. Im forced to use Lotus Notes and pray one day to be able to return to using Outlook!
      --
      I have discovered a truly remarkable sig which this post is too small to contain.
    17. Re:Holy negativity pal by wmelnick · · Score: 1

      I work for a large company that is 95% Windows and 5% Mac based. They never had a Linux box on their internal network, although they do have some linux-deployed servers.

      When I first started the hel-desk person assigned to where I was sitting said "no linux. period." I lived with it for the 2 months I was there because I knew I was moving to a different location.

      When I got to the new location, I explained to my boss's boss that I was hired as a Linux expret and that I would not use Windows as my primary desktop. She told me to use my laptop until they could get all the permissions to bring up linux. Eventually it was decided that I, and the person directly under me, would have 2 machines, 1 with Windows for the corporate email (exchange/outlook) and one that would be ours to load linux on.

      Since then I have administered my own machine. I run rdesktop to check my mail. Also, I am frequently answering Linux questions asked by all of the helpdesk people who have installed LInux on their home machines after seeing all of the things I can easily do that they cannot.

      W

    18. Re:Holy negativity pal by susano_otter · · Score: 1

      It's not a question of technobabble. Technobabble I understand. It's a question of unclear sentence structure. Also, I was exaggerating for effect. I can--I think--dechipher the broad outlines of his complaint. But since success in my work requires a very clear understanding of the technical details that will meet my customer's requirements, I can't rely on deciphering his piss-poor grammar and punctuation skills. I'm going to have to go back and forth with him repeatedly, until I can coax from him the clear, concise, technical description that I need, to make sure that what I do is what he wants.

      This is, in fact, one of the thing that pisses me off about the developers I support: For people who make their living in a highly technical field, they seem generally incapable of expressing themselves in clear, concise technical language when necessary.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

    19. Re:Holy negativity pal by ostiguy · · Score: 1

      OS X 10.4 cannot read Windows 2003 shares on a domain controller, and perhaps all WIn2k3 servers out of the box. The only solution was to downgrade the security settings.

      We are the people the sales guys have fill out the vendor audit forms, and tire of answering why all machines don't run antivirus.

      Anyone who has been a sysadmin for a minimum of 6 months will not expect a truthful answer from developers as to the legality of licensing of installed software. Period.

      I have a MBP at home, but have no desire to support OS X or Linux for end users at the office. I don't want to have to worry about you jetting, and having project docs in FileVault. Linux? If I did allow one in, then the complaints about distro choice begin. WSUS kills any *nix for central management of OS level security patches.

      One offs in IT are a huge time sink.

    20. Re:Holy negativity pal by xero314 · · Score: 1

      We don't ask you because we don't trust you. This is the crux of the entire issue between Administration (System, Database and others) and it is a mater of trust. Not trusting developers is the fastest way to have security compromised. The people who write binaries are capable of circumventing any security measure you set up. If a Developer wants to be a criminal they will be, trying to stop them only frustrates those trying to do real work. It there is a virus on a competent developers box, or do to a competent developers actions it's because they wrote it and put it there. Your Virus scanning software is not going to catch that. (in the nearly 30 years I have been operating a computer I have never once had a virus, and yes I do check now and again).

      Matters are made worse by Administrators not being willing to learn the tools necessary to support the development staff. Rather than complaining about the technology the developers have chose to utilize, learn how to support it. Also supplying the developers with the tools they need will keep them from every violating compliance. If I don't have to install an unlicensed tool to get my job done then I probably won't do it.

      On the other hand I fully support any administrator that wants to be hard ass when a program written by the developers is continually causing issues such as down time. Turn the program off and tell them to fix it before you will turn it back on. Don't just bitch and complain about having to restart services and servers, actually do something about it. Oh and I also think people wanting to have their own personal preference for OS installed on a company machine is an unreasonable request. If you accepted a job in a windows shop you just have to deal with it.


      Oh and I don't think that you, of all people, should really be complaining about "inchoherence."
    21. Re:Holy negativity pal by try_anything · · Score: 1

      Only from your point of view. From our point of view, we're just trying to do our jobs, within a set of constraints you refuse to understand or even consider, and to prevent you in your ignorance and sense of entitlement from undoing our hard work, ruining our weekends, or putting our employer into serious legal and financial jeopardy.
      The funny thing is that plenty of large corporations manage to do accomodate all those requests under the burdens of regulatory compliance. How do I know? Because I'm a software developer who runs an unmanaged Linux workstation at my big faceless company, and we are certified to the highest level of PCI compliance.

      In fact, developers have been allowed to run alternative platforms at all the (big faceless) companies I've worked at. The reason is obvious: If you don't let software developers work in the environment they're accustomed to, you're throwing away half the money you pay them. I am frankly astonished when I hear stories about IT support groups who aren't bothered by the wastefulness of this. A major responsibility of IT is making sure everyone is working as happily and efficiently as possible. In the case of allowing alternative platforms, the job obviously goes beyond IT -- at my current job, the chief of security and our lawyers are involved in making sure our IT policies stay in compliance with PCI (and presumably the demands of our insurance companies as well.) Still, even if IT staff don't have the authority to set policy, they should be concerned about morale and productivity. They should take the lead, if necessary, in prodding the company to develop new policies.

      In any case, it's utter BS to claim something is impossible when many companies explicitly allow it, unless you can point to something unusual about your company that makes it an exception.

    22. Re:Holy negativity pal by susano_otter · · Score: 1

      Like I said, opposing-alignment alternate universes.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

    23. Re:Holy negativity pal by Deideldorfer · · Score: 0

      I hope that some day an initiative will move forward to provide a Linux equivalent of Active Directory and Exchange. Something to integrate LDAP authentication, SELinux policy configuration, LDAP directory, IMAP-esque email that's far more secure, and ties into the LDAP directory providing centralized scheduling abilities, and so on. And an email client that doesn't flake out all over the place (I tried Evolution years ago; it flaked out all over the place). I think that most of this stuff is out there, but it's strewn about in various places.

      Take a look at Zimbra. It has most of what you're asking for.

      --

      Power off before disconnecting connecting connector. Seen on a cash register
    24. Re:Holy negativity pal by try_anything · · Score: 1

      Are you suggesting that my company, the other companies I've worked at, and the companies my friends work at all exist in an alternate universe? That in your universe companies aren't able to work out the necessary security and legal details to allow developers to run unmanaged Linux boxes? That's a pretty wacky theory you've got there.

      My theory is that the companies I've worked at *do* exist (no kidding -- they actually all still exist) and most other companies can do it, too, if only they commit a few resources to drawing up an acceptable policy. Claiming that it's legally or financially impossible is just a way to avoid defending the decision not to.

      And hey, if you think this is just a developer vs. sysadmin thing, ask yourself who runs the network and does Windows support where I work. Yeah, we have sysadmins, too, and they're on board with the policy. Hell, half of them do their work from unmanaged Linux boxes. They would hold the executives' email hostage if someone tried to take away their Linux boxes.

    25. Re:Holy negativity pal by susano_otter · · Score: 1

      I'm not saying your companies exit in an alternate universe. I'm saying that in most companies, sysadmins and developers exist in alternate universes. If your company is different from most companies, I applaud you. Also, are you hiring?

      But I suspect that if you are a developer, you are blissfully unaware of the headaches you cause your sysadmins, who go to great lengths to protect the company from the hassles you cause by your un-considered assumption that whatever you want at any given moment is in fact the best possible idea.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

    26. Re:Holy negativity pal by try_anything · · Score: 1

      But I suspect that if you are a developer, you are blissfully unaware of the headaches you cause your sysadmins, who go to great lengths to protect the company from the hassles you cause by your un-considered assumption that whatever you want at any given moment is in fact the best possible idea.
      Believe me, when one of the dev servers or QA servers (which are managed machines running a standard platform) goes haywire and starts screwing up the network, sysadmins raise the alarm pretty quickly. They don't go around covering up our screw-ups. They fix our screw-ups often enough, but they make sure we know what happened, with a cc: to the whole development group.

      With that plus two more things, I can think of three factors that make our system workable that may not be present in other companies:

      1. Our sysadmins aren't subservient to us. I known that if I muck up our internal systems, the guardians of those systems (the sysadmins) can call me to account.
      2. We don't deploy our own code to unmanaged boxes, except for client programs that are only running when we use them.
      3. Our sysadmins play an important role in the development process (allocating and configuring test boxes,) so we can't afford to piss them off.
  86. Business Decisions by natoochtoniket · · Score: 1

    It isn't just the cost. You also have to consider the benefits and risks.

    The decision to replace an aging software system is a business decision, driven by the numbers. When the (benefit - cost) of the new system exceed the (benefit - cost) of continuing the old system, then it's time to buy the new system. If both are negative, it's time to just shut it down. Part of the cost of the old system is the people you need to keep it running. If it requires unusual skills or high levels of expertise, those might be expensive people. If it requires lots of labor to maintain and operate, then the total payroll might be large even if the individuals are not expensive. Part of the cost of any new system also includes the people you need, both to implement it and to keep it running afterward. Business opportunity and business risk also must be estimated for each alternative. The list of costs and benefits might be extensive, and some of those numbers might be guesses, but ultimately the numbers will make the decision.

    The manager who cries about not being able to find good people really just doesn't want to pay for them. There are plenty of highly skilled people in the world. But, the low bidder doesn't generally win the auction.

  87. The road ahead by lennier · · Score: 3, Funny

    The rubber hits the road when you back the wrong buzzing horse off a running platform that's not on the right track, and have to ditch it.

    I love business metaphors.

    --
    You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    1. Re:The road ahead by Hillgiant · · Score: 1

      But at the end of the day, you must ensure you are hitting milestones going forward.

      --
      -
  88. Simple Answer by DaveV1.0 · · Score: 1

    The time to change is when the ROI goes negative. When it costs more to maintain the system than you will make from the system, it is time to scrap the system.

    If the cost of changing the platform is less than the cost of maintaining the current platform.

    And, really you shouldn't wait that long. If the cost of maintaining the current system is projected to continuously go up, you should be looking at biting the bullet and working to change platforms.

    By projecting costs out a few years, you should be able to tell where it becomes more cost effective to change platforms.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  89. location, location, location by Bellum+Aeternus · · Score: 1

    This is speaking from personal experience as a manager/CTO type that has worked on small and large scale web based projects in several cities in the US. Learn what resources you have in your area before choosing a platform/language.

    I've found the north east and north west have an abundance of Microsoft platform people, Silicon Valley has a lot of Java and PHP people, Chicago has a good mix of MS Platform and PHP, and the southern end of California has a lot of Java but PHP devs seemed impossible to find.

    Doesn't seem to matter where I go, PERL people are nigh impossible to find, but I know they're out there (in a basement somewhere?).

    --
    - I voted for Nintendo and against Bush
    1. Re:location, location, location by javaxman · · Score: 1

      You can have my Perl developers. Take them, please. I'll accept junior Java programmers in trade.

  90. Is there a Right Horse? by Greyfox · · Score: 2, Informative
    I haven't really run across a web application platform I really like so far. It seems like the best solution is to write a Javascript front end to track state and a back end that delivers chunks of data to the front end. I don't particularly like Javascript either but so far it seems like the least sucktastic solution available. In that scenario, pretty much ANYTHING could serve as the back end as long as it can route requests based on the URL. Or you could use SOAP to get the data you need.

    Anyway... the easiest way to tell if you're wrong is to show your code to several developers in house and if they run screaming from the building, you might consider switching platforms...

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  91. Need more responses? by Anthony+Boyd · · Score: 1

    At the time I'm writing this, there are only 11 posts rated 4 or 5. That seems like a weak response. So I'll chime in.

    Perl and Cold Fusion are languages that once were really hot & useful for the Web, but nowadays are not as prevalent. The languages still exist, people still make money off that skill set. However, the Web-based jobs for those are shrinking, while other languages are growing. This is just pie-chart stuff -- what's shrinking, what's getting bigger?

    In such a case, you know you're running out of developers when you're running out of developers. (Oops! This may have happened to you already!)

    Of course it's possible that a platform/system/language is so hot that all the developers are picked up, and your trouble stems from its success, rather than its failure. If that's the case, you should know it. You should see clearly that there are tons of job openings in that area, and everyone you call is interested but simply making more money elsewhere. It's very different from having people flee because your development environment makes them queasy. If success really is the problem you're facing, then you simply have unrealistic expectations. You expect top-notch work for bottom dollar. You offer no perks and/or no incentives for employee retention. If that's the case, then you're simply suffering the consequences of your decisions. Pay better, offer more perks, or live with it.

    Assuming success is not the problem, you really are finding yourself in a dead-end. So now the true question is, "I know I have to change, but will it hurt?" The answer is, "Yeah, it's gonna hurt, but not as much as remaining at a standstill."

    So find out where the developers are, and learn to entice them better. Find the big communities, communicate not only your needs but WHY a developer should choose your company over all the others. Then hire well, and then set them on the project. Good developers really can build things competently, and to a deadline. They may drop a feature or three as they march to the deadline, but they'll deliver a working system. Specify what you want, give them the lame-but-working system as a template to improve upon, and let them go for it. If you hired well, things will get done and your pain will diminish.

    Now, as to the question, "How do I hire well?" I can only say, search Slashdot. That question has been asked repeatedly. Good luck.

  92. A Bit More Than The Tired Mantra by KermodeBear · · Score: 1

    I know that a lot of people have been saying, "When the cost of maintaining it exceeds the cost of replacing it." That's nice and they're absolutely correct, but it may be helpful to have a few guidelines when trying to decide if you have reached that point.

    A) How much money does it cost to hire someone skilled with the platform? How long does it take to find someone qualified?
    B) How much money does it cost to train someone to become skilled with the platform? How long?
    C) How easy is the platform to work with? Can changes be made easily? How easy is it to test changes?
    D) How good is the support? Even free platforms can have good support. Think more in terms of "time to find an answer" if it helps. Obscure and old platforms can be a pain to maintain, because there is often a smaller community.
    E) What is the cost (in time) to build your application/site in the new platform? Does this exceed the cost of bug squashing with the current platform?
    F) If your developers are constantly having problems - is it really the platform, or do you have crappy developers? Usually it is the latter.
    G) Are your developers going to be developing the new platform? If so, get new ones. In most circumstances, there is an existing platform than can be used or modified, saving tons of time in development and testing costs.

    Hope that helps.

    --
    Love sees no species.
  93. Answered! by Archangel+Michael · · Score: 3, Interesting

    "What's making him think of switching platforms? "

    He gave the answer to this question in the summary.

    "It took us an extremely long time to find someone with the necessary skill set."

    This can be unacceptable in just about any organization. Depending upon the definition of "extremely long time", which can vary from organization to organization, this is unacceptable. Most places want easily pluggable modules for positions, so that retirement, death, transfer or quitting doesn't break the organization.

    This is the equivelent of "vendor lock in" that /. decries so much with Microsoft, except the vendor happens to be their Web Developer.

    There is an unacceptability in being held hostage to a singular developer. At this point, I usually recommend switching to one of the various CMS setups available. It is much easier to find people able to tweak and update using one of the available CMSes, than some proprietary hack that has less features and no other developers.

    While this advice is not universal, it most likely would fit the kind of shop that has a single Web Developer on staff (or contract).

    This is based upon the general problem presented, the general details, and my understaning of what is available in the market.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    1. Re:Answered! by moderatorrater · · Score: 1

      But why are they having problems with the platform? If he says the platform is java, perl or php, then he's got some requirements that are so high that switching platforms won't help at all. If he's using Ruby, he can either switch or wait it out, because there's a good chance that it's going to be more popular in the future. I could rattle of ten more, but there's no point, because that guarantees that 90% of the time I took on the post was wasted.

    2. Re:Answered! by Archangel+Michael · · Score: 1

      I agree with you to a point. It might even be that they use all of the above. That being said, I think my recommendation remains. Either switch to something more manageable or bite the bullet and realize the high cost ( replacement, salary etc) of your web developer.

      Given the parameters of the original post, it seems he was thinking the cost of the web developer was too high, especially in relation to the platform(s) being used, which is why I made the recommendation I did.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  94. Be sure you're not overvaluing platform knowledge by pthisis · · Score: 2, Insightful

    You should drop it when there's another platform that's so much better than yours as to justify the effort of moving away (ie not just slightly better unless your code base is tiny). Normally any decent developer won't have a tough time adjusting to any decent platform, so the reason to switch isn't really that developers are hard to find who can work on your platform (unless it's something really unsuited to the job), it's that developers are hard to find who _want_ to work on your platform.

    If you're running on platform X and you keep advertising for developers with 3 years of platform X experience or turning away really skilled people who have been working on some other, similar platform, the problem is your hiring. If you're advertising for good developers in your application domain and they're not accepting offers, then the platform may be at least a marketing problem (which can be a serious problem indeed).

    But if, say, you're using Ruby heavily, there's no significant reason not to hire experienced Python or Perl developers (or vice-versa); if they're any good, they'll pick it up very quickly. There are limits; obviously if you're doing C development on an MMU-less embedded system, you don't want a great Visual Basic developer who's never worked with explicit memory management before. But if the developer is skilled in the application domain that you're working in, that's a lot more significant than knowing even the language (let alone the IDE or libraries) that you're using.

    --
    rage, rage against the dying of the light
  95. A couple of points by hey! · · Score: 1

    First of all, always assume Fate is against you; or at least that it's not a very reliable friend.

    Secondly, now might be a good time to think about changing platforms; maybe not today; maybe not the day after you hire the new guy; but soon after.

    My own experience is that the worst thing you can do his hire somebody bad. The best thing you can do is hire somebody good. If you're lucky you'll find somebody good who knows this oddball platform, but Fate probably doesn't have that in the cards for you.

    Put this all together, I'd say look for the best person you can. That person should (a) know several well known platforms and (b) be smart enough to be able to handle any fires that erupt on your current platform, even though he doesn't know it very well. Then see what he makes of the existing code on the current platform. He should be able to put together a strategy either or maintaining the current software, or transitioning over to a new platform.

    In no case should you hire somebody you don't feel is really good, just because he knows the platform. You might be letting him go in a year, but find yourself in an even deeper hole.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  96. JDK 1.1 by CustomDesigned · · Score: 2, Interesting

    I routinely coded network apps in JDK 1.1 that ran in 256K memory - including the JVM (no jit). That's K, not M. In comparison, the later Javas are stuffed turkeys. Even J2ME needs 512K. The two things that finally made Java 2 usable were the precompiled classlib for reasonable startup, and the fact that memory is now measured in Gigs instead of Megs.

  97. bought the server now find the developer by fletchzip · · Score: 0

    Cold Fusion I presume?

  98. Shameless Self Promotion by fantod · · Score: 1

    Easy answer: both keep the old platform and get a new environment. I converted a massive app in Progress's Fourth Generation Language (Clearly from the pre-Google era) into PHP/Postgres using Antlr. This allows modern tools and programmers, but still carries forward the thousands of undocumented changes and mystery quirks that the customers have come to know and love.

  99. so do you have the option to gradually move? by sorak · · Score: 1

    What aspect of the platform is not working? Is this a content management system/portal issue, a programming language issue, an OS issue, an issue with a large special-purpose application, or something else entirely?

    Is there an option to gradually phase out problematic code on the existing platform?

  100. Depends on your point of view. by shadow_x99 · · Score: 1

    From a Venture Capitalist PoV - Never! Unless you gain something out of it (A competitive advantage, reduced cost, etc.) From a Dev PoV - If everytime you need to make a change you dread it because it means many sleepless night debugging some archaic code, you need to refactor the whole thing (Which may involve complete re-write if everything is so badly designed) From a QA PoV - Right on! More stuff to test, re-write every week! From a Management PoV - Somewhere between those lines, you will find your answer.

  101. Its an easy answer by scorp1us · · Score: 1

    If you ditch your current platform, you are ditching the implementation, not the feature set right? If that is true, then the right answer is to ditch your current platform AFTER you've written (and implemented) test cases against it. This will ensure that the existing functionality is preserved on the new platform.

    The question is then what platform is are the test cases in? This should be answered as "the same as the proposed new platform." This provides a warm-up period for developers and creates a good playground to work out kinks before you even switch for real. (Leaving plenty of opportunity to back out!)

    Be warned: implementing in a new platform is rarely worth it. What are you expecting to achieve in the new platform? If it is just ability to fill developer chairs, then it is most likely not worth it. If those developers are being required for product growth, then you might have something. But for maintenance, get a consultant. You'll have way less headaches.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  102. Re: When Should We Ditch Our Platform? by bitrunner · · Score: 1

    Well, typically when you start wondering and come up with questions like these there probably are already things that make you wonder. Maybe you can't exactly pin point the issues yet (although you had one or two already) but basically you already started the process already by wondering if you should ditch it.. You know that something is wrong. It has been around for a while. Not too many people are smiling anymore, problems finding people that can work on it etc etc.

  103. from my experience... by v3xt0r · · Score: 1

    I've worked in various companies who have migrated platforms for various reasons.

    I'll use 1 former employer as an example here...

    This organization had taken-over another organization that had biology and computer science students and PHD graduates develop an application using X platform, for over 6 years. This application was rock-solid, covered all the requirements, but the CIO who was in charge of the take-over, had no skill or understanding of the platform it was developed on.

    Instead of keeping the developers and enhancing this existing application, they decided it was cheaper to let them go, hire a whole team of (Y platform) developers, and begin to re-create the application in the new ("latest and greatest") platform.

    When I started, the organization had been in this process for about 4 years, and still had yet to fully re-create the application that was originally developed on X platform (which they hired me to now maintain), and 2.5 years later when I left, they still hadn't made much progress. This was 6+ years, 30+ employees, and $20m+ (tax payer) dollars later. The original app could have easily been updated and maintained by 3-4 'skilled' X platform professionals, rather than 30+ not-so-skilled Y platform professionals, and would have saved at least $15m in expenses (of tax-payer funds).

    Part of the motivation behind such ineffective decision making:

    1) The justification to secure ridiculous amounts of funding so the CIO could pad his pocket

    2) The inexperience in dealing with X platform

    3) The false notion that hiring 30 Y platform developers to reinvent the wheel would be cheaper than hiring 5+ (harder to find, but far more skilled) X platform developers to simply wax the rims. ...just something to consider before scrapping an application, or entire platform, due to 'talent shortage'. Chances are, you're simply not looking in the right places to find the right people, imo.

    --
    the only permanence in existence, is the impermanence of existence.
  104. I said CF b/c you're more likely to find RoR by JoshDM · · Score: 1

    I figured they went with an antiquated webapp, and since most people can handle PERL, the likeliest candidate was Cold Fusion, which no one really practices/knows anymore.

  105. Platform selection by HangingChad · · Score: 1

    I don't know if this is because of the platform we are running (which I will leave nameless), or simply because the fates conspiring against us.

    Vee have vays of making you talk!

    Seriously it depends on what your company does. The platform you select for building...say Slashdot or Digg...would be different than the platform you'd select for spinning out internal sites for a different kind of business. Assuming you're not building a high volume web entertainment site, then speed and time to market are big considerations. You want a platform that's fast to develop and easy to maintain. There are only three platforms I'd use for building integrated systems to support medium to large companies that need sites stood up quickly to support different business units:

    LAMP - Specifically PHP. If you need additional capacity, you just stand it up. No licensing hassles, no purchase requisitions, and support is pretty easy to find. All my own sites are built on a LAMP stack.

    ColdFusion - Hard to beat for time to market. I have CF sites going on seven, eight years old that are still carrying a load and, once they're stable, hardly ever need updating. ColdFusion runs on Windows or Linux servers and the license costs are still fairly reasonable. It can be hard to find CF developers.

    .NET - Though let me say .NET is the least favorite platform that I support. Keeping a .NET site stable is a pain in the ass. Security patches will cause things to stop working unexpectedly and MS keeps you on their upgrade treadmill. I had one customer that paid for upgrading the same application from 1.1 to 2.0, or you have to maintain both environments. I hate their kludgy, GUI-driven development environment, which I consider FrontPage on steroids. But if you run a MS environment and SQL Server, .NET does offer some advantages. It does web services really well, integrates with many portal products and it's generally pretty easy to find support. Hard core NBMers will argue that .NET is faster to develop sites but that's a big, fat lie. It's faster to develop half-functional prototypes, but fully tested systems it's slower and tracking down problems can be really, really time consuming.

    --
    That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
  106. Some general principles by thetoastman · · Score: 1

    Deciding on or changing a platform is fairly complex. Without knowing more about your particulars, all I can write about are general ideas. While they may be helpful, you will have to customize them to fit your organization and situation.

    Since you've not really framed the technical particulars of your problem, I'm going to treat the system as a black box. The question then becomes, "how do you know when to change black boxes?"

    I'll break up the ideas into three sections. Tnn will represent technical considerations, Bnn will represent business considerations, and Cnn will represent cultural considerations.

    T1 - Standards Compliance

    Are there openly developed, freely available industry-wide standards that your black box should implement? If so, does your current black box implement them? If your current black box does not implement them, or depends on proprietary extensions for the bulk of its interesting functionality, then it's time to look at a new black box. If your black box implements the standards but does not closely (6 months - 18 months) track significant changes to those standards, it's time to get a new black box.

    T2 - Brittleness

    Tight coupling or brittleness is a good reason to change your black box. I'm using this term in an object-oriented design pattern sense. If you change your black box (upgrade, improve, etc.), how many other systems do you have to change? Adding new functionality to other systems might be acceptable coupling. Changing an operating system to change a browser so you can interact with a server is probably not acceptable. If you find yourself in the second situation, then it's time to change your black box.

    B1 - Support

    Support can come in the form of in-house (hired), in-house (trained), community, consultants, or vendor. Sometimes finding and hiring people with the specific skill set is difficult. Consider hiring someone with experience in a similar skill set and then training that person through vendor or third-party classes. You can bridge immediate skill issues by using consultants, but make sure you get a complete knowledge transfer. If the classes don't exist, the consultants are sparce, the community for this black box not vibrant, or newer technologies are seen as replacing your black box, it's time to get a new black box.

    B2 - Repair or Replace

    This is the basic used car / new car question. If it's going to be very expensive (project costs, retraining costs) to replace your black box and you can find or train a suitable mechanic, then your black box has a little life left in it. If over the course of 18 months (single process black box) to 36 months (infrastructure black box), the repair bill will be larger than the project bill plus any new repair bills, it's time to get a new black box. Adjust your time frames according to your business model.

    B3 - Fitness for Purpose

    Does your black box sit in the corner, doing its job, and rarely needs a change? Then it might be a good idea to leave your black box in place until its brittleness impacts your business's requirements to innovate or change. If you are constantly having to rework business processes or projects to fit the idiosyncrasies, then it's time to replace the black box.

    C1 - Change

    Every business has a certain resistance to change. This must be factored in when you replace black boxes. A change-adverse organization might be more comfortable in living with the restrictions of the current black box. A change-neutral or a change-positive organization might actually benefit from changing the black box. The impacts of change are hard to measure, but mostly show up as soft dollar costs in productivity and team morale. Sometimes even change-adverse organizations must change their black boxes. However, in order to accomplish that change, an influential sponsor / stakeholder must lead the charge. Otherwise the change will fail.

    That was a rather long first draft of my opinions about deciding on change in a business environment. Hopefully some people will find this useful as a place to start when considering change.

  107. popularity by Biffers · · Score: 1

    I look at the popularity of a development platform.

    indeed.com is the greatest job search engine on earth. It polls data from loads of other job sites and compiles the information in one place .. that being said, it also offers tools that show trends in industry based on what jobs are posted and the key words associated with them.

    So, if I look at some trending data like this:
    http://www.indeed.com/jobtrends?q=jsp%2C+cgi%2C+asp%2C+php&l=

    I can determine which platforms are popular and which ones aren't. That information will also tell me which ones are more supported. The more jobs that are offered in a technology, the more people there are to support it. It's all market driven.

    For Instance
    http://www.indeed.com/jobtrends?q=java%2Cdelphi%2C+perl&l=

    shows me that there are a tone of java positions out there, and very few delphi positions available. While Delphi may be great, you're going to have a difficult time finding someone to support it. It also tells me that Java is probably a better development language as a whole (*waits for flames from the delphi community*), because more people are using it. People tend to use good technologies.

  108. Re:If you have abstraction, switching is a LOT eas by hoganlong · · Score: 1

    err... he said an abstraction layer.

    An abstraction layer does not need to criple anything. It can be as simple as calling a stored procedure on the SQL server. Oh wait.... MySQL doesn't do that... NOW THAT is what I call crippling!

  109. Popularity... by mengel · · Score: 3, Informative
    Actually, the OP mentioned why most people think popularity of platform is important -- being able to hire people who already know how to work on it -- it's the "wanted: programmer with 3 years experience coding java beans" mentality; you pick the platform so that when you put that want ad out there are lots of respondants.

    Although, in my opinion, you are better off hiring someone who's worked on numerous systems/languages and is willing to learn yours, than switching platforms to get someone with experience in that single platform.

    To the original question; if you were planning a major rewrite anyway, that's possibly the best time to switch platforms -- treat the old one as a prototype, and build another. But you're still better off with a team of programmers who have diverse experience, and letting them agree on the platform (after suitable battles with Nerf-weaponry), rather than picking it based on popularity.

    --
    - "History shows again and again how nature points out the folly of men" -- Blue Oyster Cult, 'Godzilla'
    1. Re:Popularity... by alshithead · · Score: 1

      "Although, in my opinion, you are better off hiring someone who's worked on numerous systems/languages and is willing to learn yours, than switching platforms to get someone with experience in that single platform."

      Insightful...

      Not only do you get someone who should be able to provide quality work on the existing system pretty quickly, you also get someone who should be able to plan and implement a transition when it's finally decided that the existing platform has reached the end of its useful lifespan.

      --
      I reserve the right to think for myself. Others' opinions are optional. Puppy on lap = typos...not illiteracy.
    2. Re:Popularity... by bonzothecat · · Score: 1

      Yay! Someone who understands that a programmer is not simply an exchangeable unit that comes with your specific technology matrix burnt into ROM! Spend some time with your new guy, show them your technology, they'll figure it out.

    3. Re:Popularity... by IntlHarvester · · Score: 1

      If only was that easy. Having interviewed a ton of programmers, I can tell you that the vast majority of them are platform zealots for the tech they know. Finding someone that not only has a good knowledge of the APIs you're using and also is remotely objective and knowledgeable about other platforms is a difficult trick.

      --
      Business. Numbers. Money. People. Computer World.
  110. Balmer is wetting his pants by microbox · · Score: 1

    Asking end-users if they're complying with regulatory requirements is not a sufficient test of regulatory compliance.

    We can't you just ask "Do you have XYZ installed?" You have to sneak onto my computer with your uber-tool and spy for regulatory compliance? And for *THAT* reason we must run windows... so we can use a spying-tool. PARANOID.

    Balmer appreciates whoever wrote that rule about regulatory compliance. It's a windows only one! Mwhahahahahaha

    Balmer is wetting his pants. Lets hope his mood doesn't swing because I don't want to get hit by some urine covered chair.

    --

    Like all pain, suffering is a signal that something isn't right
  111. Turning proprietary? by s.petry · · Score: 1

    By the tone of the question, it appears that the requestor has a Linux/FLOSS type solution, and is wondering if he should go ".net" or something. (though I could be wrong).

    If you pull in the M$ A+ certified class, of course they will tell you it's easier to maintain and works better than Linux and Open solutions.

    Actions speak louder than words though.. In a group of 100 A+ graduates, you may have one that actually knows what a HTML TAG is, and the rest know what "Front Page" and "Office" are.

    Here is a question for you: Were you really not able to find anyone with the skill set? or just did not want to pay what they were asking to support your legacy application?

    The reason I ask that, is that FLOSS is a very large community, full of talent and skill. I find it hard to believe you could find "no one" to support your stuff.. unless you were looking for the lowest end pay scale to match.

    --

    -The wise argue that there are few absolutes, the fool argues that there are no probabilities.

    1. Re:Turning proprietary? by Hungus · · Score: 1

      At least someone who has taken the class would know that CompTIA does A+ and not Microsoft.

      --
      Bad Panda! No Bamboo for you! In matters of importance ACs will not be responded to. Want to say something critical,OK
    2. Re:Turning proprietary? by (negative+video) · · Score: 1

      The reason I ask that, is that FLOSS is a very large community, full of talent and skill. I find it hard to believe you could find "no one" to support your stuff.. unless you were looking for the lowest end pay scale to match.

      They could also have been resume-filtering for an exact match to their platforms (X years of A, Y years of C, etc.) instead of searching for someone who can pick up anything quickly.

  112. It sucks, get a new system! by ArikTheRed · · Score: 1

    Incidentally, I can code you a new one for $250/hr.

  113. Quick answer by FatherOfONe · · Score: 2, Interesting

    first you need to decide how painful it will be to migrate. Is this some mainframe application that has had 20+ years of refinement and bug patches behind it, that happens to be in the millions of lines of code size? If that is the case then you keep kicking the dead horse for a while.

    Is this some scientific/complex application that is written in a language that just isn't popular today, but isn't too large? Well then you "might" consider migrating it over time.

    Obviously this isn't something to be taken lightly, because the expense of migration/bug testing and possible validation can be HUGE for large systems.

    I only have a small amount of data that you provided, so I can say that I "might" look at trying to expose as much of the legacy system as possible via a web service or some other "normal" RPC call and then look at having another system start to use the business logic in the core system, but have in written in a more modern and common language (Java). You "might" be able to start and pull off parts of the system over time that way.

    --
    The more I learn about science, the more my faith in God increases.
  114. All depends on what you write by Giant+Electronic+Bra · · Score: 5, Insightful

    There is nothing wrong with a full up J2EE environment. It simply exists for certain specific purposes. It makes no more sense to write many applications on J2EE than it does to write web sites in FORTRAN.

    On the other hand, if you write serious enterprise class middleware there is nothing better and those frameworks you find 'icky' are 100% necessary. You simply CANNOT in any sane world replicate the large scale clustering, distributed transaction management, connectors, and resource management capabilities of a good J2EE server. Furthermore you WILL need that kind of thing if you want to build a piece of software that has requirements like ABSOLUTELY no single failure under any circumstances can ever loose a transaction and you process 10k transactions per second with 5 9's reliability 24/7/365.

    The other problem with most developers (most teams) is they simply don't have the training in properly designing their applications for that kind of environment. You HAVE to know all the ins and outs of where your transaction boundaries are, exactly what all the possible execution paths (exceptions especially!) are, and map it all out. Anyone that tries to build complex J2EE apps by sitting down at a keyboard and pounding keys will FAIL miserably, and they will then lament about how horrible J2EE is. No, you need to know exactly what you are going to write first. THEN when you sit down and start developing all that 'J2EE cruft' actually turns out to be your friend because most of the hard stuff is already done for you.

    Its all a matter of what you're problem set is, and knowing the tools well enough.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:All depends on what you write by Omnifarious · · Score: 1

      I happen to know of a shop that was doing that in C++ 5 years ago. They were processing stock market transactions and managing something like 20% the full volume of the NYSE.

      You can do that with J2EE and its frameworks. But I think those frameworks tend to make people settle into solutions that are sub-optimal because they discourage people from actually thinking about the problems they're trying to solve.

      I've been thinking of a general architecture for a fully RESTful 2-phase commit mechanism that doesn't mandate any sort of framework at all behind it. Mostly seeing what horrible things are being done with SNMP these days made me think about how to do it. SNMP needs replacement (or at the very least a major overhaul and upgrade), and the biggest thing it needs is a way to set up complex changes to a switch or router as a single transaction.

    2. Re:All depends on what you write by Anonymous Coward · · Score: 0

      > You simply CANNOT
      > [...]

      No, _you_ cannot. You are just showing your insecurity by adding layers
      and layers of useless crap.
      People able to design and write robust software do not need such
      monstrosities.

    3. Re:All depends on what you write by stonecypher · · Score: 2, Interesting

      On the other hand, if you write serious enterprise class middleware there is nothing better and those frameworks you find 'icky' are 100% necessary. You simply CANNOT in any sane world replicate the large scale clustering, distributed transaction management, connectors, and resource management capabilities of a good J2EE server.
      You know, there's a reason that Java disallows its use in life critical systems in the license. If you really think J2EE is the top of the line in those four topics, you need to do some research. There are in fact quite a few application systems with higher availability than J2EE. Unfortunately, the only one you're likely to have heard of is Erlang.
      --
      StoneCypher is Full of BS
    4. Re:All depends on what you write by demi · · Score: 2, Informative

      You simply CANNOT in any sane world replicate the large scale clustering, distributed transaction management, connectors, and resource management capabilities of a good J2EE server. Furthermore you WILL need that kind of thing if you want to build a piece of software that has requirements like ABSOLUTELY no single failure under any circumstances can ever loose a transaction and you process 10k transactions per second with 5 9's reliability 24/7/365.

      Yes, you can, and pretty easily, too, using Erlang. The contortions you have to go through in Java to get messaging, queuing, bus-connections, failover, clustering and all that stuff to work is ridiculous. You can spend hours declaring, configuring, creating adapters, installing drivers, extensions, hibernate properties, blah blah blah and you're not only no closer to being done, you get to write your logic in... Java!

      Java goons can spend days talking about persistence layers and attribute storage and web service connecters to the enterprise bus. And after weeks of hobbling along and some purchases of middleware and object brokers and JMS this and that (and don't forget the servers to run it) they can start writing a bajillion classes and interfaces for every function. All this to support a messaging system with no more functionality than this:

      resource ! {self(), {request, Key}

      And no, that's not the abstraction or exposed interface--that's the nitty gritty detail.

      Java--the technology, the language, and the culture is a joke. Unfortunately, as you say, it's ever so Serious and Ready for the Enterprise--so it's not a very funny joke. When you actually get your Enterprise Solution delivered (never anything so Un-Serious and Un-Enterprise as a program in Java World), you now get to deal with upgrade and dependency headaches, schema changes and--why is my RPC performing so poorly? Marshalling overhead? How do I fix that? Throw away my objects, throw vectors of strings at it, buy faster CPUs, throw some more Tibco on it, please!

      Five 9s? Erlang has been used to build systems with Nine 9s. In your list of desirable features (many of which don't inherently require teams of engineers poring over UML diagrams but in fact are trivial or easier in Erlang). I mean, good God, why should you have to "know exactly what you are going to write first" just to distribute load and share data amongst servers? Why should you need "special training" to write an application that can automatically and statefully fail over from one node to another? Next you're going to tell me the answer to software reliability is just to make sure you don't have any bugs in your application!

      In your more or less random list of requirements you forgot online code upgrades (with no sessions dropping, please), task migration and interactive management.

      There is nothing wrong with a full up J2EE environment. It simply exists for certain specific purposes.

      Paul Graham had it right when he said that Java was popular in corporate environments because it produces a lot of what looks like work. If you want a lot of mediocre people busily coding away--well, not coding; declaring, annotating, configuring, setting build properties and constructing--then Java really is great for that specific purpose.

      --
      demi
    5. Re:All depends on what you write by Anonymous Coward · · Score: 0

      You simply CANNOT in any sane world replicate the large scale clustering, distributed transaction management, connectors, and resource management capabilities of a good J2EE server.

      We've been doing large scale high reliability transaction processing for decades before Java came along. You might have heard of COBOL? Hell, any mainframe can blow away your toy "resource management capabilities" you get in any J2EE server.

      Enterprisy n-tier J2EE solutions are what the kids like build so they can feel like one of the big boys.
    6. Re:All depends on what you write by Giant+Electronic+Bra · · Score: 1

      Yeah, SNMP has I think kind of outlived its usefulness. We're probably stuck with it forever, but it would be really nice to have something better to replace it with. Transactions would definitely be a good feature to have, with 2 phase commit of course!

      I'm also a fan of REST, or at least the general principles of REST. I'm of the opinion that HTTP's standard url style encoding of form data is a poor protocol, but essentially the concepts are good. I do use SOAP quite a bit, though I'm not really in love with it, it seems to be the only viable game in town at this point if you go beyond simple form input. Even there though you can definitely adhere to some 'restful principles'. 2-phase commit though seems to me to be kind of against the basic REST philosophy, but then again it is a necessary thing in some environments.

      I inherited a C++ based trading system about 5 years ago. Millions of lines of code. Took 10 guys to code the thing and they burned through 42 million $. I and basically 2 other guys rebuilt the system on JBoss in under 2 years. The original system was actually really well designed, it ran a number of Bloomberg's fixed income applications and Brut and NYFIX/Patriot were built on the same platform, but the fact is with a totally custom designed system like that things aren't totally standard, and every time you need to do something beyond what the platform was designed for you're reinventing stuff that J2EE/EJB3 will do OOB with a few annotations or whatnot. It just doesn't make sense to reinvent that kind of stuff.

      There are a lot of fairly crappy J2EE based apps out there. As I say, I think they result from A) a poor appreciation of how J2EE/EJB are best used, and B) a poor analysis (or no analysis) up front of the problem domain. Usually when you don't do really detailed analysis you end up fighting AGAINST the way J2EE wants things to work, and that never gives good results. The other thing I'd have to observe though is that EJB3 really was a huge step forward. Older versions of EJB sucked. Even now with EJB3 I still rarely use Entity Beans. I think ORM solutions are a bad idea, no matter how polished they are. Someone mentioned always having an abstraction away from the RDBMS, and I agree of course, but ORMs are not it.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    7. Re:All depends on what you write by Giant+Electronic+Bra · · Score: 1

      You simply CANNOT in any sane world replicate the large scale clustering, distributed transaction management, connectors, and resource management capabilities of a good J2EE server. Furthermore you WILL need that kind of thing if you want to build a piece of software that has requirements like ABSOLUTELY no single failure under any circumstances can ever loose a transaction and you process 10k transactions per second with 5 9's reliability 24/7/365.

      Yes, you can, and pretty easily, too, using Erlang. The contortions you have to go through in Java to get messaging, queuing, bus-connections, failover, clustering and all that stuff to work is ridiculous. You can spend hours declaring, configuring, creating adapters, installing drivers, extensions, hibernate properties, blah blah blah and you're not only no closer to being done, you get to write your logic in... Java!

      Hmmm. In my J2EE environment all I have to do in order to set up distributed transactions is tell the container that I want distributed transactions. It involves editing one deployable XML file. So I have no clue what 'contortions' you are talking about... Same with clustering, at least on JBoss all I ever had to do was edit one or two config files and Wallah! my session state is synched across the cluster. Easy as pie. That is the whole point though, ALL you really have to worry about is business logic, everything else is handled in interceptors by the container. I wouldn't venture to comment on Erlang since I've never used it, but I'd venture to say you STILL have to have all the configuration details someplace.

      Java goons can spend days talking about persistence layers and attribute storage and web service connecters to the enterprise bus. And after weeks of hobbling along and some purchases of middleware and object brokers and JMS this and that (and don't forget the servers to run it) they can start writing a bajillion classes and interfaces for every function. All this to support a messaging system with no more functionality than this:

      resource ! {self(), {request, Key}

      And no, that's not the abstraction or exposed interface--that's the nitty gritty detail.

      Again, I can't comment on what you do and how you do it in Erlang. The sum total of all JMS related code in our LARGE trading system is 2 classes, neither of which is more than 100 lines of code at most, and 75% of that is there to allow you to run the whole system outside the container for unit testing. Again I don't know Erlang, so I can't compare, but ActiveMQ (the JMS broker we use) provides a fantastic amount of functionality which is all easily accessed out of one config file. Given the requirements of our system I think it is safe to say that no matter what platform we used some similar level of configurability would be required. And if you want to compare simple cases I can write an MDB in 10 lines of code, 6 of which are just annotations that tell the container where the message flow comes from, plus whatever business logic I want.

      Java--the technology, the language, and the culture is a joke. Unfortunately, as you say, it's ever so Serious and Ready for the Enterprise--so it's not a very funny joke. When you actually get your Enterprise Solution delivered (never anything so Un-Serious and Un-Enterprise as a program in Java World), you now get to deal with upgrade and dependency headaches, schema changes and--why is my RPC performing so poorly? Marshalling overhead? How do I fix that? Throw away my objects, throw vectors of strings at it, buy faster CPUs, throw some more Tibco on it, please!

      Well, I'd be interested to see what the comparison in the real world would be between the 2 platforms in our problem domain. As for the other stuff, if you have horrible problems with schema changes then you perhaps didn't follow a solid design pattern to begin with... I just added 4 columns to 2 CORE ta

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    8. Re:All depends on what you write by Anonymous Coward · · Score: 0

      What a crock! I've been developing "enterprise class" J2EE apps for the last nine years and have never seen anyone pull off 5 9's reliability 24/7/365. The only way you'll get that is if you never have to upgrade your code, and particularly never have to change your database schema. Every place I've ever been has done code promotions at least monthly, and they always include some kind of database patch. Trying to use hot deploy while changing the underlying database schema has always freaked us out, so we take things down. We've considered trying to get around this problem with replication strategies, but it's just too messy. Not to mention we've generally found problems with the implementation of hot deploy, such as permgen leaks just general flakiness. I've gotten really sick and tired of hearing people like you talk up J2EE servers like they really solve all the hard problems, and I know that there are many others like me. Your post almost reads like BEA marketing brochures!

      My latest project is a big SOA nightmare involving the BEA platform where we have five different WebLogic domains for each piece of their AquaLogic SOA "suite." In order to deploy a new version of code and achieve 24x7 uptime, we have to have a completely duplicate standby environment to deploy the new code to because there's no way to atomically hot deploy new code across domains. Thus, we have to setup the duplicate environment, deploy there, and then direct clients to the new setup with a load balancer, but it has to be a stateful load balancer that sends only new traffic to the new servers, and then we can't upgrade the old servers until all traffic is finished going to them, which could take up to 24 hours. It's really expensive (we have around 20 8-CPU dual-core servers with 64GB RAM each), we weren't planning on this, and the reason we were bitten was because our upper management listened to people like you who made it sound like J2EE servers solve every problem.

      As soon as your environment is sufficiently complex, which in my definition is not especially complex, then J2EE no longer solves even a tenth of your problems, and the solutions you have to adopt--like having a standby setup for high availability during promotions--would work with almost any technology. Worse, a lot of the J2EE solutions become problems. We've found that two phase commit is too expensive for many transaction paths, and after analyzing most of the problems, we've found that we can semantically deal with not using global transactions. Thus, the primary selling point of J2EE is useless for us in many cases.

    9. Re:All depends on what you write by Tablizer · · Score: 1

      You simply CANNOT in any sane world replicate the large scale clustering, distributed transaction management, connectors, and resource management capabilities of a good J2EE server.

      Yes you can, a big-ass Oracle database cluster. People use Java-heavy designs because Big-Iron RDBMS's are not as "sexy", not because they are worse. Americans are fad-hoppers.

  115. Re:If you have abstraction, switching is a LOT eas by Azarael · · Score: 1

    Just because you have an abstraction layer, doesn't mean that you can have a pass-through for limited cases where it's better to use a DBMS specific feature.

  116. Web Apps by xpatch · · Score: 1

    I've never personally used ruby on rails and never intend on it. I've seen fads like it before. Your question was that of platform for web apps and when to jump ship. I believe web applications should be platform independent ( so jump ship now ). The best web applications (custom or stock) on the net with the lowest cost for maintenance are currently PHP applications. PHP+Apache+MySQL is a favorite combo of web developers and it's widely used and supported. The software is free and the community supporting those apps is huge. You can install those three pieces of software on any platform so no need for a pre nup.

  117. You, Sir, are talking Bullshit. Plain and simple. by Qbertino · · Score: 3, Interesting

    This question plays into simular territory that one that came just a week ago. And, as you can tell from the subject, it really gets me going. If you are of the kind who posts questions on slashdot, then you at least are somewhat tech-savy enough to judge fairly quickly after talking to a handfull of developers if you're plattform is rubbish or not.
    Since you're not saying which plattform I suspect you rode with some standard fare OSS plattform (which are all very good for 99.9% of all web solutions) for free and expected to get the programmer along with it for $4 per hour or something like it.

    You said you had to look hard to replace you guy ("It took us an extremely long time to find someone with the necessary skill set."). You, Sir, are a liar. Here's what really happend: You chose a plattform (... jadajada, Django, Rails, Zope, EZ Publish or even .Net it doesn't really matter for this part) and, so I strongly suspect, were paying your main "maid for everything" dev with a shoestring budget who then probalby left on his own when the farce became more than his self-respect could bare. You didn't train him on the technology, you didn't give him air to breathe, you didn't let him run his mind, you didn't space (not to speak of pay) the enviroment, pipeline and toolset needed for the product you wanted and you most certainly didn't plan *or* stick to your calls you made four weeks before. The usual stuff everybody with real developement experience here on slashdot has seen time and time again. (Watch them mod me way up to Jupiter to see what I mean)

    I tell you what: Stuff this bullsh*t about 'lack of skillset'. I've heard it all many times over and I'm sick of it!

    Pay and treat the people the fair and you'll have so many well-versed devs at you doorstep you'll have to shoo them away. And once you've got your favorite, show him/her your web-setup. If he's an OSS guy and you happend to jump on .Net because of some hair-brained idea back in the day, he'll tell you he can continue with that for an extra 20 000$ per year to compensate for learning a hermetic skill or you give him free reighn and he'll implement on whatever buzzword draws the highest line in OSS technologies on trends.google.com. Or he'll maybe just dive into the system you're running and come out on top after half a year.

    Oh, and to drive the point home:
    If you're really lacking skillset and have a tough time finding it, I've got customers in the US too. I'm a freelance webdeveloper from Europe who also does consulting. Especially for the very sort of situations you claim to be in. Give me a neutral contact email-address here (post it in a child) and you'll get my contact data. Get back to me over your official channel and if we strike a deal and you afterwards can plausibly refer to this slashdot question as being your's I will apologize, stand corrected and you get 200 Euros off the bill. That's fair, isn't it?

    And now I ask you, my fellow slashdotters:
    What's the bets we'll never hear from this guy again?

    --
    We suffer more in our imagination than in reality. - Seneca
  118. Platform, or hiring practices ? by billcopc · · Score: 1

    Here's a problem I've seen time and time again:

    1. Hot-shot long-tenured developer takes a hike for a higher-paying job (but that's not what he tells you)
    2. Company goes headhunting for a turn-key hot-shot long-tenured developer to replace #1.
    3. Months pass without any hopefuls, Company blames everything under the sun.
    4. Company dies a slow torturous death.

    The biggest problem is that most veteran developers aren't mobile. You used to have the one guy who knew and did everything under your roof. He's gone, and no one else has that same skill set, not until they've worked with you for a decade.

    The other big mistake small businesses make is they think merely putting out job listings with all the staffing agencies will magically bring geniuses to their doorstep. Bzzt! Wrong! The one thing they will magically bring is more students, slackers and foreigners than you can count. There are lots of people looking for work, and lots of jobs looking for people to do them, but both parties tend to wait around expecting the other party to do all the legwork.

    It's never easy to replace a veteran in any field, not just programmers. If you can't find the perfect candidate, maybe you'll have an easier time hiring two people with limited but complementary skill sets, e.g. a data guru and a code monkey. Depending on the business, maybe you could even do without a staff developer for a while by relaying some of the work to a consulting firm.

    --
    -Billco, Fnarg.com
  119. You do the math. by FatSean · · Score: 3, Informative

    Cost of maintenance/repair for 3 years vs. cost of new platform + app migration. Eat the support costs. Factor in the increased performance the new platform may provide. Wave hands around and shake the 8-ball.

    At least, that's how I do it.

    --
    Blar.
    1. Re:You do the math. by swillden · · Score: 2, Informative

      Cost of maintenance/repair for 3 years vs. cost of new platform + app migration.

      And keep in mind that you're likely to underestimate app migration costs by a significant factor. I think people tend to say "Well, it took four developers and eight months to build the old one, so we'll assume that this newer, more efficient platform will take a little less", completely forgetting that the system as it was at the end of that eight-month development time did significantly less than the one that has since evolved over the course of five years. Your new app needs to be as functional as your old one will be a few months from now. Also, don't forget to factor in time for developers to learn the new toolset, and if they have any responsibilities for supporting the old stuff, better assume a good chunk of their time will be going to that.

      Finally, don't forget to add a fudge factor to correct for the fact that you probably really want to build a new system. That fact is clouding your judgment on any number of issues.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  120. The General Answer by Requiem18th · · Score: 1

    That's an excellent answer. I'll attempt to give a more concrete answer although without details it is still too abstract.

      If the selling point of your company is it's content then use whatever mainstream platform you like. If your platform is already mainstream stick with it. Some mainstream platforms:
      ASP.NET. Older versions of ASP are too troublesome and deprecated so they aren't mainstream anymore)
      Java. I wouldn't recommend it for new developments but it's not so bad that it needs to be ditched.
      PHP. Maximum flexibility, performance, availability of expertise with near the best speed of adaptation to change.
      Ruby on Rails. It has survived the hype and it's on the way to become mainstream, is easy to pick up if you are new and has the best speed of adaptation to change.

      Soon you will see Air/Flex here but it is still too new and untested. I'd go for Turbogears or Django but I'm a Python fan.

    If the selling point of your company is in it's service/software or at least it is an important part of it then the answer depends on you market position.

      If you are the market leader or if you market share is increasing, stick with what you have.
      If you are at the tail of the food chain or your market share is decreasing and it can be traced back to a software issue, switch to a mainstream platform, Chances are that a novel platform will be more of a hindrance to you than an advantage.
      Finally if you are an at average point of the continuum and your market share is more or less stable you are in a good position to start experimenting listen to you developers here. If they complain about the limitations of the platform or are very exited about some new tool let them start small projects with it and if it works go for it.

      But it seems you don't have any developers right now, then try to remember what the last developer used to feel about the system. If he/she felt good about the system keep it. Even if developers for this platform are rare they are probably exceptionally talented people and more than make for it.

      If the last developer felt limited or dragged by the system then it depends. If the current platform is not mainstream switch to a mainstream one. If the current platform is mainstream then the rules above apply.

      I'm done doing your job, back to mine...

    --
    But... the future refused to change.
  121. a reply to the converse of your question by markitect · · Score: 1

    At my company we just decided to resurrect an old application even though nobody knows how to operate/program for it anymore. Simply because putting a Jr developer on it and letting him/her figure it out is cheaper than the new shinny powerful solutions now being sold. (In fact its costs 4 months of his salary)

    Thats what it all comes down to around here, which does the boss think will be cheaper.

  122. Re:If you have abstraction, switching is a LOT eas by immcintosh · · Score: 1

    A well designed abstraction layer should generally be able to take platform specific features into account and use them transparently if available. Of course, that takes a very sophisticated layer, and requires a lot of forethought and design before starting to work on it. Seems to me, though, that that's what makes the difference between an actual abstraction layer and just a simple code wrapper. Of course, it depends on the feature how easy (or nightmarishly difficult) it is to elegantly wrap it up in a transparent manner.

    Well, that's my experience at least.

  123. Don't buy the hype and buzz by ericlondaits · · Score: 1

    I recently had to help a client who based his web site on the Drupal Content Management System but then couldn't find a developer to finish the site after the original one stopped answering calls. There's a small but very active and vocal Drupal developer community here in Buenos Aires, but it's an error to assume that it's possible to find a developer based on the tool being popular, open source and quite easy to use.

    To be fair, had the client not used Drupal and gone with a propietary PHP solution, the results would have probably been much worse... since the code would have been harder to modify, and the result would probably have less features, be less secure, not based on standards and good practices, and decent PHP coders are not THAT easy to come by. ... yet, Drupal evangelists make it sound like a no-issue... and it's not much different from getting a developer to mantain your propietary platform. In fact, I think the problem is based on looking for Drupal developers instead of looking for good PHP developers who could probably figure out Drupal in a weekend. Same for anyone using Ruby on Rails and looking for experienced RoR developers instead of an eager "cowboy programmer" who's willing to save the day.

    --
    As a Slashdot discussion grows longer, the probability of an analogy involving cars approaches one.
  124. Wrong Focus - Hire Someone Good and ASK THEM by zuperduperman · · Score: 1

    You have completely the wrong focus here. Hire someone with a broad range of experience across multiple platforms, languages and a generally open mind. Then ask them to help evaluate the system and whether you should migrate off it or not.

  125. Re:If you have abstraction, switching is a LOT eas by msmart13 · · Score: 0

    No. Web programming should be treated like all other programming, which means your abstraction layer should be properly encapsulated such that it is trivial to replace one implementation with another. If your current implementation of the abstraction layer does not support feature X, build it into the abstraction layer itself. At worst, you will have to find/replace calls to the function to add extra parameters to support the functionality where needed.

    If you need to switch your DBMS from MySQL to Oracle, you just create a new implementation of the abstraction layer, from the stock version (yes you should start with a platform nonspecific version), and then add any Oracle specific stuff to the new implementation. The only caveat is that your stock abstraction layer have a standardized API that your client code can call.

    The big problem with web programming is that developers are not following the basic tenets of computer science. They are writing tightly coupled code, instead of implementing basic programming paradigms (like OOP). This is not limited to database abstraction. You should always have your technologies properly separated, standards compliant (wherever possible), and your functionality encapsulated. If you do so, even a full platform switch is an achievable goal. And yes, my company spends 99% of their time implementing (and fixing other people's bad implementations) web based systems.

  126. Be proactive, strategic and review regularly by PaulusMagnus · · Score: 1

    Firstly, backing the right horse comes with time and experience. The more people you have to feed into that decision, the more likely you'll get the right horse. This makes it easier for larger IT shops than small businesses.

    However, larger enterprises also plan their IT investments. We provide strategic outlooks for key technologies over 5 years but also ensure everything goes through a Technical Architect. I have 20 years of technical experience in every aspect of IT and would like to think that I've never put any client on the wrong horse.

    If Gartner says it's good, Forrester says it's good and the storage, network, database and server people says it's good we'll go with it. Otherwise, it's a risk and that is factored into the decision-making process.

    If you do back the wrong horse and it's not heading in the right direction, jump off. The longer you leave it, the more painful it will be. All you should be thinking about now is damage limitation.

    So try to plan, to be strategic and think about the long-term viability and sustainability. Review your decisions frequently and decide when to transition. You shouldn't wake up one day to find your decision was completely wrong, it takes time for these things to become apparent, review them when the first hiccup appears. It will save you a lot of grief and may even save your job, if you're the line manager.

  127. WWGGD? by cyberfunkr · · Score: 3, Funny

    Roll a d20 and consult the correct chart.

  128. (nameless) is the cause of your problem by SJ2000 · · Score: 1

    I don't know if this is because of the platform we are running (which I will leave nameless) Well I think your answer is [blank] which is probably caused by [something] which in turn caused [something else] which is the root of your problem.
    Also I think you should probably migrate to [Untitled product] due to better [features list]

    I hope I've helped you as much as you've helped us understand your issue. :)
  129. Drupal by /dev/trash · · Score: 1

    It was Drupal wasn't it?

  130. Re:If you have abstraction, switching is a LOT eas by shutdown+-p+now · · Score: 1

    Also, it's the difference between the old-fashioned table/row locks, and the newer MVCC/snapshots, which often bite you in the ass when switching database backends. A reasonably complex application written for one model simply cannot be easily ported to another.

  131. Re:If you have abstraction, switching is a LOT eas by Anonymous Coward · · Score: 0

    Django comes with an adequate abstraction layer, right out of the box. It also comes with a URL mapping layer, so you could send some URLs to a legacy system and handle some with Django.

    And I love Python.

    Django for the win.

  132. Re:If you have abstraction, switching is a LOT eas by Sam+Ritchie · · Score: 1

    I think it's probably a terminology issue, but if a web developer came to me and said "I'm going to write a database abstraction layer for this website in case we want to switch databases one day", I would smack them round the head. It's a clear violation of the YAGNI principle - significantly extra work for something that probably won't ever be required.

    On the other hand, I suspect you're not talking about a full-blown database abstraction layer, just a separation of data access code from business logic (like a Repository pattern). This I would view as simply good design, with more realistic benefits like easier testing, more understandable code, and better separation of concerns.

    --
    This sig is false.
  133. Once a year by spiffmastercow · · Score: 1

    It's great job security. Besides, haven't you been wanting to do something about that crappy code?

  134. System/36? Newbie! I used a System/34 by billstewart · · Score: 4, Interesting
    I has a summer job in college doing programming on an IBM System/34, mostly in RPG2. It had 48KB of Semiconductor RAM (as opposed to real core), and a 13MB Winchester drive, and came with two IBM employees who were around every couple of weeks to keep it happy (usually by updating the accounting software, and then re-patching the updates to deal with the customizations our system had because the construction industry does accounting differently.) Unfortunately, we only had the slow printer, not the fast printer, so compile time was largely constrained by how long it took to print out the 10-page program listing, which was 20-30 minutes, and the printout was not optional; you always got one when you compiled. And of course when the Apple II came out, except for the disk drive it could totally kick the /34's ass, not that you'd want to run corporate accounting packages on the Apple.


    The thing that was cool about the /34 was the Operations Control Language, which was a shell-like interface that you could actually do simple programming in. It was obviously cooler than JCL, but it was also even cooler than the PDP-11's RSTS-11 user interfaces that we used to run BASIC programs.


    One thing that wasn't cool about the /34 was its mainframish approach to file system management - the OS wrote new file system headers when you saved or closed a file, but if it got interrupted before you'd done that, you basically lost everything. We were a steel fabricating company, and one day the clerk had spent about 6 hours typing in the list of parts we were going to need for a project, and some guy in the shop was trying to shut off the circuit breaker for his welder and powered us down instead. Fortunately she'd entered an hour or so worth of data the day before, so there were pointers to the beginning of the file and where it had ended after the first hour's work, and it was an extent-based file system. So I spent about 5 hours on the phone with IBM wandering through hex dumps of the file system to find the remaining pieces; it ended up being slightly faster than just retyping the whole thing would have been, but that could have easily gone either way. If you remember fsdb, it was kind of like using that on the raw disk.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  135. as400 java by BoardHead007 · · Score: 1

    Even though we pay almost 60,000$ per month per LPAR we are still writing new applications to run on i-series. I told the team that is building it to do the math. You will have to fire yourself when we put it into production to pay for it. At least ibm is pricing themselves out of the marketplace by getting their final supporters whacked.

  136. Re:If you have abstraction, switching is a LOT eas by quanticle · · Score: 1

    I would smack them round the head. It's a clear violation of the YAGNI principle - significantly extra work for something that probably won't ever be required.

    Really? I certainly wouldn't react that harshly. Fact is, its quite difficult to tell where your application is going to be headed in a couple of years, and a little bit of forethought can save a lot of hard work later on. Granted, I'd probably refuse the developer too, but I'd probably have to think about it first. I'd see what the chances are of having to incorporate this feature, and I'd try to do an informal cost-benefit analysis before shooting him down.

    However, this might be because the application I worked on at my last job was written for Oracle, and our client was moving to MS-SQL and wanted our app to comply with the new database. Because the application wasn't designed with that sort of portability in mind, the refactoring was a lot harder than it ought to have been.

    On the other hand, I suspect you're not talking about a full-blown database abstraction layer, just a separation of data access code from business logic (like a Repository pattern). This I would view as simply good design, with more realistic benefits like easier testing, more understandable code, and better separation of concerns.

    That is what I was talking about, but that doesn't mean that you should rule out a full abstraction layer offhand.

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  137. So uhh... why don't you by Oriumpor · · Score: 1

    Back it up?

  138. An Economic Angle by Stultsinator · · Score: 1

    It's possible to create great apps with just about any platform, and it's easy to create crappy ones. So I don't think you can quickly come to the solution by comparing the merits of the competing platforms themselves. That's been a painful lesson for me as well, since one of my favorite platforms lacks sufficient market support.

    So if you're platform agnostic you can start from the supply of developers. An earlier reply recommended hitting monster.com or equivalent for some market research. That will not only give you some idea of what your new guys will cost you; it will also help your company put a dollar cost on keeping the existing platform versus deploying a new one.

  139. Betting on ANY specific tech is the wrong horse by rmerry72 · · Score: 2, Informative

    How are folks out there determining when you've backed the wrong horse, and getting back on track?

    By realising that if you back any kind of specific technology you've already backed the wrong horse. Back your people and you'll stay on track a lot better. Good technical staff can learn any new technology - really, how many genuinely "new" technologies have there been in the last 25 years anyway? Two, three?

    But the modern world hires specific people for specific roles and specific technology. Know J2EE and .NET? Tough you'll be hired only for one or the other and the MBAs will bitch that they've backed the wrong horse if there choice goes south. Doesn't matter that you can do both and learn both - you were only hired for one, so they'll sack you and spend months finding somebody else.

    All technology is extict and replaced within a decade. Yes, even COBOL has gone through significant "upgrades", and I seen managemers not hire people because they have worked with Cogen 2.5 and not Cogen 4. Like its *that* different. Worked with Oracle 8 for most of your career but somebody else has worked with Oracle 9 for six months? They'll get the job because "They have more recent Oracle 9 experience".

    So in summary: You're screwed. And you're screwed because you've been too specific in your hiring and have bypassed generalists who can learn. Computers can't learn and technology never will.

    Oh all right, I'm generalising. I'm venting. I don't know whether your company has this sort of a hiring practice (but I really bet it does). I've been looking for a role for a couple of months and been pidgeon holed so bloody often. And yet my home network is more complicated and technically challenging then anything I've seen commercially for the last few years.

    --
    We do not inherit the Earth from our parents. We borrow it from our children.
    1. Re:Betting on ANY specific tech is the wrong horse by Shados · · Score: 1

      All technology is extict and replaced within a decade.
      More than long enough, if you play your cards right. Both ways have merits. If you back a technology and get actual specialists, you can get things done way faster than with generic "good" devs that "can learn anything". From too many companies to count I worked for, and seeing both side of the fence more times than I can count, the difference is quite extreme. Just use some mostly technology agnostic protocols on the parts harder to replace (here we have a top of the line, custom made operational research problems solving engine that is realisticaly impossible to replace, so its wrapped with an XML-based messenging system that can be used by anything that can manipulate strings, from Cobol to Javascript going by Ruby, so we're fine, for example), and you're good to go.

      So you specialise in a tech, get the job done in half the time, and replace it twice as often. Different advantages and drawbacks in both cases, so one has to study and make sure they pick what suits their business model best, but both ways are viable in their own situations. When that tech is about to tank, retrain your specialists, no big deal. The main issue the summary talked about was when you lose your employees... Thats where it gets tricky. If you have a technology that anyone can learn, but no one WANTS to learn (for example: Powerbuilder, Coldfusion, etc), thats when you're screwed. You have to pick SOMETHING to make your applications with...
    2. Re:Betting on ANY specific tech is the wrong horse by rmerry72 · · Score: 1

      The main issue the summary talked about was when you lose your employees... Thats where it gets tricky. If you have a technology that anyone can learn, but no one WANTS to learn (for example: Powerbuilder, Coldfusion, etc), thats when you're screwed. You have to pick SOMETHING to make your applications with...

      Fair point and this is a facet of the conversation I tend to gloss over with. If I'm responsible for a system and need it to work for whatever reason and nobody is around to fix it then I jump in, learn and fix it. This is my solution when there isn't staff around, or I'm at home fixing my media boxes for my family. As a techie I have the option to do it myself - no matter how unflattering, time consuming or boring.

      But business folk have to find and convince others to fix things for them or there business goes down the tube. The "I can fix it myself if I have to" mantra won't work with them because they can't and they know it (well, the far majority). If they can't convince somebody else to do it with some lever (money often) then it stops working and that's the end.

      --
      We do not inherit the Earth from our parents. We borrow it from our children.
    3. Re:Betting on ANY specific tech is the wrong horse by Shados · · Score: 1

      Exactly. And in the current economic context, GOOD (emphasis: good!) developers are in such high demand, they can be incredibly picky about the job they take... in 2001-2002, you could get anyone to do anything. In 2008, even if you have someone work on the coolest project -EVER-, they will find a COOLER project to work on, and ditch you for it... nevermind if your project sucks :)

      A company I did contractual work for a while ago had a big legacy of PowerBuilder stuff... The only way they could get anyone to maintain it was hire straight-out-of-school students with no experience, through a consulting firm with a huge markup (and the new hired were paid huge premiums too). They sucked, and they were incredibly expensive...but its all they had to work with... Fortunately it was an incredibly large company, so they could afford it. If the company's small....it sinks.

  140. theres a simple solution by pjr.cc · · Score: 2, Interesting

    From my point of view it simple anyways.

    Go to the nearest job-search web site and search for your platform. then search for the current modern platforms (dot net and j2ee or whatever) and see what the results are like, if your job advert was the only result for your platform, you should be probably looking to switch platforms.

    Thats a very broad brush approach, but at least it gives some idea of the general popularity.

  141. Re:If you have abstraction, switching is a LOT eas by skelly33 · · Score: 1

    I don't disagree with your statements, but... I get the sense that PHP is popular in the Internet start-up world because it's fast to prototype in and easier on the brain than other options. Most start-ups, from what I have seen, are interested in one thing: fast time to market, damn the consequences of not planning for scalability, porting, etc. I think they figure those are bridges they can cross IF they ever come to them.

    I have built applications in Java, XSL/T, PHP, Perl, C, and countless other languages for numerous start-up companies and, no matter what my word of caution in terms of future planning, 9 times out of 10, the boss is insistent on a minimally functional proof-of-concept that gets migrated to the production environment without any further consideration. They don't care because it doesn't translate to revenue right now which is crucial for a business operating on angel funding.

  142. Re:If you have abstraction, switching is a LOT eas by rmerry72 · · Score: 1

    f a web developer came to me and said "I'm going to write a database abstraction layer for this website in case we want to switch databases one day", I would smack them round the head. It's a clear violation of the YAGNI principle - significantly extra work for something that probably won't ever be required.

    I do see your point: put in the effort where its needed and only where its needed.

    But then in tweleve months when you decide that paying for Oracle 9 is way too much and "Can't we just use MySQL instead - its significantly cheaper" I'd smack you around the head and say "Fat chance, we ain't every changing from Oracle. Suck it up like a big boy!" Agile code and agile technologies can be crippled buy non-agile businesses. Vendor lockin requires effort to be avoided, not much, but often much more than the quickest, cheapest, what-we-want-for-this-month-only business philosophy so prevalent in the real world.

    --
    We do not inherit the Earth from our parents. We borrow it from our children.
  143. Easy by religious+freak · · Score: 1

    Tell your boss not to be so damn cheap. (and ask for a raise yourself)

    Web developers are not exactly a rare breed, regardless of platform.

    --
    If you can read this... 01110101 01110010 00100000 01100001 00100000 01100111 01100101 01100101 01101011
  144. rubber hits the road using a horse by soulfury · · Score: 1

    "...but the rubber hits the road [when you've] backed the wrong horse, and getting back on track?" You mean the horse has been using rubber horseshoes all along? You must have been riding a wrong horse after all...
  145. Re:If you have abstraction, switching is a LOT eas by Sam+Ritchie · · Score: 1

    Clean, well-separated code should be able to be ported to a new database platform at least three times before it starts to approach the break-even point that would have made building your own general purpose database abstraction layer worthwhile. This is the sort of false economy that you commonly find rearing its head with developers who are attempting to solve problems that don't exist yet.

    If avoiding vendor lock-in is such an important requirement, it would generally be cheaper to buy a database abstraction framework (or, thinking outside the box here, sticking to standard SQL) rather than attempting to roll your own. However, in practice I think vendor lock-in on the database platform is less of a concern than vendor/technology lock-in on your web application framework, so to my mind it's questionable that you're getting a great deal of value by going down this path.

    --
    This sig is false.
  146. can the CRUD department pls shut up? by wzzzzrd · · Score: 0, Flamebait

    sorry to say, but if you are not smart enough to pick the gems out of the mud your not worth you salt and should stick to developing "web applications". sorry, it just is that way. ever heard of wicket? no xml whatsoever. ever heard of ejb3? no xml whatsoever. ever heard of integration? like, with what the real (banking) world runs (and i'm not speaking of FIX)? mainframes and stuff? good luck with your python when it comes to qa and reliable long running transactions involving asynchronous communications plus friggin tight security. there actually IS a world outside the crud department, and for this world the word enterprise is used, rightly so. goddammit, you ruby/ python/ fotm guys do your nice lamp applications, play with web2.0 and what not, have fun, and be quiet.

    --
    On second thought, let's not go to Camelot. It is a silly place.
    1. Re:can the CRUD department pls shut up? by Wiseman1024 · · Score: 1

      Don't confuse XML (and every other buzzword)-obsessed weblog fags with all Python programmers. Some of them get the job done. Also, EJB3? Are you nuts? I wouldn't touch EJBs, or any of J2EE for that matter, with a 10 metres pole, just exactly because I'm not silly enough to jump on any marketing and buzzword bandwagon. The rule of thumb is: if it says "Enterprise", "Synergy", "Business", "XML" or similar, it's not going to be a good idea.

      --
      I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
  147. Re:System/36? Newbie! I used a System/34 by Anonymous Coward · · Score: 0

    I has a summer job in college doing programming on an IBM System/34

    If that's not a typo, perhaps a summer class in English would have done you more good ;-)

  148. Re:If you have abstraction, switching is a LOT eas by jscob · · Score: 1

    There are several reasons why current web programming skip the abstraction layer. A lot of web programmers think that MySQL is a RDBMS and that is all they program again. They also think that PHP is a real language. Finally they need it to run on their $5.99 a month value hosting account that they expect to build the next myspace on.

    BTW, can you tell them how to make the next myspace on that shared server? Can it be installed with fantastico?

    Even if they have actually worked with another DB server, they still wouldn't know what an abstraction layer is. If they managed to use an abstraction layer with their web app, the site performance would slow to a crawl because of the performance hit the abstraction layer incurrs. Not that it would matter in the end because their site is going to crash with a few concurrent requests.

    Oh and before you MySQL and PHP defenders pipe up, MySQL with it's default install still isn't ACID compliant and is a stinking POS. PHP may be a language but barely. Any high level programming language that lets you declare variables on the fly and without a datatype is just plain stupid. And when's the last time you didn't get the result you expected because you had a typo in the variable name?

  149. Re:Which platform? Correction: Lil John response by wiresquire · · Score: 1

    blincoln: I didn't know Lil Jon worked in the tech industry. I suddenly feel the need to crunk-enable all of my servers.
    Lil John: Whaaat?

    blincoln: I didn't know Lil Jon worked in the tech industry. I suddenly feel the need to crunk-enable all of my servers.
    Lil John: Whaaat?

    blincoln: I didn't know Lil Jon worked in the tech industry. I suddenly feel the need to crunk-enable all of my servers.
    Lil John: Whaaat?

    blincoln: I didn't know Lil Jon worked in the tech industry. I suddenly feel the need to crunk-enable all of my servers.
    Lil John: YEEEEAAAAAAH!

    --

    So does Anonymous Coward have good karma?

  150. wrongApproach[2]={'Hiring','AssessingWebPlatform'} by jscob · · Score: 1

    You may have been making a common mistake and listing your dream list of specific requirements for your next web developer which means that you narrowed your possible applicant pool down to 1, the developer that just left. Eventually you were able to find one that fit most of the requirements and hired that person.

    Even if you were able to find someone that met all your requirements, that person would still need some time to get up to speed at your company because every environment is different. A good developer would be able to get up to speed at your company almost as quickly, maybe quicker if the person you did hire fulfilled the requirements but wasn't very good.

    Hire the person that can best help your company in regards to the role you need them to fill, not the person that matches your punchlist of requirements the best. And how do you know when to ditch your platform? When it cannot fulfill your technical needs. When its product roadmap shows that it will not fill your technical needs in the near future. When the cost of continuing with the platform becomes prohibitive, etc.

    Basically when the risks of staying with the platform are greater than the risks involved with moving to a new platform. I use risk as an inclusive term, it may mean costs, it may mean security, it may mean technical, etc.

    The costs and risks of changing platforms depends on what you are using it for, your organizations actual code base, what you are switching to, etc.

    Oh and paying for some expertise to help you decide based on examing your actual web platform, application, code and such might be better than asking slashdot a vague question with minimal information. Call me crazy...

  151. Let management/HR tell you that by patio11 · · Score: 2, Funny

    "We should do the next project in Rails."
    "Nonsense, we only have one engineer who knows Rails and would need ten."
    "Hire them."
    "Nonsense, they make 20% more than you do."
    "I guess I should be doing Rails elsewhere, then."

  152. Very hard to give advice with vague decription by Chrisq · · Score: 1

    It is very difficult to give advice as you don't really say what your infrastructure is, but I would start by looking at how common your platform is and whether its use is increasing or decreasing. If it is increasing fast there could be a lag between people becoming trained in the technology and demand, but long term it could still be a good option. If it is decreasing then people might see it as a "dead end" technology, and not actively look for work in the area.

    Also, try to find other companies who use the same technology, or have switched from it recently. See what their experiences are. Look at other possible reasons, are the salaries you are offering competitive, does the area you are in make recruitment difficult, etc.

  153. Re:Which platform? Correction: Lil John response by ryanov · · Score: 1

    OK.

  154. Re:System/36? Newbie! I used a System/34 by Anonymous Coward · · Score: 1, Funny

    bzzt! Illegal use of "more good".

  155. Re:System/36? Newbie! I used a System/34 by ApostasyX · · Score: 0, Troll

    His use of "more good" in this case is entirely legal English, perhaps you should book yourself in for a course too.

  156. Re:If you have abstraction, switching is a LOT eas by doom · · Score: 1

    The big problem with web programming is that developers are not following the basic tenets of computer science. They are writing tightly coupled code, instead of implementing basic programming paradigms (like OOP). This is not limited to database abstraction. You should always have your technologies properly separated, standards compliant (wherever possible), and your functionality encapsulated.

    Oh, this is a result from Computer Science? So where's the experimental data that proves that this is the correct way of doing things? (I have this funny idea that dogamatic recitations of theory and vague anecdotal evidence isn't really what "science" is about.)

    Even if I grant the importance of some form of encapsulation in the design of a software project -- which of course I do -- it does not follow that the right place to draw one of the boundaries is at the "database abstraction layer".

  157. Re:If you have abstraction, switching is a LOT eas by IntlHarvester · · Score: 1

    According to my experimental data, there's a high probably that you will get fucked by your database vendor first.

    Not quite "science", but an objective study of development projects could very likely prove the value in a database abstraction layer.

    --
    Business. Numbers. Money. People. Computer World.
  158. Tcl is not so bad by slashbart · · Score: 1
    Funny about this academic use of Tcl you're talking about. My little space station project makes extensive use for Tcl, both on the user interface side, and on the embedded side. All the command handling was done in Tcl, and it's flexibility has really helped us a lot when we needed to implement some higher level functions on top of the base functionality.

    I think its syntax is butt-ugly, but its functionality is great. Maybe next time around I would use lua, but I'm not sure. What's awesome about Tcl is that while communicating with our equipment, I could create procedures on the fly for doing some things:

    >proc led_flash { } { set_value 100 1; wait 1000; set_value 100 0 }
    >led_flash
    >for {set i 0} {$i < 10} {incr i} led_flash
    >
    This kind of flexibility is awesome.

    So be nice to Tcl :-)

    1. Re:Tcl is not so bad by Omnifarious · · Score: 1

      I've been working with it in NS2. The way it works there is pretty ugly in some respects because it's kind of iffy which thing is implemented in TCL and which in C++. You have to do these really hairy code searches all the time.

      I like Python as an extension language. Things like Boost::Python make it really easy to tie C/C++ and Python together. And it's a lot faster and prettier than TCL. But Python is a more complex language than TCL.

  159. It's not a nameless platform if you twitter it by ghmh · · Score: 1

    http://twitter.com/odoketa/statuses/497676232/

    BTW, that platform was my first guess...

  160. Re:You, Sir, are talking Bullshit. Plain and simpl by xtracto · · Score: 1

    Let me summarize what the GP post meant:

    "I am a programmer, I am your all mighty God, bow at me you simple mortals. I deserve all your admiration and respect".

    I always find it funny how codemonkeys think so much of themseleves.

    Yeah, and as you said, Watch them mod me way down to Uranus to see what I mean.

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  161. Matt's Scripts is NOT a platform by rjamestaylor · · Score: 1

    Sorry, Matt!

    --
    -- @rjamestaylor on Ello
  162. Re:You, Sir, are talking Bullshit. Plain and simpl by Qbertino · · Score: 1

    Let me summarize what the GP post meant:

    "I am a programmer, I am your all mighty God, bow at me you simple mortals. I deserve all your admiration and respect".
    I always find it funny how codemonkeys think so much of themseleves.


    If you read carefully - which you evidently haven't - you'll see I didn't mean any of that at all. Curiously enough, it's "code monkeys" (I presume you're refering to regular programmers as opposed to lead programmers) that need a functioning enviroment to make any sense of their type of work. If a project lead *and* a working enviroment aren't in place a "code monkey" is less that worthless.

    When the questioneer says he had to replaces their one (!) developer and had a difficult time in doing so it goes to show that exactly that kind of enviroment isn't in place. An issue which I stressed in the parent reply allready. Which in turn goes to show that you a) didn't read or understand the the situation the questioner described and b) didn't really fathom my reply or actually know squat about what it refers to.

    Which leads to the question of wether you are the kind of guy who has a little agency-type shop and hands out assignments to code to what he refers to as "code monkeys" (maybe simular to the one of the questioner, who knows?) or if you are just a poser. Given you style of reply and the simple fact that you posted it I suspect the latter. *Bingo!* , correct? ... And there goes this lunch-breaks slashdot post.

    --
    We suffer more in our imagination than in reality. - Seneca
  163. Problem of Noisy Developers by 16K+Ram+Pack · · Score: 1
    The problem is that there are certain languages/tools/frameworks that have a lot more noisy programmers than others.

    Rails is perhaps the biggest at the moment. Thousands of people are blogging/twittering about Rails. In reality, almost nobody is running a commercial app on it (except Twitter and the 37signals stuff).

    Java and c# people mostly don't go making a lot of noise, yet there are far more of them around.

    And experience does matter. Sure, I could pick up and start coding Java quite quickly, but I wouldn't have the in-depth experience that comes with use.

  164. The hardware's already obsolete if.... by jdickey · · Score: 1

    ...it's infested by Randomly Puking Garbage II, III, IV, or MCMLXVII for that matter....

    (spine shivers at memory of days spent doing what could even then be accomplished in a morning of COBOL, ALGOL or PL/I)

    1. Re:The hardware's already obsolete if.... by Omega996 · · Score: 1

      hahahahaha - RPG wasn't *that* bad, though I agree programming in it was certainly a time-consuming process. I never did get to use COBOL, because the company wouldn't pony up the cash for the languages. But what the hey - it made me appreciate what programming with hollerith cards would've been like ;)

  165. Hmph. by jdickey · · Score: 1

    In my day, we shot rubber bands at the switches on the front panel. Much later, I remember the joyous transition to the IBM 029 keypunch (which would actually print the characters at the top of the column in which they were encoded) from the 026 (which didn't have such modern convenience or frippery, depending on your viewpoint). That effectively ended the days of farking with someone by randomly rearranging parts of their card decks (with several thousand instructions in 360 Assembler).

    I bet there are a couple of hundred of us under 50 worldwide who can say things like that. :-P

  166. Wasn't that Rutgers University Timeshare System? by jdickey · · Score: 1

    (NT)

  167. Well, THAT explains.... by Anonymous Coward · · Score: 0

    why the California State Government department I consulted to for 20 years just retired their last IBM 704 two years ago. For you young'uns, we used to think the 704 was designated that because that's when its technology had been developed (years CE, of course).

    And I'll shoot an RPG into the next box I'm sat in front of that supports RPG. Either that or add at least two extra zeroes between my usual hourly rate and the decimal point. Wasn't RPG the language that measured productivity in femtometers per fortnight?

  168. Re:If you have abstraction, switching is a LOT eas by nharmon · · Score: 1
  169. Re:If you have abstraction, switching is a LOT eas by quanticle · · Score: 1

    Even if they have actually worked with another DB server, they still wouldn't know what an abstraction layer is. If they managed to use an abstraction layer with their web app, the site performance would slow to a crawl because of the performance hit the abstraction layer incurrs. Not that it would matter in the end because their site is going to crash with a few concurrent requests.

    Huh? Its not that hard to have a create a proper abstraction layer. You can even just start out with basic wrapper functions for the native DB library calls. The main thing is to separate logic from I/O. That's the thing to start with. As you get more revenue and see the need to invest more, you can elaborate your abstraction layer to grow with your application.

    Any high level programming language that lets you declare variables on the fly and without a datatype is just plain stupid. And when's the last time you didn't get the result you expected because you had a typo in the variable name?

    As far a criticisms of PHP go, that's a pretty dumb one, given that that's a feature shared by almost all web-programming languages. What would you do your server side work in? Java?

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  170. Re:If you have abstraction, switching is a LOT eas by hoganlong · · Score: 1

    ... an earlier one, the last time I looked at it. ... but the point remains -- abstraction layers are easy with stored procedures and a couple of classes to wrap the calls to them.

  171. Assessing the benefits by Bigmilt8 · · Score: 1

    The answer to that question is not easy. From your post, it sounds like the old web developer had full autonomy to do whatever they wanted as long as they got the job done. Now you're left with a mess that you had to hunt someone down to support. Your decision on the platform that you want should be based on your business needs, environment, and IT resources. I know it's not what you wanted to hear but it is the truth. For example, if you guys are a heavily web based business that needs to crank out a lot of pages for changes often, use Apache as your web server, and have the technical expertise to support java based solutions, then I would probably choose something like PHP. However, if you are a MS based shop that wants to integrate with products like Sharepoint, MS Office, and the technical expertise for such development can be spread to others that are not web developers full time, I would choose the .NET platform. Not pushing one or the other, just stating that you have to look at what you want to do and move ahead.

  172. Re:Which platform? ADA by Dareth · · Score: 1

    Ada is a wonderful language. You just need to make sure you get a strong type of developer to work on it.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  173. Re:System/36? Newbie! I used a System/34 by Crayon+Kid · · Score: 1

    I sure hope you slipped a "big tits are the shit" somewhere in your post. If you didn't, you missed out big time, since nobody's gonna read all that in detail.

    --
    i ate crayons when i was a kid and now i have two braincells and the blue ones taste nicer
  174. Re:If you have abstraction, switching is a LOT eas by RalphTheWonderLlama · · Score: 1

    I would think that the actual app itself is what needs to improve more than the database back end. If you've got a good database architecture for your requirements, then you can switch front ends and just keep the back end with minor changes. Although in my case both were crap and I had to start from scratch basically... but now you could build a new front end with the same back end if you wanted to.

    --
    simple, fast homepage with your links: http://www.ngumbi.com/
  175. Re:System/36? Newbie! I used a System/34 by Omega996 · · Score: 1

    oi - the gargantuan winchester disk, the 8" floppy disk magazines, twinax, synchronous modems... We had one of the fast line printers (can't remember the model, damn it all) - it had the print band and could rip through greenbar like there was no tomorrow. Operating it with the cover up for any length of time was sure to cause hearing loss, but it was fast. I can remember when a tech had to come out and replace the winchester disk - that was quite the experience. and then reinstalling the OS, our software, and restoring the data from our tape backup - a long weekend project.
    I really liked the S/36. Not fast, but rock solid. I remember wanting to put it in my garage when we replaced it with a little IBM RISC box (running the S/36 software in emulation), but my wife at the time nixed that idea.

  176. Re:You, Sir, are talking Bullshit. Plain and simpl by odoketa · · Score: 1

    I think you'll lose that bet (or rather, I think you just lost that bet).

    I would concur that you can hire any experienced web developer to fill any web development position. For enough money I'd re-learn Fortran and support the site posited earlier in the comments.

    The trouble with that route is the time it takes to get someone up to speed. If you have a live website, and you want it to work -now-, hiring someone who will take six months to get up to speed is a difficult sell.

    But what if hiring the right person is going to take more than six months?

    In fact, we don't have a jack-of-all-trades setup. We have one OS, one DB, and one language the site is written in. The setup hasn't changed in eight years (not counting, of course, upgrades!)

    And, thank the heavens, we don't have EZ Publish.

    But pretend for a moment that I come from a (choose one: commercial / open source) background. And I find myself working with the opposite. How do I know if the people talking about this 'Ruby on Rails' thing, or this 'Silverlight' thing, or whatever, are talking about what will become (or is) a de facto standard, or are just fanatics supporting a dying religion?

  177. Re:You, Sir, are talking Bullshit. Plain and simpl by Hillgiant · · Score: 1

    I think you may have answered your own question. Is it quicker to get some new programmer "up to speed" or redo the site from scratch? (IMHO, redo from scratch is a reasonable assumption.)

    --
    -
  178. Could only be ColdFusion by ivormi · · Score: 2, Insightful

    Can't be .Net or Java (shake a tree to find your dev). C/Perl CGI, Perl, Python, PHP, too common to find coders for. Ruby. Hah. Too popular still.

    Nobody's considered the real dead end technology of late: ColdFusion. Yes, sites still run it. No, its not quite dead yet. Yes, Adobe provides and has provided plenty of hype to fool managers into deploying things to it.

  179. When should you ditch your platform... by Anonymous Coward · · Score: 0

    The best way I've found to get a gut feeling is to use a simple risk-analysis that fulfills the classic 2 of 3 issue. "Cheap, Fast, Good -- Pick 2."

    This will let you do a quick determination of what is important and get a general direction for how to proceed.

    If you need something more detailed, or need to sell something to management who typically is only looking at the money side of things, you need to structure your risk analysis to answer the question:

    "If I choose to (A), what is the financial effect on the project?"

    Then start filling in (A) with different options and develop your answers.

    eg:

        Q: If I choose to switch platforms, what is the financial effect on the project?
        A: I will reduce the number of development staff by 1/3, but mulitply the development cycle by 2 and require 1 additional maintainer.

        Risk Analysis -- Switching platforms reduces demands on labor pool, but increases development costs by 1/3 and maintenance costs as well.

        Q: If I choose to add an additional developer, what is the financial effect on the project?
        A: I will reduce the time by 45% without appreciable impact elsewhere.

        Risk Analysis -- Hiring a second developer on a short-term contract for 90% of what the current developer is making
            doesn't change my bottom line, but gets the product done sooner.

    F.F

  180. Re:If you have abstraction, switching is a LOT eas by msmart13 · · Score: 0

    I really hope you are a developer. I make all of my money salvaging projects after they have been in the hands of people that do not understand the relationship between computer science and quality programming. And business is booming.

  181. "neccessary skill set?"-- puhleeze... by Kazoo+the+Clown · · Score: 1

    When I first started programming, all they asked you at a job is if you ever programmed *something*, they didn't care what. Of course, for the most part what they wanted was someone to do some programming in their proprietary language, most of which have all died out now. But they knew that if you could program in Fortran or whatever, you could learn to code in whatever obscure language they needed, and they weren't going to find someone with specific experience in their own proprietary language anyway.

    Now things are different-- job listings claim to be looking for someone with 10 years experience in a technology that is only 5 years old, and consequently there's no reason to do anything but ignore the listed requirements on a job posting, providing you can get your way past HR.

    But what you really want when looking for someone to take over a job in a language that is no longer "popular," is to find an old-timer. What you want is someone who is *willing* to do the work, and capable of handling the bad decisions the previous guy made, you don't need someone whose been working for the last 10 years coding web apps in COBOL just because that's what the previous guy had been doing, but you also don't want a young punk whose going to get too soon bored doing that even if he had the skillz. It's true, the old-timer will probably be more expensive-- but the good ones will be likely to care naught about what tools are being used and what things are written in, and be able to pick whatever it is up without complaint and get the job done.

  182. Re:If you have abstraction, switching is a LOT eas by Tablizer · · Score: 1

    If you're application is tied directly to the platform (i.e. you've peppered your code with direct MySQL calls), you've got a lot of work in development and testing to make sure that all of the MySQL stuff is replaced with Oracle equivalents. However, if you've got an abstraction layer, the only things you have to rewrite and retest are the components of the abstraction layer. Its not zero work with the latter strategy, but it is a lot less work.

    Swapping database vendors doesn't happen that often. Some books exaggerate the frequency of it for some reason. And, wrapping it doesn't necessarily reduce the change-over work much because different dialects of SQL are often not plug-and-play with other dialects. Wrapper or not, you still gotta rework them. If you know you are going to switch, then perhaps one can use lowest-common-denominator SQL. But, then you don't get to use the power and efficiency of vendor-specific shortcuts. You pay a "swap tax" up front whether you swap or not in the future.

    "Abstraction layer" sounds great on paper, but the practice is messier.

  183. Brilliannnnot!!! by alfarid · · Score: 1

    Although there are people that write obscure code in any language, if you smart and want to get stuff done, you would write clean readable code. its really not that hard neither in php or perl, or in any other language outside of lisp, however now that perl is falling out of favor with new programming recruits, you will be seeing a lot more crappy php even as their "skill level" is skyrocketing. If you want to write clean php just make all your variables global and prepend 2 underscores in front of their name to make them look cool !!! :D If you want to write clean perl just follow "Best Perl Practices" book by Damian Conway.

  184. Re:If you have abstraction, switching is a LOT eas by chiefnerd · · Score: 1

    MOD PARENT UP! I totally agree with the abstraction layer strategy. It has saved my team from "improvements", deprecations, and basic changes in the development environment vendor's flavor of the week. Most of the time with commercial vendors these "improvements" are driven by the vendor's desire to sell more licenses and training.

    --
    SYS64738
  185. Re:If you have abstraction, switching is a LOT eas by doom · · Score: 1

    I really hope you are a developer. I make all of my money salvaging projects after they have been in the hands of people that do not understand the relationship between computer science and quality programming. And business is booming.

    I'm sure you do well in business -- a tone of absolute certainty always goes over well.

    And I've been a developer long enough to see multiple different fads come and go, most of them based on (some interpretation or other) of "computer science".

  186. Re:If you have abstraction, switching is a LOT eas by doom · · Score: 1

    According to my experimental data, there's a high probably that you will get fucked by your database vendor first.

    As I mentioned at the outset, my personal opinion is that if you start off with postgresql, you are unlikely to need to switch later. Even if you're using a "vendor", if they screw you over, you can drop them and find support elsewhere. The miracle of open source software, you know?

    (By the way, myself I don't have any problem with writing portable SQL and using things like DBI/DBD, but I have my doubts this is what is meant by "a database abstraction layer" in this discussion.)

  187. How do you know ... by IchBinEinPenguin · · Score: 1

    ... when you've backed the wrong horse?

    When Clippy pops up, offering to help!

  188. OKAY... by Giant+Electronic+Bra · · Score: 1

    I'm not exactly sure what you mean. I would hardly call J2EE a 'fad', it is a technology which has been around for about 10 years now.

    And I don't think you can equate an 'Oracle database cluster' to enterprise middleware. They aren't the same thing at all. Sure, you can move a LOT of business logic into SQL stored procedures. You still need to do all sorts of other things. At the very most minimal you need external logic to accept incoming data (SOAP calls, RPC, JMS messages, whatever) and invoke the proper procedures, and probably send data/results to other apps. That code is also going to have to potentially manage transactions, etc.

    Mainly this is why Oracle itself is a major J2EE application server vendor. Databases are fine, and you can do a lot with them. For some types of applications you can basically build the whole app in the database and use a mostly dumb client, but that strategy is still pretty limited.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  189. Platforms Always Move On by musicmaker · · Score: 1

    The problem is that platforms always move on. There is always a better technology just around the corner. Some of the 'better' technologies aren't, but some are. Universities and veteran programmers have to spend a great deal of time teaching/learning the new technologies because that's what the marketroids are hiring for, even if they suck. At some point you _are_ going to have to migrate to a new platform because buying people who know the old platform becomes too expensive or too difficult. You just have to plan on migrating every 3 or 4 years, sometimes more often because you can't find people willing to work in the old platform who are any good. Fresh out of Uni programmers only know the new platform, (some universities have stopped teaching C altogether for pete's sake), and often good veterans are unwilling to work with the old clunky system when there are plenty of good jobs in the new system which is better (some of them truly are).

    --
    Everyone is living in a personal delusion, just some are more delusional than others.
  190. Re:If you have abstraction, switching is a LOT eas by GWBasic · · Score: 1

    This is why you write an abstraction layer to sit between your business logic and the platform. ...

    This is actually one of the gripes I have against web programming as it stands today. It seems to me that programmers are far too eager to call the database directly from their application, without using any sort of abstraction layer.

    In my professional non-php applications, I isolate all of my data access into methods in separate classes. The overhead is minimal, when paired with a simple O/R mapper.

    The problem with PHP/MySQL is that it's too hard to isolate data access, because the MySQL API isn't abstract enough to be able to throw a simple O/R mapper into the mix. When I hack together stuff in PHP/MySQL, I end up reading my results directly from the reader objects with hard-coded numbers. It's just too time consuming to engineer anything more elegant.