Slashdot Mirror


The Economist Tackles Complexity in IT

yfnET writes "In recent weeks, The Economist has run a number of articles addressing the ever-increasing complexity of software systems. The magazine, with typical Economist wisdom, casts an eye towards past human endeavors for lessons on how today's IT industry can succeed in dealing with complexity. As part of last month's extensive survey of information technology (see Related Items sidebar), the magazine offers insight on the limits of real-world metaphors, the perils of managing a rat's nest of obsolescent systems, and the need for 'disappearing' technology. And hitting newsstands just today is an overview of development models for increasingly large and unwieldy software projects. Among other things, this article compares the open source model to Microsoft's efforts using a quasi-open license. It also describes the 'agile' programming movement and its potential to keep even the most gigantic of projects under control."

270 comments

  1. Lisp, Smalltalk and complexity. by Anonymous Coward · · Score: 3, Insightful

    Powerful Languages Like Smalltalk, and Lisp help one handle complexity.

    1. Re:Lisp, Smalltalk and complexity. by RealProgrammer · · Score: 2, Insightful

      They help, but they don't have a monopoly on handling complexity. Any programming language that allows you to subdivide a program into chunks of some kind with good hiding of the innards of the chunks can be used to write complex programs. To really beat complexity, try shell scripts. Since you can't (really) do simple stuff like adding numbers, it forces you to hide the details, which reduces the feel of the complexity. And stuff.

      --
      sigs, as if you care.
    2. Re:Lisp, Smalltalk and complexity. by Billly+Gates · · Score: 2, Insightful

      Using a strange langauge that is not standard is what causes the problems in the first place. Did you read the articles at all?

      Its about a multitude of systems from many vendors running middleware from many vendors which run custom applications written from many different languages from different vendors that somehow all must communicate together. Not just which editor do you use or which language do you think is cool.

      Why is Microsoft still gaining marketshare ahead of the supperior Unix? Its because they want one platform and guess which one runs on everyone's desktops? See the picture?

      The 90's brought outrageous IT spending with bosses wanting all the coolest new in things. Now they have to support them.

    3. Re:Lisp, Smalltalk and complexity. by Anonymous Coward · · Score: 2, Insightful

      We need to stop developing applications and start to think about platforms. Every class library is a quasi-language in which to describe a solution. Let them be full languages.

      We need to design very high level domain specific languages and write our applications in that. We can reuse the language (kind of like a high level virtual machine) as a platform for future versions of the application and could even let the user redefine the upper layers.

      We can hide a lot of control assembly in the structure and syntax of high level languages, which made us a lot more productive and helps us take on bigger projects. The same trick we can do by defining new domain specific languages and hide a lot of obvious repetitive control and command patterns in their syntax and structure.

      SmallTalk and Lisp have always had this ability already, I think it's time te rest of the programmers get with it, and start using Language Oriented Programming.

      (And yes this means that they have to learn a new level op abstraction, and yes, they will see that C and familie aren't really suited for this. But they will not care then anymore because they can do more without them. Only to bad for the programmers who can not get their heads around this higher level of abstraction: they loose out and need to find another job.)

    4. Re:Lisp, Smalltalk and complexity. by Anonymous Coward · · Score: 4, Insightful

      the advantage Lisp and Smalltalk have that other languages lack is that their syntax is so simple that extensions meld in as if they were part of the language.

    5. Re:Lisp, Smalltalk and complexity. by MagikSlinger · · Score: 1, Flamebait

      Hahahaha... Someone marked that as "Insightful" when they meant funny. (Take a large shot of whisky) I've worked with large Smalltalk and Lisp applications. *shudder*

      The more languages I've used & the more complex systems I've worked on, the more I've come to love strong typing, modularity and interface guarantees.

      The *concepts* in Smalltalk and Lisp are neat, but without typing, it just all becomes chaos especially when you start working with other people and in palimpset environments.

      I think for Lisp, the idea of easy manipulated list structures are good, but blessing them with type information (like the ML family of languages does) makes them even more powerful.

      Smalltalk's "everything's an object or method" has some powerful features. But when you read comments in the class browser like "takes a thing", but then find out during testing that it only takes certain kinds of things, it drives me maaad.

      So the next person to say Lisp or Smalltalk are great for large, complex projects with multiple programmers will shot by me.

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    6. Re:Lisp, Smalltalk and complexity. by MagikSlinger · · Score: 2, Informative
      SmallTalk and Lisp have always had this ability already, I think it's time te rest of the programmers get with it, and start using Language Oriented Programming.

      I used to think like you do, but now I'm better. Work in a palimpset environment on a project that had 20 different coders on it, and you'll sing a different tune. The only examples of successful Smalltalk/Lisp projects I could find were 1-2 people working on the entire project for its entire lifetime. Um, that's not where the rest of us live.

      Only to bad for the programmers who can not get their heads around this higher level of abstraction: they loose out and need to find another job.

      Let's see... For those of us working in commercial development, how many of us are using Smalltalk and Lisp for new projects? Don't see many hands there. .Net, Java, PHP and Perl? Oooh, a lot of hands. I call "bollocks" on your claim.

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    7. Re:Lisp, Smalltalk and complexity. by John+Courtland · · Score: 4, Funny
      Strong typing should be a damn requirement. Every language I use that doesn't allow strong typing seriously chaps my ass in a major way. The last time was when I was simply trying to implement a dumb calculator for RPM MPH for a car given gearing info and tire size. Simple function:
      function get_tire_circumference_in_inches(tire_width, tire_profile, rim_diameter)
      {
      return (3.1415926535 * (rim_diameter + 2 * (tire_width * 0.01 * tire_profile)/25.4));
      }
      But javascript, when provided 16 as rim_diameter, returned some huge number (~5,000+), instead of what I expected (~84). Turns out JavaScript interpreted all the other numbers fine, but somehow wanted to make the 16 a literal, and added the damn thing right onto the end of the equation. That took me about an hour to figure out. I finally ended up getting Venkman and watched it fuck up. Then I tried implementing (and did get it to work, eventually with some code pinching) MD5 in JavaScript. Yeah, it's not worth it. Imagine if this were production work... VB (especially VB...) has done similar shit to me. To me, languages that do that are not languages, they're toys.
      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    8. Re:Lisp, Smalltalk and complexity. by lawpoop · · Score: 3, Insightful
      A language is not 'strange' just because few people use it. Here's what you should take away from the parent:

      Some languages are better than others. The parent argues that lisp and smalltalk are some of the best languages to use. With other languages, you get to a point where you can't do it with that language alone, and you start building a meta-language out of that language, and there is your complexity creep. Avalon, etc. are an attempt to address the cruft and complexity that have grown up around the Windows platform.

      As far as Microsoft gaining on "supperior [sic]" unix, keep in mind that Unix is not Lisp (TM). So your comment is irrelevant. Parent is arguing that if you don't want complexity creep, start out with something that you know can see you to the end. Parent claims this is smalltalk/lisp.

      --
      Computers are useless. They can only give you answers.
      -- Pablo Picasso
    9. Re:Lisp, Smalltalk and complexity. by MourningBlade · · Score: 2, Insightful

      Most of the (IMHO) well-designed either weakly or dynamically typed languages that I've used don't use the same operator for concatenation as addition.

      • Perl: . versus +
      • Common Lisp: concatenate versus +

      It is very frustrating to have both automagical type and have operators that do radically different things depending upon type.

    10. Re:Lisp, Smalltalk and complexity. by Billly+Gates · · Score: 1

      But businesses have standards. All you are doing is adding another language that needs to be supported which would make matters worse.

      You need as little platforms as possible and you can work wonders from just about any language if you have good programmers. Hell FedEx has some indexing that runs on all the customer orders written in Visual Basic. No you did not read that. Its part of their tracking system. Yes VB was not a perfect language for the job but the programers did what they had to do for standards reasons.

      Same is true with anything else. Yes Unix is being replaced because in some situations because IT wants one platform to support. Its the same situation with lisp. Who is going to support the app if the lisp programmer quits?

      With the right tools and programmers you can use any OS/language for the proper results.

    11. Re:Lisp, Smalltalk and complexity. by Billly+Gates · · Score: 1

      I haven't touched VB in 5 years when I played with it for a little bit.

      But there is an option for explicit declarations. You can type it in or select if for the menu's. Unfortantely I forgot since its been awhile and most enterprise VB developers have it on by default to make it strict typed.

      VB.NET is a total rewrite and is a strict typed language. Infact people tell me its alot more like python than classic VB. It got a very bad name understandbly due to its past releases. C#.net is quite powerfull and has a gui editor so must businesses prefer to use just that.

    12. Re:Lisp, Smalltalk and complexity. by Taladar · · Score: 1

      If programmer were a job with proper qualifications every certified programmer would be able to learn every language in a matter of weeks while reading the (properly documented) code of his predecessor. Programming Languages are not that different but the small differences wether you need 1 or 10 (easy to learn) commands for a given action can make a huge difference in reducing complexity.

    13. Re:Lisp, Smalltalk and complexity. by Anonymous Coward · · Score: 0
      But javascript, when provided 16 as rim_diameter, returned some huge number (~5,000+), instead of what I expected (~84). Turns out JavaScript interpreted all the other numbers fine, but somehow wanted to make the 16 a literal, and added the damn thing right onto the end of the equation.

      Was rim_diameter pulled from a form field by any chance? If so, then it would be a string. That would make "+" a concatenation operator. The other variables, if strings, would've been converted to numeric when doing the "*" on them. The "+" operator is ambiguous, while "*" is not.

      Aside from the lack of strong and static typing, and the runtime environment (cross-browser incompatibilities, no stack traces, etc) Javascript is actually a very nice language. Supports objects, functions, closures, exceptions, collections, etc. I do agree though, that your problem (weak typing combined with an ambiguous operator) is a bad thing.

    14. Re:Lisp, Smalltalk and complexity. by alpha_foobar · · Score: 1

      Java Script almost always interprets everything as a string, unless it is clear that it should not be interpreted this way. I imagine that it is most likely that the JS engine you were using first tried concatenating 2 to "16" before multiplying the rest of your equation. typing is useful especially with large projects, however I feel that the developers themselves should take the time to understand the environment they are using.... weakly typed languages are not an excuse for lazy programming.

    15. Re:Lisp, Smalltalk and complexity. by LarsWestergren · · Score: 1

      I haven't touched VB in 5 years when I played with it for a little bit. But there is an option for explicit declarations. You can type it in or select if for the menu's. Unfortantely I forgot since its been awhile.

      Same here, had to use it at work a year ago...

      "Option Explicit" is what you type. If you choose it in the preferences menu it appears in all new files, otherwise you can just type it manually.
      "Option Explicit On" if you are using VB.Net.

      --

      Being bitter is drinking poison and hoping someone else will die

    16. Re:Lisp, Smalltalk and complexity. by jilles · · Score: 2, Insightful

      It's not a technical problem. Most programmers don't understand this because they are trained to provide technical solutions for problems.

      The problem with the software industry is that it doesn't seem to learn much from its past. People were talking about complexity and the growing scale of things in the sixties already. Many of the technical solutions (e.g. components, object orientation) suggested then have been more or less adopted now. This has allowed us to scale development up to the point where we have constantly been pushing the technical limitations of the technology we use for the past forty years. The non technical problems have remained the same throughout those decades. No matter what the technology is, there is only so much code a single individual can manage. As soon as you cross that boundary, there are multiple programmers working together. A few intelligent individuals can work together very efficiently but as soon as this group of individuals grows, communication problems and not technical problems become the main issue.

      Many companies start out as a handfull of smart individuals doing cool stuff. Then they grow and before you know it they are a a lot of people walking in each others way (i.e. a large software company).

      Delivering software on time, within budget and implementing the specified requirements is an art that surprisingly few programmers have mastered. The OSS community doesn't solve this problem either, it merely makes it a not so important problem. Most OSS projects don't have real deadlines. For example Firefox and Mozilla have a history of constantly shifting roadmaps. Every few months they say like hey this milestone (e.g. a 1.0 release) is not going to be ready next month like we said last year so let's push it ahead six months. Companies don't have this luxury and either deliver late (costs money) or deliver crap on time (also costs money). Very few companies actually ship high quality software on time.

      Last year one of the firefox developers pushed for some strong deadlines to beat Microsoft to the market with a firefox release before IE 7. Microsoft kicked their ass despite being late on their own schedule for six months or so and released service pack 2 with IE 7 months before the actual firefox 1.0 release. The original schedule of firefox just wasn't realistic and people knew it wasn't realistic. Originally the 1.0 was going to be released early spring. By early spring it was mid summer and by mid summer it was definately before the end of the year. November proved to be more realistic then April and all is well know (I love firefox).

      On the other hand Microsoft also has a long history of very unrealistic deadlines. It seems all their products are delivered late. Despite all this, Microsoft is actually quite impressive from a software engineering perspective. They have one of the largest development teams in the world (with thousands of engineers) and their software is very profitable.

      --

      Jilles
    17. Re:Lisp, Smalltalk and complexity. by Anonymous Coward · · Score: 1, Insightful

      VB.NET may be strongly typed, but it still makes all sorts of hidden casts, and therefore (IMO) leads to buggier software than C#.

    18. Re:Lisp, Smalltalk and complexity. by gpierce11 · · Score: 1

      "...it just all becomes chaos especially when you start working with other people and in palimpset environments."

      I have noticed several people using "palimpset". Do they actually mean palimpsest, likening a program to an old parchment which has had writing scrubbed or scraped away to allow for more?

    19. Re:Lisp, Smalltalk and complexity. by Anonymous Coward · · Score: 0

      -1: Bullfuckingshit

    20. Re:Lisp, Smalltalk and complexity. by Bob+Uhl · · Score: 1
      Ummm...last I checked just about all the Lisp family--and all the popular members thereof--are strongly typed. That is, one cannot ever add a string to a number. Many of them do typically perform the standard funny dance with numeric types (e.g. allowing addition of complex and integer types without casts), but otherwise they are very strongly typed, much more so than C or Perl (but less so than I imagine Haskell or ML is--no experience with them, though).

      What the Lisp family are is strongly dynamically typed. That is, a variable can point to a value of any type (that's the dynamic bit) but only operations for that type are allowable (that's the strong bit).

      What a lot of folks like are statically typed languages: a variable can only point to a value of a particular type. This does prevent a certain class of runtime errors, but it also leads to longer development times and less elegant code. It's a tradeoff.

    21. Re:Lisp, Smalltalk and complexity. by ErroneousBee · · Score: 1

      Well, its lucky you arnt calling the shots at your company, otherwise you'd condem your product to poor interfaces, no portability, longer development times and more code (with attendant maintenence and increased bugs).

      The source of your problem is in the browsern written in a strongly typed language.

      You diagnosed the bug using a debugger written primarily in a weakly typed language. The competing browser seems wedded to its strongly typed roots and so doesnt even have a degugger unless you pay for it and even then its nowhere near as good.

      --
      **TODO** Steal someone elses sig.
    22. Re:Lisp, Smalltalk and complexity. by John+Courtland · · Score: 1

      Yeah, that's what I figured it was doing. As far as your comment to the effect that I didn't know what I was doing, well, yeah, I was new at JavaScript programming and this was just a little thing for me to learn it on my own (I don't program for a living), but I'm no n00b at programming. I was reading manual after manual and nowhere could I find it stated verbatim that the language takes numerical entries in a text field on a web page as literals, much less that the order of ops was parentheses, mult/div, string concatenation AND THEN numeric add/sub. That, to me, is dumb. Another example is how JavaScript overflows, if you watch an integer variable overflow, it doesn't overflow the MSW... That made the MD5 algo a real treat to program.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    23. Re:Lisp, Smalltalk and complexity. by MagikSlinger · · Score: 1
      Ummm...last I checked just about all the Lisp family--and all the popular members thereof--are strongly typed.

      As you point out, you only find out once that code gets executed.

      What a lot of folks like are statically typed languages: a variable can only point to a value of a particular type. This does prevent a certain class of runtime errors, but it also leads to longer development times and less elegant code. It's a tradeoff.

      Lisp is "elegant"? It has all the elegence of porridge with toenail clippings. The large Lisp projects I've looked at is a sea of brackets with cryptic, unintuitive names. "Longer development times"? I've heard this claim from LISP fanatics for years, but their proof boils down to "It takes me longer to do it in C". Just because you're not productive in another language isn't out fault. And I've yet to see anyone provide an objective comparison of productivity in LISP vs. other languages.

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    24. Re:Lisp, Smalltalk and complexity. by voodoo1man · · Score: 1
      Lisp is "elegant"? It has all the elegence of porridge with toenail clippings.
      You know, most trolls attribute goatse.cx to the appropriate URL, because they know plagiarism is bad. Give credit where credit is due.
      Just because you're not productive in another language isn't out fault. And I've yet to see anyone provide an objective comparison of productivity in LISP vs. other languages.
      Here you go.
      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    25. Re:Lisp, Smalltalk and complexity. by Eravnrekaree · · Score: 1

      I believe strong typing should be available in a language, but not forced on programmers since in many cases it just makes things more complex. I have used weak typed languages and it rarely is a problem. Although, I do think types can be useful, and I know Perl 6 will have types avialable if you want to use them.

    26. Re:Lisp, Smalltalk and complexity. by voodoo1man · · Score: 1
      I recently gave a very well-received talk to a group of software engineers (I may post the slides online if I receive permission from all involved parties) that talked about industry standards and software. The basic premise was that industry standards are just the lowest common denominator, and current industry standards do not work (to which not one person in the room disagreed). The truth is, the standardisation and interoperation you are talking about could have been done more efficiently using the then-existing methods you dismiss. The real reason that companies are trying to center in on "industry standard" technology is the same reason that companies have always adopted technology - to concentrate management control. I've recently read through David F. Noble's Forces of Production, and the parallels between the machine shop labor struggle and current programmer dilemmas have frightened me (the book became a big influence on the content of the aforementioned presentation).

      The real reasons management adopted all the cool toys in the 90s is because of the promise of office automation. Today, production and manufacturing is almost invisible in the United States, having been almost fully automated or shipped overseas and out of sight. Management would now like for the same thing to happen to offices. The reason that Microsoft and Visual Basic and other broken technologies were adopted en-masse was because of the promise of reducing office worker salaries and employment, which has been largely realized. Despite the large capital investment and the inferior quality of the products produced with these methods, their mission in opening up the path to programmer deskilling and production offshoring was quite successful. Like the automation of the machine shops in the middle of the 20th century compared to the industrial revolution of the 19th, the office automation of the 90s took place at an extremely accelerated rate. The introduction of the tools actually outpaced current use of more traditional computing technologies, so much so that the lower-skilled and less-educated programmers were paid better and not worse wages for a few years! But now the real objective of this transition is clear: the demands for labor have opened up real excuses for US corporations to import foreign indentured servants and export work off-shore (it's interesting to note that machine shops in the 1950s also complained about a worker shortages despite mass layoffs).

      The reasoning you use to dismiss more worker-friendly technologies is actually circular, because the poor interoperability of current software was caused by exactly those standards and methods you cite as being the solution (not unlike the machine shops citing the lack of skilled machinists as a reason to introduce even more automated, labor de-skilling machinery into the factory).

      The good news is that this isn't all so bad. Eventually, the institutional momentum of the processes and technology reaches a threshold where these methods work quite well (as can be witnessed by all the cheap goodies we get from China). The same will eventually be true for software, and will actually occur quite soon due to the accelerated rate of change.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    27. Re:Lisp, Smalltalk and complexity. by MagikSlinger · · Score: 2, Interesting
      You know, most trolls attribute goatse.cx to the appropriate URL, because they know plagiarism is bad. Give credit where credit is due.

      You wish I was a troll. I was some one who spent 2 years learning Lisp, getting really good at it then discovering that I was 2x to 5x more productive in Perl & C and 20x more productive in PROLOG (which the Lisp zealots sniffed at as an "inferior" by-product of Lisp).

      The paper you site is laughable:

      It might be because the subjects were self-selected. It might be because the benchmark task involved search and managing a complex linked data structure, two jobs for which Lisp happens to be specifically designed and particularly well suited. Or it might be because Lisp programmers tend to be good programmers. This in turn might be because good programmers tend to gravitate toward Lisp, or it might be because programming in Lisp tends to make one a good programmer.

      To be fair, I left the last line in even though it's completely unsubstantiated. To be further fair, I cannot prove or disprove it. But let's continue with the meat of it: compilation time. Before posting my comments, I looked for a productivity report and all I could find were anecdotes and self-serving quotes on Lisp pages. The productivity is due to interactive debugging & compilation time!?!? I saw no mention of meta-programming as a productivity boost (a Faustian bargain one at that), and just a lot of crap about how Lisp is the only language that can do incremental compilation. Oh geez, give me a fucking break!

      The reason I am so anti-Lisp is because I was a Lisp zealot until I took comparitive programming languages. I am probably one of the few Lisp detractors who have written Lisp programs that can verify the correctness of Lisp programs! I have written "self-modifying" Lisp code. Dude, I know Lisp better than some of its adherents. I've written my own Lisp interpreter from scratch using K&R C.

      I have never found Lisp to be that productive. It forces me to think in unnatural ways to express my solutions. To be productive, I usually end up doing ugly things like writing procedural code. For power, I prefer PROLOG. For raw speed, I prefer C. For OO, well, I'm still looking. But the point here is what does Lisp offer anymore? List handling and garbage collection is now a standard part of all modern languages. Meta languages is a Faustian bargain where if everyone is on the same page, great, but if someone has to pick it up from scratch, one had to depend on the previous programmer organizing their code in an easily comprehensible manner (which they usually don't). Switching projects becomes a headache because now you have to learn that local dialect. In short, you got a Tower of Babel of language extensions.

      I feel like Diogeneyse looking for a wise man in the city of Lisp zealots.

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    28. Re:Lisp, Smalltalk and complexity. by voodoo1man · · Score: 1, Insightful
      Time for some constructive deconstruction.

      You wish I was a troll.

      Trolls tend to stick together, so it is quite natural that when one of them shows it's head, the rest come crawling out of the woodwork. Take the parent post for example. If you weren't a troll, you'd just ignore it and wait for someone to come along and mod it off-topic, like I was about to do until I saw some of the replies (to be fair, a few ones were actually quite interesting, so all is not lost).

      I find the credibility of your posting severely lacking. You claim to have "worked with large Smalltalk and Lisp applications," (care to name any?) yet you say you abandoned Lisp after you "took comparitive programming languages." Assuming a typical US college cirriculum, this would be in your third year of univeristy. The details of your knowledge (or lack thereof) of Lisp also cast serious doubt on your assertions. Besides, if you think that Lisp is so self-evidently inferior, why bother writing page-long articles pointing out how much it sucks? Are you trying to justify this to people who read Slashdot, or (like many trolls) to yourself?

      I was some one who spent 2 years learning Lisp, getting really good at it

      Last time I checked, the ballpark figure for becoming an expert at doing something was 5 years of full-time occupation. You may not claim to be one (neither can I yet, actually) but you sure flaunt it around like you are.

      then discovering that I was 2x to 5x more productive in Perl & C and 20x more productive in PROLOG

      Now you're pulling my leg.

      which the Lisp zealots sniffed at as an "inferior" by-product of Lisp

      So you mean that Lisp trolls cited a domain-specific, search-oriented, Horn-clause logical language whose development was in almost no way influenced by Lisp as a by-product of Lisp, and now you're parroting the fact around? What did I say about trolls sticking together?

      The paper you site[sic] is laughable.

      Ok, now it's your turn. Give me an example of a programming language study that meets your rigorous standards of scientific objectivity.

      The reason I am so anti-Lisp is because I was a Lisp zealot until I took comparitive programming languages.

      Isn't this a coincidence: I took a comparative programming language class too! Guess what conclusion I came away with: Lisp is a really well designed language with significant productivity advantages. Guess what languages the class covered: Java, Haskell, and Prolog!

      I am probably one of the few Lisp detractors who have written Lisp programs that can verify the correctness of Lisp programs!

      Oh, so you must be one of these guys. Except I didn't know any of them were Lisp detractors, or Slashdot trolls for that matter. But if you're not, you must be some kind of hacker genius. After all, if your claim is true, what it took them (a bunch of Ivy-league-schooled PhDs that they are) 15 years to do for an applicative subset of Common Lisp, you did in less than two years for all of Lisp while going to college and working with "large Smalltalk and Lisp applications" at the same time! Dude, post your resume! I know of a few firms looking for some gullible braggards, err, naive geniuses to work long hours for little pay.

      I have written "self-modifying" Lisp code.

      If you knew Lisp, you'd also know that Lisp functions are immutable.

      Dude, I know Lisp better than some of its adherents.

      Lisp is not a religious, ideological or other movement, and it has nothing to do with glues either. I think the word you are looking for is "proponents." Personally, anybody who knows less about Lisp tha

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

  2. Why should we believe what they say? by Marxist+Hacker+42 · · Score: 2, Interesting

    Aren't these the same people who tried to tell us that "comparative advantage" meant we should give up our manufacturing and all get degrees in high tech? Why should we believe ANYTHING they have to say after they've lied to us for so long?

    Economics is a religion- and a failed mythology at that. Economists need to learn to examine and reconfigure their basic axioms before ANYBODY should ever listen to them again.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    1. Re:Why should we believe what they say? by NoMoreNicksLeft · · Score: 1

      You just don't give up, you fool. We're supposed to be transitioning to a new industry now. Keep with the times.

    2. Re:Why should we believe what they say? by GuyZero · · Score: 1

      Uuuhhh... have you ever read The Economist? There's no "these people" there - it's a magazine, like Time or Newsweek, with a global perspective. But it's just a magazine, dude.

    3. Re:Why should we believe what they say? by Billly+Gates · · Score: 1

      Judging by the article it looks like those with high tech degree's may still be in demand due to neglect, mergers, and other issues that are plaguing the datacenter.

    4. Re:Why should we believe what they say? by Anonymous Coward · · Score: 1

      Which new one? Oh thats right, we're all supposed to be in the nursing field now, giving spongebaths to old folks who lost their retirement in the recent major company crashes and can't afford to hire nurses.

    5. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      And what new industry would that be? And why won't it go away too?

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    6. Re:Why should we believe what they say? by fiannaFailMan · · Score: 4, Insightful
      Aren't these the same people who tried to tell us that "comparative advantage" meant we should give up our manufacturing and all get degrees in high tech? Why should we believe ANYTHING they have to say after they've lied to us for so long?
      Actually, I don't seem to remember that paper ever advocating any such thing. Nevertheless, a great many people fell for that one. A great many people still cling to it. And to say that they "lied" implies that they knew different but told us this anyway. Perhaps you can tell us what they hoped to gain from this grand deception. Or perhaps you'll just admit that you had an aversion to their endorsement of John Kerry.
      Economics is a religion- and a failed mythology at that.
      Nonsense. Economists, and the Economist newspaper, seldom have a problem admitting mistakes. Show me a religion that is willing to change its belief in a supernatural being after centuries of mounting evidence to explain away the mysteries that underpinned such superstition.
      --
      Drill baby drill - on Mars
    7. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Only if you're willing to be paid far less per year than you spent getting the degree. Or for that matter- far less than you need to continue learning to keep up with the technology.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    8. Re:Why should we believe what they say? by Anonymous Coward · · Score: 1, Insightful

      errr, Marx was an economist, dumb-ass.

      --A.R.

    9. Re:Why should we believe what they say? by NoMoreNicksLeft · · Score: 1

      It's a combination of several, actually.

      1) Day-trading.
      2) Law.

      In all seriousness though, I've been on your side of the argument more times than I want to count. Here are some of their allegedly serious answers.

      A) Space tourism.
      B) Biotechnology.
      C) Marketing.
      D) Robotics.***

      The first, even assuming engineering miracles (and if anyone can give us those, it's probably Rutan), it can't amount to more than a handful of US jobs. Most launches will be equatorial, meaning any ground crew will be somewhere else. That's even assuming an SS1 style spaceship requires that sort of launch and infrastructure. So, assume that there are dozens of orbital hotels, and hundreds of spaceships. That's what, 1000 piloting jobs? How many out of work airline pilots are there? Won't they absorb all these jobs? Assume you need three times as many flight attendants, that's 3000 more jobs. Let's quadruple my numbers just for the hell of it. 16,000 jobs created. Let's double it again, just to take into account "orbital hotel staff". 32,000 jobs, to replace the millions we lost. So, pipe in about how any single industry like this creates all kinds of tangential jobs... for instance, someone has to *build* the spaceships. Now, where are you going to manufacture those? In the US, or in Malaysia? Eh?

      The second, biotechnology, is even worse. Production is automated, or farmed out to third world countries. Research and development is only for those with master's degrees and up, and limited to several thousand the world over.

      The third, marketing, may be a subtle joke, but it was included with several other, more obviously serious replies. How we're all supposed to become experts at selling stuff to each other, when no one has the money to buy anything because they're out of work? To convince all these companies to increase marketing, they'd need some indication that it would increase sales... the last thing that will happen in our economy.

      And the last, well, if you can't figure out why that is dumb, don't bother replying to the thread.

      *** Yes, I couldn't believe it either, but if you're truly interested, I'll dig up the URL to the thread and you can judge yourself if it was sarcastic or not.

    10. Re:Why should we believe what they say? by NoMoreNicksLeft · · Score: 0, Offtopic

      That would only depress wages in the nursing field, not to mention lower the quality of nursing care, which itself makes up the bulk of medical care.

      We'd end up turning LPN and RN degrees into nursing aides (also called CNA, computer geeks, don't confuse that with certified novell admins). I don't even care to speculate how that would influence other areas of the medical industry, I'd sound like a paranoid freak.

    11. Re:Why should we believe what they say? by mankey+wanker · · Score: 1

      > Perhaps you can tell us what they hoped to gain from this grand deception.

      Brilliantly myopic of you to ask. What could a glut of intelligent high tech laborers gain them?

      And it's such a simple answer too: cheap labor. Cheap labor here, cheap labor there, cheap labor everywhere. Wise up and stop being a chump. They want to destroy the middle-class because a robust middle-class eats away at their bottom line where even enough is never enough.

      Learn something. Read: http://www.conceptualguerilla.com/lessgovernment.h tm

    12. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Oddly enough- from my point of view, the fourth was the least dumb answer of the bunch- of course, the real problem with it is when the Robots start building other Robots- which will come *before* they're in general usage anyway.

      One thing amazed me is still being done by human beings- toilets. I would have thought that would have been automated years ago- but apparently the clay they're made out of contains imperfections that can be sanded out once identified- and this is one more job that will have to wait for robotic vision to actually succeed at automating it.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    13. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 2, Funny

      Je Suis Marxiste, Tendance Groucho (Not worth actually looking up the french spelling for a joke).

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    14. Re:Why should we believe what they say? by Moderatbastard · · Score: 1
      it's a magazine, like Time or Newsweek, with a global perspective.
      ... and longer words, considerably longer sentences, and fewer pictures (which is just as well - the pictures in the Economist frankly suck).
      --
      1/3 of jokes get modded OT. If you get the joke, mod 1 in 3 insightful/interesting/underrated to restore karma balance.
    15. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1, Insightful

      And he had at least 4 MAJOR things wrong with his theories as well (these four things are the primary reason why I call myself marxist HACKER, not just a marxist):

      1. Denial of religion. For without moral values, sharing ceases to be a virtue.
      2. Lack of proper data gathering. Without knowing the wants and needs of the population, over production and under production is inevitable.
      3. Lack of patience- the technology wasn't ready for what he was proposing at the time- agricultural science was just begining to prove itself, and 98% of the population was still required to work on the farms for the society to eat. A far cry from today when our main economic problem is a surplus of labor.
      4. Centralization- this is the worst mistake he made, and it's a mistake that is being duplicated today in corporatism and centralized stock markets under so-called "capitalistic" countries.

      The errors of Adam Smith are similar:

      1. Denial of religion- by embracing one of the seven deadly sins, Adam Smith denied morality as a motivator for human beings.
      2. Lack of proper data gathering- while the Invisible Hand of the Market is very good at determining WANTS it's very bad at determining NEEDS- particularily of people who are unemployed or underemployed and thus denied entry into the market, and for those who are too stupid to buy what they NEED and only buy what they WANT.
      3. Lack of patience- Capitalism wants efficiency immediately, and will run you right over and pound you into the ground if you get in the way.
      4. Centralization- by not putting any checks and balances on greed, mergers of corporations mean that in the end there can be only one mega-corporation- one board to rule them all, one board to find them, one board to bind them all and in the darkness profit from them.

      My final solution for both is similar- $1/mile/shipping container tax. This encourages stuff to be produced as close to the end consumer as possible- thus bringing back jobs where comparative advantage would have taken them away. You still have the problem of jobs disappearing to technical obsolescence- but for the most part, those jobs are replaced with new jobs working on the new equipment.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    16. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Actually, I don't seem to remember that paper ever advocating any such thing. Nevertheless, a great many people fell for that one. A great many people still cling to it.

      Advocating free trade leads to this automatically.

      And to say that they "lied" implies that they knew different but told us this anyway.

      They should have known different- the end result of 50 years of subsidized education in one of the two most populous countries on earth is obvious in hindsight- and that information was never shown in foresight.

      Perhaps you can tell us what they hoped to gain from this grand deception.

      Cheap labor and the destruction of the middle class- a maserful stroke from those who believe that society should only have two classes.

      Or perhaps you'll just admit that you had an aversion to their endorsement of John Kerry.

      Kerry, Bush, makes no difference, they're both free traitors.

      Economists, and the Economist newspaper, seldom have a problem admitting mistakes.

      Really? Then explain why they still support the WTO, when free trade has proven to be disasterous to both developing and developed nations.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    17. Re:Why should we believe what they say? by __aavljf5849 · · Score: 1

      "The Economist" != "the worlds economists"

    18. Re:Why should we believe what they say? by Prof.Phreak · · Score: 3, Insightful

      Aren't these the same people who tried to tell us that "comparative advantage" meant we should give up our manufacturing and all get degrees in high tech?

      Many manufacturing jobs are cheaper overseas. Your point being? (ie: economist's point of view)

      If you got your degree in `high tech' because of what you heard an economist say... well, you deserve what you get then.

      If you're trully interested in computers and their capabilities (ie: a `computer scientist'), then your job cannot be outsourced.

      The coding jobs will go away---but that doesn't mean there aren't plenty of non-coding things to do (like design, research, etc., until we have computers walking and talking around the world there are still plenty of opportunities it IT---most of which pay off big time no matter where you do them).

      It's about time people with computer science degrees realized that they weren't training to become a code monkey.

      --

      "If anything can go wrong, it will." - Murphy

    19. Re:Why should we believe what they say? by hibiki_r · · Score: 3, Insightful

      I must have read Groucho as opposed to the real thing: Marx's theory of value is if anything, too moral. Marx criticizes 1800's religion because it told people that suffering on this earth would be repaid 10 times over in heaven. When you consider the society that Marx saw, England during the industrial revolution, it's really hard not to consider that kind of religious thought evil and manipulative.

      Marx saw, just like we can see in today's US in a smaller scale, how religious beliefs can be twisted to make people act in a way that goes against their, and most people's, best interest. Marx belived that morality and religion are not synonymous. In many cases, religious beliefs can be completely immoral. Thus, he favored a society where morality was rational, as opposed of just be dictated by a book.

      If you don't belive that morality can exist without religion, you should get out of the house more.

    20. Re:Why should we believe what they say? by fiannaFailMan · · Score: 2, Insightful
      Advocating free trade leads to this automatically.
      Huh? Advocating free trade leads to us "giving up our manufacturing and all of us getting degrees in high tech?"
      They should have known different- the end result of 50 years of subsidized education in one of the two most populous countries on earth is obvious in hindsight- and that information was never shown in foresight.
      Huh? I'm sure you have an interesting point to make here. Please make it.
      Cheap labor and the destruction of the middle class- a maserful stroke from those who believe that society should only have two classes.
      Garbage. The Economist has always argued for measures which it believes will lead to a better distribution of wealth.
      Kerry, Bush, makes no difference, they're both free traitors.
      I'm not familiar with your personal jargon. If you mean that Bush and Kerry are both in favour of free trade, then maybe you'd care to explain Kerry's call for protectionist measures to prevent outsourcing, and Bush's tarriffs on steel imports.
      hen explain why they still support the WTO, when free trade has proven to be disasterous to both developing and developed nations.
      Proven by whom? The Economist has spelled out many times how free trade has been a relative success for developing and developed nations. When I say 'relative,' I mean compared to any alternative system that has ever been devised. The system endorsed by your namesake was hardly a roaring success for all concerned.
      --
      Drill baby drill - on Mars
    21. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 2, Interesting

      I trained to be a software ENGINEER- that includes coding far better than what any given code monkey can do. But since the code monkeys are doing it, my talents went to waste for over two years as I scrambled to find some way to make a living.

      Science is about theory- ENGINEERING is about application of that theory. I'd much rather be doing the application of the theory than inventing the theory- but that's all been ripped away now.

      Plus, if you haven't noticed- Honda has a computer that walks, and Microsoft has a computer that talks. It won't be long now.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    22. Re:Why should we believe what they say? by superpulpsicle · · Score: 1

      Those are all great points. IMHO the bottleneck in every field is politics. This country has politics at the most absurd degree. Everybody's trying to get better with politics so they can get a raise. I seriously can't think of one industry where getting better with your skills actually turn you into a manager overnight.

    23. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      I must have read Groucho as opposed to the real thing: Marx's theory of value is if anything, too moral. Marx criticizes 1800's religion because it told people that suffering on this earth would be repaid 10 times over in heaven. When you consider the society that Marx saw, England during the industrial revolution, it's really hard not to consider that kind of religious thought evil and manipulative.

      True enough- but what he failed to understand was religion's inherant power of a shared value system among large groups of people.

      Marx saw, just like we can see in today's US in a smaller scale, how religious beliefs can be twisted to make people act in a way that goes against their, and most people's, best interest. Marx belived that morality and religion are not synonymous. In many cases, religious beliefs can be completely immoral. Thus, he favored a society where morality was rational, as opposed of just be dictated by a book.

      And in doing so- he threw out the baby with the bathwater and lost SHARED morality.

      If you don't belive that morality can exist without religion, you should get out of the house more.

      Oh, it can exist alright, but only as rampant individualism, not as a shared philosophy. For that, you not only need religion- you need a well defined hierarchy, and a final arbiter (examples include the Supreme Court and the Pope).

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    24. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Huh? Advocating free trade leads to us "giving up our manufacturing and all of us getting degrees in high tech?"

      Of course it does- why else would we give up our cushy $15/hr factory jobs and let them ship those jobs overseas?

      Huh? I'm sure you have an interesting point to make here. Please make it.

      If we had been alowed to know two small facts about this whole globalization scheme, this disaster would have been forseeable to many in the computer industry, particularily those working on Networking. Those two items were: India subsidizing the high tech education through it's several IIT campuses nationwide of several hundred thousand computer programmers, coupled with guest worker visas that didn't have adequate protections on them. That's what truly burst the bubble.

      Garbage. The Economist has always argued for measures which it believes will lead to a better distribution of wealth.

      As long as that better distribution of wealth is it being hoarded by a small minority, you mean.

      I'm not familiar with your personal jargon. If you mean that Bush and Kerry are both in favour of free trade, then maybe you'd care to explain Kerry's call for protectionist measures to prevent outsourcing, and Bush's tarriffs on steel imports.

      Token public issues to placate certain interest groups does not make for a unified protectionist policy. Now if either one had say, gotten behind the Grimes Labor Equalization Surcharge or better yet, the mileage tax on shipping, then I'd say you would have had a point.

      Proven by whom?

      By the people these policies have hurt and the number of suicides that it has caused.

      The Economist has spelled out many times how free trade has been a relative success for developing and developed nations.

      Yeah- massive unemployment and farmers suiciding over dumping of cheap subsidized products. Sure- that's success...if by success you mean the oligarchy gets richer and the people get poorer.

      When I say 'relative,' I mean compared to any alternative system that has ever been devised. The system endorsed by your namesake was hardly a roaring success for all concerned.

      And which word of the three do you take to be my namesake? Marx, hacking marx, or the answer to Life, the Universe, and Everything?

      Still- Dorthy Day's version of Marxism would probably have had better results than globalism has- by isolating local economies and simplifying the whole problem of resource distribution to a local matter instead of a global one.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    25. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 2, Insightful

      In fact, getting better skills is just a trap- it means that you'll be far more valuable as an employee than as a manager. Only the skilless can become managers.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    26. Re:Why should we believe what they say? by Prof.Phreak · · Score: 1

      There are things a _good_ coder (ie: a software engineer) should be able to do that average code monkeys cannot: like being able to build a complex system (something way above the level of a `vb db app').

      If you want some challenges, build a system that can recognize human speech well (no matter who's the speaker---and without training). I'm sure that will sell really well.

      The Honda robot may walk, but have you seen it walk? It walks slower than a slug. Build a system that can keep its balance while running, and I'm sure that will sell.

      Microsoft computer can `talk'... build something that actually sounds like a human (places emphasis in right places, etc.,) and I'm sure that will sell.

      There are also a ton of things I can think of in database and information retrieval domains that haven't been done yet (but would change the world if someone managed to do it).

      ie: these are things that an average code monkey that gets outsourced cannot do---but a person with good education might be able to take a good stab at these problems.

      Best of luck.

      --

      "If anything can go wrong, it will." - Murphy

    27. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      True enough- but the point is you can't take a magazine written by economists and believe ANYTHING it has to say anymore. Take it all with a grain of salt, because that's all the advice is worth.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    28. Re:Why should we believe what they say? by Anonymous Coward · · Score: 0

      I hear Finland outsourced their OS design work to the US.

      It seems this guy named Torvalds found he could work just as easily over here as over there.

    29. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      There are things a _good_ coder (ie: a software engineer) should be able to do that average code monkeys cannot: like being able to build a complex system (something way above the level of a `vb db app').

      True enough- but NONE of them pay, because business doesn't really need anything more complex than a vb db app.

      If you want some challenges, build a system that can recognize human speech well (no matter who's the speaker---and without training). I'm sure that will sell really well.

      Already is for $39.99 a shrink-wraped package. If you're still working on this- you're wasting your time.

      The Honda robot may walk, but have you seen it walk? It walks slower than a slug. Build a system that can keep its balance while running, and I'm sure that will sell.

      Didn't the guy who created the Segway already create a mobile gyroscopic robot platform? I thought IRobot was already selling it to the military.

      Microsoft computer can `talk'... build something that actually sounds like a human (places emphasis in right places, etc.,) and I'm sure that will sell.

      Have you heard MSAgent lately? I considered it so good that I just went ahead and licensed it for my talking e-mail application.

      There are also a ton of things I can think of in database and information retrieval domains that haven't been done yet (but would change the world if someone managed to do it).

      And those will be done by the code-monkeys in Microsoft's new reseach center in Hydrabad, or Oracle's new research center in Bangalore. Nobody's going to bother to pay $5/hr for that kind of work.

      ie: these are things that an average code monkey that gets outsourced cannot do---but a person with good education might be able to take a good stab at these problems.

      What makes you think the code monkeys don't have an education? Better yet, what makes you think any company is going to be willing to pay American wages for this kind of research?

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    30. Re:Why should we believe what they say? by timeOday · · Score: 2, Funny
      A) Space tourism.
      B) Biotechnology.
      C) Marketing.
      D) Robotics.
      Unfortunately only one of those options is realistic, and I'm not a good liar.
    31. Re:Why should we believe what they say? by Prof.Phreak · · Score: 1

      What makes you think the code monkeys don't have an education? Better yet, what makes you think any company is going to be willing to pay American wages for this kind of research?

      Ok, I admit that many code monkeys have an education---in fact, many have a far better education than most. (ie: hire a BS degree in US or a masters degree in India?). That you can't do anything about (they went to school, got an education, etc.).

      The thing that you do control is your imagination, creativity, etc. Many people lack that. If you have the ability/skills to turn your ideas into reality, you can be successful.

      As for companies, many are looking for precisely the research kind. Have you looked at job offers from Google? (or Microsoft Research?). Pretty much _every_ major company is still very much hiering---but they're not looking for vb coders, they're looking people who can do the currently-impossible. Show your ability to do incredible things, and I'm sure you'll have no problem in getting a job at one of these places.

      In fact, I'd go as far as say there is a shortage of these jobs in the US right now.

      Your speech recognition example is pretty bad; pretty much all HMM methods require training (or they don't perform well). (and all current speech recognition is based on Hidden Markov Models). Your experience might've been good 'cause your voice may be `common', but if you speak a bit too fast or a bit too slow (or there are multiple speakers in the noisy room), those things won't be able to handle it. I bet that anyone who develops a speech recognition system that can totally eliminate the need for a keyboard (ie: the computer doesn't come with a keyboard/mouse---it comes with a microphone) will be rich beyond their dreams. ...just because someone `has a product that does that' doesn't mean you can't make a better product. I think Microsoft proved that.

      And while Segway's _wheeled_ platform is impressive, it has little to do with jointed platforms (which are very much in their infancy right now).

      --

      "If anything can go wrong, it will." - Murphy

    32. Re:Why should we believe what they say? by cpeppler · · Score: 1
      Show me a religion that is willing to change its belief in a supernatural being after centuries of mounting evidence to explain away the mysteries that underpinned such superstition.

      Your comment reminds me of a great T-shirt I once saw. On the front it said:

      God is dead. -- Nietzsche

      and on the back it said:

      Nietzsche is dead. -- God

      What science are you talking about? Have you ever studied anything about DNA? It's the most amazing piece of code ever written. No scientific dogmatist is ever going to convince me that that incredible sequence happened because of a lot of coin flips by random forces.

      Ever seen a software program without an software developer behind it? (for the wise guys, somebody had to write the first code generator...)

    33. Re:Why should we believe what they say? by kin_korn_karn · · Score: 1

      what do you have against rampant individualism?

    34. Re:Why should we believe what they say? by tarunthegreat2 · · Score: 1

      Yea, but I'd rather believe anything the Economist says, than anything you say. Marx was a load of shit. Capitalism is the Natural Order of Things translated into Economics, unless of course you belive in Creationism (the kind that disputes evolution, not the kind that says God is in the details somewhere.._, in which case there's absolutely no point arguing with you at all. Further, the WHOLE reason The Economist was started by Walter Bagehot, and a load of other, was "To Promote the values of Liberty and Freedom, in Economics and Politics" - so naturally it is displaying a "bias". LinkyBut it's ok, we still need a few marxists around to remind us of what not to do, and to be able to form arguments for capitalism in a well reasoned manner to dispute everything you throw at them. But I, on the other hand am too lazy. So I'm just going to ask you to name the most successful Marxist/Communist/Socialist countries in existence today, the sizes of their population, and the mark they've left on the world, compared to the the champions of Capitalism (i.e. Hong Kong, Singapore, USA, UK, China in that order).

    35. Re:Why should we believe what they say? by Bush+Pig · · Score: 1

      Yeah, but - realistically - who in their right mind would want to be a manager anyway?

      --
      What a long, strange trip it's been.
    36. Re:Why should we believe what they say? by Bush+Pig · · Score: 1

      You and I seem to have come to much the same conclusion here. I reckon economics is, like theology, euclidean geometry and the propositional calculus, a formal system, which doesn't really apply to the real world. It certainly isn't a science. You can hear the religious fervour in the voices of the free market boosters (as though pefect knowledge of a market were ever possible) every time they tell us how great free trade, free markets, and the other scams du jour are.

      Economists are beneath contempt, as a rule (there are honourable exceptions).

      --
      What a long, strange trip it's been.
    37. Re:Why should we believe what they say? by PastaLover · · Score: 1

      If you're only doing this for the money anyhow, you got what you asked for IMHO.

    38. Re:Why should we believe what they say? by warrax_666 · · Score: 1
      Great T-shirts notwithstanding (and I do appreciate the humour in that T-shirt, but it is just humour)...

      No scientific dogmatist is ever going to convince me that that incredible sequence happened because of a lot of coin flips by random forces.


      I don't think any respectable scientist will try to convince you of that. However, they might try to convince you that "that incredible sequence" happened because of a lot of coin flips and natural selection.

      Your argument boils down to Creation by Design which (as another poster rightly mentioned) is fallacious because it relies on a creator who "just is" whereas the univerise (for some reason) isn't allowed to "just be".

      Also, this may shed some light on just how fantastic (our and other species') DNA is.
      --
      HAND.
    39. Re:Why should we believe what they say? by __aavljf5849 · · Score: 1

      1. It's not a magazine written by economists.
      2. Economics is like meteoreology, and if you use it to predict the future, you are probably gonna get it wrong. But if to understand how things work, it's very useful.

    40. Re:Why should we believe what they say? by Moderatbastard · · Score: 1
      Cheap labor and the destruction of the middle class- a maserful stroke from those who believe that society should only have two classes.
      [old hag voice] There you go again, bringing class into it...[/ohv]
      --
      1/3 of jokes get modded OT. If you get the joke, mod 1 in 3 insightful/interesting/underrated to restore karma balance.
    41. Re:Why should we believe what they say? by Bastard+of+Subhumani · · Score: 1
      No scientific dogmatist is ever going to convince me that that incredible sequence happened because of a lot of coin flips by random forces.
      That's novel and interesting reasoning. I think it should have a name - may I propose "argument from design"?
      --
      Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.
    42. Re:Why should we believe what they say? by Anonymous Coward · · Score: 0

      LOL! This is hilarious. So trade makes us poor, war doesn't. The logic of a republican sometimes amazes me.

    43. Re:Why should we believe what they say? by NoMoreNicksLeft · · Score: 1

      Anyone that wants to make more than $35,000 a year, I suppose. If your wife wants to work, that's enough to get by on. But, if she wants to stay home with the children (or even if you want to), that could be a rather tight budget.

    44. Re:Why should we believe what they say? by Bush+Pig · · Score: 1

      I make a fair bit more than that without doing any management-type stuff. Admittedly they're $A, but $A1 in Australia buys about as much stuff as $US1 in the US, except for cars and petrol.

      --
      What a long, strange trip it's been.
    45. Re:Why should we believe what they say? by NoMoreNicksLeft · · Score: 1

      Count yourself lucky.

    46. Re:Why should we believe what they say? by Anonymous Coward · · Score: 0

      parent is bullshit,
      you CAN NOT be good at anything if you don't practice.
      You can not be a good computer scientist if you don't code. Real world work means intimate knowledges of what can be done with current state of technologies. I've seen too many software architects/managers who only know theory but theory and practice is 2 different world !

    47. Re:Why should we believe what they say? by ZenFu · · Score: 1

      I reckon economics is, like theology, euclidean geometry and the propositional calculus, a formal system, which doesn't really apply to the real world. It certainly isn't a science.

      By your implied definition, picking up chicks isn't a science either. However, such plebian courtship behavior does have major implications in the real world (or so I'm told by people that claim to know).

      Also, most corporate strategy is based on short-circuiting the requirements for free markets - and the grocery list of requirements can be learned in a decent intro to econ course. Check out Michael Porter's book on Corporate Strategy if you haven't already and want to know more.

    48. Re:Why should we believe what they say? by Bush+Pig · · Score: 1

      I never mentioned, or implied, anything about picking up chicks. However, I'm pretty sure it doen't qualify as a formal system, which is what I was discussing.

      I'm quite aware that modern business strategies involve subverting the requirements for free markets, and that is exactly why I believe free markets are impossible. It's pretty obvious that someone who's trying to sell you something would prefer you _not_ to have perfect knowledge.

      None of this addresses the point I was making, which is that economics is more like theology than science. (I hope I don't sound too snotty here :).

      --
      What a long, strange trip it's been.
    49. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      I'm not- but I can be prevented from doing this because of the money- I've got a wife and baby to feed, as well as a house mortgage. I can't work at whatever-low-wage-country-of-the-week's wages are- and as long as the banks and venture capitalists want me to repay my mortgage, it's rather unfair of those same banks and venture capitalists to tell my boss that he can only pay for Indian standard of living- since they're the same idiots that are making my standard of living so expensive to begin with.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    50. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      what do you have against rampant individualism?

      It's a selfish waste of time and resources that could be better spent on making this a better world. Same problem that I have with C-level executives, stock brokers, and other people that expect to earn money off of my time.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    51. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Neither Marx nor Capitalism is either Natural or Created by God. The only economic system that is natural is tribal bartering- and that is anything but "free trade".

      As for your other topic- I can't name any Marxist/Communist/Socialist countries AT ALL- because the true form of that economic theory has never been tried.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    52. Re:Why should we believe what they say? by kin_korn_karn · · Score: 1

      You seem to have confused "individualism" with selfishness.

      Individualism means that you follow your own path regardless of what others think.

      Selfishness is only doing things that benefit you, and not others.

      Being an individual does not preclude one from being generous or making the world a better place. Selfishness does.

      Unless you're a true hive-mind communist, in which case, fuck off.

    53. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Individualism means that you follow your own path regardless of what others think.

      Selfishness is only doing things that benefit you, and not others.

      Being an individual does not preclude one from being generous or making the world a better place. Selfishness does.


      Unfortuneately, while individual human beings are sometimes capable of doing good this way, the large majority seems to be utterly incapable of making the world a better place. To them- individualism IS doing what benefits you, and not what benefits others- as one man put it in a competency hearing on the subject "Why should do that which does NOT please or benefit me?".

      As for being a true hive-mind communist- no, that doesn't work either. Where I'm not at all sure that human beings can actually be independant thinkers, they aren't a hive mind species either.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    54. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Damn- should have clicked on the Parent Link- or else I would have had a better conversation.

      Here's an answer that makes sense from the previous conversation: The real problem with rampant individualism is that it's an everything-goes sort of marketplace; you don't just get good, selfless people willing to pull together to make the world a better place, you ALSO get selfish, brain dead morons who only exist so that they can earn large sums of money off of other people's work. Communism, or even socialism, cannot co-exist with such people- they are parasites that will eventually make the system too topheavy to survive.

      That's why Marx denying religion was a bad idea- in doing so he also denied the single most effective way of getting a large population to share a single values system ever devised.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    55. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Ok, I admit that many code monkeys have an education---in fact, many have a far better education than most. (ie: hire a BS degree in US or a masters degree in India?). That you can't do anything about (they went to school, got an education, etc.).

      Yep- and thanks to India's rather socialist approach (to keeping costs down for the individual student) they got their BS or their Masters for about 1/10th the cost of mine. That gives them a SERIOUS competitive advantage.

      The thing that you do control is your imagination, creativity, etc. Many people lack that. If you have the ability/skills to turn your ideas into reality, you can be successful.

      Only as long as they don't steal them from you...my experience so far has been "Get hired, get paid a salary to come up with good ideas, project matures, get fired just before benefits kick in", seems to be the general model even *before* outsourcing. I've yet to be rewarded for any of my ideas- and I don't have the resources to pantent, say, the fireproof turkey deep fryer by myself (just a non-software idea I had after getting a brochure in the door from the local fire department on how incredibly bad turkey deepfryers are).

      As for companies, many are looking for precisely the research kind. Have you looked at job offers from Google? (or Microsoft Research?). Pretty much _every_ major company is still very much hiering---but they're not looking for vb coders, they're looking people who can do the currently-impossible. Show your ability to do incredible things, and I'm sure you'll have no problem in getting a job at one of these places.

      Tried that for 26 months- nearly lost my house trying that one. Most of them have moved to Hydrabad or Bangalore for that kind of research (very little research for Microsoft is still being done here in the United States). After all, why should they pay me $40,000/year for that kind of research, when they can get 10 Indians willing to work for $4000/year?

      I can't blame them at all.

      Your speech recognition example is pretty bad; pretty much all HMM methods require training (or they don't perform well). (and all current speech recognition is based on Hidden Markov Models). Your experience might've been good 'cause your voice may be `common', but if you speak a bit too fast or a bit too slow (or there are multiple speakers in the noisy room), those things won't be able to handle it. I bet that anyone who develops a speech recognition system that can totally eliminate the need for a keyboard (ie: the computer doesn't come with a keyboard/mouse---it comes with a microphone) will be rich beyond their dreams. ...just because someone `has a product that does that' doesn't mean you can't make a better product. I think Microsoft proved that.

      Actually, the link I previded does that- but it might be the hardware it's matched with being just as important, given your assessment. I wondered why my PocketPC couldn't understand me unless I spoke into the top of it (though it didn't require training, for some reason- seems to understand just fine without the training) and that isn't exactly conductive to using it for GPS navigation in the car. No keyboard though at all- though there is an add on one available, and four other types of handwriting recog available on the platform.

      And while Segway's _wheeled_ platform is impressive, it has little to do with jointed platforms (which are very much in their infancy right now).

      The HT is only one platform they make- their other one was originally designed as a wheelchair that could grow legs and walk up stairs...Same idea though, using a gyroscope and accelerometers with a fast processor to decide where to put the feet next. Now a BIPEDAL one- well that will just take faster processors.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    56. Re:Why should we believe what they say? by kin_korn_karn · · Score: 1

      I don't buy your argument.

      The USA is not Marxist. It does not deny religion. We have more selfish, brain dead morons per capita than any other nation on the planet.

    57. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      The USA is not Marxist. It does not deny religion. We have more selfish, brain dead morons per capita than any other nation on the planet.

      It may not be Marxist, but it is PROTESTANT- and while that's not a total denial of religion, it's a denial of religious control over morals. The whole concept of the separation of church and state is to destroy the power of religion in politics, and the use of religion as a motivator of large groups of people. Mono-religious cultures have shared values, while Marxist and free-religion cultures do not. Marx and Jefferson were not very far apart on the Deistic idea that religion is the opiate of the masses. What they failed to see was the flip side- that without a strong state religion, there aren't any shared values either, and no reason to put another person's benefit above your own.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    58. Re:Why should we believe what they say? by kin_korn_karn · · Score: 1

      I see your point but I think it's a lot more valuable to have freedom than a shared set of values. When people can arrive at those values by choice rather than fiat, there is not only a sharing of values, but pride in them, that you got there on your own, rather than the state telling you to.

      Are you saying that the USA should institute a state religion?

    59. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      I see your point but I think it's a lot more valuable to have freedom than a shared set of values. When people can arrive at those values by choice rather than fiat, there is not only a sharing of values, but pride in them, that you got there on your own, rather than the state telling you to.

      But what to do about the parasites is the problem- those people who evolve on their own to use other people's values to take advantage of them? Televangelists, C-level executives, stock brokers, lawyers- we've got entire industries devoted to earning money off of other peple's work.

      Are you saying that the USA should institute a state religion?

      Maybe not that far- but it's easy to see that our entire economy is begining to melt down from a lack of any shared values at all. For without shared values- human instinct takes over, and the seven deadly sins becaume the default motivation for doing anything at all.

      You apparently don't see a problem with that- you quote pride above as a motivator for behavior. Greed is also used as a motivator for behavior. But both of these have their destructive side- the problem with freedom is that we can't actually trust each other to avoid the seven deadly sins.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    60. Re:Why should we believe what they say? by kin_korn_karn · · Score: 1

      Maybe not that far- but it's easy to see that our entire economy is begining to melt down from a lack of any shared values at all. For without shared values- human instinct takes over, and the seven deadly sins becaume the default motivation for doing anything at all.

      Jesus doesn't day-trade. You're not going to find a cure for economic problems in religion. What, are we all going to band together to build a cathedral?

      You apparently don't see a problem with that- you quote pride above as a motivator for behavior. Greed is also used as a motivator for behavior. But both of these have their destructive side- the problem with freedom is that we can't actually trust each other to avoid the seven deadly sins.
      You're right, I don't see a problem. I don't believe in the seven deadly sins (outside of a literary context, in which case it's an interesting idea) or in any other tenet of any organized religion, except for where my personal moral code intersects with what happens to be preached by a religion. So if these reasons don't exist, how can I have a problem with them?

      You're going to say that I'm the one who brought up pride. Pride exists because it is an emotion. The concept of sin, offending a god, is foreign to me. If there are gods, they exist in a world entirely beyond us and could care less if we're proud or if we eat too much or who we want to fuck. Do you care if a fly is gay? Likewise from gods to us.

      You have, in this conversation, stated flatly that you think that most people aren't moral and that everyone needs religion except for a rare few because they're too ignorant to behave in a moral fashion otherwise. All you have done is shown me that religion is an excuse for those who hold their fellow man in contempt to express that contempt. If you had other goals, sorry, but you failed.

    61. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Jesus doesn't day-trade. You're not going to find a cure for economic problems in religion. What, are we all going to band together to build a cathedral?

      Actually, I guess it's time for some assigned reading. I'd suggest starting with Acts Chapter 4 and 5- see what kind of economic system the very first followers of Christ came up with. Follow that with a good dose of the entire first book in the pair, the Gospel of Luke, and Matthew Chapter 25. There's a truly amazing amount of economics in the Bible.

      You're right, I don't see a problem. I don't believe in the seven deadly sins (outside of a literary context, in which case it's an interesting idea) or in any other tenet of any organized religion, except for where my personal moral code intersects with what happens to be preached by a religion.

      And by doing so, you exhibit some of the worst behavior of those sins in yourself. But that's not unusual- since after all, those "sins" are just a couple of thousand years of experimental biology.

      So if these reasons don't exist, how can I have a problem with them?

      Oh, they exist all right- you just fail to see that they exist. Personal lack of evidence is not a lack of existance.

      You're going to say that I'm the one who brought up pride. Pride exists because it is an emotion.

      True enough.

      The concept of sin, offending a god, is foreign to me.

      It's foreign to me too- because that's a modern Protestant definition of sin. The Deadly Sins are different- they don't offend in and of themselves. They are motivators that cause us to do things that offend OTHER HUMAN BEINGS. Has nothing to do with God or the concept of God, it has to do with one of the things religion is really good at: experimental mob psychology.

      If there are gods, they exist in a world entirely beyond us and could care less if we're proud or if we eat too much or who we want to fuck. Do you care if a fly is gay? Likewise from gods to us.

      Actually I do- because I actually care about the world around me. But hey, that's a foriegn concept as well, right? The idea of using science to learn about the world around us and therefore DISCOVER God?

      You have, in this conversation, stated flatly that you think that most people aren't moral and that everyone needs religion except for a rare few because they're too ignorant to behave in a moral fashion otherwise.

      And right now, you're proving my point to a large extent. You've given up on an entire line of thought- ignored a ton of evidence- just because you don't like the concept of a "god" or "gods". A totally irrational- and immoral- way to behave.

      All you have done is shown me that religion is an excuse for those who hold their fellow man in contempt to express that contempt.

      And what have you done with your atheism, other than to hold your fellow man and 10,000 years of human history in similar contempt? Looks like holding others in contempt has NOTHING to do with religion, and everything to do with knowning the difference between right and wrong.

      If you had other goals, sorry, but you failed.

      I succeeded more than you know- because I got you to admit that your atheism is the reason for your belief that Pride is just another emotion.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    62. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Also- even Marketing can become overbalanced to the point that it's worthless.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    63. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      What makes you think that the universe and the creator are actually separate? We grow our hair, don't we?

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    64. Re:Why should we believe what they say? by Marxist+Hacker+42 · · Score: 1

      Nice to hear somebody else say it- I noticed it only recently though- when my own profession fell to the scam du jour.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  3. "Agile" works when you're located together... by Not_Wiggins · · Score: 4, Insightful

    There's a serious problem with agile methodology and outsourcing (I didn't see any articles on Economist.com related to outsourcing, but may have missed it as I gave it only a cursory look).

    Large and unwieldy projects benefiting from agile methodologies? Yeah... when you have easy communication between the "customers" (business partners) and your IT staff.

    How does that happen when your developers are thousands of miles away, in a different timezone, with a totally different culture, and don't speak your native language?

    --
    Diplomacy is the art of saying, "Nice doggie!" until you can find a rock.
    1. Re:"Agile" works when you're located together... by Timesprout · · Score: 1

      I think this is one of the least recognised spects of agile techniques, particularly XP. While as first glance they look quite chaotic they actually require a huge amount of discipline and vast amounts of interaction. Obviously this is not an approach that scales well so when the project team reaches double digits as even moderate sized projects frequently do its time to look for alternative. Also its unusual for customers to be in a position to free their staff for the extended periods of time something like XP requires. I am a fan of most aspects of agile methodologies but for bigger projects I think a more traditional engineering approach reaps greater benefits and reduces management complexity.

      --
      Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
      What truth?
      There is no dupe
    2. Re:"Agile" works when you're located together... by Blind+Joe+Death · · Score: 2, Informative

      Two weeks ago, the Economist published a survey on outsourcing. Their "surveys" are extensive reports, consisting of about 14-16 printed pages, and 10-12 separate articles. It covers the topic from several different angles, and its helpful to see outsourcing in all its complexity, rather than the "Indians took my job, outsourcing is evil," perspective that dominates here.

    3. Re:"Agile" works when you're located together... by TheClarkey · · Score: 1

      And this is how western developers will strike back. Quality and agility will be the differentiators that will allow western programmers to come back against outsourcing and the big corporations. Do you think Bob wants to pay lots of money to a faceless IBM exec for his system? When he's a small fish in IBM's big ocean of accounts? Or would he rather pay Charles and his small company to do it where Bob knows that he'll be Charles chief client?

    4. Re:"Agile" works when you're located together... by Freddles · · Score: 1

      I didn't see any articles on Economist.com related to outsourcing

      Actually, they've given this topic quite a bit of coverage over the last year or so.

  4. Telecom failures in France by jeanluc.bonnafoux · · Score: 2, Informative

    Translated from a a french newpaper:
    "The historical operator, his Orange subsidiary company and Bouygues Telecom have all three known, in the last seven months, of the significant breakdowns, depriving their customers of telephone service for durations varying from a few hours at almost two days.The succession of these events clarifies the increasing complexity of the systems of telecommunications and the difficulties raised by the needs, news, of interconnection of many heteroclite networks". A minister in the french government as asked for a study about all these failures :-) I'm not sur it will help...

    --
    le souvenir d'une certaine image n'est que le regret d'un certain instant (M.Proust)
  5. Homogenous Standards by qualico · · Score: 2, Insightful

    Hardware complexity can be reduced with homogenous environments.

    Good planning, documentation and standards reduce complexity in software.

    How much more do they have to complicate the issue?

    1. Re:Homogenous Standards by MyLongNickName · · Score: 1

      Pretty straightforwawrd to me. Not every magazine writes to a 5th grade audience.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    2. Re:Homogenous Standards by Anonymous Coward · · Score: 0

      Actually, for natural reasons, standards tend to be much more fully specified for hardware than for software.

      Thus you don't need a homogenous hardware environment, and that's a lucky thing, because you often can't keep systems or components homogenous for more than a few months anyway, due to the pressure on vendors to shorten the product lifecycle.

      Instead you develop a strategy which deals with replacement, performance upgrades, and technology change. That goes for hardware and software both.

      I agree that it's worth making the effort to have strong consistency between systems when you can get it, but you have to realize that you're in a constant battle against entropy. That's why interoperability is such an important principle in system design, because you never want to find yourself in the hands of a single supplier for some crucial component.

    3. Re:Homogenous Standards by raddan · · Score: 1

      But heterogenous environments help mitigate security problems. They are harder for a cracker to get through, less susceptible to virii and malware, and when parts fail, they tend to be less catastrophic because you are running different architectures. The trade off, of course, is in ease-of-administration, but in my experience the time spent running heterogenous hardware/environments has paid off big time when there is a problem. Complexity makes things difficult, yes, but that what I'm paid for, no?

    4. Re:Homogenous Standards by Anonymous Coward · · Score: 0

      While these are certainly good and necessary ideas, they can only slow the increase in complexity. Take, for example, a simple problem like sorting. Planning, coding skills, documentation, and other such things will allow you to reduce the complexity and increase the efficiency of your implementation. However, they can only go so far. It is impossible to write code that will sort a randomly arranged list of 10^1,000,000,000 integers on a C64 in less than 1 millisecond, regardless of your choice of algorithms, coding skills, etc.

      Apply this to a more complex problem, like modeling the sun on an sub-atomic level, and it becomes non-trivial. While everything could be done right and give, say, a 30% reduction in complexity, it remains an absurdly complex problem.

    5. Re:Homogenous Standards by qualico · · Score: 1

      lol.

      Yes I doooo agree.
      I love to get paid :->

      I for one welcome my new heterogenous overlords!

  6. That last link by AndroidCat · · Score: 1

    That last link is premium content. Anyone have a bypass? Apparently I can't even sell my soul for it. (Just as well, they'll have to timeshare with the NY Times.)

    --
    One line blog. I hear that they're called Twitters now.
    1. Re:That last link by skids · · Score: 2, Insightful

      Yes it was fascinating reading. I was so looking forward to that last article (Maybe I will try bugmenot, been meaning to.) I even for a split second thought about giving up my information and registering. But then, I thought... you know, if I was having trouble getting people to register to my website, wouldn't a trail of breadcrumbs in a ./ article do the trick?

      Sorry, no nibbles from this fishy.

    2. Re:That last link by Akki · · Score: 3, Informative

      The premium article, naturally, is the worst of the bunch. It reads like the introduction to a Software Engineering textbook, padded with endless definitions of "regression testing", "open source", et al and contains almost no actual content. It may be interesting to the Economist's readers, but I doubt it is to very many people on Slashdot.

  7. Do simple things by barcodez · · Score: 4, Insightful

    People tend to make things over complex if you let them. Bosses want that technology they read about in whatever PHB read these days. Such and such wants some TLA to do some other TLA.

    I know it's hard but you have to tell them that these things don't add any value in and of themselves. You want the simplest possible system that will solve the problem at hand. Really, nothing more, don't implement something because you may want/need it tomorrow 'cos when tommorrow comes it won't be right (and if it is, hey, you can implement it then).

    --

    ----
  8. Agile Programming Isn't a Silver Bullet Either by Greyfox · · Score: 3, Interesting
    I've seen it work well and I've seen it work poorly. If all you have programming or managing on your project are chimpanzees, telling them to use scrum (or whatever) will not help you.

    I'd say just hire good people and keep the managers focussed on just a few projects, but this seems to be beyond the capabilities of most companies. So you end up with programmers who write Java like it was fortran and managers who juggle so many projects that they barely know your name much less what you do for the company. There doesn't seem to be a fix for this which companies will be willing to accept.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Agile Programming Isn't a Silver Bullet Either by Prof.Phreak · · Score: 1

      Sorry for being ignorant, but what the hell is `Agile Programming'?

      (is it another spin on extreme programming?)

      --

      "If anything can go wrong, it will." - Murphy

    2. Re:Agile Programming Isn't a Silver Bullet Either by Greyfox · · Score: 1
      Yeah, it's an offshoot of extreme programming. Scrum seems to be a pretty popular methodology in agile programming, and really the only one I've run across. If you have a good feedback loop with your customers and other developers, it works great. If you can't name everyone on your team and tell who wrote what code just by the comments and naming conventions they use, it probably won't work so well for you.

      You can mix and match scrum and other bits of extreme programming or other processes. But like I said, the best process in the world won't help you much if your people suck.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    3. Re:Agile Programming Isn't a Silver Bullet Either by Prof.Phreak · · Score: 1

      Thanks.

      But like I said, the best process in the world won't help you much if your people suck.

      Heh. That's a given :-)

      --

      "If anything can go wrong, it will." - Murphy

    4. Re:Agile Programming Isn't a Silver Bullet Either by Qui-Gon · · Score: 2, Interesting

      Right on. Execution is everything (in any business). Fred Brooks tried informing the software community of this ~20 years ago.

      People are everything on a software project. You can't put 1000 monkeys on 1000 type writters (pay them bananas) and expect the next great novel (or great piece of software). You can try but, it just ain't gonna happen. The reason IMHO is drive. Your typical "code-monkey" (or whatever derogatory slang term is used now a days) is only there for the "bananas". An engineer on the other hand, has two drivers - pride and fame. Every person who calls themself an engineer always wants to look like the smartest guy in the room. Don't get me wrong... engineers want money as well... but they know that the path to real fortune starts with credibility and acknoledgment.

      Some might say outsourcing is an exception to this... That you can come up with great software without the need of strong enigneers (and people who really have an attachment to thier work). To me, outsourcing is the equivalent of fast food -- Its great for a quick meal. Its cheap. Its solves your immediate problem (aka hunger). But it isn't going to be good for you in the long run. Outsourcing companies are about one thing -- Cashing in on the slumming american economy that is still tech hungry.

      --

      We are blind to the Worlds within us
      waiting to be born...
  9. MAGIC, COMPLEXITY ARE INCOMPRESSIBLE by museumpeace · · Score: 4, Insightful
    fascinating read that, but facile too.
    All the management of complexity now takes place within the network, so that consumers no longer even know when their electricity or water company upgrades its technology. Thus, from the user's point of view, says Mr Benioff, "technology goes through a gradual disappearance process."
    [from the article]
    This push to make [for the user] simple what is after all increasingly complex, can only hide, not eliminate the role of the nerd class, a role the article disparages because nerds are presumed, as the inventors, to have foisted off complexity on the unwitting public. Was it Heinlein who said that "any sufficiently advanced [or was his word complex] technology is indistinguishable from magic"? The wish, on the part of typical users and marketers, that all the wonders of our age and those ages coming next should all just work like magic will in fact only ADD the complexity of UI technologies that are good at hiding the guts of the systems we depend upon. The the engineers and technicians will be as needed as ever and get even less sympathy from a public that never sees directly what it is that the "nerds" are doing for them.
    --
    SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
    1. Re:MAGIC, COMPLEXITY ARE INCOMPRESSIBLE by Anonymous Coward · · Score: 2, Informative
      Was it Heinlein who said that "any sufficiently advanced [or was his word complex] technology is indistinguishable from magic"?

      Was Arthur C. Clark, I believe. And the corollary to that is something like:

      Any technology that IS distinguishable from magic is not sufficiently advanced.
    2. Re:MAGIC, COMPLEXITY ARE INCOMPRESSIBLE by Arrowroot,+son+of+Ar · · Score: 1

      That is Arthur C. CLarke's Third Law...

    3. Re:MAGIC, COMPLEXITY ARE INCOMPRESSIBLE by Headw1nd · · Score: 3, Interesting
      This push to make [for the user] simple what is after all increasingly complex, can only hide, not eliminate the role of the nerd class, a role the article disparages because nerds are presumed, as the inventors, to have foisted off complexity on the unwitting public.
      I think the consideration you should take in that article is distiguishing what we will call the "common nerd" and the "ubernerd".

      When a technology is in an underdeveloped state, the use of that technology is very complex. It requires a certain level of knowlege to do anything, thus the employment of large numbers of people whose primary asset is the knowlege of technology X. As these are the gatekeepers of the technology, the interface is designed with their needs and knowlege in mind. As the technology develops, the interface to that technology simplifies. The gatekeepers obsolesce, even though the technology has grown more complex. Certainly, very talented individuals are at work behind the scences developing and maintaining the technology- but they are behind the scenes. You don't need to deal with them to use the technology.

      I don't think the intent is to blame complexity on nerds, but to point out that most new technology is designed for consumption by nerds. The nerds are still gatekeepers, and access to technology in nerd-mediated. Today we see a huge demand for the "common nerd" in a very public role: maintaining IT systems. In the future, the gatekeepers will, like in technologies before, obsolesce. The "ubernerds" of the future will still be at work, but far from the public that uses their services.

  10. Complexities aren't going anywhere by GreenCrackBaby · · Score: 4, Interesting
    For an outsider looking in, perhaps it's easy to look at something like Google's 23-word front page and say "why can't they all be like that!" Too bad most systems need more than one form element to allow the user to interact with the system. Can you imagine someone telling Adobe to reduce their Photoshop interface down to one or two buttons? It would make no sense simply because editing a digital image is far more complex a process than 'search the web for these terms' to a user (though both may have similarly huge code bases behind them).


    Complexity in IT isn't going to go away. In fact, I'd argue it is a necessity. There are some tasks that simply require complex systems and those complex systems require complex data and/or complex user interfaces.

    --

    "The market alone cannot provide sufficient constraints on corporation's penchant to cause harm." -- Joel Bakan
    1. Re:Complexities aren't going anywhere by Billly+Gates · · Score: 4, Interesting

      But here is the problem. All the complex systems don't talk to each other.

      The IT manager who quit from JP Morgan was a perfect example. You have 450 applications talking to each other and a user calls the helpdesk and demands an answer right away. What caused the problem? Which layer? Which application was doing what to the data?

      Microsoft was hot for awhile with the IT managers in corporations because all the dcom/com/ole applications can interact with each and become one. This can help the problem tremendously.

      However there is no standard protocal between all the vendors. That needs to change before vendors start with their own proprietary versions that only work with their products.

      If an application uses several layers and it screws up there has to be a way to trace and find out what happened.

      Perhaps a new opensource protocal could help? I like that idea.

    2. Re:Complexities aren't going anywhere by GreenCrackBaby · · Score: 4, Interesting
      All the complex systems don't talk to each other.


      I'd argue that is a near-impossible task. My background is in billing systems, so I'll give an example from that realm...

      Our company makes billing systems that end up producing your telephone bill. Sounds simple, but the billing system alone clocked in at over 6 million lines of code. Then you have the other two big necessary systems: a CSR application (such as Siebel) and a provisioning system. Not to mention hundreds of smaller apps that feed/collect data from each application. You have no idea how complex the infrastructure can get!

      But it's not just that complexity. In our billing system, a customer's account was important because we needed to know who to charge for each transaction. In a CSR application, they care about who to contact. In a provisioning app, they care about where the account is physically. This leads to a different approach to designing something as simple as the account structure in the database. It's not something that could be standardized because each application needs to look at the data differently.

      There was some hope of standardization with middleware applications like Vitria, but what we found is that we'd spend insane amounts of time building code that translated our account between our billing system and some common model held by the middleware. The complexity didn't go away -- it got worse!

      You won't ever see a standard vendor protocol. Not for lack of wanting one, but simply because it's impossible.

      --

      "The market alone cannot provide sufficient constraints on corporation's penchant to cause harm." -- Joel Bakan
    3. Re:Complexities aren't going anywhere by aoteoroa · · Score: 3, Insightful
      From the article:

      Can you imagine someone telling Adobe to reduce their Photoshop interface down to one or two buttons? It would make no sense simply because editing a digital image is far more complex a process than 'search the web for these terms' to a user (though both may have similarly huge code bases behind them).

      You hit the nail on the head. Software is complex when used to solve complex problems and easier for simple tasks.

      A simple accounting package such as QuickBooks can seem tough to use for a user who doesn't have a basic understanding of bookkeeping. OTOH some software is so easy to use that people take it for granted. My girlfriend needed an office suite on her computer so I installed OpenOffice. Because one word processor is very much like every other wordprocessor she started using OpenOffice right away and had no problems even though the only other word processor she used is WordPerfect.

    4. Re:Complexities aren't going anywhere by wastingtape · · Score: 2, Insightful

      Yes, Google is an extreme example, but it still illustrates an important point (which you alluded to):

      You have a another good example, Photoshop. Photoshop is actually rather well orgnaized (well, version CS that is, 7.0 still feels awkward). Not every button is displayed on the interface. When a tool is selected from the tool pallette additional options appear at the top in a context sensative tool option toolbar.

      Contrast that to Word. In Word you open it up and to create a new document (i know it does it by default, this is only an example). You can choose File > New or click the button on the toolbar or click "Blank Document" in the taskpane on the right. Three visual ways to do the same task, but they all end up being different. The buton on the toolbar will create a New "Blank Document" (but of course, the only way you would know that is by testing. Clicking File > New only reveales the task pan giving you the option of what kind of new File you'd like to create. Of course, the problem here is if the taskpane is already open then choosing File > New appears to do nothing. But it gets better. Once the user notices the taskpan they are then barraged by a selection of options which include a list of thier most recently acceesed documents, a list of templates, links to microsoft, and of course "Blank Document" (though most beginning Word users never choose Blank Document as thier first choice from my observations).

      You see the difference I'm referring to though? A system can contain many buttons but still be layed out in a logocal work flow, presenting users with the options they expect. The same system can also be strewn about a confusing maze of dialog windows or different ways to do things with no visual distinguishing between them. (i don't know how many users i've had click the Print button on the toolbar then complain to me that it didn't let them choose the network printer they wanted to send thier document to.)

      I've had a similar discussion with my previous CTO about this topic. He argued that software needed to be designed to in such a way that it did not require training. My opposing point was that software is already designed that way and has proven to not work as easy as it should (think MS Word). Instead consider a bicycle. It's a simple but efficient design that requires a minimal amount of training, yet, once the training is received, a very large amount of utility can be drawn from it. Software like Photoshop requires a minimal amount of training (as compared to Word) but yet can yield very high results within that small amount of training. (Even though it's easy to drive a car we'd never let individuals w/o training out on the road!)

    5. Re:Complexities aren't going anywhere by Zangief · · Score: 1

      You hit the truth.

      If something is simple, people will pay less for it. The money is in complex systems.

      If everything is made simple, a lot of companies (or even, lone hackers) can provide the system. Then, the competitive edge you get by using IT is gotten from a complex system, again (because your competition has the simpler systems)

      Complexity isn't going to go away, because that is where the money is.
      --
      Informacion sobre Robotech

    6. Re:Complexities aren't going anywhere by Kevin+Stevens · · Score: 1

      In 1998 someone might have said the same thing, putting a search engine in place of photoshop and saying "imagine completely stripping out all boolean operators from search engines to simplify the interface"- it would make no sense simply because searching through millions- billions of documents is a far more complex process than .

      However, here we are today, and I just type a few terms into google, and 95% of the time, I get exactly what I want... almost magically.

      I can imagine an interface to photoshop where there there is just a command box that you could do things like type "fix blotches" or "make water blue."

      I am not saying I disagree with your argument or saying that photoshop could or should be reduced to a one button interface. However, I think it is a bit shortsighted to say that complexity is a necessity.

    7. Re:Complexities aren't going anywhere by ealex292 · · Score: 1

      sure you could reduce it down to just one button and a textbox. Command line interface would work great for photoshop (ie, draw(16,5))

    8. Re:Complexities aren't going anywhere by nikster · · Score: 1

      You need to take a step back and ask yourself: What is the complexity of the problem? And: What is the complexity of the solution. The best possible solution will be as complex as the problem - a bad solution will be much more complex than the problem.

      And i think the latter is what makes these systems so insanely complicated. The larger the system, the more little design weaknesses affect the whole, until you end up with an unmanageable mess.

      This can happen even in small apps. The people involved will not see the complexity of the original problem anymore because they are so involved with "solving the problem at hand" which is the complexity of the solution.

      But it's an order of magnitude worse in large apps, and another order of magnitude worse in assemblies of (lots of) apps.

      Finding a way out - and this is my belief - requires ingenuity and guts. You need to design a better architecture for all of this, which is a major task on its own, but you also need to find a transition strategy that has guaranteed no downtime which is just this: Damn difficult. Methodologies and SE buzzwords are not going to save you - you will have to think hard.

      Very good people is what you need.

    9. Re:Complexities aren't going anywhere by LadyLucky · · Score: 1
      In healthcare, there is a well defined interface called HL7 for messaging between systems. It is not without its problems, but can work. More recently, HIPAA has defined interfaces for talking to insurance systems.

      I don't know about the relative complexity of billing with healthcare software, but don't completely despair.

      It does however almost always require an integration engine (shameless plug for our Rhapsody Integration Engine) in order to translate between differences in interpretation and coding.

      --
      dominionrd.blogspot.com - Restaurants on
  11. A Lot of Silliness, and Two Spectacular Points by Onimaru · · Score: 5, Interesting

    So a lot of this space was spent explaining to Joseph P. Siquespack, Esq. what a "protocol" was and the like, but there were two points in here that I'm really glad my great-grandboss might be reading:

    1. A system should be designed to fail in a predictable way. Much like a car body, it should crumple to protect its most valuable assets, and repairs should have obvious beginnings, middles, and ends.
    2. Obsolete systems will cause you more downtime in the end than incremental upgrades. And, what's worse, it will be all at once instead of at 4am twice a month on Saturday morning.

    Neither of the above are impossible goals! They can be done with a little thought and elbow grease. And the great part is, they're probably already being done! Next time you're reading over your IT department head's recommendations for a project, call them up and ask WHY. You might be amazed at how awesome the answer is, and it might even persuade you to put away the "my way or the highway" stamp.

    --
    adam b.
    1. Re:A Lot of Silliness, and Two Spectacular Points by stratjakt · · Score: 2, Insightful

      Obsolete systems will cause you more downtime in the end than incremental upgrades. And, what's worse, it will be all at once instead of at 4am twice a month on Saturday morning.

      The problem is, that's at odds with the "if it ain't broke don't fix it" wisdom.

      Also, there are no incremental upgrades if you're running custom software under MPE on an HP mainframe. There's only (usually very expensive) migration to something else.

      --
      I don't need no instructions to know how to rock!!!!
    2. Re:A Lot of Silliness, and Two Spectacular Points by rocjoe71 · · Score: 1
      The problem is, that's at odds with the "if it ain't broke don't fix it" wisdom.

      Of course you have a point, but there's something to be said for anticipating the need for change.

      Old hard drives are going to punch-out sooner or later, your webserver might work with IPv4 today but someday IPv6 might be your only option, etc.

      If-it-ain't-broke-don't-fix-it is a nice countermeasure to "change for change's sake", but it shouldn't exclude the opportunity to future-proof ourselves, right?

      --
      Height: 38U, Weight: 0 Newtons, Eyes: #0000FF, OS: Gray Matter 1.0 (Alpha)
    3. Re:A Lot of Silliness, and Two Spectacular Points by johnjaydk · · Score: 2, Interesting
      The problem is, that's at odds with the "if it ain't broke don't fix it" wisdom.

      That guy is my boss: We don't do patches, they only break stuff. Build a stable system and never touch it again until we throw it out (years later).

      Just today we had a box owned: Red Hat 7.3 (unpatched) and Tomcat 3.3. It took two years of neglegence with that box. We have other box'es that's older than that ..

      Right now we are (i shit you not) migrating our self-service system to .not, including access to all your phone records. Combine loads of personal sensitive material (who calls who) with MS servers and anti-patching strategy. Of course the ISP section of the company is moving in exactly the opposite direction MS to Linux.

      --
      TCAP-Abort
    4. Re:A Lot of Silliness, and Two Spectacular Points by Zangief · · Score: 1

      Obsolete systems will cause you more downtime in the end than incremental upgrades. And, what's worse, it will be all at once instead of at 4am twice a month on Saturday morning.

      Not always true.

      Giving support to MSDOS 3.0? Yes it will give you more downtime

      Good old IBM mainframes? NO, IT WON'T. In fact, quite the opposite.
      --
      Informacion sobre Isaac Asimov

    5. Re:A Lot of Silliness, and Two Spectacular Points by Anonymous Coward · · Score: 0

      "A system should be designed to fail in a predictable way".

      The term used for this is "antibugging". Test for things that shouldn't happen and figure out how to make them soft-land. Collect failure information so that the problem can be swiftly diagnosed and resolved. Keep the architecture clean so that an emergency change will be restricted in the damage it can cause if the change doesn't work. Keep a set of recovery tools in case the worst happens and make sure they're up-to-date.

  12. Great opportunities for companies that get "IT" by Boss,+Pointy+Haired · · Score: 3, Insightful

    Sure, information technology is becoming ever increasingly complex; but it is also a great opportunity for companies that have the management able to deal with that complexity to excel and outperform their competition.

  13. Chinese Slave Labor by Anonymous Coward · · Score: 2, Interesting
    The problem is that American politicians want to integrate the Chinese economy and our economy. In this combined economy, whenever Beijing intervenes in the Chinese economy, that intervention also affects the American economy. Yet, American politicians continue lying, "The USA has a free market because Washington does not intervene."

    What we should do is to terminate all trade (including goods and services -- which includes labor) with mainland China. Ditto for India and Mexico. Until the Chinese, the Indians, and the Mexicans commit to free trade and Westernization, we do not trade with them.

    Further, we deport all the H-1B workers.

    1. Re:Chinese Slave Labor by Anonymous Coward · · Score: 2, Interesting

      Further, we deport all the H-1B workers.

      Tell you what, at this point, there's no point in doing this. Instead, I say we let these people come over and enjoy our crappy healthcare, crappy retirement fate, crappy work environment, and crappy housing situations, while India accepts the same number of people to take their American money and live like kings (or at least moderately wealthy princes) over there. Or maybe I'll go move to Spain. Work all morning, work in the evening, sleep all afternoon. Sounds like the good life to me. Or Austraila, being "down under" sounds like fun, and the accent is pleasing to me.

      The balance would instantly snap back to normal if people were allowed to be as global as companies Until then, the companies will simply move from population to population leaving a mess of people who are no longer trained to do anything but the jobs that the company took with it as it goes. Countries make loud noises about people "stealing the jobs of locals" but when IBM packs up a call center and moves it, a few million dollars to the local politicos' campaign funds and suddenly they're not stealing jobs, they're simply doing that thing corporations do.

    2. Re:Chinese Slave Labor by smurf975 · · Score: 1

      Hey if this happens ,shorter version here.

      It should make your dreams/ideas come out. Or like this guy put it The collapse of the dollar will be better for Americans.

      And you will get what you asked for

      --
      -- I don't buy it, I grow it.
    3. Re:Chinese Slave Labor by tarunthegreat2 · · Score: 5, Interesting

      Of course, I'm feeding a troll here, but India has been on a path to "westernization" for about 200 years now, ever since the British East India Company first set foot on the shores of Calcutta. India alreasy has a "western-style" political and economic system, so STFU. Our laws are based on British Common Law - newsflash - so are American laws. We VOTE our leaders in to power. When two companies have a dispute ove a contract they go to court. When we want to make laws, they have to passed by two houses of parliament. Parliament happens to be this big place where elected representatives gather - to pass laws. Oh, and the unofficial offical language of India is ENGLISH. Imposing this system on a culture which has been transforming and transitioning for the past 1900 years going from Hindu - to Buddhist- To Muslim - to British is going to produce results which will be very different from what a pitifully young country like America isn't used to seeing. So just get the fuck over it. Finally this commitment to free trade that you talk about - The developing countries are ready & waiting for it. It is America that can't handle freeing trade in agriculture and industries like steel. It is USA which puts quotas on garments. Look up any textbook: quota != Free Trade. If you think an Indian software engineer is cheap, wait'll you discover the price of an Indian orange, or an Indian T-shirt. But you won't know about those because trade in those items is not "FREE". And it's not free because the EU and America want it that way. Because Billy Bob with-mouth-in-straw living in a redneck county of a red state just voted the current monkey into the white house. Now go back guarding the bridge, trolly-wolly.

    4. Re:Chinese Slave Labor by Anonymous Coward · · Score: 0

      DOH! That should read straw-in-mouth. Hey I'm Indian - it's against my non-westernised culture and religion to preview.

    5. Re:Chinese Slave Labor by Anonymous Coward · · Score: 0

      so basically what you are saying is the British raped the hell out of India. I agree.

  14. Bad Links by prince+hal · · Score: 0

    The links I tried resulted in a page that announced I was trying to access "premium" content, and then asked if I wanted to subscribe for a month (~$20) or a year (~$90). In other words, that was a dumb thing for you to do, wasn't it?

  15. Corporate politics and crappy developers by Anonymous Coward · · Score: 0

    As long as corporate politics, and the associated middle management war games, as well as managers that can't see beyond a programs graphical user interface (especially the details..), keep on dominating it development, the software systems mess will be uncontrolable. The more complex these systems become, the more problems will be created regardless of the technology and/or development methodologies that are being used. Untill the day that the people in charge finally start facing reality instead of living in a dream world nothing will change. Of course the fact that there are a lot of cheap and worthless analysts and developers out there promising these people heaven with any new proposal (and eventually delivering hell) doesn't help either.

  16. Just Engineering Taken to its Logical Conclusion by smug_lisp_weenie · · Score: 5, Insightful

    Engineers love to break things into smaller parts, each part serving one and only one function, like pulleys, shafts, rotors, etc.

    For really effective design each part has to serve multiple functions, like evolution is able to do: The human mouth can be used to eat, breathe, talk, etc etc.

    That's why a robot can't compete with an animal- In a robot each part usually severs only one function, making the machine inefficient as a whole.

    This problem is just magnified in computer software and will only get worse unless engineers start changing their tune. I think the worst offender of this philosophy is object oriented programming: It's the ultimate embodyment of this philosophy- Most big object-oriented software have only about 2-3% of code that performs any real work, with the rest only is window dressing to fulfill the engineer's urge to "modularize".

    The best software I see seems to be written either in more pragmatic procedural styles, or uses better mathematical underpinnings for its structure, like you'll find in functional programming languages (Haskell, Lisp, etc.)

    My apologies for living up to my user name!

    Conrad Barski

  17. Near Max Complexity of Industry by Teancum · · Score: 4, Insightful

    The problem with trying to compare the software industry to other endeavors of human experience is that in the realm of the computer/electronics industry that most software developers are dealing with, you are near the pinacle of dealing with abstraction of complex systems. While there may be other very complex systems that on a large scale can compare to some computer networks or CPU designs, computer science is the practice of dealing with abstractions on many levels, sometimes simultaneously.

    Indeed, electronic state machine digitial computing devices (also called computers) have proven so successful, with the software abstraction dealing with the various levels of abstraction, that they are used in the controlling of other complex systems, from air traffic management, urban water system management, freeway traffic monitoring, and law enforcement dispatching. You've seen them, and they are out there.

    Some very talented engineers have done a surprisingly good job of simplifying the tasks and reducing the abstractions to the point that all you need to do for the most part is plug it in and watch the gizmo do its thing. What this article in the Economist seems to be doing is complaining that the job isn't finished, and that complexities in setting up a computer system for some project is more difficult than it should be. That is primarily due to the fact that the author is using products that don't comply with standards (a real problem if standards don't exist yet for a certain concept or technology) or they are using the wrong tool for the job, like using a hammer to put in a few screws. Sure, it will work, but it is aggrivating and sometimes takes quite a bit longer to get the job done, and can damage things around it as a side effect. How many software/electronic gizmos out there do you know get used like that?

    While I'm willing to acknowledge that I don't know everything there is to know about the management and organization of complex systems, I would be more inclined to get the opinion on such a subject from a computer programmer than from a plumber.

    1. Re:Near Max Complexity of Industry by Fulcrum+of+Evil · · Score: 2, Insightful

      What this article in the Economist seems to be doing is complaining that the job isn't finished, and that complexities in setting up a computer system for some project is more difficult than it should be.

      Did you notice that the author seems to be complaining that enterprise datacenters are composed of products from multiple vendors? I can't see a datacenter turning into something simple and easy - that's like expecting an assembly line to come in a consumer version.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    2. Re:Near Max Complexity of Industry by Anonymous Coward · · Score: 0

      I wondered at that too.

      But then, in my view, the entire analysis was a perverse reinforcement of ignorance for the benefit of those readers who take pride in their technical illiteracy. I suppose it would be unkind of me to suggest that the Economist might be oriented toward such a readership, but certainly the article is at least.

      The "follow the byte" narrative would otherwise have been cute, even though it's been done before and in better style. At least Tracy Kidder in The Soul of a New Machine was trying to motivate some aspects of system architecture to a readership which, to be fair, might never have seen a computer at close quarters. By contrast, the Economist article is merely trying to build an emotional inference, namely that because a byte traverses a number of subsystems, it somehow follows that the technology only works "with luck" and therefore must be in a "catastrophic mess". No actual evidence is presented which supports this claim; we are simply supposed to be made queasy and suspicious at all the stuff going on under the covers.

      Of course, an argument like this denies the whole premise of system design, which is that systems can usefully exploit hierarchical abstractions. Come to that, even a byte is such an abstraction. We don't need to know about how many millicoulombs of electric charge has to be maintained by some shift register in order to use the concept of a byte to construct abstractions at a higher level. And, to return to your comment, we are consequently able to choose systems from multiple vendors precisely because they have all agreed on what a byte is!

      That said, nobody really expects that designing a complete data infrastructure will be trivial, do they? Apart from the Economist, perhaps. After all, it's "just" moving some bytes around. Those stubborn technology people should simply get rid of all the complicated stuff in the middle.

    3. Re:Near Max Complexity of Industry by Teancum · · Score: 1

      A typical kitchen...even a kitchen for a commercial service like a 4 star restaurant, has equipment and supplies from multiple vendors, and distribution channels at least as complex if not more so than what you would see from computer vendors. And the items in that kitchen have to be delivered in a very time-critical nature as well (like fresh lobster served in Kansas or Montana).

      A typical chef doesn't have to deal with worrying about wheither the egg beater or frying pan is going to have an incompatable power source, or that the cooking oil for the fried egg rolls won't also work for onion rings. There is quite a bit of standardization in that industry, and most of the technical issues have been established for quite some time...even on "new technologies" for that part of the industry.

      In this case you cite, you have a major datacenter with multiple databases and multiple purposes who are being sold often as stand-alone tools or worse yet have a sembalence of "cross-platform" compatability but takes a full-time software engineer to really make that happen...at the customer level. I can see a data center becoming as easy as connecting a consumer-level home entertainment system (also an example of standards from multiple vendors working together). It just takes time to figure out just what should be the "standards" between the various databases and how the various vendors are at an advantage to stick with the standardizing protocols and connections.

      The problem is that you got companies like Microsoft that want to exploit standards for their own ends, but make everything incompatable for anybody else. I could mention other companies, but the point here is that for a short-term profit gain, some companies deliberately try to make their products totally incompatable with anything else.

  18. Poppycock! by Anonymous Coward · · Score: 0

    Anyone who claims that it's the engineers who are responsible for "feeping creatureism" evidently has no real knowledge of product development, or is a self-serving marketing drone.

  19. Re:The comments here underline the problem by SlashHoe · · Score: 2, Funny

    All my programs would have a great interfaces if they only had 1 boolean variable in it. A light switch is very simple. But try connecting it to the internet, email a friend and do your accounting with a light switch.

  20. Using Firefox or Mozilla? - BugMeNot by Poulpy · · Score: 2, Informative

    Ever heard of BugMeNot?

  21. Re:Just Engineering Taken to its Logical Conclusio by TheLastUser · · Score: 3, Insightful

    To paraphrase oo doesn't make messy code, messy people who mis-use oo make messy code.

    I think the main problem with what, aparently all of us, have seen with oo code, is the universities. The coding style that is taught in universities makes for really ugly, unmaintainable code.

    If you cram 100 abstractions and modularization into a project in university, you get an A and every one says how clever you are to have used all of these features in your project. Do the same in the real world and you are left with unmaintainable blech.

    People have to learn that the various oo features are there to help them simplify their code, not to make it more complex. If using a particular modularization technique, say an interface, doesn't remove complexity then don't add it.

    Another really bad thing that people do is add code for some unspecified future purpose. Maybe they are creating a class that does some math, they need an add method and a subtract method, so they think, what the hell, I'll add a multiply and divide too. Why? All this does is make the code less readable. Never implement anything that you don't need right now.

  22. Haven't I seen your code before? by rumblin'rabbit · · Score: 1
    I have been developing software for 25 years and was well versed in structured techniques before moving on to object orientation.

    I find I can write more (internally) complicated programs because of OO. OO-based design patterns, such as Model-View-Control for interactive programs, are a God send. I can pull off computational tricks that, without OO techniques, would make an incomprehensible and unmaintainable mess of the code.

    And by making things more powerful internally, I can write applications that are easier to use. The Economist articles are correct on that point.

    The fact that you even have it out for modularization, which predated OO by decades, makes me glad I don't have to deal with your code.

    Or maybe I do. Now there's an ugly thought.

    1. Re:Haven't I seen your code before? by smug_lisp_weenie · · Score: 1

      > ... Model-View-Controller ...

      There is no doubt that MVC is a great concept and a useful vocabulary for communicating with other programmers. Must of the GOF book, in my opinion, is overrated, however. Look at patterns like the Singleton, for instance, for an example reams of source code that virtually serves no actual function.

      > The fact that you even have it out for modularization...

      A pretty radical notion, I admit. But clearly things can be well designed without modularization (like the human mouth, as an example) My point is that breaking things down until each part only performs one function is not always automatically the correct approach. There are other, still less common, paradigms to cleanly structure programs (like "referential transparency", "domain specific languages", "higher order functions") that do not carry as heavy complexity penalies as traditional OOP modularization.

      Of course, modularization needs to be understood properly as a concept by anyone who wishes to break the rules and use more modern organizational techniques.

    2. Re:Haven't I seen your code before? by MourningBlade · · Score: 1

      SLW: thanks for saying what needed to be said in a concise and well-reasoned way. There's far too little of that in this world.

    3. Re:Haven't I seen your code before? by rumblin'rabbit · · Score: 1
      Must (sic) of the GOF book, in my opinion, is overrated.

      "Design Patterns" is not overrated. It opened the door for many developers who wanted to be object oriented, but couldn't quite figure out how to exploit its power. As well, it established a language by which developers could talk to each other and exchange ideas.

      Of course, modularization needs to be understood properly as a concept by anyone who wishes to break the rules and use more modern organizational techniques.

      Well, you've got me there. I honestly do not know of any software engineering concept more fundamental than modularization, nor do I know of any successful methodology that does not use it. I may have to look at the methods you've mentioned.

      But so far as analogies with the human mouth, well excuse my scepticism. I do not have a billion years to evolve my software.

    4. Re:Haven't I seen your code before? by Anonymous Coward · · Score: 0

      His mouth is probably one homogeneous undifferentiated mass vaguely resembling a cartoon demon. Mine has teeth (subclasses: incisor (cuts), molar (grinds), canine (pierces)), a tongue (which, aside from a variety of functions, contains several subclasses of tastebud) etc.

      Like you, I am happy I don't have to touch this guy's code (anymore?).

    5. Re:Haven't I seen your code before? by smug_lisp_weenie · · Score: 1

      You are right of course that the human body does make use of modularization, as well- But not always.

      My main point is just that 10 years ago it was pretty foolish not to learn object-oriented programming, because it had a lot of great ideas to offer- Recently, however, I have been amazed by some great stuff you can do with techniques that are pretty much entirely incompatible with OOP programming and have led me to revisit my views on OOP in terms of program design in general.

    6. Re:Haven't I seen your code before? by mhackarbie · · Score: 1

      I would be interested in reading about some of your new views and techniques that you mention. Have you written anything for public consumption?

      mhack

      --
      Building a better ribosome since 1997
  23. statebased web pages can have many inputs by Anonymous Coward · · Score: 0

    I don't know what you are talking about.
    You very easily can have many different input fields for a web page.

    All interfaces are not web pages.

  24. May the Forth be with you. by Anonymous Coward · · Score: 1, Insightful

    "the advantage Lisp and Smalltalk have that other languages lack is that their syntax is so simple that extensions meld in as if they were part of the language."

    The same could be said for Forth.

    1. Re:May the Forth be with you. by TheLink · · Score: 1

      Isn't Forth about as prone to buffer flows as C is?

      Good for firmware/embedded I suppose, but let's not substitute C with something with about as much potential to be just a problematic.

      Anecdotal maybe, but I crashed a Forth webserver(zHTTP) on my first try. Typed a single quote into a webserver password prompt and poof.

      Zimmerly (the author of the webserver) said the line between CODE and DATA is blurred
      by Lisp and obliterated by Forth.

      IMO a language prone to such stuff/behaviour isn't that great from the IT Security perspective. It's like "SQL Injection" on steroids.

      --
  25. Re:Just Engineering Taken to its Logical Conclusio by Anonymous Coward · · Score: 0

    You don't understand modularity.
    If you have layered software that means that you leave hooks in to allow for easy expandability later. That doesn't mean that all layers are actual code,but can be just proxies for a possibility.

    Have you done any real development with complex systems? If so then you would understand that an engineer makes things as modular as they need to be and no more. But they design so that they can replace with better technology later.

    Could you really make a motor out of a solid block and machine it? No. So you have pieces like the carberator and the oil pump.

    Software is the same.

    You don't know what you are talking about

  26. Re:The comments here underline the problem by Anonymous Coward · · Score: 0

    >All my programs would have a great interfaces
    >if they only had 1 boolean variable in it.

    You're setting up a straw man.

    Think clicking an image in Firefox vs. running command line FTP to get a .jpg. Which one do you use without thinking in the slightest? Which one does your grandmother feel more comfortable using?

    Do you think the user cares if the tool is written in Smalltalk, C or VB?

  27. Re:Just Engineering Taken to its Logical Conclusio by Anonymous Coward · · Score: 0

    Wow, how about moderating flamebait. All the world's software SHOULD be written in PERL.

    *sigh*

    This is why your job is being exported to India. It's easier to stomach incompetent development for pennies on the dollar.

  28. I cry bullshit... by Linegod · · Score: 4, Insightful

    I hear this every damn day. 'We need to make it simple', 'It is a simple service' or 'It is a low option service'. This may work fine for the sales and marketing drones that make their commission off selling unnecessary services to uninformed customers, but as long as there is _choice_ out there, the backend is going to be complicated, and somebody, somewhere is going to have to known how all of it (or at least a major part of it) works.

    Try all you want, but unless the entire IT industry decides to switch to one massive global device that we all plug _directly_ into, you can't make video conferencing/VOIP/disaster recovery/etc through 2 LANS, 3 Service Providers and 10 different security layers a 'green/red' push button operation.

    I've gotta go get drunk now....

    --
    -- I care not for your foolish signatures.
    1. Re:I cry bullshit... by mankey+wanker · · Score: 3, Insightful

      I think I can amplify on this point. We keep hearing about "killer apps" like cell phones and so forth, and why can't computer technology be as simple as a cell phone? Etc, etc, etc...

      Hell, I can barely work my cell phone! Why? Because I am too busy keeping up with computer technologies to worry about much more than what it takes to make the cell phone place a simple call, or to return one. My point is this: the cell phone is not so simple unless you REALLY want to know how to use all of it's features and spend some time with the manual and get it all down to rote.

      If people felt that way about ANY computer technology beyond email clients and browsers they'd then have the exact same enthusiasm for the computer as they do for the cell phone.

      That's the bullshit part, that most other technologies are any more simple. Remind your parents/clients how they can't program the VCR either. Confirm for them that it's mostly a matter of the will to achieve a thing.

    2. Re:I cry bullshit... by Anonymous Coward · · Score: 0

      Most people don't use PCs like businesses do. A business (I have one) needs to do accounting, make plans and schedules, make maps to reach customers, etc. A home user only cares about downloading MP3s and porn while checking email and using a Web browser to check sports scores.

      Computers are great as long as they are used for something. Most people don't need them. A wireless PDA with email client and Web browser will fill their needs. I plan on getting one too...and a Nintendo DS.

    3. Re:I cry bullshit... by VoidWraith · · Score: 0

      Cell phones are a perfect example of useless complication. I personally don't have one, so whenever I borrow one to make a call, I have to ask the owner what buttons to press. This never happened with touchpad or rotary phones, but cellphones insiston having six or seven different buttons in addition to all the numeric digits, and even if there's a green button and a red button, sometimes you have to press the green before and after calling, or in some other arbitrary fashion. Voicemail is also hideously complex...

      Even the average user has a multitude of little icons on his or her system tray, the problem isn't merely in the IT field, although that's where it rears highest its ugly head.

      The issue is not being illustrated as a purely IT problem, but as a problem that IT needs to address.

    4. Re:I cry bullshit... by LaCosaNostradamus · · Score: 1

      Cell Phone UI Problem #1: Do you type in the phone number, THEN push the call/green/phone/whatever button ... or do you push the call/green/phone/whatever button, THEN type in the phone number?

      People look at me like I'm crazy when I ask these kinds of questions. But it's part of the basic problem of interfacing the equipment to the user. Rarely is an interface thing "obvious" ... these things are mostly a matter of convention derived some arbitrary device like a market leader.

      I became reasonably functional in the blasted cellphone I was issued by my workplace, simply by playing with the buttons, which led to menus, which led to functions, which led to my customization of ring tones, ring volumes, etc. This alone speaks of reasonably good design, I must say grudgingly. I only "had" to crack the manual to find out the voicemail password.

      --
      [You have a stable society when some nut guns down a schoolyard and the law doesn't change.]
  29. Complexities aren't going anywhere-SOAP. by Anonymous Coward · · Score: 0

    "If an application uses several layers and it screws up there has to be a way to trace and find out what happened.

    Perhaps a new opensource protocal could help? I like that idea."

    I dub thee, XML.

  30. IE also by Poulpy · · Score: 1

    Just noticed they got an IE extension also.

  31. Re:Just Engineering Taken to its Logical Conclusio by smug_lisp_weenie · · Score: 1

    > This is why your job is being exported to India. It's easier to stomach incompetent development for pennies on the dollar.

    I think my statements about parts serving only one function versus multiple functions was arguably, legitimately, interesting and on-topic for this discussion, Anonymous Coward.

    --Conrad Barski

  32. Re:Just Engineering Taken to its Logical Conclusio by smug_lisp_weenie · · Score: 2, Insightful

    > That doesn't mean that all layers are actual code,but can be just proxies for a possibility.

    If you look at a button control in the latest iteration of .NET, it has 18 levels of inheritance above it, all designed for these kinds of hooks. Are you able to break the concept of a button into 18 separate levels? I can't. Do you think this is a good design? I don't.

    > an engineer makes things as modular as they need to be and no more. But they design so that they can replace with better technology later.

    If that was really the case, I think that line of reasoning would be justifiable. Personally, though, I find a lot of the complex software written that I have to deal with is filled with good modularization intentions that would have been a lot less problematic if people had thought to themselves "Don't write what I don't need right now, today."

    > You don't know what you are talking about

    You make some good points. Why follow them with attacks?

  33. Re:Just Engineering Taken to its Logical Conclusio by smug_lisp_weenie · · Score: 1

    good points.

  34. The Economist by __aavljf5849 · · Score: 2, Insightful

    I like how this post instntly soawned a flmewar pn economy, mostly fueled by people that either don't understand
    1. that The Economist is a magazine, not the people referred to in the sentence "economists say".
    2. anything about economics.
    3. both.

    The Economist is a very good news magazine full of reasonable articles and opinions, in all senses of the word "reasonable". There is not enough praise on Slashdot to make it justice. You should all subscribe, assuming that you are interested of knowing what happens in the world from a political, economical and yes, technical standpoint.

    1. Re:The Economist by antifoidulus · · Score: 1

      Not to mention how that comment will start a spelling flamewar......

    2. Re:The Economist by TapeCutter · · Score: 1

      Why subscribe when there are places like the BBC that don't ask who you are before they let you read something.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    3. Re:The Economist by __aavljf5849 · · Score: 1

      Yeah, I have no idea how tjat happemed. I lawasy spelchek.

    4. Re:The Economist by __aavljf5849 · · Score: 1

      Because it's worth it, and because you can read a paper magazine on the toilet. :)

  35. Complexity needed for Simplicity by LucidBeast · · Score: 3, Insightful
    First article paradoxically claimed that software complexities are making things difficult, but ofcourse as anybody who has written code knows, if you want to make things easy for user you need to write more code. Lets say you want to delete a file:
    rm foo
    vs. today
    point a mouse to a file open a menu select delete or alternatively press del or alternatively drag file to the trash can.

    Code for rm could be implemented in C with handfull of lines. Todays alternatives take thousands of lines of code, but to an end user the second alternative is simple. User doesn't have to know what the commands are, just toss the file away, as you would with solid objects.

    So there we have it, simple problem becomes complex from implementation point of view. I once had a customer who joked when I delivered them a new system that calculated the price and basic layout of the systems they were manufacturing, that inspite the fact that now it took less than tenth of the time to do the calculations, that we could still improve it so it would do the calculations when he pressed a button while thinking of something else.

    It should also be noted that what was impossible few years ago is now possible, because of improvement to hardware. This adds to the layers of complexity, because implementers can actually use modular approach instead of optimizing at lowest possible level.

  36. forest through the trees ... by wobblie · · Score: 3, Interesting

    Main problems in IT in the US:

    1. Companies have gotten to big
    2. Companies try to centralize everything, instead of delegating duties to competent people (this practice also encourages hiring incompetent people). Competent IT workers are also very unhappy when they hands are tied by bureaucratic BS
    3. relating to (2), companies don't give raises or benefits anymore, which causes competent / motivated workers to hop jobs to get increases in pay
    4. People doing all the "centralizing" are ignorant of standards

    1. Re:forest through the trees ... by Pig+Hogger · · Score: 1
      1. Companies have gotten to big
      2. Companies try to centralize everything,
      ... 4. People doing all the "centralizing" are ignorant of standards
      Funny that the Soviet Union collapsed because it centralized everything...
  37. How aerospace does it by Animats · · Score: 4, Interesting
    Aerospace has dealt with high complexity for decades, rather more successfully than the IT industry. Here's how.
    • Interface specifications dominate If it doesn't work the way the spec says it does, fix the box, not the spec. If A won't talk to B, run the tests to check compliance with the spec. If you can't tell who's at fault, the spec is broken. This is why you can swap a Pratt and Whitney engine for a Rolls Royce engine.
    • The buyer, not the vendor, decides what is a "defect". One of the fundamental problems in IT is that vendors have sole discretion to decide what is a defect and what isn't. That doesn't fly in aerospace.
    • Fix blame. In aerospace, people get blamed for screwing up. You do not want your name or the name of your company to appear in an NTSB crash report. If you screw up big time, it will. Mistakes in aerospace are publicized. There's an NTSB database of 140,000 crashes. If it was a hardware failure, the vendor is named.
    • Warranties have real meaning Airplanes come with good warranties, and so do all the parts that go into them. Commercial software doesn't.
    This runs engineering costs way up, and the life cycles are longer, but in IT, most of the commercial products are sold in large numbers, so you get to spread that engineering cost over a large number of items.

    It's time for computing to grow up and accept this kind of discipline. The automotive industry had to accept it in the 1960s, and cars got much better within a decade.

    1. Re:How aerospace does it by gnuLNX · · Score: 1

      While I do agree with you I also shutter at the thought of it. I am currently starting a small scientific software company and I would never be able to get the funds to develop the software if I had to jump through the hoops that you suggest. I don't ever want the software industry to become like the automotive industry (with just a few players).

      However....we certainly need to focus on improving how software is developed...my company's success will in a large part depend on the accuracy and quality of the code. I however believe that we can develop methods that don't require umpteen billion dollars to do it.

      just my two cents worth.

      --
      what?
    2. Re:How aerospace does it by Animats · · Score: 1

      It's not really that bad. In the gambling industry, software vendors are held financially responsible for their errors. It costs GTech about 0.8% of their revenues to pay penalties. This despite contractual provisions calling for $10,000 per minute (yes, per minute) penalties for downtime.

    3. Re:How aerospace does it by TheLink · · Score: 1

      What happens if open source developers are held financially responsible for their errors too?

      --
    4. Re:How aerospace does it by Anonymous Coward · · Score: 0

      The developer provides a full refund.

      I think you're confused over the word "developer". If a company uses Linux to control nuclear reactors, then Linus doesn't somehow become liable. Linus may be lead developer of the Linux kernel, but he isn't the developer of the reactor controller. The company that sold the controller as fit for that purpose is liable, because they are the 'developers' of the reactor controller. It isn't who wrote the code, it's who certified it as safe for that use.

    5. Re:How aerospace does it by Matje · · Score: 1

      So why do you think this hasn't happened in the IT industry yet?

    6. Re:How aerospace does it by TheLink · · Score: 1

      "The developer provides a full refund. I think you're confused over the word "developer""

      "It isn't who wrote the code, it's who certified it as safe for that use."

      By whose laws? Or is that just wishful thinking?

      If they start making/changing laws dealing with this, someone better go help make sure the law makers do the right thing.

      Otherwise people like Linus COULD be made liable. Haven't you noticed the number of stupid and dangerous laws being passed?

      --
    7. Re:How aerospace does it by Anonymous+Brave+Guy · · Score: 1
      I don't ever want the software industry to become like the automotive industry (with just a few players).

      In many parts of the software industry, there are only a few players. It's just that there are many, many more parts of the softare industry.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  38. Re:Just Engineering Taken to its Logical Conclusio by version5 · · Score: 2, Insightful

    Eh... unconvincing. Organic systems are great if you don't mind a little fudging of the numbers. For example, human memory is notoriously unreliable. Combining features tends to create single points of failure and organic systems have a very narrow optimal operating environment. Try dropping the temperature by a hundred degrees or so and see how you fare. The lack of validation, if you will, on inputs, creates a significant susceptibility to viruses, bacteria, food poisoning and the like.

    There are plenty of successful organic systems, but there's a whole lot more failures, which you don't see, because they are all dead. And failure is pretty expensive.

    Also, you aren't taking into account the fact that complex computer systems perform sophisticated analysis on other complex information systems that organic systems are ill-equipped to handle. They are really best at operating on other organic systems. So if you were to design organic financial software, it would work best on an organic financial system. When you want near-instant, reliable, repeatable and accurate information, an organic system won't work for you at all.

    Its like the difference between designing a bridge over a river, and waiting for a rockslide to fill in the river.

    --

    "It's Dot Com!"

  39. really? by Tanktalus · · Score: 1

    From the metaphor FA:

    Naturally, this has struck fear into Microsoft, whose Windows system runs 94% of the world's PCs and which sees itself as the ruler of the desktop.

    Really? I heard that 87.4% of all statistics are made up on the spot ... I just have to wonder if this one is part of that majority...

  40. Re:Just Engineering Taken to its Logical Conclusio by Anonymous Coward · · Score: 0
    That's why a robot can't compete with an animal- In a robot each part usually severs only one function, making the machine inefficient as a whole.
    Robots competing with humans has nothing to do with how many functions each part is used for. In fact, as a mechanical engineer who has taught design methodology, I can say that we encourage function sharing wherever it makes sense. (Typically, it makes sense wherever it would not complicate failure modes by disabling multiple vital functions when a single part fails; or wherever it conflicts with other customer demands, such as servicability.)

    Robots haven't been competetive with humans (on complex tasks that require closed-loop control) because we lacked manufacturing capabilities at the scales required, small and dense power supplies, and computer power (both for 3D sensing and for path planning). For 3D sensing (such as image processing and inverse kinematics), the theory is complex but the code is not. For path planning, the code is currently complex, and will remain so as long as we are trying to emulate humans. But if you believe that low-efficiency, infrequently-used code is a hindrance to complex tasks, don't look at human DNA! Less than a percent of it appears to be functional. Much of it appears to be present by chance or to have survived because of some rare selection event in the distant past.

  41. Lisp,Smalltalk and complexity-Operator Overloading by Anonymous Coward · · Score: 0

    "It is very frustrating to have both automagical type and have operators that do radically different things depending upon type."

    The HP48 series calculators did that: number + number = number. string1 + string2 = string1string2

    It's called operator overloading, and used judiciously it can be a big help. It can also help in keeping bad things from happenning that a strongly typed language might not. Remember that Slashdot story about the airport that had it's communications knocked out because one of the computers wasn't regularly rebooted? The problem basically was of an overflow nature. Smalltalk would have been able to handle it because instead of overflowing, it graduated to a type that could handle the larger values. That kind of behaviour is part of being "robust", in a world that's not "strongly typed."

  42. Better colours by Anonymous Coward · · Score: 0
  43. It goes even deeper than that. by khasim · · Score: 1
    But it's not just that complexity. In our billing system, a customer's account was important because we needed to know who to charge for each transaction. In a CSR application, they care about who to contact. In a provisioning app, they care about where the account is physically. This leads to a different approach to designing something as simple as the account structure in the database. It's not something that could be standardized because each application needs to look at the data differently.
    And each programmer will look at the "problem" differently and "solve" it differently.

    Your billing, CSR and provisioning apps are each different because they serve different functions.

    But you can have two billing apps that serve the same function, yet have completely different interfaces and data structures. That's because the programmers had different approaches and priorities when writting them.

    It's the vi vs emacs debate all over again. We can't even settle on one "standard" for an editor.

    From "The Zen of Programming":

    Hearing a disturbance, The master programmer went into the novices cubicle.

    "Curse these personal computers!" cried the novice in anger, "To make them do anything I must use three or even four editing programs. Sometimes I get so confused that I erase entire files. This is truly intolerable!"

    The master programmer stared at the novice. "And what would you do to remedy this state of affairs?" he asked.

    The novice thought for a moment. "I will design a new editing program," he said, "a program that will replace all these others."

    Suddenly the master struck the novice on the side of his head. It was not a heavy blow, but the novice was nonetheless surprised.

    "What did you do that for?" exclaimed the novice.

    "I have no wish to learn another editing program," said the master.

    And suddenly the novice was enlightened.
    1. Re:It goes even deeper than that. by Anonymous Coward · · Score: 0
      It's the vi vs emacs debate all over again. We can't even settle on one "standard" for an editor.

      Er, but in that case there's no reason why everyone shouldn't use different text editors if it fits their preferences.

  44. Re:Lisp,Smalltalk and complexity-Operator Overload by MourningBlade · · Score: 1

    Oh, I'm with you on the operator overloading bit. I think it's a small issue of appropriate overloading.

    For instance:

    • number + number = addition of two numbers (no matter whether it's float, bigint, etc)
    • matrix + matrix = addition of two matrices
    • symbolic value + number = outcome such as "ax + 3"

    Doesn't make quite as much sense to have string + string = concatenation. Just something I've noticed.

    Good point about robustness, though.

  45. Re:Just Engineering Taken to its Logical Conclusio by 10am-bedtime · · Score: 2

    you can't slam modularity w/o being self-inconsistent.

    why? because to slam something means to put yourself outside of it in the first place (and pour invective on it in the second). putting yourself outside of something (drawing a boundary around it) is the essence of encapsulation, which is one of the techniques of modularity.

    so, let's be charitable and assume you don't want to slam modularity full-force, but rather some of the other techniques for modularity that often find themselves badly understood and/or badly implemented.

    btw, lisp is modular, object-oriented, etc etc, too.

    as for the invective you poured, not bad. just don't waste it in the gutter the next time 'round.

  46. PHP gets this right! by Anonymous Coward · · Score: 0

    PHP uses a period rather than a plus to concat strings. That is the smart way to do it so you always know if you use a plus, you are adding numbers.

  47. Re:Just Engineering Taken to its Logical Conclusio by Pig+Hogger · · Score: 1
    For example, human memory is notoriously unreliable.
    No, it is. For example, I know that Cowboy Neal is always the last option in any Slashdot poll.
  48. A few problems with this perception by israfil_kamana · · Score: 1

    1. Scrum, as an example of an "Agile project shell" can be quite adept at large projects. Largest one I've heard of had about twenty teams. At my recent Scrum training, one organization were finding creative ways of implementing agile processes across two continents and three major centres. You still get value from "Agile" at a distance, but it's less valuable. However, large, monolithic defined processes, such as RUP, waterfall, etc., don't work, imperically. They come in late, with less functionality than planned for, and over budget. Can they work? Yes. Where there is increasing complexity, agile approaches are better.

    2. Name me a method that works when your developers are thousands of miles away, in different time zones, with a totally different culture, and who don't speak your native language. What's that? They all suffer? In that case, why don't you go for the ones that manage complexity the best. Impirical processes (short cycles, lots of measurement, feedback cycles) work better than defined processes (requiremenents fully articulated and not changing, can be completed before the requirements are out of date, all your developers are of the same (expected) quality, all your communications are relatively noiseless, misunderstandings from documentation are within small error tolerances, etc.)

    Guess what. You might complain about agile not working at a distance, but by normal success metrics, (time, cost, quality, function) traditional methods don't work either.

    Having delivered software with both kinds of processes, I can tell you, you get far more control and corrective ability with an agile process like Scrum than with RUP on a two-year project... and you deliver business value faster.

    3. You can mix and match. Agile approaches are approaches. You can, though you incur a cost, take some agile practices and use them in a non-agile context. You can take RUP practices and use them in an Agile context. You don't get all the benefits of either, but in your specific context, you can get the benefits you choose. Each project is different, and no method properly addresses every project's particularities. But the more adaptable the process, the better. This can be either the way RUP does, by having so many steps and layers that you can choose what you need, and "lighten" it by scraping out the rest. The other approach is to have a lightweight agile management framework that is powerful because of it's feedback systems, and doesn't make presumptions about steps in the same way as a larger process. The power from the latter comes because you get constant feedback of progress in a way that is impossible to relate to business value in a more monolithic process. Because you can relate it to business value, you can constantly be tweaking the project to match the business interests.

    Pick your poison, but don't toss out the baby with the propaganda.

    --
    i - This sig provided by /dev/random and an infinite number of monkeys at keyboards.
  49. No, that's economists, not "The Economist"... by israfil_kamana · · Score: 2, Informative

    ... which is a magazine, and not to be confused with the profession. In fact, I know of a few newspapers with that sort of name: The Economist and Sun, the Economist-Tribune.

    Newspaper and magazine names are usually historical, and the words they contain have often changed meaning. For example, there is a local newspaper north of Toronto called "The Liberal". This newspaper has, for example, no ties to the Liberal Party, is not particularly philosophically Liberal (whatever that means), and is basically a local community newspaper that was named almost a century ago {more or less). What's in a name? Often, when it comes to media titles and tag-lines... nothing.

    Just rememeber, "fair and balanced" is the tagline of Fox News.

    --
    i - This sig provided by /dev/random and an infinite number of monkeys at keyboards.
    1. Re:No, that's economists, not "The Economist"... by tarunthegreat2 · · Score: 1

      Here's the Economist's definition of Liberal

  50. MOD PARENT UP by Anonymous Coward · · Score: 0

    bug me will get you in

  51. Re:Lisp,Smalltalk and complexity-Operator Overload by Anonymous+Brave+Guy · · Score: 3, Insightful

    I think the problem is usually implicit type conversions rather than operator overloading. In particular, allowing almost-random conversions between a concrete type such as a number and a string form is just asking for trouble: it's great for quick 'n' dirty scripts, but a child's toy in a grown-up world for serious projects.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  52. you should have prototyped the argument types by Skapare · · Score: 1

    Then maybe you should have prototyped the argument types so they would be checked or converted as appropriate. Dynamic typing does work (in some languages better than others); you just have to learn to use it right.

    --
    now we need to go OSS in diesel cars
    1. Re:you should have prototyped the argument types by MagikSlinger · · Score: 2, Interesting

      I didn't have time to read the whole Pike manual, but from what I can tell, it's C++'s run-time type system implemented in a scripting language setting. But the thing I notice was that you can (and usually do) declare types, even if it's just the most general type that is accepted.

      I remember in Comparative Programming Languages playing with an ML variant called Miranda. All the joys of LISP's data structure manipulation but the power of types. In fact, I remember Miranda could do some seriously cool stuff with the type signatures for functions to implement polymorphism more akin to Prolog than a functional language.

      Declaring types is good. Making promises between modules and objects is good. LISP and SmallTalk don't believe in this. They say "the programmer can do all that discipline themselves". Yeah, and they can also do their own memory management too.

      I sometimes think the advancement of the LISP concepts has been held back by the zealot LISP purists. "You must use brackets, Infidel!! ALALALALALALALA!!!"

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    2. Re:you should have prototyped the argument types by Skapare · · Score: 1

      There is a type called "mixed". It allows anything. Arrays and mappings normally consist of mixed unless you specify otherwise (like "array(string)" for an array of strings). There are also tools for checking the types. And prototypes can specify more than one allowed type (for example you can get either an integer or a string). And you can prototype for any object class, or specific ones.

      Having the flexibility of creating new classes and methods that can easily handle anything thrown at it I think is what is good.

      --
      now we need to go OSS in diesel cars
  53. Re:Just Engineering Taken to its Logical Conclusio by smug_lisp_weenie · · Score: 1

    you're right- I'm regretting having used the word "modularity", because it is almost impossible to slam such a basic concept... :)

  54. Re:Just Engineering Taken to its Logical Conclusio by smug_lisp_weenie · · Score: 1

    Admittedly, very eloquent retort.

  55. Re:Lisp,Smalltalk and complexity-Implicit Type by Anonymous Coward · · Score: 0

    "In particular, allowing almost-random conversions between a concrete type such as a number and a string form is just asking for trouble: it's great for quick 'n' dirty scripts, but a child's toy in a grown-up world for serious projects."

    The thing is, proper operator overloading isn't almost-random. There are clear rules as to what's allowed, and what isn't. For example:

    number +number = number is OK.

    number + GROB (Graphics Object 'image') would not be OK, and generate an error condition.

    Also one needs to keep in mind that strong typing is to protect the programmer against themselves. However the world we live in isn't stronly typed. Making our languages more flexible in dealing with that world while hiding the complexity of implimentation (complexity doesn't really "go away". It's always there, somewere) is the best compromise (until the underlying machine changes to a more organic model) we presently have.

  56. Re:Just Engineering Taken to its Logical Conclusio by smug_lisp_weenie · · Score: 1

    All right, all right...

    I admit my post was a bit rantish and clearly there are good uses for OOP and modularity in many instances. My point is that the underlying philosophy of deconstructionism in engineering needs to be kept in check sometimes, because it can run counter to the overall goal if applied to blindly. -Conrad

  57. Lisp, Smalltalk and complexity-Fedex by Anonymous Coward · · Score: 0

    "But businesses have standards. All you are doing is adding another language that needs to be supported which would make matters worse."

    And yet Fedex handle it quite well. And apparently others likewise have no trouble.

    Just because your having difficulties dealing with Lisp and Smalltalk doesn't mean others are.

    1. Re:Lisp, Smalltalk and complexity-Fedex by Billly+Gates · · Score: 1

      My brother is the IT manager of Fedex and the shipping system uses VB Dcom and SQL Server to index all the millions of transactions a day.

      The main tracking sytem however is mainframe and I have no idea if they use lisp or not.

  58. Convenient complexity by Mydron · · Score: 2, Insightful

    Complexity may be inevitable, but for a moment lets put on our economist hat and look at what motivates companies to tolerate complexity. While some complexity in inherent, I believe that a lot of this complexity is often accidental, sometimes born out of naivete and occasionally deliberate. However, at the end of the day companies are not in a big hurry because the added cost of complexity often doesn't cost them anything, it is merely added to the cost of doing business and paid for by the consumer.

    Furthermore, in some cases complexity can be quite convenient. For example, in my city the gas company outsources its billing so that one company provides gas and the other bills for it. Sounds great, but when ever there is a discrepancy between the bill and the amount of gas you've used, good luck trying to get something resolved. In my case the gas had long been cut off but the billing continued. After fighting through automated telephone systems to speak to real live people they quite happily point the finger at the other guy and leave it at that. In effect the complexity that they have engineered into their business model provides them with a very handy excuse for inaction.

    Perhaps you expect capitalism and free markets to address this problem? I think that the much of our technical infrastructure is so monstrous and well entrenched that, just like your local utilities, there no room for upstart firms to enter the market. For the consumer (end consumer or other business entities) there are very few legitimate choices. More often than not I think that complexity is often just another excuse to maintain the status quo and an excuse that is held up to 'educate' consumers not to expect any better.

  59. Religious awe by TapeCutter · · Score: 2, Interesting

    The feeling of religious awe when looking at something with the beauty and complexity of DNA is the same regadless of your belief in God or lack thereof. Assigning "miricale status" to DNA gets logically messy since if DNA is so "special" that God must have developed it, then who developed the "special" God. The usual answer is that God's simply states "I am", but if God "just is" then why can't the Universe "just be"? Scientific dogma says nothing about the existence of God. It's just that as far as explaining how the Universe works, God is considered irrelevant.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    1. Re:Religious awe by cpeppler · · Score: 1
      The feeling of religious awe when looking at something with the beauty and complexity of DNA is the same regardless of your belief in God or lack thereof.

      I totally agree with you. Awe comes from seeing that is so incredibly well designed. You are right, you don't have to believe in God to appreciate it. The original authors quote was:

      Show me a religion that is willing to change its belief in a supernatural being after centuries of mounting evidence to explain away the mysteries that underpinned such superstition.

      This guy makes the mistaken assumption that the evidence rules out the possibility that God exists. I just think that is a very faulty "leap of faith"

      Assigning "miracle status" to DNA gets logically messy since if DNA is so "special" that God must have developed it, then who developed the "special" God.

      There's another kind of ballsy assumptions that many people make, that they have the ability to comprehend something sophisticated enough to make them. Kind of like the pot really understanding what a potter is. So to me, if God is smart enough to put together DNA, am I smart enough to comprehend him? There are thousands of PhDs studying molecular biology, and they've barely scratched the surface of how it all works. Complexity does NOT generally come from randomness. Randomness leads to randomness.

      Scientific dogma says nothing about the existence of God.

      Agreed, it shouldn't. Science is completely about observing that which is. It's ironic, however, that some of the first scientists were Christians. Before them, the Greeks and Romans had a very random type of cosmology. The first scientists felt that because God created an ordered world, it was worthy of being studied, and that there would be a rational link between cause and effect.

      Unfortunately, the scientific dogmatists since the "Great Awakening" (may have that name wrong, I'm not a history buff) have slid into the trap of thinking that since they can see how things fit together, they can effectively say there is no root cause, and therefore, there is no God. Thus the original authors fallacious assumption that those who acknowledge God's presence are somehow foolish or stupid. Thus the T-Shirt comment!

      It's just that as far as explaining how the Universe works, God is considered irrelevant.

      That's too bad. That's like saying something like "Linux is great, but Linus and the open source community are irrelevant", when in fact they are not irrelevant, and want to make a really good thing that serves a lot of folks.

    2. Re:Religious awe by TapeCutter · · Score: 1
      It's great to see someone mostly agree with me, let me elaborate on the last bit.
      Science: Explaining how the Universe works, God is considered irrelevant.
      .
      Philosophy: Explaining why the Universe works, God is considered relevant.
      Where the two blur is called Metaphysics. Before the renaisance[sic] (the great awakening?) it was nearly all Metaphysics, these days Metaphysics is mainly occupied thinking about the "inside" of black-holes, string theory, multiverses, the "beginning" / "end" of the Universe and other seemingly impossible to test stuff like that.
      I'm not sure that I agree with "Complexity does NOT generally come from randomness." Granted that increasing Entophy is a foundation stone of science but chaos theory and fractal geometry seem to be saying something about the general processes of "growth" in things as diverse as snowflakes and the neaural networks in our heads. You could argue that there exists an anti-entrophy like the newly discovered "dark energy" but at the moment that is truly in the realm of Metaphysics.
      None of the ideas expressed here are mine but they are some of my selections from the thousands of years of thought on the subject by the ENTIRE human race not just the 10 rules of one particularly successful clan. This Stanford site is great for just browsing some of those ideas. The "miracle status" thing is a straight-forward application of information theory. I think it was Godel or Turing, but whoever it was I agree it's pretty "ballsy" to debate with that calibre of Genius. A similar (more comedic) argument is the Babble Fish from Hich-hickers guide to the galaxy by Douglas Adams. The Atheiest view of the "Religious awe" thing is expressed best by Richard Dawkings in his book Unweaving the rainbow. I recommend that book to anyone who belives the feeling can only come from a belief in God, you can open it anywhere and be absorbed. Religious fundementalists are no more stupid than the rest of the population, they have simply found a self-satisfying answer as to "why" and have closed off all debate on the matter. Problems occur when things don't turn to paradise and they start blaming others who are not adhearing to thier rituals. Adhearing to (and expanding on) rituals with the intent to influence random events is a behaviour that has been well documented and experimentaly verified in pigeons, surely "God" gave us a bigger brain for a reason?
      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  60. Re:Just Engineering Taken to its Logical Conclusio by Bazouel · · Score: 1

    It's so much about modularizing things as it is to abstract them. I don't want to code a data access layer for each and every projects. And if I need to change from one DBMS to another, I don't want to adapt large chunks of code. Same thing for transaction management, concurrency, physical-conceptual mapping, exception handling, security and authentication, etc. etc. etc.

    The big problem here is that most people fail miserably when trying to make those abstractions. It's not the kind of thing that you design and code in one night, one week or even on month. It takes time, experience and lots of thinking before choosing between different avenues.

    Granted, for small projects and for specialized applications, that might not be necessary and you could probably do away without abstracting stuff because you don't have that kind of constraints. But the vast majority of code written out there do need it. And even in my limited experience, I have seen that kind of design/code written over and over and over.

    Maybe someday someone somewhere will get the idea that it would be very useful to have a full-fledged n-tier/service oriented architecture build right into the framework, be it J2EE, .NET, Mono, whatever. And actually DO it and do it RIGHT.

    --
    Intelligence shared is intelligence squared.
  61. Middleware... by TapeCutter · · Score: 2, Interesting

    I have worked in a Telco on a large job dispatch system and what the parent says is spot on. I found that the middleware was indespensible since various changes would impact the transaction formats. The middleware was used to translate transactions into various versions so that upgrading the whole system could be managed one app/sub-system at a time. I don't know of any simpler way that gives you the flexiblity to "evolve" a system regardless of project deadlines being met or not. However the "evolution" by default gets more complex since you can easily add a field to the end of a transaction but it is difficult to remove them. Instead people tend to recycle old fields, ignore them or do something "clever" like variable length field with sub fields, all sorts of arcane rules and band-aids some going back 20 years! A Telco system keeps it's history in its transaction formats (kinda like DNA). Even though the original app may have died 3 generations ago the ability to "talk" to the system is dependent on the original transaction formats. This is because replacement systems are required to "fit in" with the existing formats either directly or by using middleware. In effect a new app (or the middleware) inherits the DNA from the app's it replaces or talks to. It then starts adding some of it's own mutations.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  62. Re:Just Engineering Taken to its Logical Conclusio by TapeCutter · · Score: 1

    I thought "You don't know what you are talking about" was a good point.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  63. THIS DOESN'T HELP MY NUTS TO STOP SWEATING! by Anonymous Coward · · Score: 0

    please advise!

  64. I cry bullshit...Dial One by Anonymous Coward · · Score: 0

    "Cell Phone UI Problem #1: Do you type in the phone number, THEN push the call/green/phone/whatever button ... or do you push the call/green/phone/whatever button, THEN type in the phone number? "

    The first is better. Why? Well entering the phone number first gives this advantage. You can take your time entering long phone numbers, make changes, and so forth before an inconvienent (and possibly costly) commitment. Remember the little things add up over time.

  65. Premium Content - Inaccessible ! by Taco+Cowboy · · Score: 1



    The link to large and unwieldy software projects is classified as PREMIUM CONTENT which, unfortunately, I, and many other people, do not have access to.

    Can anyone please share it with the rest of us ?

    Thank you !

    --
    Muchas Gracias, Señor Edward Snowden !
  66. Re:Just Engineering Taken to its Logical Conclusio by eddeye · · Score: 1
    For really effective design each part has to serve multiple functions, like evolution is able to do: The human mouth can be used to eat, breathe, talk, etc etc.

    Your overall point is good - engineers and phsyical scientists prefer reductionist modes of thinking, which have their limitations (see The Hedgehog, the Fox, and the Magister's Pox).

    But your example actually shows how overloaded design can introduce new problems. Having one mouth (throat, actually) resposible for all three functions is why we can't talk while we eat and why we can choke to death. Surely a better design is to have separate GI and air tracts.

    Suboptimal design like this is actually the strongest evidence for evolution. No sane designer would overload functions so foolhardily. But evolution has to adapt what's already available; there is no clean slate to start from.

    --
    Democracy is two wolves and a sheep voting on lunch.
  67. Re:How aerospace does WHAT? by TapeCutter · · Score: 1

    You are talking about quality, safety and accountability not complexity. Planes could not do all the things they do today without robust software and computer systems to handle the complexity. Are you seriously suggesting that general purpose software should be developed with the same rigour (and associated cost) as general purpose aircraft? There are more planes than there are air traffic contol systems so the argument about "sold in large numbers" is rubbish unless maybe you were thinking you could use Windows to manage the traffic at Heathrow. In the area of nuclear reators some installations of QNX have been "up" continuosly for over 10yrs, can you say the same about one of your planes? But the biggest mystery of all is why banks and governments would trust the western worlds economy to the undisiplined IT department. I can't begin to count the number of times "management" or "engineering" tries to tell "IT" how to deal with "complexity" when very few of them have a fucking clue as to what complex means. Complexity is not about the amount of paperwork and it cannot be solved by stringent testing, regulation and accountability. One very complex but common problem is "assignment". How do I allocate resources? The problem is relevant to such diverse applications as airline reservation systems, dispatch systems, economic modeling and University timetables. In many cases the magnitude of the complexity is such that the optimal answer can not be found within an acceptable time-frame (say within this century) so there are various methods used to get a "good enough" answer. It is also interesting that for smallish systems this sort of complex problem is a snap for the human brain as is another complex class of problems called the "the travelling salesman problem". I am not saying it is impossible to find a better algorithm for either problem but it will be an exceptional maths genius not an engineer who finds it. So before we waste anymore of each others time I suggest you read up on the beautifull simplicity of Alan Turing's genius and get back to us.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  68. Re:That last link: Managing complexity by Anonymous Coward · · Score: 0
    The software-development industry

    Managing complexity
    Nov 25th 2004
    From The Economist print edition

    Most software projects fail to meet their goals. Can this be fixed by giving developers better tools?

    ON SEPTEMBER 14th, the radios in an air-traffic control centre in Palmdale, California shut down, grounding hundreds of flights in southern California and Nevada, and leading to five mid-air encounters between aircraft unable to talk to the ground controllers. Disaster was averted because aircraft managed to communicate with more distant back-up facilities. But why did Palmdale's radios fail? A glitch in the software running the system meant the computers had to be re-booted every 30 days, and somebody forgot to do so. But software running a mission-critical system should not have to be restarted every month. The culprit: poor design.

    At least Palmdale's software worked some of the time. The same cannot be said of an $4 billion write-off that America's Internal Revenue Service (IRS) had to swallow when a multi-year effort to overhaul its computer system failed completely in 1997. And such problems are confined neither to governments nor to America. A £456m ($844m) project for Britain's Child Support Agency came in over a year late, and has failed to deliver payments to more than half of eligible applicants.

    As software has become more and more pervasive in business and government, and more complicated, the impact of poor software design has been steadily growing. A study earlier this year by the Standish Group, a technology consultancy, estimated that 30% of all software projects are cancelled, nearly half come in over budget, 60% are considered failures by the organisations that initiated them, and nine out of ten come in late. A 2002 study by America's National Institute of Standards (NIST), a government research body, found that software errors cost the American economy $59.5 billion annually. Worldwide, it would be safe to multiply this figure by a factor of two. So who is to blame for such systematic incompetence?

    Cost overruns and delays are common in numerous industries--few large infrastructure projects, for instance, are completed either on time or on budget. But it is peculiar to software that billions of dollars can be spent only for nothing useful to result. At a very basic level, it is the fault of the software engineers who are writing the programs, and of their bosses. Even companies that specialise in software development suffer from delays and overruns. An obvious example is Microsoft: its "Longhorn", the long-heralded successor to its Windows XP operating system, was originally scheduled for launch this year. Longhorn is now not expected before mid-2006, and many of its key features have been put off until 2007.

    The prevalence of such failures can be explained by one startling weakness: the tools available to software developers. As software projects have become more and more complicated, it has become impossible for even the most talented team of programmers to keep track of the millions of lines of "code" required. As long ago as the 1980s the industry began to rely heavily on software-development applications--basically, software that helps write software, for example by creating reusable modules that form part of broader processes. The problem is that these have simply not been up to the task. As a report in May by Forrester Research, another consultancy, succinctly put it: "Corporate software development is broken."

    Dale Fuller, the boss of Borland, a software-development company, agrees. He also thinks he can fix the problem of weak tools. So does John Swainson, long in charge of software development at IBM and now bound for the top job at Computer Associates. John Montgomery, who runs such things for Microsoft, does not think the situation is quite so bad. However, he believes Microsoft has what it takes to "commoditise common problems" and so enable average software developers to write above-average programs.

  69. Lisp, Smalltalk overrated? by TheLink · · Score: 1

    If they really are so powerful why haven't we seen more free/OSS code, modules, programs written in these? If one Lisp programmer = 5 to 50 programmers in other languages[1], we should be seeing more stuff from them eh? If one Lisp programmer is only 2 x other programmers in output, then erm thanks but no thanks...

    Look at the "software ecosystems" of Perl (e.g. CPAN), Python, PHP, Java etc.

    Compare them with Lisp/Smalltalk. Even Ruby (a newcomer) appears to be doing better.

    You have the top perl coders whipping out weird and funny modules/programs (and sometimes even weird AND useful modules/programs) in their _spare/idle_ cycles.

    You have the top python coders whipping out free code (for fun?) too. Examples: spambayes, bittorrent, Zope, Plone.

    What happened to the Lisp programmers? No spare cycles? Where's all that alleged power I keep hearing about?

    Maybe languages like Smalltalk and Lisp aren't that powerful - they just attract/keep a certain group of programmers (more likely to be decent/top programmers).

    --
    1. Re:Lisp, Smalltalk overrated? by Anonymous Coward · · Score: 0

      In a way, Python is the new Lisp/Smalltalk---it's just that a lot of diehard Lisp/Smalltalk fans have not yet noticed. Therefore, Python should not be grouped together with Java or PHP, or even Perl.

      Python has taken many of its concepts from Lisp and Smalltalk (and Modula and Haskell) and integrated them into a language with a sane syntax. It is one of the best tools for AP right now.

      Lisp and Smalltalk may have been the best bet for implementing ideas from AP in the eighties, but not any more.

    2. Re:Lisp, Smalltalk overrated? by voodoo1man · · Score: 1
      What is it with all these "out of ignorance" arguments and Slashdot? Does this site purposefully attract people that don't know something and then make them express that fact? Just because you don't know any free Lisp code (obviously you haven't bothered looking, because you're convinced that Lisp sucks because it doesn't have any free code) doesn't actually mean there's no free code. Pull your head out of the sand and have a look at these collections:

      Cliki, a wiki directory of "Links to and resources for free software implemented in Common Lisp and available on Unix-like systems."
      CLOCC - the Common Lisp Open Code Collection"
      common-lisp.net, providing hosting and remote repositories to dozens of Free Software Common Lisp applications.

      This doesn't even touch SourceForge (which hosts another two dozen or so Lisp projects I'm aware of). When you consider how small the Lisp community is compared to the number of Perl hackers (easily in the range of 1000:1), and the number and quality of the code on just those repositories to CPAN, the productivity advantage of Lisp really does seem closer to 50x. According to your argument, all those Perl hackers should not have had any trouble in coming up with an efficient implementation by now. Yet, with less that a dozen regular hackers between them, the CMUCL and SBCL projects have produced compilers that outperform g++. At the very least, the Perl folks should not have had any trouble producing an efficient regular expression library, but here again, Lisp has them beat.

      Of course, the above links point to software written in only one dialect of Lisp, Common Lisp. When you consider the software produced in other dialects, like Scheme, NewLisp, LUSH, XLISP, and Isis, the difference becomes even more apparent. To say nothing of commercial software, where none of the languages you mention can even boast a fraction of the number of large, successful systems delivered in Lisp.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    3. Re:Lisp, Smalltalk overrated? by voodoo1man · · Score: 1
      To say nothing of commercial software, where none of the languages you mention can even boast a fraction of the number of large, successful systems delivered in Lisp.
      I just noticed you mentioned Java. Scratch that comment - it only applies to all but one of the languages you mention. Java has outpaced COBOL in terms of lines of code produced a few years ago (which makes it the most widely used language currently, according to LOC metric anyway). Credit where credit is due.
      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    4. Re:Lisp, Smalltalk overrated? by chthon · · Score: 1

      I have started learning LISP, and since I am used to some standard toolkits and way of working, I decided to install all LISPs that I could find, on Linux and Cygwin.

      The minimum extra I need in a LISP, is the ability to run external processes, to control Continuus/CM.

      Nice extra's to have are a GUI toolkit and a curses interface.

      Also, quick startup time is nice and an interface to mySQL.

      After evaluating all those things, I came to find that most LISPs provide either one of these, but not all in one package, and certainly not able to run both under Linux and Cygwin.

      On the other hand, Perl, Python, Ruby, Tcl/Tk, curses, database interfaces are all easily ported and used.

      So I think it is mostly a lack of standardised, easily usable toolkits which provide access to standard functionality, like Tk, GTK, QT, mySQL, postgreSQL (and I am sure you can name some other toolkits).

  70. Short term memory space by TheLink · · Score: 2, Informative

    Most people can only keep/visualize/instantiate about 7 distinct objects in short term memory at any one time. You might want to stick to a max of 5 to cater the slightly below average. (Maybe someone might want to be a hero and try increase the population average to 10 items or something ;) ).

    There are workarounds if you can easily get people to group a bunch of items as one object.

    If people have to remember 7 or more important things during the learning period where short term memory is used then the thing is hard.

    Given the amount of choices and options possible with software, it's going to be hard.

    So the workaround is to split the learning phases to small absorbable chunks and give time between these phases for people to commit them to long term memory.

    If you use common/defacto UI standards, many of the users would be familiar them and so the effective number of learning phases required drops.

    --
  71. Re:The comments here underline the problem by coofercat · · Score: 1

    Yeah, but think ahead of your immediate complexity. Imagine you could have a button that says "do just what you want me to do", that figures out that you want to connect to the internet, email your friend and fiddle your taxes.

    (and I don't mean some goddam paper clip that buggers up everything you're trying to do)

    Pretty hard to do because it requires... complexity.

  72. Agile and datacenter by canuck57 · · Score: 1

    'agile' programming movement and its potential to keep even the most gigantic of projects under control." Sounds like marketing. It always goes smoother when the business owners actually think about the business needs and define them well including functionality, process and who, what, when. Follow this up with a project plan that includes a rational look on how to get it done. Note the absence of technology so far! I/T as part of the project plan you engineer and integrate a solution where appropriate. Unfortunately too many business types think because they have installed windows XP from vendors disks it makes them a Sr Systems Engineer. But this does not work.

  73. Re:Just Engineering Taken to its Logical Conclusio by tootlemonde · · Score: 1

    Suboptimal design like this is actually the strongest evidence for evolution.

    It's a minor point but there is stronger evidence for evolution than suboptimal design.

    I've often thought that the proponents of Intelligent Design would have a better case if they argued that suboptimal design was evidence of a conscious intelligence. If one looks at other products of engineering like cars designed without seatbuilts, padded dashboards or protected gas tanks, one could plausibly argue that organisms were designed with the same carelessness. Surely, organisms that combined breathing and eating in the same orifice would have died out by the forces of natural selection.

    It is interesting to note that organic systems have solved the problem of complexity by tolerating a high failure rate. It's evidence that if intelligent design is at work, the intelligent designer is not a lawyer.

  74. "Agile" works in local timezones by emerge-ant · · Score: 0

    Agile works when you are local timezones. Far-flung teams can be more productive than co-located groups. Which would you rather do, share a monitor or VNC? Stretching across timezones has led offshore development to develop rich competencies in more traditional software project management. When outsourcing you can't embrace change, you have to specify against it, and contracted companies then focus on Taylorist execution. I'd suggest that developing competence in agile methodologies is the greatest advantage US teams can gain in light of offshoring. But that does not mean the team has to be in one place.

  75. Re:Just Engineering Taken to its Logical Conclusio by JollyFinn · · Score: 1

    I used to agree that 2-3% thing and I did hate object oriented programming but that modularized abstraction can be made use off...
    Its when you start using the class structure, so that you won't have to write lots of code again and again in the structure. Too bad those things are not supported well in the language. Or it looks more or less cludge when I did so, but still ended up getting LESS lines of codes than doing it the way we where taught to do. One of tricks, is that in a interpreter I was writing to there was a class to handle the namespace, that class constructor simply looked all the classes inherited from operator class so that the parser, and evaluator code didn't need to know what operators there where nor how they looked for. They simply got them from the class structure and used what was in the operator class, instead of hardcoding them in the interpreter or parser ;)
    I extensively abused the class structure and the assistant loved that. BTW: There is function pointers in java so that you COULD use them but language is made it HARD to use them ;)
    I hated object orientation BEFORE I started abusing class structure as much as possible ;)
    Now I must tell you object orientation is really usefull abstraction if done right. If done like we are taught to do in universities its terrible.
    Of course that was mostly optimized for impressing the assistant who is religious about object orientation, not optimized for speed and TRUE object orientation is not for code where performance is nr1 consideration.

    --
    Emacs is good operating system, but it has one flaw: Its text editor could be better.
  76. Euclidean geometry doesn't apply to reality ? by guybarr · · Score: 1

    I reckon economics is, like theology, euclidean geometry and the propositional calculus, a formal system, which doesn't really apply to the real world

    Are you kidding ? Except for the really large (think much larger than earth) and really small (lookup planck scale) euclidean geometry is king.

    I dare you measure a deviation from euclidean geometry in, say, a month.

    --
    Working for necessity's mother.
    1. Re:Euclidean geometry doesn't apply to reality ? by Bush+Pig · · Score: 1

      I never said Euclidean geometry wasn't a reasonable approximation for most purposes, but it really doesn't relate to reality (except in so far as any other model applied to any formal system does).

      If you'd ever done any geodetic surveying, you'd also realise that euclidean geometry is pretty rough locally as well, because it ignores curvature of the surface and gravitational effects.

      --
      What a long, strange trip it's been.
  77. good point by GCP · · Score: 1

    I remember the days when my father's knowledge of cars pretty much had to be what my knowledge of computers has to be today. You had to be a rather proficient technician to get full use out of the technology unless you had the very large amount of money needed to have someone else do things for you.

    Today, cars have become vastly more reliable and almost impossible for any but the very elite to do more than minor things to. And the minor things are best delegated to service providers like Jiffy Lube or the Costco Tire Center if your time is worth anything to you. Even the professional mechanics mostly use very expensive computerized test machines that simply tell them "replace part X". They don't really understand how the cars or the diagnostic machines do what they do.

    The analogy can be stretched too far, of course, but I've noticed for years how the importance of programming ability for computer users is going the way of mechanical expertise for drivers. Even professional IT work is increasingly a matter of app selection and "configuration" these days, not what we used to think of as "programming".

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  78. India: High Rate of Abortions Killing Female Fetus by Anonymous Coward · · Score: 0
    Democracy is only 1 aspect of Westernization. Singapore is a democracy, but it is not a Western nation. Ditto for India and Taiwan.

    In the case of India, a large percentage of Indian families undergo targetted abortions that kill female fetuses. The sex ratio at birth (SRB) of males to females is now 1.20. The normal SRB is 1.05.

    Western nations like the USA and Japan have a normal ratio.

    By the way, the parent article is deceptive. The bigotted writer claims that India has all the good features of the West. If this claim were true, then the SRB would be normal. Wife burning would be nonexistent. Further, the quality of life in India would be as high as the quality in the USA, Australia, and Japan.

    1955 Japan had a higher quality of life than 2004 India. You be the judge.

    As the grandparent article noted, we should terminate all trade with India, Mexico, and China until they Westernize. Westernization includes the adoption of Western values.

    Remember East Timor? Remember the butchery by Indonesian thugs in 1999? Indian troops and Chinese troops did not lift a finger to help the East Timorese women and children. Only the Australians (a premier Western people) sent their military to East Timor to stop the bloodshed -- without approval from the United Nations (which is dominated by 3rd world bigots like the Indians).

    By the way, I am an active participant in several international seminars, and I always take the time to condemn India, China, and Mexico.

  79. Re:Just Engineering Taken to its Logical Conclusio by Eravnrekaree · · Score: 1

    I believe that object oriented programming, in a very large program, makes things much, much eisier, when it is properly done, which is quite easy to do. I believe one reason it tends to make programs more maintainable, more understandable, and easier to get familiarised with, when we instead of creating one big monolithic software program and instead create modules each which has a particular purpose, is it keeps the code in the module smaller, shorter, simpler, and eisier to understand. Good documentation is also important to describe what the module does and its interface. I have done OO programming and done right it makes things simpler, makes less code, keeps the code reuseable, ans breaks up a big program into smaller parts which are eisier to understand.

  80. Never say never :-) by Anonymous+Brave+Guy · · Score: 2, Insightful
    Never implement anything that you don't need right now.

    I'd prefer something like: "Don't bother implementing things you don't know you'll ever need." That still rules out the time-wasting feature creep, while acknowledging that it's often far more efficient to plan for likely future developments from the start rather than constantly evolving a system without any sort of "grand plan".

    All evolutionary development causes overhead, most of which is unnecessary if you can anticipate major future developments with reasonable accuracy. Despite all the nay-sayers, I have never yet worked on a real project where this was not the case.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  81. Software development as engineering by Anonymous+Brave+Guy · · Score: 1
    So why do you think this hasn't happened in the IT industry yet?

    That's an easy one: who is qualified to decide who makes a good engineer, and what is truly best practice?

    In civil engineering, we have many years of experience to draw upon in deciding this. If a bridge-building technique fails, the bridge falls down. After building a few thousand bridges, you can see that some techniques are more reliable than others, and you adapt your practices accordingly. It's evolutionary, but with a huge base of experience to draw on by this point.

    Software development just doesn't work that way, at least not today. For a start, almost no-one has shown they are capable of reliably developing large-scale systems on spec, on time, on budget, and with a low bug count. In the absence of many examples of things that worked, who's to say which of today's buzz-phrases, if any, represents the best approach to use on the next attempt?

    Similar arguments apply on numerous other levels, everywhere from programming language design to project management and planning/estimation. IT simply has many difficult, unsolved problems, and until we start solving them with at least some significant degree of success, we can't evolve a true engineering culture that builds on that foundation.

    Unfortunately, with the eternal divide between academic research and the pragmatism that works in the commercial industry -- currently around 20 years, it seems -- it's going to be hard to spot those successes we do have, and bring them to the front of the line on future projects. This is ultimately the difference between software "engineering" and real engineering.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Software development as engineering by Matje · · Score: 1

      Again an interesting read, thanks.

      For a start, almost no-one has shown they are capable of reliably developing large-scale systems on spec, on time, on budget, and with a low bug count. ...

      I've heard and read this so many times, it is starting to look like a cliche ;) What intrigues me though, is that in my experience _small_-scale systems can routinely be build on spec, on time, on budget _and_ with not too many bugs. I do this myself all the time. Off course, mistakes happen, but hey, bridges fall down every once in a while as well right?!

      You could say, somewhat naively, that the solution to the difficulty in large scale SD lies in transforming it into small scale SD. And this is a trend that you do see happening. Simply look at the progress in programming languages. I don't care what the gray-bearded C gurus say: development simply takes less time when writing in java or c# than when using one of the older languages. This allows less people to do more, hence transforming large scale project into smaller ones.

      So, to conclude, all our troubles will be solved with Java 3.5 2009 edition and MS .NET 2015 (released in 2018) :)

  82. Complex IT acronyms by Linuxathome · · Score: 2, Funny

    On the lighter side of things, I find it funny that IT departments often "re-invent" themselves by changing their name and acronyms--a complexity in themselves. You find acronyms such as MIS, CLC, ITC, CIT, CITS, etc. But in essence they all stand for the same thing.

    My university's acronym is CITS (Computer and Information Technology Systems), and before that they were just the CLC (Computer Learning Center). Imagine if they kept the name "Learning" in the acronym somewhere, it could've been: Computer Learning and Information Technology Systems (CLITS). But somehow I don't see that happening.

  83. Re:India: High Rate of Abortions Killing Female Fe by mattrumpus · · Score: 2, Insightful


    This has to be a wind up!! East Timor! The Australian Government of Gough Whitlam stood by in 1974 whilst the Indonesian Government invaded East Timor then condoned Indonesia's control of the country. Until 1999 the Australian governments from both parties were happy to keep diplomatic ties with Jarkarta and sell weapons, and military training to the TNI (indonesian miliary). Weapons and training they had been made plainly aware was being used to suppress civilan dissent in East Timor, including torture and murder.

    The brief intervention in East Timor was aberrant, rather than standard behaviour for Australia and was a tiny step back towards reasonable and respectable treatment of a loyal wartime (WWII) ally, East Timor.

    Perhaps while you take the time to "condemn India, China and Mexico" you might read an international news paper... this is all in the public record.

    --
    Who's with me?! I SAID... WHO'S WITH ME!!??