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."

41 of 270 comments (clear)

  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 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
    6. 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.

    7. 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
    8. 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#.

    9. 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. "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.
  3. 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?

  4. 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).

    --

    ----
  5. 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.
  6. 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.

  7. 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!!!!
  8. 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
  9. 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

  10. 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"
  11. 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.

  12. 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!)

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

    errr, Marx was an economist, dumb-ass.

    --A.R.

  14. 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.

  15. 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.

  16. 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.

  17. 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.

  18. 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.
  19. 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?

  20. 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.

  21. 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.

  22. 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

  23. 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!"

  24. 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.

  25. 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
  26. 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.
  27. 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.
  28. 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.

  29. 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.
  30. 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!!??