Slashdot Mirror


Remember the Computer Science Past Or Be Condemned To Repeat It?

theodp writes "In the movie Groundhog Day, a weatherman finds himself living the same day over and over again. It's a tale to which software-designers-of-a-certain-age can relate. Like Philip Greenspun, who wrote in 1999, 'One of the most painful things in our culture is to watch other people repeat earlier mistakes. We're not fond of Bill Gates, but it still hurts to see Microsoft struggle with problems that IBM solved in the 1960s.' Or Dave Winer, who recently observed, 'We marvel that the runtime environment of the web browser can do things that we had working 25 years ago on the Mac.' And then there's Scott Locklin, who argues in a new essay that one of the problems with modern computer technology is that programmers don't learn from the great masters. 'There is such a thing as a Beethoven or Mozart of software design,' Locklin writes. 'Modern programmers seem more familiar with Lady Gaga. It's not just a matter of taste and an appreciation for genius. It's a matter of forgetting important things.' Hey, maybe it's hard to learn from computer history when people don't acknowledge the existence of someone old enough to have lived it, as panelists reportedly did at an event held by Mark Zuckerberg's FWD.us last Friday!"

479 comments

  1. Back to BASIC by Bob_Who · · Score: 3, Funny

    10 GOTO 20
    20 GOTO 10

    1. Re:Back to BASIC by rrhal · · Score: 0

      #include stdlib;
      main() {
      fork(); main();
      }

      --
      All generalizations are false, including this one. Mark Twain
    2. Re:Back to BASIC by Anonymous Coward · · Score: 0, Troll

      You chuckle, but hidden variants of LISP keep coming back every 20 years like a slow-motion herpes infection. Anyone familiar with LISP knows that it was used because it was easy to parse using a stack, but it was horribly prone to errors in coding. Good LISP programs are short, but nearly impossible to write.

      Another example is Python - basically a repackaged CBASIC script interpreter. Runtime VB6, VBA and Python share a lot in common (Python of course has some bells and whistles, such as partial object support).

      Anyway, it gives me somewhat of a sign of relief to see C, C++ and Java/C# be stable in the face of this recurring tide of fad languages, as there is some genuine progress in making programmer easier (ie. not more clever, not making it an infinite jack knife). On the negative side, C++0x and C# have both seen all sorts of non-C++ feature creep from the fad languages of today.

    3. Re:Back to BASIC by Anonymous Coward · · Score: 0

      Why is every post on slashdot lately where someone tries to be funny by writing C fail miserably at the most basic level? I just don't get it. From a 5 digit UID no less. I guess I should stop thinking that older readers should know better.

    4. Re:Back to BASIC by ultranova · · Score: 1

      Your fork bomb fizzles due to running out of stack. Try this:

      main() {
      while(1) fork();
      }

      }

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    5. Re:Back to BASIC by Samantha+Wright · · Score: 4, Informative

      Here's some worthwhile reading on why Lisp has trouble staying put—possibly a little flamebait-y: Lisp is not an acceptable Lisp, The Lisp Curse, and Revenge of the Nerds. The core arguments seem to be (a) it's really easy to invent things in Lisp so no one can agree on how to do it, and (b) the lack of a coherent standard platform means there is no easy target for university courses or job descriptions.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    6. Re:Back to BASIC by cheater512 · · Score: 5, Funny

      Lisp never 'comes back'. It merely recurses.

    7. Re:Back to BASIC by Virtucon · · Score: 1

      #ifndef ANONTROLL
      #define ANONTROLL 1
      #endif

      inline BOOL isAnonymousTroll()
      {
            return ANONTROLL;
      }

      Does that work?

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    8. Re:Back to BASIC by ebno-10db · · Score: 0

      A little flamebait-y? Amongst an annoyingly vocal minority of Lispers, anything other than prostrating yourself and worshiping the Mother of All Languages is considered flaming. Whenever I consider learning/playing/working with (one of the umpteen variants of) Lisp, that attitude as much as anything else is what stops me. Even Graham's smugness is just a slightly less obnoxious variant of it.

    9. Re:Back to BASIC by Darinbob · · Score: 1, Troll

      Part of the problem maybe. Things really started going downhill when BASIC came out. We have countless engineers today who honestly think that nothing happened before the microcomputer, and many who think nothing happened before the PC, and many of those who think nothing happened on the PC even until Windows. So much was reinvented from scratch from the hobbyist side of things, and it shows.

      One issue I see also is that many professionals are basically 9 to 5ers. They deal with computers as their boring and tedious day job, and have zero interest in them outside of that. History of computers is irrelevant to them. Knowing how to do better code is irrelevant to them as long as they don't get fired. Knowing how hardware works is of no interest to them. When they were in school they would whine loudly about how theory was useless and that it was a waste of their time.

    10. Re:Back to BASIC by Darinbob · · Score: 3, Insightful

      Lisp is easy to get good programs from. You just have to stop thinking in non-Lisp ways. What confuses people is the functional orientation, but if you don't understand functional style of programming then a lot of modern stuff will pass you by. Procedural stuff is very easy in lisp too.

    11. Re:Back to BASIC by phantomfive · · Score: 2, Insightful

      ok, I can understand not liking whatever language, but you think C++ is better than LISP? Seriously? And because it's easier?

      --
      "First they came for the slanderers and i said nothing."
    12. Re:Back to BASIC by Jeremi · · Score: 2

      Your fork bomb fizzles due to running out of stack.

      Any C compiler worth its salt will recognize the tail-call recursion and rewrite/optimize that code into a loop... so the bomb will go off after all as long as you compile with -O3. ;)

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    13. Re:Back to BASIC by ShanghaiBill · · Score: 1

      Your fork bomb fizzles due to running out of stack.

      Any decent compiler will recognize tail recursion, and optimize out the function call. No additional stack space should be used.

    14. Re:Back to BASIC by Anonymous Coward · · Score: 0

      The original recursive implementation might get tail call optimized.

    15. Re:Back to BASIC by Anonymous Coward · · Score: 0

      What's the point then? I'm not going to buy Visual Studio just to compile a fork bomb!

    16. Re:Back to BASIC by ShanghaiBill · · Score: 2

      Lisp is easy to get good programs from.

      Then name some "good programs" written in Lisp. I have worked with thousands of programs written in C. Plenty in C++, Java, Perl, Python, and even a few in Ruby. But other than Emacs scripts, I have never come across Lisp in a non-academic program.

    17. Re:Back to BASIC by ebno-10db · · Score: 3, Informative

      What confuses people is the functional orientation

      Whether or not a language is functional is a matter of degree (just as whether or not a language is dynamic is a matter of degree).

      Out-of-the-box Lisp is not nearly as much a functional language as *ML or Haskell. There is no pattern matching for example. Of course you can turn Lisp into a functional language, which is what Qi is. In true Lisp fashion it's incredibly clever - 10k lines of CL and you've got a functional language that is arguably even more of a functional language than Haskell (not sure about functional specific optimizations though). And also in true Lisp fashion, there's already a (not fully compatible) fork/successor called Shen (by the same guy who created Qi!).

      In other words it's an ongoing experiment, rather than something you can rely on. It grew out of the L21 project, which was supposed to be about Lisp for the 21st century. The lesson is that Lisp for the 21st century is just like Lisp for the 20th century - incredibly clever and powerful but not stable or standardized enough to rely on. Of course the great exception to that is Common Lisp - a byzantine composite of many pre-1985 dialects, warts and all, that hasn't really been updated in 27 years.

    18. Re:Back to BASIC by ebno-10db · · Score: 4, Insightful

      it gives me somewhat of a sign of relief to see C, C++ and Java/C# be stable in the face of this recurring tide of fad languages

      Sheesh, kids today. I remember when C++, Java and C# were the fad languages. I even remember when C outside of the Unix world was a "fad" replacing Fortran, Basic and Pascal. The "classic" languages you grew up with are not the end of programming language evolution.

      OTOH I admit that the so-called Cambrian explosion of languages really needs to be followed by a mass extinction. Perl, Python, Ruby, Lua, etc., etc., etc. You could spend the rest of eternity debating their pros and cons, but do we really need all of them? It's great if you want to spend the rest of your life learning yet another genius's "best of" mix of existing language ideas, but it sucks if you just want to get work done. Then there's Clojure, because what the Lisp world really needs is yet another dialect, and F# because, uh, well OCaml has been around a while and we really want yet another variant, and ...

    19. Re:Back to BASIC by ebno-10db · · Score: 2

      you think C++ is better than LISP? Seriously?

      It's absurd to talk about which is better except with respect to a certain type of application. For example, deeply embedded processors running on an RTOS (not embedded Linux or something), or even bare metal, with memory limitations and hard real-time constraints measured in tens of microseconds is not the best environment for Lisp (or any GC language for that matter).

    20. Re:Back to BASIC by ebno-10db · · Score: 2

      Things really started going downhill when BASIC came out.

      BASIC came out in 1964.

    21. Re:Back to BASIC by phantomfive · · Score: 0

      It's not a great environment for C++, either......

      --
      "First they came for the slanderers and i said nothing."
    22. Re:Back to BASIC by Anonymous Coward · · Score: 0

      I can get shit done in c++. I can't get shit done in lisp.

      Yeah, that makes c++ better than lisp.

      Yeah, horses are also better than unicorns.

    23. Re:Back to BASIC by ebno-10db · · Score: 2

      It works fine if you're judicious about what C++ features to use, and when and where to use them. As much of a pig as C++ is, one thing Stroustrup got right was making it a true multi-paradigm language, and he stuck to the principle of not dragging in any baggage or overhead that you don't explicitly ask for.

    24. Re:Back to BASIC by Darinbob · · Score: 4, Informative

      Macsyma? Emacs itself is more Lisp than C. Zork was a Lisp dialect. Mirai is lisp, and was used to do animation in Lord of the Rings. Lots of expert systems. Several CAD systems and other modelling programs. Data analysis stuff. Whoever uses Clojure is using Lisp and it seems to have some traction. And Orbitz is apparently using a lot of Lisp internally (just to throw out a web site since some people think it's not real if it's not a web site or PC app).

    25. Re:Back to BASIC by phantomfive · · Score: 1, Funny

      Well, you could write an RTOS in BASIC, too, but that doesn't mean it's great.

      --
      "First they came for the slanderers and i said nothing."
    26. Re:Back to BASIC by Darinbob · · Score: 1

      Lisp can be purely functional, especially as Scheme. Don't need pattern matching for functional programming, though that is a popular style.

    27. Re: Back to BASIC by Therad · · Score: 5, Funny

      and he is still right. ;)

    28. Re:Back to BASIC by ebno-10db · · Score: 1, Flamebait

      Let me know if you have an intelligent critique of my points about using C++ for low level programming, instead of a silly and meaningless remark.

    29. Re:Back to BASIC by phantomfive · · Score: 1, Interesting

      If you actually care about efficiency, you might as well do it in C. It can be done in C++, but why go to the extra effort? C++ is not designed for efficiency.

      If you don't care quite so much about efficiency, use LISP, a language that actually does make your life easier (and also happens to be a true multi-paradigm language, and does a much better job of it than C++).

      --
      "First they came for the slanderers and i said nothing."
    30. Re:Back to BASIC by DamonHD · · Score: 1

      Please note the existence of Arduino and PICAXE, both of which work fine.

      Rgds

      Damon

      --
      http://m.earth.org.uk/
    31. Re:Back to BASIC by ebno-10db · · Score: 3, Informative

      It can be done in C++, but why go to the extra effort?

      What extra effort is that? Calling your files *.cpp instead of *.c? Ok, that is an extra two letters per file name.

      The why is so that you can take advantage of C++ features. Templates for example are a great way to write very fast code, and if you know what you're doing you don't get the dreaded bloat. Object based programming is a nice way to encapsulate things and adds zero overhead. True OO can be used judiciously in the non-speed critical parts (often a clean way to have a single image handle several minor hardware variants). A combination of object based and operator overloading can be a clean way to handle the semantics of fixed point DSP, which don't map nicely to most languages.

      C++ is not designed for efficiency.

      Read Stroustrup. As I already said, one of the key design principles was not to add overhead unless you explicitly ask for it. It was designed to be as efficient as you need it to be.

      If you don't care quite so much about efficiency, use LISP

      1. GC and HRT? Don't go.

      2. Even where you can write Lisp to be as efficient as C/C++ for low level operations, all you're doing is writing C/C++ in Lisp. What's the point?

      3. How many Lisps, Schemes, whatevers, have you seen for cross-development to DSP's and other architectures that are usually only embedded, have good optimizers (ala SBCL for example), and can run without an OS?

    32. Re:Back to BASIC by Anonymous Coward · · Score: 0

      It does if you use continuations.

    33. Re:Back to BASIC by Chrisq · · Score: 1

      What's the point then? I'm not going to buy Visual Studio just to compile a fork bomb!

      The only thing I can think of is that GP wants to ensure that he hits the thread limit before running out of stack space!

    34. Re:Back to BASIC by TheRaven64 · · Score: 4, Interesting

      The first C book I read spent most of the first chapter justifying why you'd use a high-level language like C instead of assembly. How times change...

      --
      I am TheRaven on Soylent News
    35. Re:Back to BASIC by RaceProUK · · Score: 1

      What's the point then? I'm not going to buy Visual Studio just to compile a fork bomb!

      You don't have to - the Express editions are free. Plus there's always gcc et al.

      --
      No colour or religion ever stopped the bullet from a gun
    36. Re:Back to BASIC by Impy+the+Impiuos+Imp · · Score: 1

      It's fine. Those who don't recognize the value of Lisp are "stage 2" of the type the OP complains about. You've been trained enough to drive down the street, and parallel parking is a struggle, but don't attempt a Smokey and the Bandit corkscrew jump over a river.

      Just stay in your little putt putt.

      Been doing embedded stuff for 15 years now, BTW. For a robust programming knowledge, I recommend a tour of duty there, as well as with Lisp, in addition to the most common of a web/desktop experience

      I figure I should be tricked out and ready to transcend right about when I die of a heart attack from a sedentary lifestyle.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    37. Re:Back to BASIC by gmack · · Score: 1

      I can't take it. I was just going to mod you down for the bad c99 syntax but I'll correct it instead.

      First, it's bool not BOOL (no caps). Second, returning into a function returning bool is just redundant since you could save yourself having to include stdbool.h and just return int instead.

      corrected function:
      inline BOOL isAnonymousTroll()
      {
                  return true ;
      }

    38. Re:Back to BASIC by K.+S.+Kyosuke · · Score: 1

      1. GC and HRT? Don't go.

      Why would GC cause problems to your hormonal replacement therapy?

      2. Even where you can write Lisp to be as efficient as C/C++ for low level operations, all you're doing is writing C/C++ in Lisp. What's the point?

      Not exactly. Large classes of problems can be macroified to the extent that you write high level code in the appropriate domain, the expansion generates low-level code which would be ugly to write by hand, and the compiler handles the rest.

      3. How many Lisps, Schemes, whatevers, have you seen for cross-development to DSP's and other architectures that are usually only embedded, have good optimizers (ala SBCL for example), and can run without an OS?

      That's probably because the demand is low, not because it's technically impossible. C is entrenched due to the network effect (like many other technologies in the IT field), I hope you don't suppose that ousting it out with even a technically superior solution would be trivial.

      --
      Ezekiel 23:20
    39. Re:Back to BASIC by K.+S.+Kyosuke · · Score: 3, Insightful

      For example, deeply embedded processors running on an RTOS (not embedded Linux or something), or even bare metal, with memory limitations and hard real-time constraints measured in tens of microseconds is not the best environment for Lisp (or any GC language for that matter).

      It's the best environment for Forth, and conversely, Forth is the best language for than environment.

      --
      Ezekiel 23:20
    40. Re:Back to BASIC by K.+S.+Kyosuke · · Score: 1
      Also, one more thing:

      Templates for example are a great way to write very fast code

      That's like saying that C macros are a great way to write very fast code. I believe that templates were supposed to be a generic programming feature, providing you with some additional level of safety and expressiveness in parameterized code, not a code bumming kludge...or were they?

      Object based programming is a nice way to encapsulate things and adds zero overhead. True OO can be used judiciously in the non-speed critical parts (often a clean way to have a single image handle several minor hardware variants).

      These are nonsensical claims, if only because there's no canonical definition of what is "the difference between object-based and true-OO programming", nor is there a canonical definition of what "object-based programming" and "true-OO programming" are supposed to mean on their own. In the presence of weasel words and weasel terms, any such argument becomes moot.

      --
      Ezekiel 23:20
    41. Re:Back to BASIC by Anonymous Coward · · Score: 0

      Maybe thats why COBOL just wont die ;-)

    42. Re:Back to BASIC by DuckDodgers · · Score: 1

      I give you Mjolnir: https://github.com/halgari/mjolnir It's a project that uses Clojure (a Lisp dialect) plus LLVM ( the compiler ) to generate highly optimized machine code. I'm not associated with the project in any way, and I don't know if the generated code comes close to well-written C++ for performance (both in terms of CPU and memory use efficiency). But the potential is there.

      Obviously running a Lisp interpreter in an embedded RTOS isn't practical.

    43. Re:Back to BASIC by DuckDodgers · · Score: 3, Insightful

      There are also thousands of failed projects in C, C++, Java, Perl, Python, and Ruby. There are two separate questions to debate - whether Lisp is a good language to use, period, and what obstacles there are to widespread adoption. Obviously if Lisp sucks, then that can be a big obstacle to widespread adoption.

      But there's a famously quoted statement by Guy Steele, who wrote some of the Lisp language specs and Java language specs. "we were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp." ( http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg04045.html )

      Going from C to C++ is easy, I did that. Going from C++ to Java is easy. I did that too. Going from Java to Lisp is damn difficult, at least for me. But the fact that teaching mainstream C, C++, and Java developers Lisp is difficult merely makes it unlikely Lisp will be popular. It does not prove Lisp is a poor language.

    44. Re:Back to BASIC by jbolden · · Score: 1

      F# because OCaml is platform independent and F# is .NET specific
      Clojure because there was no LISP on the JVM to take advantage of Java
      etc...

      There is a diversity of languages because the situations demanding languages have become more diverse.

    45. Re:Back to BASIC by phantomfive · · Score: 1

      What do either of those have to do with the topic?

      --
      "First they came for the slanderers and i said nothing."
    46. Re:Back to BASIC by phantomfive · · Score: 0

      Templates for example are a great way to write very fast code,

      They are a way to write code that you naively think is fast. If you want your data structure (or whatever) to be fast, then you'll do a lot better writing your own that fits the particular scenario you are working on.

      Read Stroustrup.

      Yeah, the language salesman says C++ is fast. Go read someone who actually knows about efficiency, like Paul Hsieh.

      You can use an RTGC if you need GC and HRT. All you need to be able to do is guarantee that an operation will finish in the time required. I'm sure you're smart enough to figure out at least two ways to implement that.

      In general, C++ fans are the people who don't have much experience with other languages. Maybe they know Java or Python or something, but those aren't really great languages either.....

      Also, it entertains me that I get modded up all the time for saying that LISP is a better language. It's highly unlikely that the people modding me up even use LISP.

      --
      "First they came for the slanderers and i said nothing."
    47. Re:Back to BASIC by BitZtream · · Score: 1

      Yes, but they said DECENT compiler, so GCC is immediately out.

      GCC has to be the worst as far as optimization that I've ever seen. Its a shining example of OSS not actually delivering on its promise. Generally, something as widely used as GCC should be on par with commercial offerings (such as Linux in relation to the server market, it competes in an unquestionable way, with all the server OS big boys and stands strong), but it isn't. Its not even close. Wouldn't surprise me one bit if this sort of optimization is one it doesn't do since its one of those corner cases that shouldn't be that common.

      Hell, the GCC assholes would probably tell you that they were helping you by not optimizing it.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    48. Re:Back to BASIC by Anonymous Coward · · Score: 0

      All high-level languages are wool pulled over your eyes to help you pretend a computer is not a computer. :)

    49. Re:Back to BASIC by BitZtream · · Score: 1

      Its hard to have an intelligent critique with something as silly as implying C++ can be shoehorned into the embedded world. It shows you really don't understand either the language or the target.

      The EXACT reason you don't use it is because it does stuff that is unnecessary and abstracts away your ability to control it.

      At best, you use C and occasionally make it work with some C++ objects. Most compilers will produce shittier code just because you rename a .c file to .cpp, let alone use actual features.

      No compiler makes C++ not bloated compared to C.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    50. Re:Back to BASIC by BitZtream · · Score: 1

      and the compiler handles the rest.

      And you will never be a worth while embedded developer with ignorant statements like that. Thats the kind of thing I expect to here from a Microsoft developer.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    51. Re:Back to BASIC by BitZtream · · Score: 1

      Anything you do on either platform with C++ (as thats what the arduino environment is) can be done FAR better in C.

      Arudino isn't about producing fast code, its about producing an easy to use development environment.

      No one uses the arduino IDE and libraries to do anything beyond some basic example tutorials.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    52. Re:Back to BASIC by Emperor+Shaddam+IV · · Score: 1

      Basic ain't that bad.

      I worked at a very large retailer that used Business Basic running on Data General mini-computers in the early 1990's. Of course, they also had IBM iron running MVS with tons of CICS/COBOL programs. Its surprising how much "could" be done with Basic back in the day.

      I also still remember the C-64 games, a lot of which were written in basic and would use a bunch of "pokes" to load assembly routines into memory.

      And what about good old Access Basic and Visual Basic? The easiest way to code a windows GUI program back in the day. Much easier to use than that Visual Studio/MFC C++ junk back in the 1990's. :)

    53. Re:Back to BASIC by 0racle · · Score: 2

      it sucks if you just want to get work done

      So pick a language you're good at and get work done. The existence of other languages doesn't prevent that. The one true language is never going to happen.

      --
      "I use a Mac because I'm just better than you are."
    54. Re:Back to BASIC by Samantha+Wright · · Score: 1

      ...yeah, that's catalogued too. It seems what Lisp needs to get out of that trap is a spec designed by people who have no strong feelings about the history of the language one way or another and, if possible, have no Lisp experience. But I guess that's where Ruby came from.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    55. Re:Back to BASIC by charles2678 · · Score: 1

      Then name some "good programs" written in Lisp.

      Off the top of my head...

      • ViaWeb. Read that link; it's worth it -- Paul talks about how his startup's success could be directly attributed to the decision to use Common LISP.
      • My last employer's high-bandwidth real-time metrics analysis program. Sorry, closed-source, but we gave a talk about it at Clojure Conj.
      • Incidentally, we weren't the only people to decide to use Clojure for that exact same problem -- Storm was written by Twitter to solve the same problem (distributed realtime number-crunching), and does so beautifully.
      • ThreatGrid does large-scale real-time malware analysis. Guess what their platform is written in?
      • Cascalog is one of the most widely-used library on top of Hadoop. Yup, it's in Clojure, a LISP.
      • PuppetDB was developed by a good friend of mine over at Puppet Labs. Backend? Clojure.
      • Datomic is perhaps one of the most interesting datastores out there -- moving the CPU work involved in queries out to the clients, making reads exceedingly scalable (and able to do things like blocking network calls with zero impact on other clients). Guess what it's implemented in? Right.
      • Overtone is a "live programming" environment for music synthesis. If you have the time, Sam Aaron's talk using it to demonstrate the basics of psychoaccoustics (not to mention building the instruments he uses on-stage and using functional techniques to decompose Bach's canons and reconstruct them at will)

      And so forth. Every conference has more people announcing interesting projects they've written, and I've only skimmed the very top -- ones which are exceptionally memorable. There's a lot going on, and more all the time.

    56. Re:Back to BASIC by operagost · · Score: 1

      Most programmers are familiar with BASIC; many of them either learned it in school or (the real greybeards) learned it in their first job. They criticize it for things such as lack of structure, forgetting that the other languages of its time didn't have it either. They keep it in its historical context of the 1970s and the microcomputer era when they first discovered it, unaware of the existence of procedural variants from IBM and DEC/Compaq/HP. I've written VMS Basic programs without a GOTO in them, save the error handler (which doesn't count because the error handlers in other languages are implied GOTOs).

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    57. Re:Back to BASIC by Anonymous Coward · · Score: 0

      Perl, Python, Ruby, Lua, etc., etc., etc. You could spend the rest of eternity debating their pros and cons, but do we really need all of them? It's great if you want to spend the rest of your life learning yet another genius's "best of" mix of existing language ideas, but it sucks if you just want to get work done.

      Or, instead of complaining about the abundance of choices which are available to you, you could just pick the right tool for the job and use only that one. More choices is always better, regardless of what the Steve Jobses of this world tell you. At the same time, having more options to choose from does not necessitate that you use them all. If your purpose is truly to just "get work done" then why are you on /. at all?

      Reading/commenting on /. == not getting work done

    58. Re:Back to BASIC by Anonymous Coward · · Score: 0

      I can't take it. I would have modded you down, but I'm posting as AC.

      First, it's bool not BOOL.

      corrected function:
      inline bool isAnonymousTroll()
      {
                              return true ;
      }

    59. Re:Back to BASIC by marcosdumay · · Score: 1

      As I already said, one of the key design principles was not to add overhead unless you explicitly ask for it.

      I don't think they fullfiled that objective. C++ does a lot of hidden operations that a naive developer won't even think about (I know, I was naive once, and for some idioms I probably still am). You must know quite a lot of things for it to be as efficient as bare C.

    60. Re:Back to BASIC by Anonymous Coward · · Score: 0

      Actually, smart guy, the keyword for Boolean in C99 is _BOOL. bool is a macro when the stdbool.h header is included.

    61. Re:Back to BASIC by Anonymous Coward · · Score: 0

      You are so full of it! C++ most certainly was designed of efficiency. C++ programs are every bit as efficient as C ones. You are talking out your backend.

    62. Re:Back to BASIC by Anonymous Coward · · Score: 0

      That's crap. I've been writing real-time, embedded systems for about 20 yrs. C++ is a great language for that. C++ code compiles just as tightly as C does. You have no idea what you are talking about.

    63. Re:Back to BASIC by OutOnARock · · Score: 1

      I'm pretty sure it was James Bond with a southern sheriff that did the corkscrew jump over the river.

      The Bandit jumped over a creek with a bridge out with Sally Fields in the passenger seat.

    64. Re:Back to BASIC by gamanimatron · · Score: 1

      ...code bumming kludge...

      BAHAHAHAHA

      Speaking as someone who's developed C++ template libraries for a bunch of different projects, I've gotta say that that's the best description I've yet heard.

      *tips hat*

      --
      cogito ergo dubito
    65. Re:Back to BASIC by Virtucon · · Score: 1

      My example works fine if I'm in a windows world.

      From windef.h

      typedef int BOOL;

      Have a nice day, sheesh next time I'll put an include in the response. I'm also letting the preprocessor do some work here, so my def comes back to 1 which is an int which is fine. Now get off my lawn before I bring out the K&R book.

      I still have one mod point left bitches!

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    66. Re:Back to BASIC by Anonymous Coward · · Score: 0

      Well... you have F# in Mono at least. .NET is an implementation of the CLR and BCL.

    67. Re:Back to BASIC by Darinbob · · Score: 1

      I'm not really saying that it is BASIC that is bad, but the attitude that the computing world began with BASIC is what is wierd, or that BASIC was an advance over the flint knives of the past. But BASIC was invented for beginners. When I tutored with beginning programmers in college we had to unteach them all the bad stuff they learned with BASIC.

      As for easy, the only time I used Visual Basic was writing a demo for a library, and I coded up the demo in both Visual Basic and Delphi. Delphi was vastly more easy to use and Visual Basic was clumsy.

    68. Re:Back to BASIC by Darinbob · · Score: 1

      Other languages of the time did have structure! BASIC was created in 1964, and the "GOTO Considered Harmful" paper was out in 1968. ALGOL showed up in 1958. By the time BASIC became popular in the late 70's and the rise the microcomputer revolution, structured programming languages were widely available.

    69. Re:Back to BASIC by K.+S.+Kyosuke · · Score: 1

      And you will never be a worth while embedded developer with ignorant statements like that.

      Why? I am merely saying that Lisp is no worse than C in this particular respect, but unlike C, it allows you to elide repeating patterns in a somewhat safer way (which is exactly the reason why it was used to build QPX). In conjunction with the observation that embedded developers use C at least part of the time, the conclusion is that if C is not disqualified in some applications, neither should Lisp.

      Also please note that real-world Lisp compilers aren't as good as they could be: despite the fact that they're already quite good enough for many (especially complex) applications, C/C++ compilers have received so much more attention from compiler writers in the past two decades (at least an order and a half of magnitude more) that the performance difference in low-level code is quite understandable. You won't find a Lisp compiler maintained by more than two or three people on full time, while C/C++ toolchains have dozens, if not a hundred or more people working on them at large vendors such as MS (MSVC), IBM (XL) etc.

      And if you absolutely need some custom low level code, good implementations such as SBCL or ClozureCL allow you to write your own VOPs or LAP functions, and even integrate them with the optimizer (while DEFINE-COMPILER-MACRO simultaneously attacks the problem from the other side).

      --
      Ezekiel 23:20
    70. Re:Back to BASIC by K.+S.+Kyosuke · · Score: 1

      They are a way to write code that you naively think is fast. If you want your data structure (or whatever) to be fast, then you'll do a lot better writing your own that fits the particular scenario you are working on.

      There's a nice example here. I have not idea how people succeed in making the templated data structures use physical memory in a reasonably good way, but apparently, it's not that simple, if these numbers are any indication.

      Also, it entertains me that I get modded up all the time for saying that LISP is a better language. It's highly unlikely that the people modding me up even use LISP.

      Well, what do you know, perhaps some of them use Maxima. Or Emacs, for that matter. :-)

      --
      Ezekiel 23:20
    71. Re:Back to BASIC by K.+S.+Kyosuke · · Score: 1

      C++ does a lot of hidden operations that a naive developer won't even think about (I know, I was naive once, and for some idioms I probably still am). You must know quite a lot of things for it to be as efficient as bare C.

      It's not just efficiency. Talk about understanding value construction and destruction. And exception safety! Does anyone actually grok it to the degree that one doesn't need to think about it all the time?

      --
      Ezekiel 23:20
    72. Re:Back to BASIC by DamonHD · · Score: 1

      Real-time systems written in BASIC and C++, including some elements of a general-purpose RTOS.

      Rgds

      Damon

      --
      http://m.earth.org.uk/
    73. Re:Back to BASIC by DamonHD · · Score: 1

      The point is that some Arduino base elements *are* done (carefully) in C++, whether you happen to like them or not. No one feels forced to use every envelope-pushing template/stdio/threading/malloc C++ trick in every C++ deployment.

      I'm happily using elements of Arduino well beyond what you suggest, BTW.

      FWIW: I'm no particular fan of C++ though I spent a decade doing it for a living, but it's use in Arduino is OK.

      Rgds

      Damon

      --
      http://m.earth.org.uk/
    74. Re: Back to BASIC by kmoser · · Score: 1

      No. Things started going downhill shortly after Jaquard.

    75. Re:Back to BASIC by psevetson · · Score: 1

      FAIL: "No True Englishman" tautology. Thank you for playing.

    76. Re:Back to BASIC by jrugger75 · · Score: 1

      Try java to F# or Ruby (I know they're different), then to Lisp. That should give you the understanding of Lambdas you need to hop the rest of the way to Lisp (or Clojure or Scheme) which makes it far easier to grok.

    77. Re:Back to BASIC by jgrahn · · Score: 1

      The why is so that you can take advantage of C++ features. Templates for example are a great way to write very fast code,

      Fast code, sure, but the main use for C++ templates is to let you create sane, safe, readable and maintainable code. Or at least remove one of the obstacles for doing so.

    78. Re:Back to BASIC by jgrahn · · Score: 1

      [C++] Talk about understanding value construction and destruction. And exception safety! Does anyone actually grok it to the degree that one doesn't need to think about it all the time?

      I do. It's not hard. Not letting objects be in an invalid state in a context which expects them to be in a *valid* state is something that's important in any code in any language (except maybe functional languages?). C++ is not the problem here but part of the solution.

    79. Re:Back to BASIC by DuckDodgers · · Score: 1

      Thanks for the suggestion. I can actually write some toy code in Lisp and Clojure without too much effort these days. I'm just trying to go from there to making useful contributions to Lisp and Clojure open source projects. I'm hoping like crazy my future career is in that direction, because I'm getting tired of using Java.

    80. Re:Back to BASIC by Anonymous Coward · · Score: 0

      Steele must have been drunk. Java is about 10% of the way to Lisp.

    81. Re:Back to BASIC by ultranova · · Score: 1

      Any decent compiler will recognize tail recursion, and optimize out the function call.

      And any decent programmer ensures that their code works even if the compiler doesn't fix the bugs for them. The rest break the specs of whatever language they use and then whine that C/Java/whatever isn't portable, when it's their own damn fault for writing programs with undefined behaviour in the first place.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    82. Re:Back to BASIC by DuckDodgers · · Score: 1

      Getting developers out of the business of manual memory management is a big step. Taking out pointers and unchecked type casts as such is another big step. Taking out header files is a big step. Removing a macro system that uses different syntax than the language itself is a big step.

      So I'd say that Java takes C++ developers almost half of the way to Lisp.

    83. Re:Back to BASIC by Anonymous Coward · · Score: 0

      Hence Clojure and Scheme R7RS. Both aim to provide a modern Lisp with a consistent standard library.

  2. It's not the programmers making the decisions by cultiv8 · · Score: 4, Insightful

    It's managers and executives who make the decisions, and to them whether it's a browser or mobile app or SaaS or whatever the latest trend is, who cares if you're reinventing the wheel as long as profits are up.

    --
    sysadmins and parents of newborns get the same amount of sleep.
    1. Re:It's not the programmers making the decisions by fldsofglry · · Score: 5, Insightful

      Also in line with this: I can't imagine that way patents work actually help with the problem of inventing the wheel. You almost have to reinvent the wheel to create a working solution that won't get you sued.

    2. Re:It's not the programmers making the decisions by DaveAtFraud · · Score: 2, Insightful

      It's managers and executives who make the decisions, and to them whether it's a browser or mobile app or SaaS or whatever the latest trend is, who cares if you're reinventing the wheel as long as profits are up.

      That hasn't changed either. Just the specific subject of the idiocy has changed. Idiotic managers are timeless. Lady Ada probably had the same thing to say about Charles Babbage.

      Cheers,
      Dave

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    3. Re:It's not the programmers making the decisions by aXis100 · · Score: 1

      I wish I had mod points. +1 Insightful.

    4. Re:It's not the programmers making the decisions by sjames · · Score: 5, Informative

      Actually, it was Babbage who faced such idiocy from Parliament:

      On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.

      And you thought the clogged tubes thing was bad.

    5. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      Animal and other mascots, brands, commercial push, corporate support and advisory are choosing factors for managers now, but it happens to every evolved marketplace.

    6. Re:It's not the programmers making the decisions by symbolset · · Score: 1

      To thwart an engineer from doing useful things, promote him to management.

      --
      Help stamp out iliturcy.
    7. Re:It's not the programmers making the decisions by Darinbob · · Score: 1

      They didn't really have "managers" back then. See the current BBC articles about history of the workplace.

    8. Re:It's not the programmers making the decisions by Quasimodem · · Score: 1

      There's a steam powered /.?

    9. Re:It's not the programmers making the decisions by Opportunist · · Score: 2

      Ah, so that's why progress was possible back then and near absent today?

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    10. Re:It's not the programmers making the decisions by thue · · Score: 1

      The funny thing is that today, the computer does output the right answer in response to the wrong input. Try writing "cmoputer" (sic) in Google search, for example.

    11. Re:It's not the programmers making the decisions by smittyoneeach · · Score: 1

      We must continue to make the wheel rounder until it is ground down to a sub-atomic vanishing point.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    12. Re:It's not the programmers making the decisions by TheRaven64 · · Score: 5, Interesting

      There was a point made at the 30-year retrospective talk at last year's European Smalltalk conference. If you have two languages, one of which allows developers to be more efficient, then you will end up needing fewer developers for the same amount of work. Unless your entire company uses this language and never experiences mergers, then this group of developers will be outnumbered. When you begin a new project or merge two projects, management will typically decide to pick the language that more developers have experience with. If you have a team of 100 C++ programmers and another team of one SilverBulletLang programmers, then it seems obvious that you should pick C++ for your next project because you have vastly more experience within the company in using C++. The fact that the one SilverBulletLang programmer was more productive doesn't matter. In the real world, languages tend not to be silver bullets and so the productivity difference is more in the factor of two to five range, but that's still enough that the less-productive language wins.

      --
      I am TheRaven on Soylent News
    13. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      Another greedy engineer complaining about profits. Go figure.

    14. Re:It's not the programmers making the decisions by Xest · · Score: 5, Insightful

      That's such a cop out and it's not true. Most the managers making these decisions are technical managers who come from development backgrounds themselves.

      There is a problem at a more fundamental level, even outside of determining what buzzwords to use for a product and it's prominent even in some of the higher echelons of web society. The most obvious I'm going to point out is that of HTML5 - it's a braindead spec full of utterly amateur mistakes that could've been avoided if only Ian Hickson had spent 5 seconds understanding why existing things were the way they were and why that mattered.

      An obvious example is that of HTML5's semantic tags, using a study to determine a static set of tags that would be used to define semantic capabilities in a spec that was out of date before the ink had even dried was just plain stupid. The complaint that we needed more readable markup rather than div soup to make writing HTML was naive, firstly because amateurs just don't write HTML anymore, they all publish via Facebook, Wordpress and so forth, and secondly because there's a good reason markup had descended into div soup - because genericness is necessary for future-proofing. Divs don't care if they're ID is menu, or their class is comment, they're content neutral, they don't give a fuck what they are, but they'll be whatever you want them to be which means they're always fit for the future. In contrast HTML5 tried to replace divs with tags such as aside, header, footer and so forth which would be great except when you have a finite number of elements you end up with people arguing about what to do when an element doesn't fit. Do you just go back to using divs for that bit anyway or do you fudge one of the new tags in because it's kinda-loosely related which means you bastardise the semantics in the first place because we now don't really know what each semantic tag is referring to because it's been fudged in where it doesn't make a lot of sense?

      The real solution was to provide a semantic definition language, the ability to apply semantics to classes and IDs externally. Does that concept sound familiar? It should because we had the exact same problem with applying designs to HTML in the past and created CSS. We allowed design to be separate from markup with external stylesheets because this had many benefits, a few obvious ones:

      1) Designers could focus on CSS without getting in the way of those dealing with markup making development easier

      2) We could provide external stylesheets for no longer maintained sites and have the browser apply them meaning there is a method to retrofit unmaintained sites with new features

      3) Our markup is just markup, it just defines document structure, it does one thing and one thing well without being a complete mess of other concepts.

      Consider that these could've been benefits for building a semantic web if HTML5 had been done properly too. The fact that Ian Hickson failed to recognise this with HTML5 highlights what the article is talking about exactly. He's completely and utterly failed to learn the lessons before him as to why inline styling was bad but on a more fundamental level demonstrates a failure to understand the importance of the concept of separation of concerns and the immense benefits that provides that was already learnt the hard way by those who came before him. His solution? Oh just make HTML5 a "living spec" - what? Specs are meant to be static for a reason, so that you can actually become compliant with them and remain compliant with them. Spec compliance once you've achieved it shouldn't ever be a moving target. That's when you know you need to release a new spec.

      It's a worrying trend because it's not just him, I see it amongst the Javascript community as they grow in their ambition to make ever bigger software but insist that Javascript is all they need to do it. The horrendously ugly fudges they implement to try and fudge faux-namespaces into the language in a desperate attempt to alleviate the fact the Javascript was just neve

    15. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      Plus, she looks hot in that meat dress. I never miss her concerts.

    16. Re:It's not the programmers making the decisions by AmiMoJo · · Score: 1

      The problem seems to be programmers who only use one language. I use C for embedded, sometimes a bit of assembler, and C# on the desktop except where it's easier to use C/C++. I also use Python for scripting and a bit of Java now and then. I also have experience of Ada, PHP, JS etc. but never seem to have any use for them these days.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    17. Re:It's not the programmers making the decisions by captainClassLoader · · Score: 4, Insightful

      What I've seen in the 3 decades I've been in the industry is that the number of programmers using OldVanillaLang versus SilverBulletLang is less of an issue - Managers are often willing to go with a more resource-efficient solution, given that IT/MIS departments are often considered overhead on the bean counter spreadsheets. The thing that keeps managers on the OldVanillaLang track is the answers to the questions: "Supposed my SilverBulletLang guys leave - Who takes over their code? How do I evaluate SilverBulletLang developers in interviews? And since they're rare, can I afford them?"

      --
      "The plural of anecdote is not data" -- Bruce Schneier
    18. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      Also, there's rumours she's a hermaphrodite. Imagine how hot it would be sucking her cock while fucking her pussy. And when you come she'll just flip you over and give it to you good. I love trannies, but I'd love me a proper hermaphrodite even more, since at heart I really love pussy more than cock.

    19. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      Then why do you *let* them??

      The problem with us geek types is LACK OF CONFIDENCE. Especially with intelligent people. (See: Dunning-Kruger effect.)

      YOU are the expert. Either your manager -- who is just a mere manager, a job about as glorious and irreplaceable as the cleaning lady -- trusts your skills which he hired you for... or he is an idiot and must be replaced.

      In fact, a manager is a mere stupid service job, that mostly can be replaced by a mediocre project management software and a therapist or a bit of socializing and friendship.

    20. Re:It's not the programmers making the decisions by sproketboy · · Score: 1

      Good comments. I wish I had mod points. I solved the semantic web a while ago but I haven't had the time to publish my prototype. :(

    21. Re:It's not the programmers making the decisions by angel'o'sphere · · Score: 1

      You must live in a strange world.

      If a project starts from scratch we usually use the language that has the best frameworks and tool chain (fitting to the job).

      Programmers that don't want to learn those have to pick another job.

      I rarely ever met a project where a manager decided over the language, usually it is the development team.

      But well, I live in europe, germany, perhaps we have a different mind set.

      (Ofc there are exceptions, where we can not chose a new language, e.g. in embedded development. But nevertheless this follows the pattern above, a manager will rarely decide which particular tool chain or whether it is C or C++ or is it a mix)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    22. Re:It's not the programmers making the decisions by H0p313ss · · Score: 1

      The problem seems to be programmers who only use one language. I use C for embedded, sometimes a bit of assembler, and C# on the desktop except where it's easier to use C/C++. I also use Python for scripting and a bit of Java now and then. I also have experience of Ada, PHP, JS etc. but never seem to have any use for them these days.

      Agreed, the "one true language" debates are horribly tedious and unproductive.

      There are many tools, and many jobs, use the right tool for the right job. (And if you have a hammer, everything looks like a nail.)

      While I shudder at the thought, I'm told that these days I qualify as a Java "expert". But I would not try to automate shell tasks with Java... if I had a choice I'd use Python, but I might have to bite the bullet and use bourne shell or the DOS command language. If I was building a website I may use Java on the server if I needed a DB or some kind of processing, but the UI itself would be all HTML, CSS and JavaScript. (Some would say rails on the server... whatever floats your boat, if it gets the job done and scales to meet the demand.)

      If I want something that runs blazingly fast and I can take the time to write the code well it's going to be C/C++, no garbage collection and excellent startup times unlike Java, C#, etc.

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    23. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      "Then why do you *let* them??"

      You do realize that a large number of people have their whole identity and world view based on them being the victim? If they didnt "let" them, they wouldnt have anything to complain about and they would have no excuses.

    24. Re:It's not the programmers making the decisions by TheRaven64 · · Score: 2

      You're missing the point. Developers may pick the language, but if you've only hired a tenth as many programmers for language A than as for language B (because those who use language A are ten times more productive), then when you come to start a new project you'll have ten times as many advocates for language B as you do for language A. Which language will your development team pick?

      --
      I am TheRaven on Soylent News
    25. Re:It's not the programmers making the decisions by angel'o'sphere · · Score: 1

      Depends which team has more spare time.

      Most teams have enough languages ready to choose of any of them that is used in the corporation.

      I'm currently (unfortunately) using at least 7 in parallel.

      In your example if I was the manager I would both "groups" let make proposals and argumentations.

      The I would look into their previous success stories (that is what issue trackers and versioning systems are for).

      And as long as I wont find any particular awful history, I would them and some architects let decide.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    26. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      Good point.

    27. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      It's part of the culture of misunderstanding the development process. If you don't know where your problems lie, and don't know how to invest in training, then just go where the masses are.

    28. Re:It's not the programmers making the decisions by Anonymous Coward · · Score: 0

      SaaS
      Software as a Serpent!

  3. The thing about repeating the past by FooAtWFU · · Score: 1

    I saw the Lady Gaga quip and Scott's fondness for effective ancient map-reducey techniques on unusual hardware platforms. It reminded me about things like discovering America. Did the Vikings discover it years before any other Europeans? Certainly. Did the Chinese discover it as well? There's some scholarly thought that maybe they did. But you know whose discovery actually effected change in the world? Lame old Christopher Columbus.

    Perhaps there's a lesson to be learned here from people who want to actually change the world with software and if we spent less time ranting about mmap-vs-scanf-in-Hive we could learn it.

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
    1. Re:The thing about repeating the past by iggymanz · · Score: 1

      Eh? starting 15,000 years ago various waves of people came here from asia and huge and important civilizations have risen and fallen in the Americas since then. Some of those people are still around and their influence on art, food, medicine continues into our culture. One group of those asians was absolutely crucial to the United States winning its independence and also had influence on our Constitution. Talk about effecting change in the world; and they're still around by the way.

    2. Re:The thing about repeating the past by Anonymous Coward · · Score: 0, Offtopic

      It's worth pointing out that Columbus thought he was discovering a path to the East Indies, that he enslaved friendly natives, and that it was the English colonists, and not the French or Spanish (who both had claims in North America) who "effected change in the world" in the area Columbus "discovered"; by which you mean that small part of the world I assume, since the French, Spanish, Portuguese, Chinese and many others effected many changes in other parts of the world at exactly the same time. Did I mention that Columbus was Italian and funded by the Spanish?

      So, if by domain range-mapping in the mathematics functional sense, you mean that the lesson is "changing the world by software" by the function of greedy funders then that is also true......MS, Oracle, Apple, Google all have changed the world via software :)

      Sorry, didn't mean to be rude or nit-picky about mmaps, but it's just so ironic

    3. Re:The thing about repeating the past by symbolset · · Score: 4, Insightful

      Lady Gaga is mentioned because she is both a classically trained artist and sui-generis of successful PopTart art through self-exploitation. Yes, the reference is recursive - as this sort of folk are prone to be. They can also be rude, if you bother to click through, as they give not one shit about propriety - they respect skill and art and nothing else.

      When I plussed this one on the Firehose I knew most of us weren't going to "get it" and that's OK. Once in a while we need an article that's for the outliers on the curve to maintain the site's "geek cred". This is one of those. Don't let it bother you. Most people aren't going to understand it. Actually, if you can begin to grasp why it's important to understand this you're at least three sigmas from the mean.

      Since you don't understand why it's important, I wouldn't click through to the article and attempt to participate in the discussion with these giants of technology. It would be bad for your self-esteem.

      For the audience though, these are the folk that made this stuff and if you appreciate the gifts of the IT art here is where you can duck in and say "thanks."

      --
      Help stamp out iliturcy.
    4. Re:The thing about repeating the past by Anonymous Coward · · Score: 4, Funny

      This is perhaps the most masterful parody of the passive-aggressive, cringe-inducingly self-congratulatory hipster attitude that I've seen on this site, and possibly anywhere on the internet, in some time. Bravo.

    5. Re:The thing about repeating the past by __aaltlg1547 · · Score: 3, Insightful

      Yeah, but too many of today's programmers think they discovered America themselves.

    6. Re:The thing about repeating the past by Darinbob · · Score: 1

      True. Just the other day I was writing a memo to all the other programmers on staff about my insights that GOTOs should be considered harmful.

    7. Re:The thing about repeating the past by Anonymous Coward · · Score: 0

      You realize that "Anonymous Coward" is really code for "American Christian", right?
      That makes you, actively or passively, the root of all human evil.
      And before you come back at me for posting AC: I'm doing it with irony, so it's OK.

    8. Re:The thing about repeating the past by Anonymous Coward · · Score: 0

      I admire your optimism.

    9. Re:The thing about repeating the past by datavirtue · · Score: 1

      Click through to the article? Are you mad?

      --
      I object to power without constructive purpose. --Spock
    10. Re:The thing about repeating the past by Anonymous Coward · · Score: 0

      GP was a parody too? I thought it was just the article...

    11. Re:The thing about repeating the past by Anonymous Coward · · Score: 0

      I saw the Lady Gaga quip and Scott's fondness for effective ancient map-reducey techniques on unusual hardware platforms. It reminded me about things like discovering America. Did the Vikings discover it years before any other Europeans? Certainly. Did the Chinese discover it as well? There's some scholarly thought that maybe they did. But you know whose discovery actually effected change in the world? Lame old Christopher Columbus.

      Perhaps there's a lesson to be learned here from people who want to actually change the world with software and if we spent less time ranting about mmap-vs-scanf-in-Hive we could learn it.

      Most importantly: "SIMPSONS DID IT!"

    12. Re:The thing about repeating the past by Anonymous Coward · · Score: 0

      sui-generis of successful PopTart art through self-exploitation

      There's absolutely nothing about Lady Gaga that is unique or interesting such that she is in a category of her own. Successful pop tart? Ok. But that's about it.

    13. Re:The thing about repeating the past by schlachter · · Score: 1

      wow, someone with such arrogance is undeniably insecure with their abilities...regardless of how great they may be.
      no matter your abilities, be secure in who you are, and you won't have to be such an utter jackass to the rest of us.

      --
      My God can beat up your God. Just kidding...don't take offense. I know there's no God.
    14. Re:The thing about repeating the past by iggymanz · · Score: 1

      native americans are not caucasoid but mongoloid

    15. Re:The thing about repeating the past by booch · · Score: 1

      Parody? I think you've chosen the wrong side of Poe's law here.

      --
      Software sucks. Open Source sucks less.
    16. Re:The thing about repeating the past by Anonymous Coward · · Score: 0

      No. If they were, they'd wear a hat and have a job and bring home the bacon!

  4. A (very) recent OSCON talk by zmughal · · Score: 5, Informative

    John Graham-Cumming gave a talk at OSCON 2013 titled "Turing's Curse" that speaks to this same idea. Worth a watch.

    1. Re:A (very) recent OSCON talk by Samantha+Wright · · Score: 1

      I find it curious that he didn't mention this or this at the end, given that they're both about a year old and both flirt with death and/or the halting problem in order to offer better debugging features.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    2. Re:A (very) recent OSCON talk by Anonymous Coward · · Score: 1

      From the video:

      Question from audience: Which programming language do you prefer, Java or C++?
      Donald Knuth: Which has the better debugger?

      Holy crap! There's another person in the world who favors debugging tools over syntax highlighting and refactoring tools? I'm not alone! I'm not alone!

    3. Re:A (very) recent OSCON talk by r33per · · Score: 1

      Turing's Curse

      I though the UK government were trying to get that conviction overturned?

    4. Re:A (very) recent OSCON talk by zmughal · · Score: 1

      Turing's Curse

      I though the UK government were trying to get that conviction overturned?

      The pardon should be granted Real Soon Now. John Graham-Cumming was actually the one who started the petition for issuing an apology.

  5. We don't shun those who should be shunned. by Anonymous Coward · · Score: 5, Insightful

    It's pretty damn obvious why this is: as an industry, we no longer shun those who should definitely be shunned.

    Just look at all of the damn fedora-wearing Ruby on Rails hipster freaks we deal with these days. Whoa, you're 19, you dropped out of college, but you can throw together some HTML and some shitty Ruby and now you consider yourself an "engineer". That's bullshit, son. That's utter bullshit. These kids don't have a clue what they're doing.

    In the 1970s and 1980s, when a lot of us got started in industry, a fool like that would've been filtered out long before he could even get a face-to-face interview with anyone at any software company. While there were indeed a lot of weird fuckers in industry back then, especially here in SV, they at least had some skill to offset their oddness. The Ruby youth of today have none of that. They're abnormal, yet they're also without any ability to do software development correctly.

    Yeah, these Ruby youngsters should get the hell off all of our lawns. There's not even good money in fixing up the crap they've produced. They fuck up so badly and produce so much utter shit that the companies that hired them go under rather than trying to even fix it!

    The moral of the story is to deal with skilled veteran software developers, or at least deal with college graduates who at least have some knowledge and potential to do things properly. And the Ruby on Rails idiots? Let's shun them as hard as we can. They have no place in our industry.

    1. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      What Ruby on Rails, Python, Clojure, etc. represent are programmers who think that changing the tools will change the problems, or somehow make them skilled. The bottom line is that if you can't be a good C++ programmer, hiding inside Ruby won't do anything for you other than make you feel comfortable that other people are just as unfamiliar with Ruby as you are.

    2. Re:We don't shun those who should be shunned. by PPH · · Score: 1

      I Googled "A poor worker blames his tools". All I got was links to Craftsman and Harbor Freight.

      --
      Have gnu, will travel.
    3. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      He isn't a "crabby old fuck", he's explaining his frustration with the poor quality of Ruby code that young programmers with a casual interest in coding and very little experience produce in great volumes.

      For once think about somebody else instead of yourself. This guy is upset, but he's explained why. You could respond creatively instead of insulting his age or his mother. Instead you gave the very response some 19-year old idiot with a joint in his mouth and 4 months of Ruby coding under his belt would say. You've contributed absolutely nothing to the discussion.

      Instead of rebelling against people that are different from you, try actually listening to them for once. The original AC had a point and all you've shown is that it flew over your head.

    4. Re:We don't shun those who should be shunned. by DutchUncle · · Score: 2

      I think you were trolling, but there's a point under there. In the 70s you had to have a clue to get anything done. As more infrastructure and support system has been built, in the interest of not having to reinvent the wheel every project, you *can* have people produce things - or appear to produce things - while remaining clueless. Flash and sizzle have been replacing the steak.

    5. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      We have nothing to "divulge". It's all out there, available for anyone smart enough to seek it! There are hundreds of excellent books on topics like C, C++, networking, parallel programming, SQL, relational databases, 3D graphics, simulations, UI design, and whatever else you're interested in.

      But we can't force you to learn that material. If you're going to insist that Ruby and JavaScript be used everywhere, all the time, without exception, then there's not much we can do to help you. If you refuse to use SQL and don't want to learn about relational database theory, and instead dick around with your NoSQL nonsense, our hands our tied.

      Don't blame veteran software developers for your ignorance, especially when you try so damn hard to remain as ignorant as you possibly can be.

    6. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 2, Insightful

      I can tell that you're young simply because you used C++ in a debate where someone slightly older would have used C. Either that, or you're a Windows programmer.

      C utterly dominated open source (and thus the Slashdot community) until about 5 years ago. That's when the overwhelming number of university switched to C++. Of course, before that it was Java, so you can see the trend.

      Unless you're a Windows programmer, I'd stick with C, which is infinitely simpler, and provides you freedom to maintain competency in other languages, many of which have far cooler features than C++ will ever be able to provide.

    7. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      There was no point; it was merely 'rargh Ruby hipsters are what's wrong with everything,' then further paragraphs in search of new insults to apply to them. If you think that's a well-reasoned argument or anything approaching a valid point, you should wipe the shit off of your face instead of slinging any more of it.

    8. Re:We don't shun those who should be shunned. by symbolset · · Score: 5, Interesting

      These guys were openly publishing their brilliance before hiding how your shit works was even a thing. Believe it or not once upon a time if you invented a brilliant thing in code you shared it for others to build upon so you could learn and grow and benefit. Hiding it for profit wasn't even thought of yet. It wasn't just undesirable: the thought did not even occur. That was the golden age of much progress, as each genius built upon the prior - standing upon the shoulders of giants reaching for fame. Now that we're in a hiding era we go around and around reinventing the same shit over and over, suing each other over who invented it first. It is madness. In the process we have moved backwards, losing decades of developed wisdom.

      --
      Help stamp out iliturcy.
    9. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 1, Informative

      I would actually recommend you use C++ with only a subset of the features. C is still the most popular language globally but C++ is a close 2nd - unfortunately there are some benefits to C++. For the record, Universities have been teaching C++ since 1995 at least, you're nearly 20 years out of date. For the record, Slashdot is not a good measure of what languages people are using, as it does not represent the general coding community.

    10. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 1

      As a young C++ dev, I see a lot of senior devs blind to what these new languages can do. Want a quick web server for xyz, that's like 3 lines of python. It's always a trade off between various things. The right tool for the right job; sometimes that's ruby on rails. The reality is, you can make easy money as a rails dev - instant results. Who cares if it scales. If the idea holds it can be redone properly. That doesn't really work for important systems. If you want a website that matches fedora-wearing hipsters with other fedora-wearing hipsters, based on STDs acquired and taste in music, you need a Rails dev.

    11. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      I've said it before and I'll say it again. Ruby/Node + NoSql is this generations Visual Basic + Access.

      Management will ask for a quick prototype and some teenager in college will throw it together in a couple hours on the cheap. Then they'll see a working product that they got out the door on a shoe string budget. Never mind that they're shipping the prototype, and that it's full of terrible code and is a bloated mess, we can just throw a ton of hardware at it!

      Fast forward 10 years and the industry will hit a tipping point where there's just so much crap being put out that we see the huge push back towards statically typed languages, or languages that don't tolerate bs to the extent that js, ruby, and php do. At this point developers like me will don our maintenance hats and get to work converting all that crappy code into something that will stand the test of time. Last round the victor went to c++, while all the vb6 was force upgraded to java/c#. My only question is what language will emerge as the dominant answer to the current round of stupidity.

    12. Re:We don't shun those who should be shunned. by AK+Marc · · Score: 1

      But it must all be re-discovered. If you know what, without why, then you will not know where the true limits are, or when you can break them. Knowing they are there is a good thing, but knowing why is much much more valuable. And experience (failures) gives you that information. Others often don't document their failures well, which leads to problems for those wanting to learn the "why" without having expensive failures.

      We just had an earthquake here, and one of the most heavily damaged buildings was one of the newest (and up to code, held up as earthquake ready). The structure was fine, but the fittings and fixtures didn't hold up to a shake, causing millions in damage to an almost new building.

    13. Re: We don't shun those who should be shunned. by Anonymous Coward · · Score: 2, Insightful

      I'm offended that ruby keeps getting thrown in with this Node/NoSQL stuff. Node has a couple of real use cases, but outside of that its a waste of time. NoSQL has a couple of real use cases, but outside of them it's not something you build around.

      Ruby on the other hand is a really interesting language that has the benefit of being so flexible that its made for creating DSLs. Puppet, Chef, Capistrano and Rails just off the top of my head. Do some libraries have memory leak issues? Yes. Does its thread handling suck? Yes. Does jRuby fix all of that? Yes. Does Torquebox let you deploy on hardened JBoss infrastructure? Yes. Is the rails community driving a huge chunk of the web to embrace PostgreSQL over MySQL...? Yes.

      Ruby and specifically jRuby is a powerful development platform with a great community around it. It is not deserving of being thrown in with the likes of Node as a fad. The biggest issue I see in Rails code is developers that try to do everything in Rails instead of leveraging their database but the popularity of PostgreSQL and its features are even starting to change that.

    14. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 2

      Some universities have been teaching since 1995, and before. But it wasn't until the last 5 or so years that the majority of graduates only think in terms of C++ to the odd exclusion of C. Your opinion would have been non-existent 10+ years ago, especially on Slashdot and in the open source community.

      Yes, C++ has useful features. But C++ doesn't integrate with other languages as well as C because of exceptions and name mangling. And there is no subset of C++ which is C, because C99 and C11 have many basic features which are not only incompatible, but unsupportable in C++. For example, C99 compound literal arrays cannot be supported in C++ because of the different semantics of temporary objects. I just ran into a bug like this the other day where someone copy+pasted some C code into C++, which caused a silent bug until compiled with a very recent version of GCC which emitted a warning about the different semantics.

      Why would I ever write both crippled C++ and crippled C? If you want C code, write C code. If you want C++ code, write C++ code. But it's idiotic to pretend that C++ can replace C.... it can't, not anymore than Ruby can replace C.

      I personally prefer C because a humanoid can actually comprehend the C standard. The C++ standard is incomprehensible even by the authors, and C++ programmers are as apt to be cargo-cultists as someone who writes JavaScript, simply because the language is so complex they don't even bother trying to understand it in its entirety. If I forget something about C, I can easily go to the C standard. You can't do the same for C++ because the standard is written for the benefit of compiler writers, not users. The semantics for any particular feature are spread scatter-shot throughout the standard, which is also an order of magnitude larger than C's standard, and even worse when you exclude their respective libraries and stick to language syntax and semantics.

      But if you're comfortable using a language where you can't know it inside-and-out, good for you. But please keep your software away from me. I prefer being a _master_ of C, and a _master_ of several other languages. C++ only has slaves.

    15. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 1

      No, a great worker knows when a tool is worthless. Not all tools are good ones.

    16. Re:We don't shun those who should be shunned. by sg_oneill · · Score: 2

      To be honest, I sort of softened on ruby on rails after being forced to endure a project on it, and must to my teeth-grinding resentment, actually found it a decent and productive environment (Although I'd say Django more so because of its relative lack of magic, and hey who doesn't enjoy screwing around with python).

      Now don't get me started on javascript on the server and NoSQL systems. Somewhere between "lets call ourselves amazing because we got a god damn web browser script environment to implement a pattern that was considered dubious 20 years ago" and "Fuck integrity shits faster in memory also lets just forget 40 years of database academia and make a HTML5 slideshow instead", you can see where my greying heckles start to rise.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    17. Re:We don't shun those who should be shunned. by Darinbob · · Score: 2

      And Ruby is just a hobbled variant of Smalltalk anyway.

    18. Re: We don't shun those who should be shunned. by foniksonik · · Score: 0

      And yet I can build a fully functioning Ecommerce website with an API, payment gateways, account system, and analytics in 6 weeks in Node/Mongo and have it doing 100k per month in sales with 3 people.

      Know how long that takes in C, C++? 3 years with 10 people. In Java, PHP? 6 months with 6 people. Ruby? 3 months with 3 people.

      Why is that?

      Because its an already solved problem. Why would I want the overhead of labor intensive and expensive development when I can just NPM the right modules, require them and then string them together?

      That ecosystem doesn't exist in the other languages. Package management and fit for purpose tool chains make all the difference.

      OTOH I'm not going to try to write scientific simulation software or game engines or video processing pipelines in Node. Java, Scala, and Erlang are going to be a better fit.

      If I'm building furniture I have a toolkit fit for purpose. I'm not going to use my mechanics toolkit to get the job done.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    19. Re:We don't shun those who should be shunned. by Darinbob · · Score: 1

      I was teaching assistant for first class that used C++ in our university in 1985.

      Of course, back then we didn't each languages to students directly, we gave them assignments and a few pointers then they had to pick up the language on their own time. And to be able to hep students with it, I had to pick it up before the others. No handholding allowed.

    20. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      The problem is that in the past, local coders were hired to fix the problem. These days, you just call an offshore group, say, "fix this", send them a PO, and let the few domestic employees fight with the offshore coding house at 12-1 AM in the morning about cheap coding decisions.

      I doubt the industry will tip back to languages that allow for less BS. Instead, the PHBs will just throw more hardware at the problem, or someone will invent languages with more BS that will look cooler than Ruby/Python/etc. and will be a "must" for that month's Web stack.

      Writing good code that stands the test of time takes money. Charging off income to be used for long term gains will get the HFT guys suing immediately and the regular shareholders suing in less than 90 days when their stock shares take a dip after earnings. Therefore, as time progresses, coding is just going to get sloppier.

    21. Re:We don't shun those who should be shunned. by symbolset · · Score: 1

      Over 90% of C++ in the wild is just plain ordinary C. The useful parts special to C++ are just one possible shortcut to attaching functions to dynamically created data structures. The un-useful parts - overloading and inheritance for example, detract from that. To get the maximum value from C++ you have to know which parts to use. C has no such limitation. C has no un-useful parts.

      When you use features special to C++ it's best to ask: "why am I doing this? Could this not be done better without the C++ extensions to C?" Trimming back reliance on the C++ extensions usually leads to more maintainable and portable code.

      I do C++ too, and the object with methods metaphor is a cool way to quickly layup a dancing bTree with a bidirectional linked list spine and indexed bucket hash - my favorite sorting/indexing/search scheme. It's close to O(n) for indexing and O(3) for search. But like recursion, the C++ implementation is a crutch because it makes assumptions that will not always be valid. Reimplementing it in pure C reveals logical errors, fallacious assumptions, and eliminates failure modes. Sometimes I do things in C++ to rough it out, and then C to lock it down.

      --
      Help stamp out iliturcy.
    22. Re:We don't shun those who should be shunned. by Darinbob · · Score: 2

      That's why I don't work in areas where that can be done. In embedded systems you still need to know the basics and can't just rely on the web technology invented last week. Even in mobile devices they need bare metal C coders (I just got a recruiter letter for it too). Gotta know hardware, operating systems, some assembler, debug from core files, good algorithms, communication with other processors, etc. Try getting a $10/hour a guy doing that, or someone who thinks a certificate is proof of qualifications.

    23. Re: We don't shun those who should be shunned. by MillerHighLife21 · · Score: 3, Interesting

      Package management and fit for purpose tool chains don't exist in other languages? Is that a joke? Have you seen the Ruby gem ecosystem? Have you seen the Java ecosystem? You can do everything that you described in Ruby or Python without blinking and you won't incur the technical debt that Node's global insanity creates. Node came a long and people went "OMG! Non-blocking I/O!" and everybody else with a pulse looked at it and said...yea, that's what background workers are for but background workers encapsulate the logic instead of letting it all float around in one process. Eventually, node code grows to insanity.

      Mongo is awesome...for write heavy applications. In most applications that means that one table could probably be better served with Mongo. For logging or cloud based data aggregators it's EXCELLENT. It's a fantastic session store too. Also a great query cache. That doesn't make it the optimal tool for your entire system where you might actually care about normalization, data compression, data integrity or the amount of hard drive space required to store all the data bloat that comes with it.

      I can built a fully functional ecommerce system with an API, payment gateways, account system and analytics in 2 weeks (and most of that is just setting up the payment gateway and merchant account) with Ruby, Python, Groovy or Scala. With 1 person. Having it do $100k / month in sales is a product of what it's offering, how effectively it's marketed, how the supply chain side of the business can scale with demand and has absolutely zero to do with Node and/or Mongo.

      Are you actually serious with such an example?

      --
      "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    24. Re:We don't shun those who should be shunned. by grcumb · · Score: 2

      I Googled "A poor worker blames his tools". All I got was links to Craftsman and Harbor Freight.

      I bet you're blaming Google for this.... :-)

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    25. Re:We don't shun those who should be shunned. by snehoej · · Score: 2

      Inheritance is un-useful, and C code is more maintainable and portable than C++? No offense, but I'm not sure you're getting the whole OO thing.

    26. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      "C has no un-useful parts"

        setjmp / longjmp ?!?

    27. Re: We don't shun those who should be shunned. by MillerHighLife21 · · Score: 1

      I can't help myself, I've got to come back to this. Here are the use cases where Node makes sense:

      1. Centralized Templating across multiple backends. Node has the unique ability to be easily portable for templating logic on both the server and client side as well as the ability to leverage that logic across multiple different languages. It's a GREAT tool for this and basically a replacement for what XML/XSLT was supposed to do.

      2. Providing an API which needs to hit a lot of other API's behind the scenes and may create a lot of concurrent connections as a result. You can accomplish the same thing in other languages by using nginx http push module and threaded background workers, but Node is better fit if you don't already have an application with a queue or don't have enough control over the server configuration to ask that an nginx module be installed. The downside of doing it in node is that it requires you to duplicate application logic in the API layer unless your application was already written in Node.

      3. You're stuck on Microsoft servers and it's easier to fire up a Node server than it is to get more Unix-centric scripting languages to work properly in their non-native environments. This is why Node is incredibly popular with the .NET crowd.

      Outside of those 3 use cases though, the only remaining case for Node is "my developers only know Javascript and don't want to learn anything else" which generally means your developers are designers and Node becomes what people have complained about PHP being for all these years - an ecosystem infected by people with minimal coding experience.

      --
      "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    28. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      >C has no un-useful parts.

      Because it barely has any parts whatsoever. Have you reinvented your own strings and objects yet?

    29. Re:We don't shun those who should be shunned. by symbolset · · Score: 1

      OK, GOTO is considered harmful. Who ever used that?

      --
      Help stamp out iliturcy.
    30. Re:We don't shun those who should be shunned. by symbolset · · Score: 1

      You are confusing simple for bad. Common mistake.

      --
      Help stamp out iliturcy.
    31. Re:We don't shun those who should be shunned. by symbolset · · Score: 1

      I get the whole OO thing. Inheritance has issues in that it makes the meaning of the instant code non-obvious. You can't see an inheritance. That makes debugging a stone bitch. As for portability, I'll let history be your guide.

      --
      Help stamp out iliturcy.
    32. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      This is why open source is the only true body of computer science in existance. Software tied up by patents, copyrights (even on published journals), or hidden away in some corporation does nothing to advance the state of the art.

    33. Re:We don't shun those who should be shunned. by goose-incarnated · · Score: 2

      "C has no un-useful parts"

      setjmp / longjmp ?!?

      Very very very useful when writing error handlers for functions way on down the stack. Much more crufty than C++ exceptions, but a helluva lot more helpful when debugging signal-based coded.

      --
      I'm a minority race. Save your vitriol for white people.
    34. Re:We don't shun those who should be shunned. by symbolset · · Score: 1

      Eventually software patents will be ruled invalid, as software is math. Corporations funded most of this math BTW, as can be seen in the attributions of the articles in the Communications of the ACM.

      --
      Help stamp out iliturcy.
    35. Re:We don't shun those who should be shunned. by jarle.aase · · Score: 1

      ... Want a quick web server for xyz, that's like 3 lines of python.

      I did exactly that on a build machine to share a 50 line text-document about the recent builds. When the build-machine is building, serving that 50 line text-file takes 1 minute or more. I don't really think I would deploy something like that on prod.

    36. Re:We don't shun those who should be shunned. by TheRaven64 · · Score: 3, Insightful

      This is one of the sayings that's always bugged me. It's true, but that's because the first thing that a good workman does is pick appropriate tools, or build them if they don't exist. Many of the great scientists, artists and craftsmen over the decades have been as well remembered for the tools that they created as for the things that they did with the tools, yet this saying is often used to mean 'put up with crappy tools, their limitations are your fault,' when it should mean 'if you are failing because of bad tools, it's your fault for not using better ones.'

      --
      I am TheRaven on Soylent News
    37. Re:We don't shun those who should be shunned. by TheRaven64 · · Score: 1

      As long as you don't nest them and you never need to do any cleanup (e.g. release locks) on the stack frames in between the longjmp and setjmp...

      --
      I am TheRaven on Soylent News
    38. Re:We don't shun those who should be shunned. by TheRaven64 · · Score: 1

      You have to invent your own strings with C++ too. Qt, WebKit, LLVM, and ICU, for example, all have their own string classes. And they don't interoperate in any clean way because (for performance, in that special C++ sense that means microbenchmarks only) they don't use virtual functions and so you can't use an adaptor to turn one into the other, you must copy the data (yay, O(n) operations) at the boundaries between libraries.

      --
      I am TheRaven on Soylent News
    39. Re:We don't shun those who should be shunned. by TheRaven64 · · Score: 4, Interesting

      The designers or Ruby wanted Smalltalk with Perl syntax. I find it amazing that anyone could look at Smalltalk and think 'the one thing this needs to make it better is Perl syntax'. And you can substitute pretty much any language for Smalltalk in the last sentence.

      --
      I am TheRaven on Soylent News
    40. Re:We don't shun those who should be shunned. by Pino+Grigio · · Score: 2

      That's utter bullshit. When you file a patent, you describe in detail the technique you used. You can't file one if you don't. You're putting it into the public domain. It can't be exploited (assuming the patent holds), but it's still out there.

    41. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      Sorry, if you call overloading and inheritance un-useful you don't have a ** clue about what IS to be a software engineer. You are simply stuck in time (in the 60s!) in structured programming and are simply clueless about the advantages of OOP. Your moronic question (why am I doing this? Could this not be done better without the C++ extensions to C?) has a simple answer: because it reduces CONSIDERABLY the amount of work needed to solve ANY non-trivial problem without affecting performance in a noticeable way and if you REALLY were that interested in performance you would use assembler directly.

    42. Re:We don't shun those who should be shunned. by serviscope_minor · · Score: 2

      The un-useful parts - overloading and inheritance for example, detract from that.

      C has overloading. The + operator is overloaded so that it operates differently on pointers, ints, chars, floats, doubles and various combinations of the two. Could you imagine actually using a language without overloading?

      I have used them and the result is not particularly pleasant.

      Likewise for C++ which has *user defined* overloading. The idea of writing complex maths in C is horrible compared to C++.

      And inheritance? How is that *not* useful? It is really "easier" to use 27 different ad-hoc OO systems in C than one fixed one in C++?

      why am I doing this? Could this not be done better without the C++ extensions to C?"

      And the answer is usually "no". C++ + STL has a vastly different feel to it from plain C. I had to go back to writing C recently after a long haitus. The sheer quantity of boilerplate you have to put in which obscures the program logic is so frustrating. Everything from resizable arrays to strings to more complex data structures is just an immense amount of work by comparison. And you gain none of efficiency, ease of use, maintainability or portability for the work.

      C++ implementation is a crutch because it makes assumptions that will not always be valid.

      The memory and machine model of C++ is almost identical to C and it's very simple to mentally convert C++ things like inheritance into C code. The C++ compiler isn't making unwarranted assumptions. If unwarranted assumptions are being made then it is you who are misunderstanging C++ and making bad assumptions.

      --
      SJW n. One who posts facts.
    43. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      I have back in the day when dinosaurs roamed, You often didnt have syntax constructions such as While and Do .. Until.

      we were taught the logic behind each construct and when to use it and then how to construct them from if , then , goto in a structured none spagetti manner.

    44. Re:We don't shun those who should be shunned. by plopez · · Score: 1

      But that requires effort :)

      --
      putting the 'B' in LGBTQ+
    45. Re:We don't shun those who should be shunned. by serviscope_minor · · Score: 1

      You can't see an inheritance.

      Huh?

      class Foo: public Base{ //...
      };

      versus

      struct Foo{
            Base member; //....
      };

      How is the second one better than the first?

      As for portability, I'll let history be your guide.

      Why? History is not an accurate reflection of the current state.

      Especially with the growth of GCC, C++ is now supported on a VAST variety of architectures, from 8 bitters like Atmel and 8051 upwards. There are other vendor compilers which support those architectures as well.

      There are more C compilers, but the gap is closing.

      --
      SJW n. One who posts facts.
    46. Re:We don't shun those who should be shunned. by Marc_Hawke · · Score: 2

      Neither one of your meanings matches how I've always heard it. A poor worker will try to place the blame on someone else. "It couldn't have been my fault, they must have been bad tools." So the tools were the constant rather than the variable.

      --
      --Welcome to the Realm of the Hawke--
    47. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      I'll admit that your comment gave me a good laugh. If I had mod points I would fix that "4: Interesting" to be "5: Funny."

    48. Re: We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      Don't conflate the hate for Ruby on Rails (the framework) with Ruby (the language). Ruby on Rails was demonstrably complete and utter shit the day it was born - anyone that had even read tiny pieces of any database textbook could have told you that. Ruby (the language) has its pluses and minuses, like most other programming languages.

    49. Re: We don't shun those who should be shunned. by bad-badtz-maru · · Score: 1

      Right, because canned ecommerce & analytics modules only exist in Your Favorite Language and not in any other. You're the poster child for this article.

    50. Re: We don't shun those who should be shunned. by bad-badtz-maru · · Score: 1

      Your last sentence nails Node's quick rise to popularity.

    51. Re:We don't shun those who should be shunned. by acsinc · · Score: 1

      I don't know what part of the world you are from, but I started learning C++ in high school in 98. Once I got to college most courses used Java, but my C++ knowledge was always useful.

    52. Re:We don't shun those who should be shunned. by angel'o'sphere · · Score: 1

      No offense,
      but most people arguing like you about C++ simply have not enough knowledge about it (or in other words experience).

      I had not any reason to use pure C for decades. The boost in development time to be able to work with modern language constructs and libraries over good old C is extreme.

      If someone or something would force me to use C I would shot him or me or both of us. Sorry, programming in C is just a waste of time.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    53. Re:We don't shun those who should be shunned. by squizzar · · Score: 1

      un-useful != incorrectly-usable

    54. Re:We don't shun those who should be shunned. by TheRaven64 · · Score: 1

      They're only useful if you can guarantee that there will never be any frames on the stack that were not written by you (and therefore may contain __attribute__((cleanup)) in C, or exception catch / finally blocks in other languages), and if this is the case then there are far cleaner mechanisms for achieving the same thing.

      --
      I am TheRaven on Soylent News
    55. Re:We don't shun those who should be shunned. by nitehawk214 · · Score: 2

      I think you were trolling, but there's a point under there. In the 70s you had to have a clue to get anything done. As more infrastructure and support system has been built, in the interest of not having to reinvent the wheel every project, you *can* have people produce things - or appear to produce things - while remaining clueless. Flash and sizzle have been replacing the steak.

      Now it's html5 and sizzle.

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
    56. Re:We don't shun those who should be shunned. by i · · Score: 1

      FWIW, when I started 1979 in "data" as it was called then, I had zero education in anything computer-related. Or any coding experience.
      I learned everything by using it, manuals and some courses in the beginning.
      (I showed my interest in computers where I worked and by good result in an IBM-test was transferred to the computing part of the company. Later on I have worked both as a system analyst, DBA and a semi sysprog.)

      A funny thing about beginning this way was that I started with a self-study course in COBOL which went fine the first days until they began to talk about tracks and cylinders where they lost me completely! :) I knew nothing about harddisks etc then. My first program was punched in cards. :) Then written in coding forms...

      --
      Mundus Vult Decipi
    57. Re:We don't shun those who should be shunned. by david_thornley · · Score: 1

      OK, the tl;dr summary of your post would be "I don't know C++, even though I use some object-oriented features sometimes." or maybe "I bash C++ because I don't understand it." If you're basically writing "C with Classes", you're writing crappy C++.

      Operator overloading is syntactic sugar, but very handy syntactic sugar. Inheritance enables polymorphism, which can be a great simplifier. It also allows old code to seamlessly use new code without alteration. (It's easy to add new classes to C++ stream I/O, for example; the corresponding C would be adding new format specifiers to printf/scanf.) Both are abusable, of course, but both are very useful under the right circumstances. (Protip: if you're making an inheritance hierarchy that covers all your classes, you're doing it wrong.)

      You're completely overlooking other features of C++, including the near-painless resource management and the STL. You can have most common data structures immediately ready to go, well written and correct, with easy-to-use basic algorithms. (Per Knuth, binary search was published years before a correct version was published. Most people can't sit down and write a correct one. It's easily available in C++ without the clunkiness of C's bsearch().)

      It would appear that you have written a fancy data structure for yourself, that doesn't necessarily meet your performance claims, is buggy, and makes assumptions. You could use a standard C++ container instead, or combine a few, and get correctness, guaranteed performance, and clearly stated minimal assumptions. You're unlikely to do as well in C, particularly if you want fancy data structures of different sorts of contents.

      If you were to learn some modern C++, you might well find it more useful than C.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    58. Re:We don't shun those who should be shunned. by david_thornley · · Score: 1

      If that were enforced, it'd be cool. I am something more than "ordinarily skilled in the art", and I've seen software patents where I don't have a clue where to start. All I know is that if I happen to find a way to do something that violates the claims, I'm in trouble.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    59. Re:We don't shun those who should be shunned. by jgrahn · · Score: 1

      Unless you're a Windows programmer, I'd stick with C, which is infinitely simpler, and provides you freedom to maintain competency in other languages,

      Huh? So C++ somehow removes that freedom?

      Let me also remind you that while C is simpler than C++, your C source code is more complex than your C++ code -- while doing the same things, using the same APIs and libraries. Personally, I am tired of implementing linked lists and hash tables for the Nth time and hunting for memory leaks and buffer overflows. Learning C++ was time well spent.

      On the other hand, learning to use C is a good idea. It's the lingua franca in the Unix world at least.

      many of which have far cooler features than C++ will ever be able to provide.

      It is true that you're crippled if all you know is C++. Or C. Unsurprisingly, neither language is supposed to be the perfect tool for every job.

    60. Re:We don't shun those who should be shunned. by Anonymous Coward · · Score: 0

      The designers or Ruby wanted Smalltalk with Perl syntax. I find it amazing that anyone could look at Smalltalk and think 'the one thing this needs to make it better is Perl syntax'. And you can substitute pretty much any language for Smalltalk in the last sentence.

      Even giving Perl Perl syntax would be an improvement

  6. All things being equal scales to infinity by Anonymous Coward · · Score: 0

    If you have defined features that are more of a consequence of having a particular data model rather than any use required by the customers, you have a shit product. If your UI is coded for what's easiest for the programmer rather than what allows the user to make the most money, you have a shitty UI. If you depend on lock in for your revenue rather than usefulness, you are hoping your customers are idiots and idiots are harder to support than smart people.

    Rinse and repeat.

  7. Paging Linus by TubeSteak · · Score: 3, Insightful

    http://scottlocklin.wordpress.com/2013/07/28/ruins-of-forgotten-empires-apl-languages/#comment-6301

    Computer science worked better historically in part because humorless totalitarian nincompoopery hadn't been invented yet. People were more concerned with solving actual problems than paying attention to idiots who feel a need to police productive people's language for feminist ideological correctness.

    You may now go fuck yourself with a carrot scraper in whatever gender-free orifice you have available. Use a for loop while you're at it.

    --
    [Fuck Beta]
    o0t!
    1. Re:Paging Linus by Anonymous Coward · · Score: 0

      Boy, does that illogical ranting make me want to contribute to open source!

    2. Re:Paging Linus by phantomfive · · Score: 3, Informative

      For those who didn't catch it, he's an APL programmer. "Use a for loop" for him is the biggest insult in that entire paragraph.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Paging Linus by Darinbob · · Score: 1

      Not everywhere has a subway.

    4. Re:Paging Linus by Sesostris+III · · Score: 0

      I came across this while reading the article. I stopped reading at this point. He might have something useful to say, but if it is interspersed with comments like this, I'm not going to read it.

      Doubly sad as the original "computer programmer" of often considered to be a woman - Lady Ada Lovelace. And I write this as as man!

      --
      You never know what is enough unless you know what is more than enough. - Blake
    5. Re:Paging Linus by Anonymous Coward · · Score: 0

      I'm a Fortran programmer, you insensitive clod! ...we use do-loops.

    6. Re:Paging Linus by Anonymous Coward · · Score: 0

      People you hate can still have useful things to say.

    7. Re:Paging Linus by Anonymous Coward · · Score: 0

      The comment is from the author of one of the links in the original Slashdot post.

    8. Re:Paging Linus by ultranova · · Score: 0

      Some people get drunk with power, and some people become assholes when drunk. But what's sad is that it takes such a petty amount of perceived power for some people to lose it.

      "I can code! I failed to be properly socialized as a kid! Bend over, world!"

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    9. Re:Paging Linus by H0p313ss · · Score: 1

      I'm a Fortran programmer, you insensitive clod! ...we use do-loops.

      It gets better? ... Oh wait, wrong minority, sorry man it's all downhill from here.

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
  8. Hive: distributed and free by michaelmalak · · Score: 2, Interesting

    That's genius: comparing a "$100k/CPU" non-distributed database to a free distributed database. Also no mention that, yes, everyone hates Hive, and that's why there are a dozen replacements coming out this year promising 100x speedup, also all free.

    And on programming languages, Locklin is condescending speaking from his high and mighty functional programming languages mountain, and makes no mention of the detour the industry had to first take into object-oriented programming to handle and organize the exploding size in software programs before combined functional/object languages could make a resurgence. He also neglects to make any mention of Python, which has been popular and mainstream since the late 90's.

    1. Re:Hive: distributed and free by phantomfive · · Score: 3, Interesting

      He's talking about APL, that's not a functional language. It's an array based language, of which Dijkstra said, ""APL is a mistake, carried through to perfection."

      --
      "First they came for the slanderers and i said nothing."
  9. large teams by fermion · · Score: 2

    One of the things that I still see is the idea that when a problem exists, throw more people at it. The mythical man month pretty much threw that to wind for software development, and I am sure there are a whole slew of books that predate it saying essenstially the same thing. Yes advancements do mean that more people can communicate more directly, but there still is a limit and I do not think it is as great as some believe. Define interfaces, define test that insure those interfaces exhibit high fidelity, and let small teams, even a single person, solve a small problem. What technological advance has done is make clock cycles very cheap, so there is less excuse to go digging around trying to change code that will make your code run a little faster. Speaking of interfaces, we know that when data and processes are not highly encapsulated, it is nearly impossible to create a bug free large project. One thing that object oriented programs has done is to create a structure where data and processes can be hidden so they can be changed as needed without damaging the overall software application. Now, many complain because the data is not really hidden, it is just a formality. But really coding is just a formality, and a professional is mostly one who knows how to respect that formality to generate the most manageable and defect free code possible. One thing that has been lost with the generation of rapid development systems quickly spouting out bad code is that code and the ability to tweak it is the basis of what we do.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    1. Re:large teams by Anonymous Coward · · Score: 1

      9 women can't have a baby in a month

    2. Re:large teams by Anonymous Coward · · Score: 0

      A single person can only work on small problems? It's been my experience that this works for large problems as well. Many state that due to distributed computing it is impossible for a single person to have knowledge of or work all stacks...hogwash! Frameworks and code generation make this possible...plus some damn experience actually building things...in production environments...and not just out of school. We seem to have pushed out these senior leaders though.

    3. Re:large teams by ComeTheDay · · Score: 1

      A single person can only work on small problems? It's been my experience that this works for large problems as well (and is best). Many state that due to distributed computing it is impossible for a single person to have knowledge of or work all stacks...hogwash! Frameworks and code generation make this possible...plus some damn experience actually building things...in production environments...and not just being out of school. We seem to have pushed out these senior leaders though. I don't even believe it's due to cost...merely that senior (in the true sense of the word) engineers are less likely to put up with shenanigans, lack of design/architecture, agile/sigma6, etc. We don't want engineers getting too big for their britches do we? Then they might ask for a salary they deserve...instead of merely $40K more than a grunt.

    4. Re:large teams by myowntrueself · · Score: 1

      9 women can't have a baby in a month

      Tie two birds together. Though they have 4 wings they cannot fly.

      --
      In the free world the media isn't government run; the government is media run.
    5. Re:large teams by hawguy · · Score: 1

      9 women can't have a baby in a month

      On average, they can.

    6. Re:large teams by HybridST · · Score: 1

      What do you mean?

      --
      Ever notice that Cobra Commander sounds an awful lot like Star scream?
    7. Re:large teams by plopez · · Score: 1

      Part of the problem is that managers are still trying to manage software projects as if it were an industrial process, which is not true. We are in a service economy in the US but training of managers is still far too often focused on an industrial economy.

      --
      putting the 'B' in LGBTQ+
    8. Re:large teams by chill · · Score: 1

      You didn't see Rio, then, did you?

      --
      Learning HOW to think is more important than learning WHAT to think.
    9. Re:large teams by Richy_T · · Score: 1

      Unless they're in a sci-fi TV series.

    10. Re:large teams by walshy007 · · Score: 1

      Depends on your definition of "large"

      All tasks big enough get broken up into smaller more manageable tasks where they can be, it just makes sense to.

  10. 'Web Based' Coding is not the same... by neorush · · Score: 4, Funny

    We marvel that the runtime environment of the web browser can do things that we had working 25 years ago on the Mac

    I don't remember that code running cross platform on varying architectures. The web as an platform for distribution should not be compared to an actual OS...that doesn't even make sense.

    --
    neorush
    1. Re:'Web Based' Coding is not the same... by DutchUncle · · Score: 4, Interesting

      I don't remember that code running cross platform on varying architectures.

      Yes. No code runs cross platform on varying architectures - INCLUDING the stuff that supposedly does, like Java and Javascript and all of the web distributed stuff. All of it DEPENDS on an interpretation level that, at some point, has to connect to the native environment.

      Which is what BASIC was all about. And FORTRAN. Expressing the algorithm in a slightly more abstract form that could be compiled to the native environment, and then in the case of BASIC turned into interpreted code (Oh, you thought Java invented the virtual machine?)

    2. Re:'Web Based' Coding is not the same... by Anonymous Coward · · Score: 0

      We marvel that the runtime environment of the web browser can do things that we had working 25 years ago on the Mac

      I don't remember that code running cross platform on varying architectures.

      Right, that was 20 years ago on Next. If you mean the compiled code ran cross platform, Java was 15 years ago.

      The web as an platform for distribution should not be compared to an actual OS...that doesn't even make sense.

      Both the web and OSes are platforms for distribution. OSes are many other things as well, but comparing them in terms of something they both are is perfectly reasonable.

    3. Re:'Web Based' Coding is not the same... by Anonymous Coward · · Score: 0

      Most BASICs were interpreted straight, they didn't run on virtual machines. UCSD Pascal's P-Code was the first really practical virtual machine.

    4. Re:'Web Based' Coding is not the same... by TheLink · · Score: 1

      Write a Mac emulator in javascript/java, add a bit of "glue" and it'll be cross platform? The decades ago the Mac only had 128KB RAM. That's smaller than jquery ;)
      And 800KB floppies (we can ignore the 400KB ones).

      BTW, I'm kidding. Just trying to make people think how much we've actually advanced and gained in the past 5 decades (since the Mother of All Demos).

      We seem to be mainly producing "reruns" with newer technology. Whether it's Hollywood, NASA, or in IT.

      Car analogy, the engineers are making new "cars" with newer technology. But we're not driving them anywhere new and interesting. Then again, most people don't care - we're mostly happy with the new cars - we usually go to the same places every day anyway.

      You'd need to start a Manhattan Project equivalent with a real visionary at the top if you want to change things fast. There are plenty of smart but overly specialized people around that need guidance in order to do great stuff otherwise they'll just do "normal stuff" e.g. http://tech.slashdot.org/story/13/07/30/2018214/why-the-internet-needs-cognitive-protocols
      They're smart in their field, but they are clueless with the big picture. The big picture is it should be obvious that one "brain" cannot trust another "brain" completely hence wiring them up is stupid.

      --
    5. Re:'Web Based' Coding is not the same... by prefec2 · · Score: 1

      Web browsers and web servers resemble an architecture, which is available since 1987 and called X-Window System (http://en.wikipedia.org/wiki/X_Window_System). The only new thing is, that they moved more code to the display server, called web-browser, which supports now also image composition, event handling and form evaluation.

    6. Re:'Web Based' Coding is not the same... by Anonymous Coward · · Score: 0

      So you can say with absolute certainty that Java doesn't run on varying architectures ?

      Funny how my Java code runs on Intel PCs, PowerPC Unix and IBM Z/Os Mainframes then, must be sheer luck on my part.

      Or maybe knowing it well enough to not do any stupid little OS dependent tricks that will stop it from doing so.

    7. Re:'Web Based' Coding is not the same... by sjames · · Score: 1

      p-code long predated Java.

  11. In a lot of ways it is closed source vs open by GoodNewsJimDotCom · · Score: 2

    There are a lot of things that if source code was available, other people could build on it and make higher quality products. In the absence of source code, people need to start from scratch often rebuilding the wheel.

    Competition for money might get people to strive to make better pieces of art. But on the flip side, this same competition will sue your pants off for any reason they can find so you don't compete with them either.

    An on an unrelated note, I had an idea for a zombie video game like Ground Hog day today. When you die, it starts out as the beginning of a zombie pandemic. As you die and play through it over and over, you get secrets to where weapons and supplies are. You find tricks you can use to survive and save people. Eventually you find out who caused the zombie pandemic. You can then kill him before he goes through with it. I'm not sure an ending where you serve in prison is a good ending though. I didn't think it the whole way through, but it sounded like a good premise for a zombie game.

    1. Re:In a lot of ways it is closed source vs open by Anonymous Coward · · Score: 0

      >There are a lot of things that if source code was available, other people could build on it and make higher quality products.

      And yet the open source landscape is littered with the half-dead corpses of crap tools that don't quite work. The answer is that whether the source is open or closed is irrelevant. It is how much investment, money and time go into the project that determines the quality. There is good open source, and there is good closed source. A good programmer knows that source is source.

    2. Re:In a lot of ways it is closed source vs open by MrEricSir · · Score: 2

      There are a lot of things that if source code was available, other people could build on it and make higher quality products. In the absence of source code, people need to start from scratch often rebuilding the wheel.

      That doesn't seem true for the most part.

      All open source does with regard to code reuse is that it makes it painfully obvious how much redundancy there is. The spat between the different Linux display managers is one recent example, but I'm sure you can think of many others.

      As for why this is, there's many reasons: incompatible licenses, NIH syndrome, incompatible technologies/versions, copyright assignment, etc. Getting people to work together towards a common goal over the long term is a lot harder than slapping the right license on your code.

      --
      There's no -1 for "I don't get it."
    3. Re:In a lot of ways it is closed source vs open by Anonymous Coward · · Score: 0

      An on an unrelated note, I had an idea for a zombie video game like Ground Hog day today. When you die, it starts out as the beginning of a zombie pandemic. As you die and play through it over and over, you get secrets to where weapons and supplies are. You find tricks you can use to survive and save people. Eventually you find out who caused the zombie pandemic. You can then kill him before he goes through with it. I'm not sure an ending where you serve in prison is a good ending though. I didn't think it the whole way through, but it sounded like a good premise for a zombie game.

      As I recall, having to experience the same thing over and over drove Bill Murray's character to suicide over and over again.

    4. Re:In a lot of ways it is closed source vs open by Anonymous Coward · · Score: 0

      Linux is an imitation of a 40yr old operation system. Sometimes open source can mean a lack of innovation since a well established, yet flawed in design, is available.
      And for the pointing fingers part of the anon posting, try blaming Bell Labs for keeping Plan9 closed source through the early 90s. Likely the biggest marketing mistake in the last two decade.

    5. Re:In a lot of ways it is closed source vs open by Anonymous Coward · · Score: 0

      An on an unrelated note, I had an idea for a zombie video game like Ground Hog day today...

      Sounds like a rehash of a certain game, just with a few more zombies.

    6. Re:In a lot of ways it is closed source vs open by Anonymous Coward · · Score: 0

      There are a lot of things that if source code was available, other people could build on it and make higher quality products. In the absence of source code, people need to start from scratch often rebuilding the wheel.

      Not with GPL. Maybe with WTF licensing (do Whatever The F you want with it), but most of the "open source" culture is based on "if you mess with what I made, you better follow my design goals."

      As for your zombie game, set it in Punxsutawney and have that oversized rodent in the library be subtly responsible for whatever bits of advice you get each time. For added fun, don't mention the town, but try to model it off the real city as much as possible and then watch to see how long until people realize what you did. (This suggestion covered by WTF license, have at it)

    7. Re:In a lot of ways it is closed source vs open by walshy007 · · Score: 1

      The thing is, different criteria and focuses yields different results.

      Choice in the OSS world usually comes from different goals and priorities of the projects when it comes to details.

  12. Lisp is just a representation of ASTs. by Anonymous Coward · · Score: 0

    Lisp doesn't "come back" every few years. For crying out loud, the entire language is nothing but an abstract syntax tree. Of course it's present in all languages! It's what they all end up getting converted down into before they finally get converted again into assembly or directly into machine code in some cases.

    I don't see what's surprising or insightful about noticing that a common subset of almost all programming languages is, *gasp*, present in almost all programming languages.

    1. Re:Lisp is just a representation of ASTs. by Anonymous Coward · · Score: 1

      LISP 1958
      Zeta 1973
      Scheme 1975
      1985 Common LISP
      CL/CLISP 1994, 1999
      Clojure 2008

      These aren't just "influences" from LISP - they are essentially new branches. "Almost all programming languages" is a huge stretch.

    2. Re:Lisp is just a representation of ASTs. by Samantha+Wright · · Score: 2

      There's arguably a list of things that make a language into "a" Lisp, and not all of the languages that meet those criteria are actually forks or directly inspired by McCarthy et al.'s LISP programming language. GP was referring to this concept, but probably has a much looser understanding of what it means to be a Lisp. Tragically, TFA is mostly about APL.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    3. Re:Lisp is just a representation of ASTs. by Eunuchswear · · Score: 1

      Anyone who writes, repeatedly "But all languages are not equivalent", repeatedly, only to mention that all languages are equivalent somewhere near the end of the article should hand in his geek card.

      --
      Watch this Heartland Institute video
    4. Re:Lisp is just a representation of ASTs. by DuckDodgers · · Score: 1

      I'm not that knowledgeable about compilers, but my understanding of compiling code is:

      Step 1: parse source code.
      Step 2: build Abstract Syntax Tree ( https://en.wikipedia.org/wiki/Abstract_syntax_tree )
      Step 3: depending upon whether your language is interpreted, compiled to machine code, or converted to some intermediate representation like Java Virtual Machine bytecode, use some program to execute the AST ( interpreted languages ) or use some transformation process to convert the AST to the desired representation.

      While the syntax of C, Perl, Python, R, Haskell, and Ocaml may all vary widely from each other, the ASTs are all similar. And the kicker is, Lisp's syntax is as close as anyone has come to representing a generic AST directly in text. So the argument the Lisp fanatics make is that once you start compiling your language and build the AST you're effectively working with Lisp anyway.

    5. Re:Lisp is just a representation of ASTs. by Samantha+Wright · · Score: 1

      Woah, woah, he said Turing-equivalent, not just "equivalent." Those are wildly different things. Are you sure the expiry date on your own geek card is still in the future?

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  13. In Browser by MacDork · · Score: 5, Insightful

    We marvel that the runtime environment of the web browser can do things that we had working 25 years ago on the Mac.

    Did the Mac, 25 years ago, allow people to load code from a remote server and execute it locally in a sandbox and in a platform independent manner all in a matter of a couple of seconds? No. No it did not.

    We should then pay homage to the Mac 25 years ago, when it basically did what Doug Englebart demonstrated 45 years ago. Nice logic you have there.

    1. Re:In Browser by DutchUncle · · Score: 1

      25 years ago you couldn't transmit the data in a matter of seconds. You *could* execute BASIC bytecode, though. Dynamic link libraries were invented for MULTICS in the 1960s. IBM assembler macros in the 70s could do more than a C++ template function. (OTOOH IBM deliberately crippled the small computer world by choosing an overlapped 24-bit address space instead of a 32-bit linear one (on the Motorola chips) because their mainframes were still linear 24-bit.)

    2. Re:In Browser by antifoidulus · · Score: 1

      This, exactly this. This guy seems to elevate programming to some sort of sacred art, an art where "doing x" is the only important consideration, not how much will it cost to allow anyone in the world to do x, not how much of a pain it is to make sure everyone updates to the newest version when you want to do x and y etc.

      Basically he seems to be lamenting the fact that we aren't programming solely for the sake of programming. From TFA:
      Modern code monkeys donâ(TM)t even recognize mastery; mastery is measured in dollars or number of users, which is a poor substitute for distinguishing between what is good and what is dumb.

    3. Re:In Browser by cold+fjord · · Score: 3, Informative

      Did the Mac, 25 years ago, allow people to load code from a remote server and execute it locally in a sandbox and in a platform independent manner all in a matter of a couple of seconds? No. No it did not.

      Depends on how much leeway you are willing to grant. Around 1990 or so, the Mac could run Soft PC, a virtual machine x86 emulator running DOS or Windows. The Mac could certainly network and had file servers. So you should in fact have been able to download code from a fileserver and run it in the virtual machine, which from a Mac perspective would effectively be a sandbox. Although the PC DOS/Windows platform isn't "platform independent," it was nearly universal ( minus Mac only systems*) at the time.

      * Yes, yes - Amiga, Apple II, Atari, et. al.

      --
      much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
    4. Re:In Browser by Virtucon · · Score: 1

      That's what overlays were for. You didn't have to have a huge VA space back then, you just used segmented programs linked with PSects and brought in what sections of code you needed, when you needed them. Of course that means code was procedural but what Cobol or Fortran app back then wasn't procedural, first do this, then this and finally output results here. In IBM's way of thinking, 24 bits was more than sufficient. Now, 40+ years later we have 64 bit and 128 bit systems coming around the corner. Think of all the inefficient ways all these new guys who think they're "Gurus" of code can waste address space now!

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    5. Re:In Browser by Anonymous Coward · · Score: 0

      25 years ago I could run TeleFinder or First Class Client on my Mac ... which bought the whole desktop metaphor to the Fidonet/BBS thing that operated for those of us not connected to the Internet at the time. It was an eye opener on what a sophisticated client could do, when it contained all the necessary code and resources to duplicate/emulate a 'desktop experience' over slow comms links (at the time 9600 baud was the standard).

      Because of bandwidth limitations it was simply not possible to load a heap of data and code off the server, but by transmitting a few pointers you could emulate in real time the desktop experience we were just getting into on the Mac.

      E.g. drag a file icon on the server onto your TF or FC desktop, and the file copied from the server to your Mac.

      Bottom line: That was also the 'great leap forward' with the browser. It contained within itself the code and resources to execute (relatively small amounts of ) remote code sent from the server, and handled layout, graphics, forms, and ever more sophisticated scripting capabilities in a client-server environment. And, in the early days, with the relatively primitive capabilities of HTML version 1, HTTP and numerous cross platform incompatabilities between different variants of the same browser the experience was much less transparent than you intimate. Different browsers from different developers were also pretty incompatible ... but you seem to have forgotten all of this.

      What Dave Winer said does apply ... no matter how you want to rewrite history.

    6. Re:In Browser by Darinbob · · Score: 1

      Well, 20 years ago using NeWS.

    7. Re:In Browser by grcumb · · Score: 5, Funny

      We marvel that the runtime environment of the web browser can do things that we had working 25 years ago on the Mac.

      Did the Mac, 25 years ago, allow people to load code from a remote server and execute it locally in a sandbox and in a platform independent manner all in a matter of a couple of seconds? No. No it did not.

      We should then pay homage to the Mac 25 years ago, when it basically did what Doug Englebart demonstrated 45 years ago. Nice logic you have there.

      Dude, just ignore this guy. Of all people who have the right to indulge in a good, old-fashioned 'get off my lawn' rant, Dave Winer ranks last. This is the man who, for our sins, gave us XMLRPC and SOAP, paving the way for the re-invention of... well, everything, in a web browser.

      Port 80 died for this man's sins....

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    8. Re:In Browser by Anonymous Coward · · Score: 0

      I'd love to see the dataset that needs more then 64 bits of address space.

    9. Re:In Browser by Anonymous Coward · · Score: 0

      Did the Mac, 25 years ago, allow people to load code from a remote server and execute it locally in a sandbox and in a platform independent manner all in a matter of a couple of seconds? No. No it did not.

      That's pretty much what you were doing when downloading a HyperCard stack from an online service ca. 1989. It wasn't platform-independent, though. If Apple management back then realized what they had, Apple might have supplanted the WWW.

    10. Re:In Browser by Anonymous Coward · · Score: 0

      you sound like a fag.

    11. Re:In Browser by Anonymous Coward · · Score: 0

      Even better, around 1980 you could download a BASIC program from a BBS and run it either on your MS/DOS computer or your Apple ][. There were some platform-specific quirks and extensions, but not unlike the browser-specific quirks you see with modern java or javascript.

      Sure you had to do it all through the command line. The point is that it is fundamentally the same functionality being touted today, even though we took it for granted thirty years ago.

    12. Re:In Browser by Impy+the+Impiuos+Imp · · Score: 1

      Some molecular 3D matrix could handle the storage. It's the processing that is the struggle for that much data for the forseeable future.

      If you build it, people will find a use. And not just weather or quantum simulations.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    13. Re:In Browser by tlhIngan · · Score: 1

      We marvel that the runtime environment of the web browser can do things that we had working 25 years ago on the Mac.

      Did the Mac, 25 years ago, allow people to load code from a remote server and execute it locally in a sandbox and in a platform independent manner all in a matter of a couple of seconds? No. No it did not.

      All the pieces were there.

      Load code from remote server - Macs supported AppleTalk - a very early primititve networking system (when Farallon changed the physical layer from serial cables to silver satin phone cable, it really took off - given it used the unused pair and thus was really cheap to network Macs together).

      Loading code I na VM/Sandbox - well, I believe Macs had at one point supported the UCSD p-system, which if you remember your history was the output of the Pascal compiler. Though, I think Macs evolved a bit from that - the API was distinctly Pascal, but it was Pascal compiled down to native, not p-code.

      I suppose if you think about it, there were two things. The concept and the implementation. I believe one of the goals of the p-system was to be platform independent - by being bytecode that was run on the target platform.

      And networking was old hat - even the Xerox Alto which Apple examined supported networking when the Mac was still being developed. It was how the Alto and the Star system was supposed to operate.

      (That's not to say the Mac wasn't without innovations - it supported... overlapping windows, something the Alto didn't. Woz had a patent on it, too.)

      Of course, the other thing is well, we've been adding layers of abstractions ever since (something about how there's nothing that can't be solved by adding another layer of abstraction). The web runs on a web browser, which for some (e.g., Firefox) runs platform independent code (e.g., XUL) that runs on a runtime environment (e.g., xulrunner), which runs on top of an OS which abstracts out hardware and provides a virtual environment for the program to run in...

    14. Re:In Browser by greg1104 · · Score: 1

      A 64 bit address space can hold values up to 2 ^ 64 bits. There are only about 10 ^ 49 atoms on our planet. That's why it's not possible for a computer on Earth to exceed a 64 bit address space, which was the point being made by that joke. Even if you squeezed each bit down to taking a single atom, a system holding enough data to overflow a 64 bit address space would have to be the size of our solar system.

    15. Re:In Browser by MiSaunaSnob · · Score: 1

      your math is bad

    16. Re:In Browser by Anonymous Coward · · Score: 0

      There are about 2^92.5 atoms in a human body.

  14. It's easy to be a pundit by Anonymous Coward · · Score: 0

    Look at Barnes and Noble. They proactively placed a huge bet on the Nook, cannibalizing their bread and butter business in terms of floor space, and (by most reviewers) executed it the right way. The trouble is they still lost. Had they never done the Nook people would've said, "look at those overpaid idiots. Completely asleep with no response to Amazon in the digital age". Everyone would've nodded sagely.

    Microsoft has a big problem. They're completely married to Windows, but it is 1) an inferior architecture to Unix and 2) a proprietary architecture when the world wants openness. Also, big companies like the telcos and handset makers don't trust Microsoft as a partner, so MS almost has to go it alone, and that's not their strength as a company.

    In real life, things can't be wrapped up easily like they can in a Harvard Business School classroom.

  15. What Mac did you use? by Anonymous Coward · · Score: 0

    Please explain how a 25 year old Mac can play streaming media.

    1. Re:What Mac did you use? by Guspaz · · Score: 2

      LocalTalk file sharing, AIFF files, 8-bit audio support.

  16. it Is Un-Fucking-Believable by Anonymous Coward · · Score: 0

    that HTTP provided no optional persistent connection establishment and thus no way for the server to transmit an update to a page being viewed by a browser. The web would be 20 years farther along than it is now if that simple mechanism had been in place.

    1. Re:it Is Un-Fucking-Believable by Russ1642 · · Score: 2

      If the people in the middle ages had only realized it was the rats, and the fleas they brought with them, they wouldn't have suffered from plague for so long. Hindsight is 20/20.

    2. Re:it Is Un-Fucking-Believable by Anonymous Coward · · Score: 0

      that HTTP provided no optional persistent connection establishment and thus no way for the server to transmit an update to a page being viewed by a browser. The web would be 20 years farther along than it is now if that simple mechanism had been in place

      I remember sitting at my desk about 17 years ago and doing this via some aweful multi-part chunking thing in netscape.

    3. Re:it Is Un-Fucking-Believable by Anonymous Coward · · Score: 0

      Dude: IPv6. The people who designed that thought like chess masters, 7-8 moves ahead. The problem is that most of us care only about the next move.

    4. Re:it Is Un-Fucking-Believable by Anonymous Coward · · Score: 0

      HTTP was never intended to be statefull. it was supposed to be a server delivering the data as per the clients request. nothing more nothing less. I is ofcourse easy to judge this when seen through todays glasses, hindsight is 20/20 after all. Where is your future-proof WWW alternative?

    5. Re:it Is Un-Fucking-Believable by AK+Marc · · Score: 1

      The idea of "the server to transmit an update to a page being viewed by a browser" is the opposite of HTML. Request, reponse. That's how *everything* worked up to that point. Gopher and everything else didn't offer server-side updates, requiring the client to request any updates. HTML was a "minor" improvement, not revolutionary. I remember going from Gopher to Lynx. In fact, looking up dates to verify my memory, Wikipedia states Lynx supported Gopher and HTML, though I can't remember using it for HTML. HTML was so "revolutionary" that browsers could support it and it's predecessor at the same time.

      So expecting such a fundamental change is silly. Such changes come about much later. Cookies and cache settings helped, but still there isn't much where it works in the manner you find obvious.

    6. Re:it Is Un-Fucking-Believable by Anonymous Coward · · Score: 0

      IPv6 is going to totally rat-fuck a bunch of business models. As in why doesn't google want you to throw a server on their fiber networks? Because there goes skype, twitter, gmail, google groups, youtube, instagram, blogger, etc etc etc. Why because all of these businesses are actually solving a root problem, how can you share stuff on the web when you don't have a permanent address? You have be dumkof@gmail.com, or duckface.facebook.com, wingnut.blogger.com.

      With IPv6 you can serve that up at _some_address_ potentially with end to end encryption, white listing, filtering, black listing, real privacy controls.

    7. Re:it Is Un-Fucking-Believable by Anonymous Coward · · Score: 0

      In the other hand, the black plague was the catalyst that broke the handhold of church in Europe, eventually leading to the Renaissance and with it to the freedom of human ingenuity from the shackles of theocracy, so in a sense, rats, fleas and the Mongol empire are as responsible for the modern world as Columbus discovery of America. Heck, without the plague and the weakening of the church Columbus could have not even DARED to attempt such travel.

      Not to mention that rats were a cheap source of meat to the poor and probably several orders of magnitude cleaner than the average citizen back then. Hell, forget that, they were probably cleaner than most kings and queens back in the day.

  17. This is how it works by Anonymous Coward · · Score: 1

    The computer industry repeats itself all the time. The current virtualization trend is like the emulation of the 60s but better.

    The push toward heavy weight scripting languages with VMs over simple scripting. Watch the next trend come to make simple scripting languages that have fast startup for these virtualized environments in a few years.

    The push for terminals that happens every few years.. in reality web apps are the evolution of the terminal because we get dumb devices to see them with.

    Tablets are like computers from the mid 80s... no multi user modes, multitasking, etc. New versions of android support multiuser and multitasking. We almost hit windows 95 on the tablets.. I can't wait for NT.

    Devices are getting dumber so the little people can use them. Soon we'll have complex tablets that mimic PCs from 8 years ago and new dumber devices will be on the horizon again.

    The push for multiple CPU architectures and then the alternate push to standardize on one. Currently we've got the ARM vs x86 war and we had the ppc and alpha in the past or farther back the 68k or even farther back ibm vs dec.

    History is doomed to repeat itself.

    1. Re:This is how it works by serviscope_minor · · Score: 1

      New versions of android support multiuser and multitasking.

      This is one of the things I find truly incredible.

      The ver reason Linux exists is multitasking. Torvalds wrote it specifically to dick around with the new features of a 386 which made multitasking better. About one of the first things ever running on it was two programs printing "a" and "b" just to prove multitasking works.

      So android has taken possibly the most scalable kernel ever written, one designed from day 1 for multitasking and well, it looks like they might have multitasking by version 4.3.

      But then Android has a history of putting work into removing features.

      Early NDKs didn't support half of the C++ features. People wanting to use C++ proved it was a pointless restriction by compiling working programs with an unhacked gcc.

      The Linux kernel has had support for bluetooth 4 pretty much since it came out, yet mysteriously Android doesn't have bluetooth 4 support yet. It's not even a driver issue since a compliant bluetooth radio has to implement the standard driver model.

      Oh and the whole clusterfuck of being able to only install programs on the tiny internal flash drive when huge SD cards exist. Yes that makes sense. There's no way Linux has always let you put files wherever the hell you want.

      Android: Removing handy features of Linux and then reinserting them with great fanfare since 2003.

      --
      SJW n. One who posts facts.
    2. Re:This is how it works by Samantha+Wright · · Score: 1

      This is, honestly, a pervasive mobile problem. As you've guessed the challenges have nothing to do with the kernel; both Android and iOS have run plenty of services in the background since day one using their native Linux and Darwin multitasking. The bottlenecks are really (a) sloppy UI code that doesn't background well, (b) tiny available RAM that's only enough room for one program, (c) no good way of suspending tasks so that they actually get out of the way, and (d) troubles designing a decent task-switching interface.

      People had hacked the iPhone to do multitasking long before Apple released an official patch, but keeping programs in the background drastically reduced battery life and stability due to memory constraints.

      This sort of proves a key point that's been ignored in all the articles in the summary: new situations often mean new challenges, so old lessons are not always immediately applicable.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  18. troll by Anonymous Coward · · Score: 0

    troll article? i mean really now.

  19. The third link by phantomfive · · Score: 1

    The third link is mainly a praise of APL, the programming language. Talk about odd.

    It would be great if he'd actually given examples of why APL is a good language. I would be interested in that. Instead he says mmap is really interesting, which actually doesn't have anything to do with programming language.

    He says that old programmers have left a lot of examples of good source code. It would be great if he'd actually linked to their code.......

    --
    "First they came for the slanderers and i said nothing."
    1. Re:The third link by Samantha+Wright · · Score: 1

      It looks like he's obsessed with APL's vector and matrix math, which is the usual reason people obsess over it. If you're not familiar with APL, something similar is possible in MATLAB, although that's mostly due to well-written functions and is not nearly as intrinsic to the language as it is in APL. (The other notable feature of APL, one-character operators for practically everything, is not generally as well-received.) The magic is more or less the same as in functional programming. (Personally I've settled on a foreach() macro for C++ that takes the pain away.)

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  20. What past was he from? by Russ1642 · · Score: 2, Funny

    He says system performance is the same as it was way back then. He thinks that stuff just happened immediately on those systems because they were running very efficient code. So what. Here's a simple test. Go get one of those computers and set it next to yours. Turn them both on. Mine would be at a desktop before the old one even thinks about getting down to actually running the operating system. Or start a program. On a current system it loads now. As in, right now. Back then it was a waiting game. Everything was a waiting game. He must have simply forgotten or repressed those memories.

    1. Re:What past was he from? by siride · · Score: 3, Insightful

      Also those old programs did a lot less than many of our new programs. People often forget that when complaining about performance.

      That's not to say, of course, that modern programs couldn't be written more efficiently. Because of Moore's Law and other considerations, we have moved away from spending a lot of time on performance and efficiency.

    2. Re:What past was he from? by phantomfive · · Score: 2

      Not sure what you're talking about. My current desktop boots in around 30 seconds. My Commodore 64 from 1980 was blinking a READY prompt in about 2 seconds.

      Of course modern computers have faster CPUs and everything else, but I'd really like to know where along the line a 30 second boot time became acceptable......

      --
      "First they came for the slanderers and i said nothing."
    3. Re:What past was he from? by AK+Marc · · Score: 4, Informative

      What past were you from? When I had DOS 3.3 running on my XT (on a hard drive), it booted in a few seconds after POST. When I loaded Windows 3.1 (no network at home at the time, so didn't run W3.11) on an XT with 1M RAM, it would take forever. And DOS 3.3 from floppy was slow, and loud. But 3.3 from HD on an ancient XT was much faster than Windows is today. DOS programs loaded fast, granted I was running 300k programs, not 300 MB programs, but they were still fast on DOS 3.3 back in the day. What were you running on your ancient computer?

    4. Re:What past was he from? by myowntrueself · · Score: 1

      Not sure what you're talking about. My current desktop boots in around 30 seconds. My Commodore 64 from 1980 was blinking a READY prompt in about 2 seconds.

      Of course modern computers have faster CPUs and everything else, but I'd really like to know where along the line a 30 second boot time became acceptable......

      Compare the functionality offered after that 2 second boot time with the functionality offered after that 30 second boot time. I think its more than worth the wait.

      --
      In the free world the media isn't government run; the government is media run.
    5. Re:What past was he from? by Darinbob · · Score: 2, Informative

      However, compare Word from 1990 to Word from today. The 1990 one will start nearly instantly, by incredibly responsive, and have all the features most people use anyway.

    6. Re:What past was he from? by Darinbob · · Score: 1

      Old programs did less because there was less fluff too. New programs do more but a lot of that extra they do is pointless; serving up ads, on-the-fly spell checking, cross referencing cookies, etc.

    7. Re:What past was he from? by Anonymous Coward · · Score: 0

      c64c with a cartridge damn near instance, certainly faster than a modern pc and an SSD.

    8. Re:What past was he from? by phantomfive · · Score: 1

      Indeed, I would wait 5 minutes if I had to. However, that does not mean the 30 second wait is necessary, it's not.

      --
      "First they came for the slanderers and i said nothing."
    9. Re:What past was he from? by Billly+Gates · · Score: 2

      Like clip art, cut and paste, and fonts even?

      Shit I would take wordpad over word for dos.

    10. Re:What past was he from? by Anonymous Coward · · Score: 0

      Well, my current linux system goes from power off to booted in ~17 seconds. Ten of that is POST. It's unnerving how fast it boots.

    11. Re:What past was he from? by Anonymous Coward · · Score: 0

      ...rendering 3D images in anything above 320x240 with more than 30 triangles at time...

    12. Re:What past was he from? by Alioth · · Score: 1

      I have an Acorn Archimedes (a desktop computer from when the ARM was being used as a PC processor, long before mobile. Acorn were the designers of ARM - it meant back then Acorn Risc Machine). It boots to a GUI (RISC OS) in around three seconds. Loading a program such as a word processor takes longer because they are on a floppy disc, but if I were to add a hard disc, I could be running the basic office type apps before a modern Windows box shows you the login prompt.

    13. Re:What past was he from? by Anonymous Coward · · Score: 0

      After that 2 seconds boot you have a full programming environment with few limits regarding what you could do. If you wanted to load a program from disk, you could still do that and probably be running it before your modern computer still is booting.

      We've not advanced much in the 'waiting' arena. Modern computers still are a waiting game. Many, many input writing systems (from fanzy web forums to Word) have a lots of problems following the speed of a fast typist, for example. Hardware has been capable of removing *all* waits, interruptions and sluggish feedback for decades, but the software keeps getting worse. Part of this is due to programmers doing their stuff for their own enjoyment or to amaze others programmers with shows of intelligence: take a look at the previous comment about Macs 25 years ago being inferior computers because they couldn't do incredible things such as running programs in sandboxes or interpreting dozens of languages. The modern definition of "better" in computer science means better for the programmer's ego, and the same (or worse) for the end user.

    14. Re:What past was he from? by prefec2 · · Score: 1

      On my CPC 464 boot time was seconds (one or two). The Monitor took a little longer. And I could then start a word processor in no time. On my 286 PC, booting was also very fast (after the BIOS) and then I could start Word Perfect in matter of seconds or use some normal editor and use LaTeX. All much faster than Word today. And LaTeX then had better text processing than Word/Libreoffice etc today.

      However, it is completely understandable that an application response time today is not much faster then in the 1980s. Since humans are not any faster the reaction timings for application functions have still fulfill the same time constraints. But the original post was not about timing or features, but in concepts and functions.

    15. Re:What past was he from? by joncombe · · Score: 1

      Yes and yet we seem to lavish praise on Google Docs etc for having fewer features than Word of 1990 (or Wordperfect) and requiring massively higher amounts of memory and cpu to run.

    16. Re:What past was he from? by Anonymous Coward · · Score: 0

      You can't load Windows 3.1 on an XT, Widnows 3.0 is the last version to support real mode. 3.1 needs a 286 (and 3.11 can only run on a 386).

    17. Re:What past was he from? by myowntrueself · · Score: 1

      If thats all the functionality you want in a computer then stick to the c64 or something. I want to do a LOT more than just programming, thanks.

      My first computer was a zx81.
      I SOLD c64s when they first came out.

      I definitely prefer my modern laptop and even windows 8 over those. Because I don't just want a toy to do some programming experiments on.

      --
      In the free world the media isn't government run; the government is media run.
    18. Re:What past was he from? by siride · · Score: 1

      You are really giving short-shrift to new programs. Yes, there's some fluff and junk, I won't deny it. But I think some of the things that modern IDEs do (and plugins like ReSharper) are very very useful, but also fairly resource intensive. You can code without them, but it makes life a lot more pleasant. Likewise, although I could get real work done in assembly, I'd prefer to use a high-level language.

    19. Re:What past was he from? by Anonymous Coward · · Score: 0

      Obviously you never saw a PDP-11 boot - 3 seconds to operational.

      And I worked on some that were less than one second (I rebooted a PDP-11/45 once without even reloading - just a restart, equivalent to a memory resident hibernation. It did help knowing where the restart address was... Couldn't do it after the core memory was replaced by semiconductor.)

      The "trick" is what MS (and others) are doing with their "fastboot" - just save a memory image on disk. At boot, just copy it into memory... and resume. For the PDP-11 that was only one DMA transaction (minimum, maximum was about 4, absolute worst case - the 11/70 - would be 64). Nowdays, it requires many more - so there has been degradation in performance.

      Unfortunately for the current systems, the hardware has gone backwards - you have to reinitialize all kinds of things before they will work - such as reloading code into the device... In the "old days" all it took was setting the vector and enabling interrupts (sometimes, not even that).

      yes, the software (and hardware) was simpler, it didn't have to cater to the totally ignorant.

      EVERY generation of computers has had to repeat its predicessor. Even the old IBM mainframes of the 60s had to repeat what was discovered in the 40s. Same with the mainframes of the 70s, though most of them were IBM, so there was a faster repeat (the same people reimplemented the features). When the PC came out - DOS, was a reimplementation of the 50s. When MS got around to learning paging in the 80s it repeated the 60s. All the same mistakes. All the same "innovation". When it got around to the GUI... yep, both Apple and MS repeated the late 60s, early 70s - and again with the same mistakes.

      Even clusters are a repeat of some of the 70s designs (see Illiac IV). And again with some of the same mistakes and limitations. The Beowulf cluster design was an engineering solution to use the cheapest possible components... and was extremely successful. And there was MOSIX (1977).

      DEC had one of the best clustering systems ever - in the 80s. It could include their mainframe VAX, mini VAXs, PDP-11s (mostly as the file server nodes), MicroVAX... with distributed device access, and a single administration (I used to dump data from a CD attached to a MicroVAX from a login on a 8200, part of a 8800 based cluster; just mount and copy). Batch jobs could run anywhere (except the PDP-11s...). Everything since has had to redo (incompletely) features it had - automatic failover, load balancing, single administration, ...

      So yeah - repeat what everybody learned long ago - change the technology terms and patent it... make it unusable to everyone.

      So "Get off my lawn" :)

    20. Re:What past was he from? by Anonymous Coward · · Score: 0

      Sometimes less is more. I still, to this day, do the majority of my programming in VB4. Why? Because when I click the icon, the IDE is up immediately with no noticeable delay. I know there are things it cannot do, but most of those things aren't necessary for most tasks. Waiting for Visual Studio or Eclipse to start and then waiting on every single operation that you try to do is simply unjustifiable (not to mention extremely frustrating).

    21. Re:What past was he from? by Anonymous Coward · · Score: 0

      Yeah, calling bullshit on grandparent's comment. This is the problem with reminiscing about the "good ol' days"; selective memory. Who knows if it really took that little time to boot from power on to command prompt? And my modern computer seems to take a lot less time to POST, which was conveniently left out of the boot time measurement...

    22. Re:What past was he from? by Darinbob · · Score: 1

      Really? I haven't noticed any praise. It's a cloud application, I thought we were still in the mocking phase of all cloud applications. I keep missing the memos it seems.

    23. Re:What past was he from? by Darinbob · · Score: 1

      But do you know assembler? If you do then you're ahead of the game. Much of the argument here seems to be about new versus old programs, but the article itself is really about attitudes of new versus old programmers. Ie, a lot of new programmers are not learning from the past and thus make the same mistakes or reinvent things. I'd go further and suggest that a lot of new programmers are willfully ignorant, treating anything that is not a part of their current job as irrelevant (ie, outright disdain for theory for example).

      So a new 20 year old programmer will be a BETTER programmer by knowing assembler, even if assembler is not used on the job. The 20 year old programmer will be better by learning algorithms, by reading Knuth, learning about hardware internals, learning many programming languages, etc.

    24. Re:What past was he from? by Anonymous Coward · · Score: 0

      The commodore was nice, with everything in a ROM.

      But where do you get these 30s of waiting time? My modern computers starts in 10s or so. Not as good as the commodore, but tolerable. The 10s includes logging in, of course. Validating a password does not need several seconds.

      Why do some people accept 30s for booting and another 30s for logging in? It is not necessary, it is not "where computers are today". Ordinary laptops can boot up in 10s, and some people have fun tweaking 5s boots. The 10s is easy though.

    25. Re:What past was he from? by Anonymous Coward · · Score: 0

      What past were you from? When I had DOS 3.3 running on my XT (on a hard drive), it booted in a few seconds after POST. When I loaded Windows 3.1 (no network at home at the time, so didn't run W3.11) on an XT with 1M RAM, it would take forever. And DOS 3.3 from floppy was slow, and loud. But 3.3 from HD on an ancient XT was much faster than Windows is today. DOS programs loaded fast, granted I was running 300k programs, not 300 MB programs, but they were still fast on DOS 3.3 back in the day. What were you running on your ancient computer?

      But you really didn't have _any_ of the features that a modern operating system has. With DOS, the standard way of doing things was terminate and stay resident, and you had to implement whole subsystems that are now considered standard in your program code.

      Sure, it was fast, mostly because it opened a basic environment, and _just one of those_. Heck, there wasn't even a login, because there wasn't real support for having more than one user. Networking was an "add on". Graphics was an "add on". It wasn't elegantand zippy, it was hell.

  21. To much theory / lack of apprenticeships in CS? by Joe_Dragon · · Score: 1

    When people don't learn from people who have made mistakes or even had some real work place experience (not years of academic experience) it easy to end makeing mistakes that in theory seem like good ideas.

    Also similar to some of the certs type stuff there the book says this but in the real work place that does not work.

  22. Lady Gaga by Anonymous Coward · · Score: 0

    that line about Lady Gaga made me laugh.

  23. Net, CPU and GPU bound by AHuxley · · Score: 5, Insightful

    The best and brightest at Apple, MS, BeOS, Linux did learn from "the great masters" - thank you to all of them.
    They faced the limits of the data on a floppy and cd.
    They had to think of updates over dial up, isdn, adsl.
    Their art had to look amazing and be responsive on first gen cpu/gpu's.
    They had to work around the quality and quantity of consumer RAM.
    They where stuck with early sound output.
    You got a generation of GUI's that worked, file systems that looked after your data, over time better graphics and sound.
    You got a generation of programming options that let you shape your 3d car on screen rather than write your own gui and then have to think about the basics of 3d art for every project.
    They also got the internet working at home.

    --
    Domestic spying is now "Benign Information Gathering"
    1. Re:Net, CPU and GPU bound by Anonymous Coward · · Score: 0

      And now we're loosing all this, because of some idiot's pushing to "save the children."

      TAKE IT BACK!

    2. Re:Net, CPU and GPU bound by Darinbob · · Score: 4, Insightful

      Some people seem to think this article is about going back to the past. They miss the entire point. We're not saying that older programs were better, or that older computers were better, or that we should roll back the clock. We're saying that they had to pay more attention to what they were doing, they had to learn more and be broad based, they had to learn on their own, and so forth. When they had good ideas they were shared, they were not continually being reinvented and presented as something new. They didn't rely on certification programs.

  24. Some things are missing by Gim+Tom · · Score: 4, Interesting

    As a 66 year old life long geek I actually saw many of the things I worked with decades ago reinvented numerous times under a variety of names, but there is one thing I used extensively on IBM OS/360 that I have never seen in the PC world that was a very useful item to have in my tool kit. The Generation Data Set and by extension the Generation Data Group were a mainstay of mainframe computing on that platform the entire time I worked on it. When I moved on to Unix and networks in the last few decades of my career I looked for something similar, and never found anything quite as simple and elegant (in the engineering sense of the word) as the Generation Data Set was. Oh, you can build the same functionality in any program, but this was built into the OS and used extensively. If anyone has seen a similar feature in Unix or Linux I would love to know about it.

    1. Re:Some things are missing by tsiv · · Score: 1

      Something like GDG would have been anathema to the original file system creators of Unix - at least through the Berkeley FFS days. I think I saw something like it on some extensions in 4.1ES. It was certainly on VMS. Maybe something like ext3cow will do what you are thinking of. Of course much of the problem is that Unix at the mothership was used extensively to submit JCL to OS/360 hosts, so all that stuff was done back on the big iron, not the cheap Unix FEs. Departments had to cough up for the unix hosts but projects paid for time on big iron. I never worked on projects that cared about that - network design not legacy OSS dev.

    2. Re:Some things are missing by Anonymous Coward · · Score: 0

      I did some search and got the impression that GDS and GDG are about historical data (in RDBMS lingo, Historical Data). Since Unix/Linux don't have a DBMS built-in they don't have a Historical DBMS built-in either. On the question of GDG equivalents in Unix/Linux world (outside the Kernel), they don't exist, at least as commercial, off the shelf offerings. PostgreSQL has some sort of support and there are always some research projects.
      I wouldn't hold that Unix/Linux are lacking something in this regard because the philosophy of Unix is to not cram everything into the Kernel (as you suggest OS/360 did).

    3. Re:Some things are missing by Anonymous Coward · · Score: 0

      Well, Windows 7 and up have a "Previous Versions" feature for files.
      There's also 3rd party solutions for version control such as SVN, Mercurial, or Git.

    4. Re:Some things are missing by Anonymous Coward · · Score: 0

      err, to save me an hour of reading (I did the googling, found no easy intro) could you please explain what GDS and GDG are, in really simple & practical terms? Thanks

    5. Re:Some things are missing by linatux · · Score: 1

      I thought I was old for a Slashdotter!! GDG's still exist & are still excellent.
      99/365 expiry doesn't & wasn't :-)

  25. what the lack of QA and to much auto testing? by Joe_Dragon · · Score: 1

    With to much auto testing can just code to pass the test and even if some was looking at they would mark fail but it still passes what the auto system thinks is good.

    1. Re:what the lack of QA and to much auto testing? by Anonymous Coward · · Score: 0

      If your code passes a test but fails in the field, it is your QA that sucks, not your programmers. If you let your programmers bypass QA, then it is your management that sucks.
      In your case you might want to get a better auto spell checker, or learn to code english. It's spelled TOO.

    2. Re:what the lack of QA and to much auto testing? by Anonymous Coward · · Score: 0

      > With to much auto testing...

      Do you mean too much or is much a type of auto testing?

    3. Re:what the lack of QA and to much auto testing? by sjames · · Score: 1

      Who QAs the QA?

  26. Remember the strategy gaming past... by macraig · · Score: 1

    ... or be doomed to repeat it. And they have been for 20 years, every year. Strategy game development in particular seriously needs a persistent collective consciousness.

    1. Re:Remember the strategy gaming past... by macraig · · Score: 1

      Well, maybe I should have been more specific and said 4X strategy game development....

    2. Re:Remember the strategy gaming past... by gl4ss · · Score: 1

      the problem is that strategy game developers don't seem to actually play computer games.

      --
      world was created 5 seconds before this post as it is.
    3. Re:Remember the strategy gaming past... by macraig · · Score: 1

      They certainly don't play the ones that preceded them!

  27. Think Like an Egyptian by Anonymous Coward · · Score: 0

    Imagine how many pharaohs are rolling over in their graves watching us repeat the same "mistake" of building these rounded rectangular stones, discarded like fodder scattered on fields throughout the world as we can't seem to build a proper monument to the dead.

    Oh wait, you mean we aren't trying to rebuild pyramids exactly?

    In other news, a Turing machine is the mathematical definition of a computer, where all concrete computers are actually a subset of said mathematical concept. I'm not really sure why anything related to "on a computer" is patentable. If it was on a Turing machine, it would be a mathematical definition of that thing, and hence not patentable. So painful to watch as we waste our time looking at subsets of Turing machines. The only new inventions are mathematical concepts, and they are not patentable.

  28. A symptom of popular culture in the '60s by DutchUncle · · Score: 4, Insightful

    ... which really means the late '60s into the '70s. Isaac Newton said that he saw far because he stood on the shoulders of giants. Bill Gates and Steve Jobs were *proud* of knowing nothing about the industry they were trying to overturn. The same free, open, do-your-own-thing attitude (partly based on the new abundance helped along by technological advancement) that permitted startups to overtake established manufacturers, also encouraged tossing out anything "established" as "outdated" whether it was useful or not.

  29. Climate computations by Anonymous Coward · · Score: 0

    I think I'll use a recursive function with floating point arguments for my climate computations then choose the hardware that gives me the result I want.

  30. Optimal team size by DaveAtFraud · · Score: 2

    For any given software project there is an optimal team size. If the project is small enough, you can keep the team size down to what works with an agile development methodology. If the project is bigger than that, things get ugly. I started my career in a company that considered projects of 50 to 100 man-years to be small to medium sized. Big projects involved over a thousand man-years of effort and the projects were still completed in a few years calendar time. You can do the math as to what that means as far as number of developers working concurrently (I remember one project that had approximately 500 to 600 people working on it).

    The methodologies and discipline exist to solve such projects. It isn't efficiient compared to a small project but small project techniques can't solve big problems in time. Usually when you attempt to explain what it entails to management you get a response of, "We don't have time for that." So, the project flounders for twice as long before finally getting put out of everyone's missery.

    Oh yeah. Been there. Done that. Over and over. Seen it done right when people used the right approach and I've seen more than my share of death marches that only seemed to convince good developers to look for another line of work.

    Cheers,
    Dave

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
    Ben
  31. All Mozart's Works are Open Source by Flwyd · · Score: 4, Insightful

    You can learn a lot from Mozart because you can read all the notes he published.
    You can listen to many interpretations of his works by different people.
    We don't have the chance to read through 25-year-old Mac symphonies^W programs.
    We aren't even writing for the same instruments.

    --
    Ceci n'est pas une signature.
    1. Re:All Mozart's Works are Open Source by Anonymous Coward · · Score: 0

      If we did have a chance to read through 25-year old Mac source code, yeah there would be quite a few curiosity downloads, but the number of eople who would take it up and spend more than 10 hours on it probably would be countable on one hand.

      Software is currently not at the same stage as music in terms of notation.

    2. Re:All Mozart's Works are Open Source by phantomfive · · Score: 1

      We don't have the chance to read through 25-year-old Mac symphonies^W programs.

      Sure you can. Look here and look here for examples.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:All Mozart's Works are Open Source by Anonymous Coward · · Score: 0

      And also this

    4. Re:All Mozart's Works are Open Source by Maxo-Texas · · Score: 1

      It's an interesting point, but all of mozart's works wouldn't be a fraction of the code in a typical program (much less the operating systems).

      From the wiki... "On 14 March 1994, Linux 1.0.0 was released, with 176,250 lines of code."
      (it was over 10million in 2008 and over 15 million in 2010).

      The code for old Mac programs (and esp. the operating system) is so extensive that most of us would never have the time to read and understand them.

      It's easier these days-- opening a window and it's widgets doesn't take a symphony worth of operators, data definitions, and subroutines.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    5. Re:All Mozart's Works are Open Source by Em+Adespoton · · Score: 1

      We don't have the chance to read through 25-year-old Mac symphonies^W programs.

      Sure you can. Look here and look here for examples.

      Or, you can just ask those of us who wrote the software 25 years ago. We're still around, you know. I even still have some excellent HyperCard stacks I wrote (although that was more like 23 years ago). They still work just fine (the game I wrote still looks like a half-hearted precursor to Myst, and the small business billing and tracking package, well, I think I was my only customer on that one).

      OK, for every symphony there were a bunch of us banging on pots and pans. But all that old software's still available, *with source code* for anyone wanting to run it on an emulator or in an interpreter. Or you could, you know, just read the source code and port it to a modern system (with the original author's permission of course).

    6. Re:All Mozart's Works are Open Source by phantomfive · · Score: 1

      Where do you run your hypercard stacks?

      --
      "First they came for the slanderers and i said nothing."
    7. Re:All Mozart's Works are Open Source by Anonymous Coward · · Score: 0

      Go pickup an old Mac or Amiga GUI programming handbook. The APIs for those old systems are far more direct and easy to use and logically designed than the modern APIs in WPF or HTML DOM.

  32. indeed, too many bad code monkeys, few engineers by raymorris · · Score: 5, Insightful

    Indeed. Half of today's programmers have roughly zero engineering education, and want to be called software engineers. They have no idea, no idea at all, what their data structures look like in memory and why they are so damn slow. Heck "data structure" is an unfamiliar term to many.

    It's not entirely young vs old, either. I'm in my 30s. I work with people in their 50s who make GOOD money as programmers, but can't describe how the systems they are responsible for actually work.

    How do we fix it? If you want to be good, studying the old work of the masters like Knuth is helpful, of course. Most helpful, I think, is to become familiar with languages at different levels. Get a little bit familiar with C. Not C# or C++, but C. It will make you a better programmer in any language. Also get familiar with high level. You truly appreciate object oriented code when you do GUI programming in a good Microsoft language. Then, take a peek at Perl's objects to see how the high level objects are implemented with simple low level tricks. Perl is perfect for understanding what an object really is, under the covers. Maybe play with microcontrollers for a few hours. At that point, you'll have the breadth of knowledge that you could implement high level entities like objects in low level C. You'll have UNDERSTANDING, not just rote repetition.

    * none of this is intended to imply that I'm any kind of expert. Hundreds, possibly thousands of people are better programmers than I. On the other hand, tens of thousands could learn something from the approach I described.

  33. Back to chariots and horses by Tony+Isaac · · Score: 1, Insightful

    Chariots were masterpieces of art. They were often made of precious metals and had elegant design work. They were environmentally friendly, using no fossil fuels whatsoever. They didn't cause noise pollution, or kill dozens of people when they crashed.

    Aircraft makers should learn from the past. They have totally functional designs, no semblance of artistry anywhere. Accommodations are cramped, passengers treated like cattle.

    We should go back to the good old days, things were so much better back then.

    No. I've loaded decks of punch cards and distributed printouts. But who could afford a computer of their own? Nobody. He can have his good old days...no way *I* want to go back!

    1. Re:Back to chariots and horses by b4dc0d3r · · Score: 1

      You're confusing the hardware technology with the software technology. No punch cards - we want computers that fit in your pocket. Those are the current technologies.

      This was a very shitty "essay", and by that I mean loosely related thoughts vomited onto a single page. But the fundamental idea is sound, assuming there was one.

      When we were resource-constrained, people were *very* inventive (not innovative) with what they made for programmers to use. They attacked a problem with zest, gusto, and some other foreign words.

      The language of MatLab, for example, does very complicated math on large data sets. That's still current, right? But not widespread. APL was very arcane, but had some of the same ideas, long ago.

      With C#, we have some very powerful language to do a lot of things in a few lines of code that otherwise would have taken a much longer for() loop in most other languages.

      We are getting there, to the place where languages have the features we want to have. But there is still a pile of forgotten stuff that has not made it in to the latest stable tech.

      If we had the new hardware, and the old ideas, code would be find-fuckingly awesome. But no, you want to go back to when things looked good but shat turtles. So have a go at your turbo button, which looks good, but doesn't really help. Underneath, we want a better algorithm and a way to access that in a language, hardware be damned.

      Write a domain-specific solution in C and be happy - or write a language that implements parallelism, data access, matrix calculations, and other 5-dollar ideas, so that a programmer does not have to waste time on solved problems.

    2. Re:Back to chariots and horses by Anonymous Coward · · Score: 0

      Chariots were masterpieces of art. They were often made of precious metals and had elegant design work. They were environmentally friendly, using no fossil fuels whatsoever.

      Horses don't fart and poop? Granted they don't use fossil fuels, but environmentally friendly only when compared to the monstrosities of today. Or do you think mining precious metals is environmentally friendly? Let's not forget chariots were made to conduct warfare...are you suggesting that burning down your enemy and destroying everything in sight is environmentally friendly too?

  34. The past was nice but today is not then by Coditor · · Score: 5, Insightful

    I'm old enough at 55 to remember the past, and yes I did love APL briefly but lamenting that the present isn't like the past is like wishing it was 1850 again so you could have slaves do all your work. Neither the web nor the modern mobile application is anything like the past, and what we use to write that code today is nothing like what I started with. Trying to relive the past is why old programmers get a reputation for being out of touch. The past is important in that I learned a lot then that still rings today but I can say that about every year since I started. Today is a new day everyday.

    1. Re:The past was nice but today is not then by Anonymous Coward · · Score: 0

      This. Exactly. To paraphrase an old STTNG, "It's the same dance, it's just a different tune." ... wisdom that applies here ...

  35. Library Code Archives by MarkvW · · Score: 1

    Libraries should be archiving (and date-stamping) code. When copyright expires, that code can form public domain building blocks for a lot of cool stuff.

    The kids of the future won't have to reinvent the wheel, they'll be able to improve it.

    Software patents suck.

  36. Nothing wrong with APL, as far as it goes... by Anonymous Coward · · Score: 0

    But people can get far more done today with matlab and mathematica.

  37. Remember the past? by Anonymous Coward · · Score: 1

    Hell, I'd be happy if they just learned about it in the first place

    I had a coworker once, claimed a computer science/engineering education. Did not know what parity was - not "didn't know how it worked" - that would be ok, given the slow creep of IP stacks that manage that, but DI NOT KNOW WHAT IT WAS.

    captcha: restart

    1. Re:Remember the past? by flyingfsck · · Score: 1

      Hmm, so he also didn't understand CRCs, error correction codes, encryption and compression - anything in a Galois field. Where did he buy his CS degree?

      --
      Excuse me, but please get off my Pennisetum Clandestinum, eh!
  38. ANSII on a BBS by flyingfsck · · Score: 1

    Well, yeah, Facebook is just a slightly improved BBS and a browser is just a slightly improved ANSI terminal.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
    1. Re:ANSII on a BBS by jarle.aase · · Score: 1

      Well, yeah, Facebook is just a slightly improved BBS and a browser is just a slightly improved ANSI terminal.

      The BBS thing was interesting. You would meet new people, and new opinions. New thoughts. On Facebook, the best you can hope for is new ads. But Facebook is may be some weird, perverted "evolution" of the BBS concept.

      I wrote my own BBS (CrCs) in C, and had it running on a 8086 based PC with QNX and 4 modems.

    2. Re:ANSII on a BBS by arkane1234 · · Score: 1

      personally I consider facebook to be more of a private forum. Nothing more than what myspace did, or what WWiV/Renegade/etc did before the intArwebz.

      --
      -- This space for lease, low setup fee, inquire within!
  39. Au Contraire! by VortexCortex · · Score: 3, Interesting

    For instance: As a cyberneticist I'm fond of programs that output themselves, it's the key component of a self hosting compiler... Such systems have a fundamental self describing mechanism much like DNA, and all other "life". While we programmers continue to add layers of indirection and obfuscation ( homeomorphic encryption ) and segmented computing (client / server), some of us are exploring the essential nature of creation that creates the similarities between such systems -- While you gloat over some clever system architecture some of us are discovering the universal truths of design itself.

    To those that may think Computer Science is a field that must be studied or be repeated, I would argue that there is no division in any field and that you haven't figured two key things:
    0. Such iteration is part of the cybernetic system of self improvement inherent in all living things -- to cease is death, extinction.
    1. Nothing in Computer Science will truly be "solved" until a self improving self hosting computing environment is created...

    So, while you look back and see the pains of Microsoft trying to implement POSIX poorly, I've studied the very nature of what POSIX tried and only partially succeeded to describe. While you chuckle at the misfortunes of programmers on the bleeding edge who are reinventing every wheel in each new language, I look deeper and understand why they must do so. While you look to the "great minds" of the past, I look to them as largely ignorant figures of self import who thought they were truly masters of something, but they ultimately did not grasp what they claimed to understand at a fundamental level -- The way a Quantum Physicist might acknowledge pioneers in early Atomic thinking... Important, but not even remotely aware of what they were truly doing.

    How foolishly arrogant you puny minded apes are...

    1. Re:Au Contraire! by Anonymous Coward · · Score: 1

      Cyberneticist huh? Looking at all the buzzwords and jargon - DNA, Quantum, Universal Truths and other woo - masking a total lack of content, I take it you're a self-diagnosed, trans-humanist aspie? Why not do some actual work? Make real contributions to the field, instead of wasting your time with this amateur night, circle jerk "philosophy". It sounds harsh, but you really need to hear it.

    2. Re:Au Contraire! by Anonymous Coward · · Score: 0

      1. Nothing in Computer Science will truly be "solved" until a self improving self hosting computing environment is created...

      Computer Science is about using computers to solve problems in other "domains." Not about solving things inside Computer Science itself. :P

    3. Re:Au Contraire! by Anonymous Coward · · Score: 0

      I think you misunderstood the intent of TFA.
      A serious problem has arisen. We create more and more abstractions on top of things that are less and less well understood (because they are more and more stored in the brains of dead people). At some point we will fail to understand the abstractions because we fail to understand what it is abstracting. Knowledge of the fundaments is seeping out. The some of us like you are not the problem because exploration is what exposes these engineering realities. The problem is that whole industries are built on top of badly understood proceses.

  40. I'm reminded of a quote after reading this... by Virtucon · · Score: 1

    "The future will be better tomorrow" - George W. Bush

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  41. What do you expect? by Horshu · · Score: 1

    The success of the most popular computer these days (the smartphone) is predicated on how much freakin' shareware (aka 'apps') is available for it.

  42. I've seen this by Anonymous Coward · · Score: 1

    Up to (only about) 5 years ago, I saw microsofties talking about 'defragging the hard drive'. I remember having to do that back when I owned a DOS box, and there was this disk de-fragging tool called spinrite, and it would unclutter the drive by shuffling blocks that were part of the same file together. That was when I had a 20 Megabyte disk drive (I could put more stuff on 20 1.44 Megabyte floppy disks). About 1 year after that, I went to Linux, and had a 512 MB disk drive, and Linux had self-cleaning file systems, and I learned that IBM had been behind that technology from about 1967 (Vote Nixon!). But it wasn't 1967, it was 1993, 26 years after IBM had created the technology. But microsoft only 'got that tech' about 5 years ago, about 40 years after IBM created the technology. As far as I know, you still can't remove a file from a microsoft system if that file is a running program (you can do that easily on other systems, and it makes it easier to upgrade online software). I know that computer hardware had progressed *a lot* in the past 25 years, and software had been developed (on the back end) to accommodate the hardware, but the front-end software hasn't changed a lot, and mainframe front-end software, gets re-written in C for Unix systems, and everyone gets amazed, then everything gets re-written in java and everyone is amazed, then everything gets re-written in C# and 'softies are amazed, while others re-write it in javascript, and everyone is amazed. And web browsers look like fancy dumb terminals. And everyone is amazed.

    1. Re:I've seen this by Sperbels · · Score: 1

      Uh...windows has had a window based defrag utility at least since Windows 2000. Can't remember if 95 or 98 had it, but MS-DOS had a defrag utility. Not sure where you got this 5-years-ago thing.

  43. Mod parent up. by MillerHighLife21 · · Score: 0

    Agree totally.

    --
    "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
  44. work with what you have by stenvar · · Score: 0

    You don't solve real-world problems with an all-star team, you solve it with the resources you have at hand. That often includes people who aren't very good or very experienced. Hopefully, as they go along, they will learn or improve.

    I also do not think that the problems we have today were all solved long ago. Superficially, a web browser may seem like other environments, but it is very different. And the Mac architecture of 25 years ago was a clever but horrendously badly designed piece of software that almost destroyed Apple because it became unmaintainable. People's nostalgia tend to distort reality.

  45. Fluff advertisement piece by guruevi · · Score: 1

    The writer doesn't seem to understand the difference between big data in the banking systems and big data in content analytics. Big banking systems you pretty much know what's happening at any point, the data pointers are relatively small even if the chunks are big so you can use mmap because your index most likely fits in a faster version of your range of memory.

    However when the number of data pointers grows beyond the size of your actual data or your index is larger than what any of your fast memory supports, your mmap won't work. A quick example would be ZFS which has this problem when your de-duplication index grows beyond memory (which is a very small, very efficient piece of code using a very efficient form of memory mappings for it's scale) and things revert to using the hard drive.

    It seems to me this is an advertisement for this company that sells hand-crafted code at $100k/CPU. Sure, if you hand-craft your code, it will be very efficient, very fast and a lot of other things. However it won't be cheap, it won't be easy to develop, it definitely won't be easy to read, debug, port, extend, fork or anything else the higher level languages has allowed us to do.

    As a neck-bearded coder that REMEMBERS actually using some of these systems - yeah, we did a LOT in 64kb of memory. However we also spent HOURS to fit that stuff in 64kb and when we were done, well Perl coders would cry if they saw some of the constructions. Also, a lot of this was done towards a very specific architecture and even timings. Point-in-case would be pre-Intel 386 code - we used game assets to generate audio data. Increasing the speed of the CPU from a 80286 would make those games run faster and things that were previously running from a floppy would crash because the floppy routine couldn't supply data fast enough.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  46. Not impressed by DerekLyons · · Score: 1

    Most of this sounds like greybeards nattering about the kids on their lawn - while ignoring reality.

    A designer on the Falcon 9 today is wrestling with issues that plagued von Braun and Goddard. The guys across the sound at Boeing dreaming up the successor to the Dreamliner are coming up against, and with new solutions for, problems that Lilenthal and the Wright bothers had to deal with. When I go out to my woodshop, I face and come up with solutions to some of the same issues that Joseph did.

    It doesn't matter what IBM or Apple did or didn't do mumble years ago, because this isn't mumble years ago. None of us are "ignoring the lessons of the past" because we aren't working with the methods, materials, or in the environment of the past. The solutions of the past may not be applicable in the present even if the problems are identical.

    1. Re:Not impressed by Anonymous Coward · · Score: 1

      >> we aren't working with the methods, materials, or in the environment of the past.

      And this is part of the problem. Instead of taking something proven and making it better... let's just start from scratch.

  47. Upgrades and backward compatibility by grumbel · · Score: 2

    I think "learning from the old masters" really isn't the problem. It's not that we don't have lots of smart people writing software. I think the core problem is that we haven't figured out how to do upgrades and backward compatibility properly, which the old masters haven't figured out either. You can go and develop a HTML replacement that is better and faster, sure, but now try to deploy it. Not only do you have to update billions of devices, you also have to update millions of servers. Good luck with that. It's basically impossible and that's why nobody is even trying it.

    In a way HTML/Javascript is actually the first real attempt at trying to solve that issue. As messed up as it might be in itself, deploying a HTML app to billion of people is actually completely doable, it's not even very hard, you just put it on your webserver and send people a link. Not only is it easy, it's also reasonably secure. Classic management of software on the desktop never managed to even get near that ease of deploying software.

    If software should improve in the long run we have to figure out a way how to make it not take 10 years to add a new function to the C++ standard. So far we simply haven't. The need for backward compatibility and the slowness of deploying new software slows everything to a crawl.

    1. Re:Upgrades and backward compatibility by Billly+Gates · · Score: 1

      Try having your app run in IE 6 and I think your opinion would rapidly change

    2. Re:Upgrades and backward compatibility by grumbel · · Score: 1

      You'll do have to take care about a whole lot of compatibility issues when you want to deploying something that should run on IE6, but still, even then, the actual deployment of an HTML app is still vastly easier then trying to deploy a regular application across as many platforms as do support HTML.

      Try to imagine the web wouldn't run in your web browser, but would instead come in the form of .deb packages that you "apt-get install" or setup.exe files you'd have to double click. The experience of a web implemented via the means of classical desktop software would be so terrible it would be unbearable.

  48. Thank God we have slashdot remind us not to repeat by Anonymous Coward · · Score: 0

    Thank God Slashdot is reminding us not to repeat the past. Wait a minute...is this story a dupe?

  49. It's not about skill. H-1B's. by Maxo-Texas · · Score: 1

    http://www.workpermit.com/news/2005_10_26/us/us_h1b_visa_holders_earn_less.htm

    It's not about skill.

    It's about

    "A recent report suggests that US employers are using the H-1B visa program to pay lower wages than the national average for programming jobs.

    According to "The Bottom of the Pay Scale: Wages for H-1B Computer Programmers â" F.Y. 2004," a report by Programmers Guild board member John Miano, non-U.S. citizens working in the United States on an H-1B visa are paid "significantly less than their American counterparts."

    How much less? "On average, applications for H-1B workers in computer occupations were for wages $13,000 less than Americans in the same occupation and state.""

    Companies make a LIVING teaching other companies how to advertise and interview to avoid hiring qualified u.s. citizens (some of whom are the same birthplace as the H-1B's but who have the misfortune to be a citizen). (easy to find on Youtube btw- one of the seminars where they were bluntly talking about how to disqualify citizens).

    --
    She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
  50. So you have your CS degree, so what. by Anonymous Coward · · Score: 0

    Now welcome to the real world. Entry level assholes, remember a few things:

    • Someone who is not you is going to have to maintain this shit
    • Good CS and Good Engineering are not the same thing
    • Just because you don't like or understand something doesn't mean you need to rewrite it completely; even it its not 100% Correct.
    • Listen to the senior engineers, you will learn something

    Do this and you will minimize the number of people you piss off and avoid many of the mistakes other entry level assholes make. And will in fact be less of an asshole.

  51. You hate Gates but... by brillow · · Score: 2

    You don't like Gates but wish programmers looked towards more "Great Masters?" Bill Gates was a Great Master Programmer.

    1. Re:You hate Gates but... by Anonymous Coward · · Score: 2, Insightful

      Yes, many people don't realize how he got to his position. He started Microsoft by writing a BASIC interpreter for a machine that he had never seen before. He had to make an emulator for it on a PDP-10 based on its specs, then write BASIC on the emulator in a matter of weeks. He had to write in machine code and fit it all in 4k.

      It worked the first time it was executed on the real hardware. Good luck finding somebody today who could do that.

      dom

    2. Re:You hate Gates but... by Space+cowboy · · Score: 1

      *chortle*. Good one.

      --
      Physicists get Hadrons!
    3. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      BWAHAHAHAHA!
      You mean like DOS, which he bought from a student for peanuts and gave off as his own?
      Or Word, which was a shitty clone of WordPerfect which was itself a clone of Bravo (from the Xerox Alto)?
      Or Excel, which was a shitty clone of Lotus 1-2-3? Or Windows, which was a *really* shitty clone of MacOS, which was a clone of the Xerox Alto's OS?
      Or Windows NT, which was more developed by IBM as OS/2 than by MS?
      Or SMB, which was designed at IBM? Or NetBIOS, which was designed by Sytek?
      Or Windows Vista/7's UI, which was a shitty clone of Compiz?
      Or ActiveDirectory, which was a shitty clone of LDAP+Kerberos+CIFS+DNS?
      Or Internet Explorer, which started out as a shitty fork of Mosaic?
      Or Clippy and MS BOB? LOL

      Face it: Microsoft's and Gates' only skill was in stealing the ideas of others, *murdering* those companies, and being good at marketing it as their own invention.

      Gates, just like Jobs, is a marketer. NOT a computer guy.
      It's just that today's "computer guys" (like you) are even less competent than even the marketers in Gates' early days.

      Which morons like you gobbled up since the very beginning.

    4. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      No, he was a businessman. Gates barely can code in BASIC and his success has absolutely nothing to do with his skill as programmer.

    5. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      mmm Not so sure - I think the guy who set up MS with him said something to the effect that every bit of code Gates wrote had to be re-written so it would work.
      But as s guy who knew contracts and business - thats were Gates shines

    6. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      You're using a very loose definition of "clone." I don't think Microsoft writes particularly good code, but they did write the code for most of their products. Copying someone else's idea is only the base of the mountain you have to climb to get a product to market.

      As Steve Jobs (who stole from the best) put it: "I have no problem with their success. They've earned their success, for the most part. I have a problem with the fact that they just make really third-rate products."

    7. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      You mean he BOUGHT a BASIC interpreter.

    8. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      Hmm, no. He was passable. Damn good businessman, though.

    9. Re:You hate Gates but... by tyrione · · Score: 1

      You don't like Gates but wish programmers looked towards more "Great Masters?" Bill Gates was a Great Master Programmer.

      Paul Allen was the tech brains of MS, not Bill Gates.

    10. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      Great point - now how can we learn about him by looking at his great works when they are all closed source?

    11. Re:You hate Gates but... by Anonymous Coward · · Score: 0

      You don't like Gates but wish programmers looked towards more "Great Masters?" Bill Gates was a Great Master Programmer.

      Indeed. Let's never forget DONKEY.BAS!

      Let's forget about QDOS/DOS86 in stead - and more importantly: never ever mention Digital BASIC.

  52. You can't learn from past experiences by petes_PoV · · Score: 1

    Because so many of them are completely lacking in any usable documentation. Mostly it's easier to rewrite a piece of code from scratch than it is to try and work out what existing stuff does, which version any documentation belongs to and whether the (few) comments in the code reflect its current status. And then you've got to try and work out how the hell the guy managed to build the shambolic mess and just how they got the Makefile to do the things they claimed.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
  53. What an article by Anonymous Coward · · Score: 0

    Face the facts: nostalgia is a thing of the past.

    But javascript pays great homage to APL. In javascript you can find that A is less than B, B equals C, and C is less than A. In APL you could find that A equals B, B equals C, and A does not equal C.

    The article is about the positive aspects of programming for the computer, not for the human reader (maintainer) of the program. Lots of companies used APL heavily at one time -- e.g. Boeing, Dupont and about half the actuarial programmers in the world. But it got buried by the structured programming revolution of the 1970's, when program maintenance costs started to shoot up and managers learned the extraordinary costs that one programmer with a very powerful but terse and dense language could inflict. I think that IBM intentionally invented that first pre-PC (5150?) desktop APL machine so that the APL guys could run amok in a sandbox outside the datacenter and no one would have to worry about it raining toads in the machine room.

  54. Not just programmers. And the latest buzz is... by Anonymous Coward · · Score: 0

    ...Containers.

    You know, those things that have been around damned near forever.

    They're the cool new thing! Going to revolutionize everything! Migrate your shit now! CLOUD 2.0!

  55. Common rediscovered problems. by Animats · · Score: 3, Insightful

    There are a few problems which keep being rediscovered. In many cases, the "new" solution is worse than the original one.

    • Flattened representations of trees Fairly often, you want to ship a flattened representation of a tree around. LISP had a text representation of S-expressions for that. XML managed to make a mess of the problem, by viewing it as "markup". JSON is essentially S-expressions again.
    • Concurrency primitives This goes back to Dijkstra, who got the basic primitives right. We had to suffer through decades of bad UNIX/POSIX/Linux locking primitives. The Go language touts as their big advantage the rediscovery of bounded buffers.
    • Virtualization IBM had that in 1967. IBM mainframes got it right - you can run VM on VM on VM... X86 virtualization can't quite create the illusion of a bare machine.
  56. Re:What past was he from? Mine. by Space+cowboy · · Score: 2

    I had an Atari ST at college. It booted (to a graphical, no less) desktop pretty much instantly, say a few seconds if you had a slew of SCSI peripherals (especially a CDROM drive), but otherwise it was about half a second.

    It was ready to go, too. None of this crap of *showing* the desktop and then spinning the busy cursor for another 30 secs...

    Simon.

    --
    Physicists get Hadrons!
  57. Logans Run by mark.kahrl · · Score: 1

    It would help quite a lot if we hired a few programmers over 30.

    1. Re:Logans Run by hcs_$reboot · · Score: 1

      Too expensive. Too mature. Too protester. No, CIO prefer to hire younger and less experienced fellows. They're not better, just less expensive and easier to control.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
  58. After 25 years by db10 · · Score: 0

    .., a good coder often has such unexpected characteristics. Ir requires a tenacious, unyielding character. The best possible solution is the solution. It's not the smart guy that talks a lot and gets stuck in analysis paralysis. No fear of new approaches, new technologies, huge, bad legacy code that needs analysis. The minimal interpersonal skills to ask questions when they can result in faster understanding. There's no complaining about languages, operating systems, or environments. There's just a focus on the best solution. There's no complaining, that's just weakness and fear. Fear of new is unacceptable weakness. Personality, real personality. You're not a fucking salesman, show some love for people that make you look good, and expect the same. You're never there to stop progressing, if that's your game then go into management. I actually spend a good portion of my time staying off the radar of "tenured" developers, so that I don't piss them off with "new ideas" and "refactored designs. The corporate development world is a simple place, monkeys vying for pecking order while exerting the least effort. Ensure acknowledgement of your work, through whatever means necessary, and subtley set a ground rule that nobody will take credit for your work.

  59. I am willing to bet it is due to ageism. by aepervius · · Score: 1

    If you hire only youngling, and people above 40 find getting a job in development difficult, then you are condemned to have a development team which never learn from mistake, try to reinvent the wheel. Somebody mentionned it is because of the manager : no not really. I have not seen any development team where the manager dictated the architecture or how the code looks like. They might impose a choice between 2 designs doing the cheaper, but the reinventing the wheel is solely developer's fault.

    --
    C. Sagan : A demon haunted world:
    http://www.amazon.com/gp/product/0345409469/
    visit randi.org
  60. Obligatory XKCD by Anonymous Coward · · Score: 1

    http://xkcd.com/1227/

    Those who do not remember complaining about the past being better are doomed to repeat whining about it.

    1. Re:Obligatory XKCD by bAdministrator · · Score: 1

      I love blindly copying memes..

      In this case, however, things actually did get worse on many points. Look up talks by Alan C. Kay, and Frances E. Allen at the ACM to get you started. For example, C, which UNIX and Linux is based on, is a giant step back regarding concurrency and code generation, already realized the day the language was released in 1973.

  61. Re:indeed, too many bad code monkeys, few engineer by Anonymous Coward · · Score: 0

    And then there are the ones that know about data structures. It does not make great software perse. Some people follow the right direction and do not arrive at the right destination. Because they never thought of that.

  62. Code review by smittyoneeach · · Score: 2
    1. Carriage returns slow down your code execution.
    2. Use variables to break your code into manageable chunks.
    3. Stop with excessive whitespace already. Sheesh.
    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    1. Re: Code review by Anonymous Coward · · Score: 0

      Regret that the joking nature of the reply eluded you.

  63. Another interpretation by wanax · · Score: 5, Interesting

    I've always felt like that quotation had another interpretation, one that's much more favorable to the MPs:

    If you're an MP, you've probably had to deal with a lot of people asking for money to fund what is essentially snake oil. If you don't understand the underlying 'cutting edge' technology (both plausible and acceptable), one simple test is to ask a question that you KNOW if the answer anything other than "No" that the person is bullshitting, and you can safely ignore them... and as reported the question is phrased in such a way that it would sorely tempt any huckster to oversell their device. I think Babbage's lack of comprehension was due to his inability to understand the idea that the MP was questioning HIM, rather than the device.

    1. Re:Another interpretation by Anonymous Coward · · Score: 0

      Indeed. "Is this a con?" seems to be what he was being asked...

    2. Re:Another interpretation by Impy+the+Impiuos+Imp · · Score: 1

      I got a similar feeling, that the MP was mocking the machine because a human would detect the bad input, much the way people with horses mocked the newfangled auto-mobile getting stuck in mud and ruts.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    3. Re:Another interpretation by Impy+the+Impiuos+Imp · · Score: 1

      Oh and that he lovingly assburgered out over it.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    4. Re:Another interpretation by serviscope_minor · · Score: 3, Informative

      one that's much more favorable to the MPs

      Come to England and look at our MPs! You will the probably feel that it wasn't such an unfair interpretation on the part of Babbage.

      Seriously though there are many people out there (and they tend to be non technical) who simply do not understand comptuers. The lack of understanding means that they effectively interpret the actions of computers as magic in that there is no way for them to reason about what a computer might do. Even pretty smart people fall prey to this.

      The UK has never had a tradition of putting technically minded people into parliament.

      --
      SJW n. One who posts facts.
    5. Re:Another interpretation by Anonymous Coward · · Score: 0

      Your are attributing to malice that which can be adequately explained by stupidity.

    6. Re:Another interpretation by Anonymous Coward · · Score: 0

      one that's much more favorable to the MPs

      Come to England and look at our MPs! You will the probably feel that it wasn't such an unfair interpretation on the part of Babbage.

      Seriously though there are many people out there (and they tend to be non technical) who simply do not understand comptuers. The lack of understanding means that they effectively interpret the actions of computers as magic in that there is no way for them to reason about what a computer might do. Even pretty smart people fall prey to this.

      The UK has never had a tradition of putting technically minded people into parliament.

      Except maybe Thatcher with her degree in Chemical Engineering?

    7. Re:Another interpretation by Anonymous Coward · · Score: 0

      The UK has never had a tradition of putting technically minded people into parliament.
      > I dont know about UK that much, but I thought some guy named Newton was in the parliament.

    8. Re:Another interpretation by ZFox · · Score: 1

      The UK has never had a tradition of putting technically minded people into parliament.

      This reminds me of one of our congressmen who thought that overpopulating an island would make it tip over.

  64. Yes, we learned from past erros by Anonymous Coward · · Score: 0

    It seems to me that we /did/ learn from past errors, at least in fields where APL and its derivatives are examples of what not to do.

    Reading wikipedia: in the J language, which is a "synthesis of APL and the FP and the FL function-level created by John Backus", one writes quicksort with so many 'junk' characters that slashdot scripts simply reject them in a post (!).

    Today,
    1) we can code without having a keyboard with a thousand of keys or having to press combinations of keys that would surpass any emacs lover's ability for each character;
    2) we can actually read code that has been written (agreed, it might not be true for Perl, but this is another debate :) )

  65. Parent post speaks truth by Camael · · Score: 4, Interesting

    Actually, from the examples cited, it seems to me to be painfully obvious why in those cases information was not shared.

    One of the most painful things in our culture is to watch other people repeat earlier mistakes. We're not fond of Bill Gates, but it still hurts to see Microsoft struggle with problems that IBM solved in the 1960s.

    For quite a long period of time, IBM and MS were stiff competitors (remember OS/2 warp?). I doubt MS would inform IBM what they were working on, much less seek help. In fact, it seems to be the exception rather than the rule for software companies to share code with each other. Selling code, after all, is usually how they make money.

    'We marvel that the runtime environment of the web browser can do things that we had working 25 years ago on the Mac.'

    Im fairly confident that Apple would sue any company that copies its software written for the Mac. Let us also not forget how much problems Oracle caused for Google when they sued over the Java API in Android. Yes, it is efficient to reuse old tried and tested code, but it also opens you up to a lawsuit. So it is not so much reinventing the wheel as trying to find a different way of doing things so you wont get sued. For that, you have current IP laws to thank.

    One of the problems with modern computer technology is that programmers don't learn from the great masters. 'There is such a thing as a Beethoven or Mozart of software design,' Locklin writes. 'Modern programmers seem more familiar with Lady Gaga. It's not just a matter of taste and an appreciation for genius. It's a matter of forgetting important things.

    The problem here is with equating writing software to producing works of art. People are willing to go out of their way to learn and improve themselves to paint better or make beautiful music because it enables them to express themselves. It's emotionally satisfying. OTOH most software is programmed to achieve a certain utility and the programmer is faced with constraints e.g. having to use certain libraries etc. He is rarely able to express himself, and his work is subject to the whims of his bosses. For most everyday programmers, I think there is no real motivation to 'learn from the great masters'.

    An exception might be the traditional hacking/cracking community where the members program for the sheer joy/devilry of it. I understand there is a fair amount of sharing of code/information/knowledge/learning from the great masters within their community.
     

    1. Re:Parent post speaks truth by Dixie_Flatline · · Score: 1

      Algorithms aren't patentable. You'd get sued if you stole Apple's code, sure, but the thing about runtime systems is that all you need to know is the fundamental basis of how it works to make a reasonable version of it.

      All programmers do this over time. I solved problems back when I was a new programmer starting out, but I can carry them forward regardless of the system or engine that I'm working on. In fact, one of the complaints that I have about my job is that a lot of days I spend reimplementing solutions for problems I solved a long time ago. (At different companies, no less. Nobody's going to sue me for knowing that I can insert fake items into a queue that are used for controlling the queue behaviour instead of those items being processed for, say, character actions.)

      It doesn't surprise me that other industries suffer from the same problem as the one I'm in (games). We're constantly solving problems over and over again like they're brand new.

    2. Re:Parent post speaks truth by Camael · · Score: 1

      Algorithms aren't patentable.

      I'm not a programmer, so I'll tend to defer to your knowledge. However, have a look at this article on how to patent algorithms.

      And this discussion on a programmer's forum about patented algorithms. (as an aside, Google's Page Rank is a patented algorithm? *shock*)

      My point is that IP law is in a state of flux and given the uncertainty and the risk-adverse corporate culture most companies have, I won't be surprised if the directive from management was "Don't copy, make our own".

      Further, before the Oracle vs. Google case most people believed APIs to be unpatentable as well. That didn't stop Oracle from filing a very expensive and lengthy lawsuit.

  66. Re:indeed, too many bad code monkeys, few engineer by delt0r · · Score: 1

    C will make you a better programmer? Don't be soft and use assembly instead!

    --
    If information wants to be free, why does my internet connection cost so much?
  67. Re:indeed, too many bad code monkeys, few engineer by Impy+the+Impiuos+Imp · · Score: 2

    You play with that newfangled mnemonic bullshit, huh? 1s and 0s too much for you?

    goddam kids.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  68. Where the fault lies. by Lumpy · · Score: 1

    It starts with the morons in the executive wing, is perpetuated in the management wing, and further whored at the marketing wing.

    Taking the time to write GOOD CODE is not allowed anymore. No software project is given the proper money and resources to do it right.

    Now top that with CS grads that barely know what the hell they are doing and barely have any real CS or EE education.

    --
    Do not look at laser with remaining good eye.
  69. It starts in the boardroom by EmagGeek · · Score: 1

    There is almost no demand for computer scientists. None whatsoever. The result is that there are very very precious few computer scientists - real, actual scientists.

    What there is an enormous demand for are code monkeys - people who can churn out code quickly that allows a company to meet their unreasonable product release target dates and cost targets - but who don't have any real idea what is going on or what their code actually causes the computer to do.

  70. Re:indeed, too many bad code monkeys, few engineer by serviscope_minor · · Score: 1

    Get a little bit familiar with C.

    I appreciate the sentiment, but I disagree. Back years ago when C was the popular language, before Java and Python and Ruby, etc etc, exactly the same complaints could be levelled at C programmers.

    The thing is programs were much smaller and with sufficient effort the more egregious bugs could be swept under the carpet. I actually remember a guy complaining about the DEC compiler because it made his code crash (basically the code was bad and the compiler inserted less padding than other compilers).

    --
    SJW n. One who posts facts.
  71. New Field by internerdj · · Score: 1

    Theoretically, this is the type of stuff you get from a formal education. With how young our field is, I'm not surprised that a number of professionals lack the background material to make decisions based on the mistakes of the past. As we mature as a field this will become less of a problem.

  72. Re:indeed, too many bad code monkeys, few engineer by Anonymous Coward · · Score: 0

    On a large scale, I don't believe the problem is fixable. In a class of 40, at an admittedly non-stellar university, no more than 6 students could do what you are suggesting. I doubt that it would have been possible to go much higher than; the alternative is to increase standards of enrollment.

    The thing is, it doesn't really matter that much. Most of them are going to be grinding out websites in .NET and they won't really need it. For that 2% of cases where they do, they can call on the office keener to take care of it. From a business perspective, those smarter guys can be a liability because they are expensive, get bored, and tend to design things that others don't understand. If you are developing the future, you need the best. If you are doing a little custom dev for an off-the-shelf CMS, you only need to be good enough.

  73. I'm not seeing your point by raymorris · · Score: 2

    Yes, back in the day it could be said that becoming familiar with assembly could make you a better C programmer. It can still be said, because it's true, and I said it above. That's the point of "spend a few hours playing with microcontrollers", to get a minimal familiarity with that level of intimacy with the hardware.

    Are you suggesting that it's not true, that C won't show you things that you don't learn from Ruby? Also the reverse - GUI programming in .NET will make you truly appreciate the value of objects, interfaces, etc.

    Note that I'm not suggesting that all programs should be written in a low level language. Go ahead and use the appropriate language. Perl is great because it has LWP::Simple (very high level) and it has bit shift operators.

    What I'm saying is use SQL, sure, and even report generators, but know how they work. If I give you two tables that are 3X3, could you perform a join with pencil and paper? If so, you'll do better work than someone who only uses a report generator and has never looked at the underlying data.

    1. Re:I'm not seeing your point by serviscope_minor · · Score: 2

      Sorry, my point was not as clear as I had hoped, since I never actually made it directly...

      Are you suggesting that it's not true, that C won't show you things that you don't learn from Ruby?

      Not as such. I'm suggesting that some people are simply impervious to learning. Back then as now, people managed to struggle through careers in programming without seeming to gain knowledge, skill or apparently any understanding deep enough to write programs. For those people, they learned nothing really from C then and probably wouldn't now either.

      For good people, exposure to more languages will certainly benefit them.

      For bad people, there is no hope.

      --
      SJW n. One who posts facts.
  74. It's the maintenance problem. by bregmata · · Score: 2

    Historically, apprentices would study at the master's feet. They would start by doing menial support tasks (like sweeping floors), moving to copying the master's work as journeymen, then finally after many years becoming themselves masters and actually creating works.

    Up to 80% of the cost of software is maintenance. There are very few maintenance programmers. See, most kids want to start out at the master level and skip paying their dues. There's a bug or an enhancement? No problem! just rewrite the program from scratch, do it right this time! It's actually less expensive to rewrite the software than to maintain it, since you save that 80% of the cost. At least in the very very short run.

    If programmers were required to do an apprenticeship, doing software maintenance for a couple of years before ever writing something new, they would be exposed to what went before and overall quality would go up. It just seems the know-it-all of youth has been taken too far in the industry and the price is being paid.

    1. Re:It's the maintenance problem. by swilver · · Score: 1

      If the software was actually written by a master, then I'd have no problem maintaining. Asking me to maintain a bunch of spaghetti code written under tight deadlines by a throng of graduates that didn't even begin programming until they were confronted with it at their university.... hell no.

  75. Perl is an example of a classic by Andover+Chick · · Score: 1

    Perl is a perfect example of a programming language perfected but in many instances replaced by Python/Ruby. Sure its object model is a bit obscure and only a fool develops without "strict", but otherwise it is the best scripting language for anyone working with large data sets and task automation. Of course one cannot prevent the choices of imbeciles anymore than one can influence a musical choice of The Black Eyed Peas verses Pyotr Ilyich Tchaikovsky.

    1. Re:Perl is an example of a classic by Anonymous Coward · · Score: 0

      Any idiot who thinks Perl is an example of a good programming language, should not be allowed near a keyboard.

  76. No, it's about the fun. by SlideRuleGuy · · Score: 0

    You've missed it. Things get re-invented every generation because doing so is where the fun is. Simply tying together primitives written by somebody else sucks all the fun out of the whole process. No matter that they'd be done 10x as soon. Programming is supposed to be fun, and nothing, not even common sense, is going to remove that fun.

    I've known so many programmers that had working components at their fingertips that could do everything they needed, but wanted to do it themselves so the code would be *theirs*, and not somebody else's.

  77. Come to London and ask him yourself by Anonymous Coward · · Score: 0

    At London's Science Museum, you can see Babbage's actual brain in a glass jar.

    Unfortunately they haven't yet put in the electrodes, microphones and speakers to make the communication work really well yet.

  78. Nice rant but.. by Anonymous Coward · · Score: 0

    there's a difference between a language and the code produced by those languages. The article is really more about the quality of earlier languages. To take that and say broadly that programmers don't learn from great masters is quite a stretch. I have not and likely will never write a full blown language, although I do write a lot of software and learn quite a bit from the open source software I use regularly. I don't know if they qualify as a Beethoven for you but it's music to my ears and I would say I've grown considerably from what I've learned.

  79. Not quite the same... by Anonymous Coward · · Score: 0

    But checkpointing filesystems come close.

    As do some code/content management systems (gitfs makes one present a filesystem mount).

  80. No he wasn't. by Anonymous Coward · · Score: 0

    He was a good PR person... and good at dumpster diving.

    He did not write dos... that was "appropriated".

    And just what code (give example) did you think Gates deserves a "Great Master Programmer" do?

  81. cumulative by Anonymous Coward · · Score: 0

    Computer Science learning like math learning is and should be cumulative. we should remember the important things that are required to build more technology and teach them on. Even if its not something directly useful, if it can be applied then it is worth learning and remembering. Take Turing machines for example. Aside from making a turing machine in mine craft or dwarf fortress, its really not something most people do. However, there is important state logic in turing machines that you can apply to a multitude of programming paradigms.

  82. Ageism by Anonymous Coward · · Score: 0

    It is a product of rampant ageism in the industry. Younger coders, working with the latest and greatest tools, think they are solving new and unique problems which have never before been encountered. They assume their older colleagues (assuming older colleagues exist at all) have never solved complex problems and are therefore not worth consulting.

    The attitude extends to systems. Our two IBM Power7's require four people to operate and maintain. This includes coding, data base administration, and system administration. Our kludgy collection of Microsoft SQL servers do about the same amount of work as the Power7's, but require about 60 people to operate. I can't believe the amount of tweaking and oversight they need. IBM solved and automated these operations years ago.

  83. Yup, the whole info industry is like that... by Anonymous Coward · · Score: 0

    Librarians are well used to this... for example MARC Records and after all they've had to deal with these sort of problems for a while... 1700 years in this case who are currently in the middle of a digitization project.

  84. old timers by Anonymous Coward · · Score: 0

    I expect there to be many requests in these comments for lawns to be gotten off of.

    1. Re:old timers by arkane1234 · · Score: 1

      I'm still waiting for you to exit mine...

      --
      -- This space for lease, low setup fee, inquire within!
  85. No one 'prefers' Lady Gaga by BitZtream · · Score: 1

    Okay, I'm sure some little girls with no self confidence think she's great. No one over the age of 13 and no one with a penis thinks she's anything other than a ugly ass attention whore. Her lyrics are about as impressive as you can expect ... if they were written by her 12 year old fan club.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  86. too lazy for analysis by Anonymous Coward · · Score: 0

    That's just being too lazy to do any real analysis.

  87. Re:indeed, too many bad code monkeys, few engineer by Anonymous Coward · · Score: 0

    I've found it to be beneficial to construct low-level data-wrangling classes in C#.

    You'll have a new respect for the underlying "guts" of stuff when you've attempted to write an MJPEG AVI file writer in C#.

    You'll also have a fork in your eye and a hangover that would incapacitate a sailor for a week.

  88. How can you learn from the masters by MpVpRb · · Score: 1

    ..if the source code is treated as a secret

  89. Well said re knowledge, skill, understanding by raymorris · · Score: 1

    >. Back then as now, people managed to struggle through careers in programming without seeming to gain knowledge, skill or apparently any understanding

    I like how you distinguished between knowledge, skill, and understanding. I think many programmers have knowledge of how they've seen something done,
    but no understanding of why that's the right way in some cases and not others, or what the side effects may be.

    For people who have knowledge, working with languages at different levels can deepen understanding. It has for me.

  90. Computer language evolution driven by money... by gestalt_n_pepper · · Score: 1

    So, everyone avoids using a previously solved problem because of a patent which is expensive to defend agains.

    Instead of a cambrian explosion of languages and solutions followed by a die-off, we have artificially enforced a permanent evolution of wierd, inefficient home-grown code experiments with 9 eyes and star shaped trifurcated limbs to do what two eyes and a claw would have done nicely.

    --
    Please do not read this sig. Thank you.
  91. It is the norm. by Anonymous Coward · · Score: 0

    It is normal for us to repeat the past.
    Look at the history of computers and you will always find repeated technology just with new names.
    Then:
        Mainframes - fast, and smart computers.
        Terminals - slow, and dumb computers.
    Now:
        Clouds - fast, and smart computers.
        Phones - slow, and dumb computers.

    Then:
        bulletin board system (BBS), Usenet newsgroup
    Now:
        facebook, twitter, google+, forums, blogs

    Then:
        AOL old front end, hypercard
        http://www.mikerichardson.name/oldaol/
    Now:
        HTML

    Then:
        CSV, property file
    Now:
        XML, JSON

    Welcome to the past, because we will always repeat it in one form or another.
    But, we will just put a different sticker on it.

  92. Re:indeed, too many bad code monkeys, few engineer by Anonymous Coward · · Score: 0

    " In a class of 40, at an admittedly non-stellar university, no more than 6 students could do what you are suggesting. I doubt that it would have been possible to go much higher than; the alternative is to increase standards of enrollment."

    Well, if only 6 out of 40 could do that, isnt that an indictment of the school? Should we increase standards of enrollment to those who already know the subject matter and so dont need to take the class?

    The whole purpose of school is to learn - if you already know a subject, why take a class in it? Or better yet, why complain about those in the class who dont understand - isnt that why theyre there for Christs sake?

  93. Maybe if we could see their work, we could learn by Anonymous Coward · · Score: 0

    It's hard to learn from the Beethoven and Mozart of software design when a lot of code is closed-source. I'm sure a lot of older code would also be hard to get running again. You would likely have to track down old compilers that nobody distributes anymore and for a lot of code older than 20 years you'd like have to find or emulate old hardware.

  94. Re:indeed, too many bad code monkeys, few engineer by marcosdumay · · Score: 1

    Yeah, studying assembly and writting the op-codes by hand are also important. But C gives you another point of view, one that is central to understanding the modern world.

  95. On topic: by Anonymous Coward · · Score: 0

    Some generalities, usually true IMHO:

    The mother of all languages is assembly. The best programmers are fluent in assembly (often several) and understand very well what a higher level language generates in terms of actual code. C, being pretty close to the metal, offers an excellent path upwards while maintaining an easily grasped relationship between what's happening at the metal level and what one writes. This in turn can lead to highly efficient code in both the space-consumed and cycles-taken senses. The more abstract a language gets (as measured against machine code), the more difficult it is to understand exactly what you've caused to be put together to solve your problem(s.) That leads to slower, fatter code, and that in turn indirectly (but dependably) leads to faster processors and better memory systems in order that said code runs as fast as the previous generation hardware against the previous generation's code. Yet at the same time, those same faster processors make expertly written asm and C code go faster; that in turn directly leverages the skills of the best programmers because the speed of the new processors and memory systems is not in any sense abstracted away at the ASM and C levels.

    The most important "new" tool (not that new, really) is the metal-level understanding of threading so as to take advantage of multiple cores. Other than that, nothing fundamental has changed, nor, frankly, do I expect much to change in the near future.

    One of the more obvious problems with programmers of more recent vintage is they learn, and then practice, at a very high abstraction level; implementation of efficiency and tuning escapes them simply because they cannot get to the key issues in order to practice and develop those skills.

    Also, somewhere up thread, Python is completely mischaracterized. If you think Python is like BASIC, what that tells me is either you know very little about Python, or you don't know much about BASIC. It's definitely one or the other.

    --fyngyrz

    (posting anon due to mod points)

    1. Re:On topic: by Anonymous Coward · · Score: 0

      Actually assembly these days isn't very close to the metal. One assembly instruction can abstract 20-50+ CPU instructions.

    2. Re:On topic: by Anonymous Coward · · Score: 0

      Yeah, macros are not exactly new. MASM came out in 1981 and before that the PDP-10 and PDP-11 had the "MACRO" assemblers.

  96. all he did there... by Anonymous Coward · · Score: 0

    ...is reveal himself to be a poor programmer. Debuggers are for people who write buggy code.

    1. Re:all he did there... by Anonymous Coward · · Score: 0

      "Donald Knuth is a poor programmer." Now I've heard everything from the peanut gallery.

      You're aware that Knuth wrote TeX and MetaFont, right? Those software packages are widely considered to be bug-free.

      Of course, Knuth also said, "Beware of bugs in the above code; I have only proved it correct, not tried it."

  97. Computer Science???? by Anonymous Coward · · Score: 0

    What's that!?

  98. Re:indeed, too many bad code monkeys, few engineer by tyrione · · Score: 1

    I laughed when you wrote,

    ``You truly appreciate object oriented code when you do GUI programming in a good Microsoft language.''

    Tell the kid to learn ObjC/Cocoa. Then you will learn the notion of quality OOA/OOD and world-class OO Tools for UI design. Better yet, tell them to find a copy of NeXTSTEP, put it in a VM and dig for the old NeXT Dev Manuals.

  99. Fame = overrated by Anonymous Coward · · Score: 0

    That was the golden age of much progress, as each genius built upon the prior - standing upon the shoulders of giants reaching for fame.

    Fame is wholly over-rated. It's about accomplishment. The TV generations are the ones seeking fame, because they've been misled that a moment of adulation is worth something. I'm here to tell you it isn't. Advancing the power and scope of as many people's abilities as possible -- now that is a worthy goal. You know what fame will get you? Posts about your personal habits on programming sites. And very little else. A great application, on the other hand, empowers every competent user. That's the holy grail, right there.

  100. maybe I should look at Cocoa. quality v value by raymorris · · Score: 1

    That was supposed to say the VALUE of object oriented programming. Develop a GUI using textbox objects, then the same GUI via graphics primitives, no objects. You'll quickly learn to love objects.

    That's orthogonal to how well the language's object system is designed.

  101. Good job apk: You got a rise outta him by Anonymous Coward · · Score: 0

    Jeremiah Cornelius obviously trolled you by ac posts in 4 replies + unjustified downmods of your posts attempting to hide the truth he really is nothing more than empty rhetoric along with failed illogical off-topic ad hominem attacks attempts when you showed us a specific example of "his kind" being incompetent. Jeremiah Cornelius also showed us how his type, the PHB, operates (reprehensible unskilled cowardly scum that are nothing but buzzwords and hot air with no actual useful skills).

  102. Re: Microsoft spent more flogging W8 than it earne by NicholasRezmerski · · Score: 1

    Strangely enough, Slashdot does not consider this news...

    Of course they do, but it was just published yesterday! Slashdot needs at least 7-10 days to give other news outlets a chance to inform you before igniting the local comment flamewar.

  103. Comparing Frontier to Javascript is asinine by MrRobahtsu · · Score: 1

    Creating a Mac-only scripting environment in the 1980's, then complaining because users are so stupid that the market chose Javascript instead is nothing more than Mr. Whiner [sic], well, whining that cross-platform, open, networked standards won over his proprietary precious inventions. Wah, wah.

    Yeah, I know Frontier is GPL now, but that wasn't always the case. Open sourcing failed proprietary products doesn't guarantee their success unless being proprietary is their only flaw. And maybe not even then.

  104. Program Manager in Microsoft by NewYork · · Score: 1

    Has been insulating programmers from 'real' world.

  105. Programming as a craft, not Science by servant74a · · Score: 2
    I have a degree in computer science (mainly software oriented, but included some hardware design), but people still say I am 'just a programmer'. Most programmers don't just 'do code', they do systems analysis, systems design, program development including some coding, testing at various levels, systems maintenance, and in there is a lot of 'interfacing' with suits and customers. Very little is coding. Of a properly done developed system lifecycle, less than 10% is normally coding.

    There are the 'coder factories' that advertise on late night TV. The people that come out of there, and even out of high-school and Jr Colleges or trade schools are all dropped in the same pool as 'programmers'. Most programmers, at least the better ones, view their code as in many ways an art form. Once upon a time (think '70s) using 'tricks' to save memory was a big thing and was often used as some sick form of 'job security'. From what I have seen most individuals are over that, but not so much commercial software companies that think 'protectionism' is 'protecting their assets'. Much code has been 're-implemented' by doing blackbox reengineering.

    There is still a place for the arts in computers and even software, but making things run better, faster, be smaller, use less resources, use 'vertical' AND 'horizontal' computer power, failsafe, encryption, API's, easier to network/interface, secure, better human interface, usability, etc.

    Yes, I have studied the history of computing both academically and as a personal interest. That includes anything from mechanics of the babbage engine, digital systems design (that has been useful several times since school in 'doing what everyone says can't be done'), studying the architecture of the Saber System (hardware and software from IBM for American Airlines - now antiquated, but a leap forward in interactive computers, networking, and database architecture). I have worked with some of the architects and developers of the original National Semiconductor UART chips and the IBM HASP system originally written for NASA to keep them from being kicked out of NASA in Houston. Knowing HOW these worked, how the succeeded and failed ALL helped in my systems I wrote for customers (Mainly Fortune 500 types but includes medium to mom&pop shops).

    It has been interesting studying some of the big failures and successes of the past, both in computing and business. Seeing the advanced systems before they were appreciated by the public. Seeing the marketing faux pas of large and small companies. For many small companies it is fatal, for large it hurts reputation even if they get through it (Ford Edsel, Apple Lisa, New Coke, we can all name some more).

    I don't think EVERYONE needs to get as deep into it as I have, but it would help understanding and appreciation of the history both technical and of the people and times when developing solutions for today and the future.

    Education is never lost. It just adds to the tapestry of life.

  106. Zuckerberg! by bbsalem · · Score: 1

    Mark Zuckerberg is a hell of a person to talk about not repeating mistakes and learning from the past. Whether computer science or not, Face Book is designed to make every error in BBS, blog and USENET design that has ever been made in the past, beginning with the context reply debacle of recent months, and I know because the first BBS I used was way back in 1976 that used text-only messages. It was developed by the Institute for the Future from Menlo Park Ca. and we ran it on a Honeywell MULTICS system at USGS, we may have only used T1 lines to talk to other branches, but USGS was on the Arpanet at about that time.

    What is happening is that still very few programmers have CS degrees and so don't know the work of Knuth, McCarthy, Minsky, and even of Richie and Kerningham, so they can't know the evolution of computer languages and operating systems and they can't know how log ago some of the issues we have to deal with today were first discussed 50 years ago and before. They might have Linux or *nix and not appreciate the history contained in /usr/bin. My favorite computer language of late is python, and with any language you revisit the past more or less with design patterns and data structures, so learning design patterns repeatedly for emerging languages gets you some legacy, but going back and revisiting the issues of the past and not falling into the trap of thinking because it is new and hyped that it must be better is a big hurdle for modern developers, especially when they buy into the hype of the PR departments they work with.

    As for Zuck, he would do good to examine the vitality of his business model and the history of newsgroups then to worry about theoretical matters. Leave that to the people at places like Stanford Computer Science. Zuck has a long way to go before he can hobnob at that level, despite how much is worth. He shoudl mind his own business, literally, and make the experience decent for his users, because it is not!

  107. Yeah, good job APK by Anonymous Coward · · Score: 0

    Jeremiah Cornelius obviously trolled you by ac posts in 4 replies + unjustified downmods of your posts attempting to hide the truth he really is nothing more than empty rhetoric along with failed illogical off-topic ad hominem attacks attempts when you showed us a specific example of "his kind" being incompetent. Jeremiah Cornelius also showed us how his type, the PHB, operates (reprehensible unskilled cowardly scum that are nothing but buzzwords and hot air with no actual useful skills).

    Hmm, APK pretending to be someone different, supporting APK's post.

    My goodness, we never expected that.

    1. Re:Yeah, good job APK by Anonymous Coward · · Score: 0

      Got another rise out of you did he? He did a great job ya puppet.

  108. Pioneers of Software Programming by stevenddeacon · · Score: 1

    Not to mention the pioneering works of Harlan D. Mills, Edsger Dijkstra, Robert W. Floyd, Frederick Phillips Brooks, Jr., C. A. R. Hoare, and Larry LeRoy Constantine.

  109. Old code, still not available. by TransientAlias · · Score: 1

    comparing great coders of the past to great musicians is a little bit wrong... Great musical works by geniuses of their day were exposed, meaning, if you were appropriately skilled, you could simply write them down and look at the score, the code, and see directly what the Genius had wrought. With programming it is more obscure, unless the code has been released to the public, all you have are errors, mistakes, and interface design to illuminate you as to the processes and logic that went into its creation. one example would be google. you don't learn alot about the google backend from its web interface, but you know there is some serious stuff going on in the background to spit out a result to you based on the words that you typed in cross referenced with what amounts to basically all of human knowledge.