back to article Radio 4 and Dr K on programming languages: Full of Java Kool-Aid

Radio 4 has dipped a toe into Lake Geek with a five part series looking at computer languages. Or more accurately the history and reputation of four computer languages: Fortran, Cobol, Basic and Java. Presented by soi-disant girl geek* Aleks Krotoski Aleks Krotoski, the series ("Codes that Changed the World") emphasises the …

  1. Anonymous Coward
    Anonymous Coward

    “Goto statement considred harmful”

    Strange how this often gets brought up but nobody mentions Frank Rubin's criticism 'GOTO Considered Harmful Considered Harmful'.

    Goto is one of those "it depends" things:

    Case 1 (in 'C'). Within a function you see:

    do_stuff();

    Ah, a simple function call you think. Wrong - do_stuff() is a function-like macro which included a condition goto to a label else where in the function. Unstructured code with hidden semantics.

    Case 2. A block of code monitoring a safety critical system:

    if ( isThereAProblem() )

    something_bad_has_happened = true;

    /* More code related to normal operation */

    /* Handle any errors */

    It would be much better in this case to use a 'goto' to jump immediately to a critical error handler rather than having to propagate the error condition through a potentially complex control flow graph.

    1. mythicalduck

      Re: “Goto statement considred harmful”

      Also on a processor level - If statements are just Compare operators followed by conditional Gotos!

    2. Stuart Castle Silver badge

      Re: “Goto statement considred harmful”

      "It would be much better in this case to use a 'goto' to jump immediately to a critical error handler rather than having to propagate the error condition through a potentially complex control flow graph."

      Indeed, if the software you wrote was controlling a nuclear power station and an error occurred, the extra time spent propagating the error through a potentially complex control flow graph would probably be better spend initiating and monitoring the shutdown of the reactor. The delay may only be a few milliseconds, but in that sort of situation, even milliseconds could mean the difference between a safe shutdown and a disaster.

      My own opinion is that like (say) a knife, goto is not intrinsically good or bad. A knife can be used to kill someone (arguably bad). It can also be used to help feed someone (arguably good). The same with Goto. Used correctly, it can be good. Used badly, it can be very bad.

      1. Indolent Wretch

        Re: “Goto statement considred harmful”

        As a way of counteracting the languages lack of exceptions it's an occasionally acceptable workaround.

        However since all statements consisting of a single short sentence are arguably simplifications I would say 'Gotos considered harmful' is right 99% of the time.

        1. Anonymous Coward
          Anonymous Coward

          Re: “Goto statement considred harmful”

          "As a way of counteracting the languages lack of exceptions it's an occasionally acceptable workaround."

          So if a goto is called "goto" its bad, but if its called "throw" its great? Clearly you're one of the many coders out there who doesn't really understand what exceptions are and why they're called Exceptions - ie for exceptional circumstances. Not for use every 3rd loop as some people seem to believe. And as gotos with some stack & object control thrown in and the ability to jump back up the call stack for an unknown distance until a catch is found or even cause your program to abort unexpectedly, I would actually counter that exceptions have even greater potential for chaos than your standard goto. About the only thing you can do with a goto that you can't do with an exception is jump backwards in a function.

    3. Ralph B

      Re: “Goto statement considred harmful”

      I've recently been discovering that Asterisk's implementation of GOTOs in extensions.conf are not just harmful but downright hostile. I mean: " same => n,GotoIf($[${GOSUB_RETVAL} = 0]?dial)", FFS!

      Don't take drugs while designing programming languages, kids!

    4. Forget It

      Re: “Goto statement considred harmful”

      message passing as between processes in Erlang/Elixir is really a resurrection of the goto

      iex> send self(), {:hello, "world"}

      {:hello, "world"}

      iex> receive do

      ...> {:hello, msg} -> msg

      ...> {:world, msg} -> "won't match"

      ...> end

      "world"

      http://elixir-lang.org/getting-started/processes.html

    5. AlgernonFlowers4

      Re: “Goto statement considred harmful”

      Add an 'if' statement to a program and it increases complexity by a power of 2.

      Why pick on the 'Goto' when it is the 'If' statement which causes the damage,

      1. Phil O'Sophical Silver badge

        Re: “Goto statement considred harmful”

        Why pick on the 'Goto' when it is the 'If' statement which causes the damage,

        Use Fortran's arithmetic GOTO, no IF required :)

    6. alain williams Silver badge

      Re: “Goto statement considred harmful”

      People forget that what he was talking about was that excessive use of goto is harmful. It harks back to a day when many programs had a goto every 3-5 lines -- that is spaghetti code. A small number of goto and corresponding labels can make the code cleaner by avoiding the use of ThereIsAnError type variables that are continually tested until the error handling code at the bottom of the function is reached.

      Here is a nice article on the subject: http://david.tribble.com/text/goto.html

      1. Deltics

        Re: “Goto statement considred harmful”

        And he was also talking about the fact that some languages (at the time) had no real alternative to GOTO for even simple things like loops, subroutines or conditionally branched execution. Using GOTO instead of formal constructs for these things is what is harmful as the forest of GOTO's make it virtually impossible to see the (trees of) structure in the code.

        It's staggering that people who pithily quote "GOTO Considered Harmful" are willfully ignorant of a) the context (they could read the paper, ya know?) and b) the fact that 30 years is a loooong time and the context has in fact changed significantly.

        i.e. we now have languages that are extremely rich in structured programming features, reducing the incidences in which GOTO is even at all useful, but not eliminating them entirely.

        Such people dogmatically reject GOTO as a solution in these instances and idiotically insist on far less elegant, more complex and more convoluted solutions without even perceiving the irony.

      2. a_yank_lurker

        Re: “Goto statement considred harmful”

        The real problem was the lack of transparency in ancient Fortrash and Basic were GOTO went to line number not a procedure call. Very difficult to debug or understand if the code had any complexity.

      3. Michael Wojcik Silver badge

        Re: “Goto statement considred harmful”

        People forget that ...

        ... all these same tired comments about "Goto statement considered harmful" - plus the ones pointing out that the title was CACM's gloss, the ones linking to other famous Dijkstra rants ("Unpleasant truths" et al), and so on - are made in response to every Reg article that includes the phrase.

        Try to find something new to post, folks.

        (That said, the comment from alain williams, which I am quoting here, is one of the more sensible ones in this thread.)

    7. This post has been deleted by its author

    8. ScottME
      WTF?

      Re: “Goto statement considred harmful”

      The cheerleaders of GOTOs are missing the point of Dijkstra's criticism. He was basically just saying that readability and comprehensibility of the programming language is the important thing, and that GOTOs complicate the programmer's task by obscuring the logical structure of a program.

      No-one's suggesting that the execution path of a program can't have GOTOs in it - a compiler for a structured, GOTO-less programming language will of course emit machine code that's full of branch instructions, and in all probability (if the compiler is any good) that code will be more efficient than hand-written, GOTO-ridden code.

      1. arrbee

        Re: “Goto statement considred harmful”

        I remember using a Basic dialect which had a "return n" instruction, where n was a signed integer indicating the number of statements before/after the end of the originating call instruction to which the routine should return (so n = -1 would invoke the same call again ). The fun we had...

        1. Ralph B

          Re: “Goto statement considred harmful”

          >I remember using a Basic dialect which had a "return n" instruction

          Are you sure you are not getting confused with INTERCAL's COMEFROM instruction?

      2. Anonymous Coward
        Anonymous Coward

        Re: “Goto statement considred harmful”

        "He was basically just saying that ... GOTOs complicate the programmer's task by obscuring the logical structure of a program."

        And I'm afraid for a lot of instances he was just plain wrong.

        1. Yet Another Anonymous coward Silver badge

          Re: “Goto statement considred harmful”

          "He was basically just saying that ... GOTOs complicate the programmer's task by obscuring the logical structure of a program."

          In my experience, PROGRAMMERS complicate the programmer's task by obscuring the logical structure of a program.

      3. Paul Shirley

        Re: “Goto statement considred harmful”

        @ScottME and I see you're missing the point that half the goto commenters make - that sometimes the GOTO simplifies programme structure, sometimes massively.

        I strenuously avoid goto more because of the historical behaviour of compilers, treating the branch and it's target as barriers, neatly disabling most compiler optimisations. Today's compilers handle it better but still aren't perfect and it's used so little they have no incentive to improve that. Most programmers don't need to worry about that level of performance.

      4. Richard Plinston

        Re: “Goto statement considred harmful”

        > GOTOs complicate the programmer's task by obscuring the logical structure of a program.

        No. It is not the goto that complicates the program. When studying some program code the effect of a goto is perfectly obvious. It is clear what will happen. The problem is not there, but the goto requires a label as the target and that is where the problem lies.

        When examining some code and there is a label it is not obvious at all where the logic paths lie. It is necessary to examine all the code within that label's scope to determine the logic that will access this label. This is especially a problem in COBOL where there are section labels and paragraph labels and these may be dropped through, performed and performed thru, or be subject to a goto in various combinations. In other languages, such as C, procedures and functions are different types of labels that cannot be dropped through or subject of a goto. Also, in languages like C, a label's scope is local to the function or procedure.

        With COBOL, if there are gotos (actually GO) in the program code then, when examining a part of the code, every label must be searched for in the whole program to check whether it is the subject of a perform, a thru, or a go, or is within the range of a perform and is dropped through. By eliminating GO, PERFORM THRU, and SECTION labels the only constructs for accessing code out-of-line is the PERFORM and the CALL. This eliminates the complexity of determining the logic flow of the code, paragraph labels can be treated as if they were procedures (functions in C) with the only entry from a PERFORM and the return to that at the end of paragraph.

        In some ways it is possible to evaluate the complexity of program code by counting the number of labels and the number of ways each label can be accessed. With C, a function name can only be accessed by invoking it so each name has a complexity of 1. With labels (including case labels) they can be accessed by a goto or from a switch or by being dropped into (because of there being no break before it), therefore every label adds a complexity factor of 2.

        1. Michael Wojcik Silver badge

          Re: “Goto statement considred harmful”

          The problem is not there, but the goto requires a label as the target and that is where the problem lies.

          A useful observation, but irrelevant to Dijkstra's critique. And it's not entirely true. Any statement that can cause premature exit from a basic block complicates program flow of control, both for determining things like data flow, and for a human reader studying the code. In C, that includes not just goto but break, continue, and return (which are just syntactic sugar for goto), and longjmp, which for this purpose behaves like goto optionally proceeded by a series of one or more returns. In languages and environments with exception handling, it includes exception handling.

          A human reader studying a block that contains, or may contain, any goto-like construct has to consider premature termination of the block, which means the tail of the block may not be executed. It's easy to see the effect by converting the control-flow graph of a program with explicit gotos into a tree without them.

          And people reading, and attempting to understand, source code accounts for around 40% of total software development costs, according to some estimates.

          Personally, I like the judicious use of goto in C, particularly the "goto done" pattern to exit early but still perform end-of-function cleanup. (There are good alternatives, such as handling resources in an outer function; it's largely a matter of taste.) But that works precisely because it becomes an idiom and a reader can expect and recognize it.

          Also, in languages like C, a label's scope is local to the function or procedure.

          Labels are, yes, but then you have longjmp.

          This is especially a problem in COBOL where there are section labels and paragraph labels and these may be dropped through, performed and performed thru, or be subject to a goto in various combinations.

          True.

          By eliminating GO, PERFORM THRU, and SECTION labels the only constructs for accessing code out-of-line is the PERFORM and the CALL. This eliminates the complexity of determining the logic flow of the code, paragraph labels can be treated as if they were procedures (functions in C) with the only entry from a PERFORM and the return to that at the end of paragraph.

          Unfortunately, not always true, due to the complex semantics of PERFORM in some conforming COBOL implementations. That's why we in fact recommend always putting PERFORMed code in a separate SECTION, rather than simply making it a paragraph - SECTION has stronger control-flow requirements. But yes, removing GO and PERFORM THRU from COBOL logic is felicitous, just like using the scope-terminating statements (END-IF et al).

          1. Richard Plinston

            Re: “Goto statement considred harmful”

            > Any statement that can cause premature exit from a basic block complicates program flow of control, both for determining things like data flow, and for a human reader studying the code.

            Exiting early from a block (return, continue, break) is relatively easy to understand in terms of logic flow, in exactly the same way that an if .. else .. divides code into bits being done and bits not being done, the limits of which are _within_ the block being examined.

            The problem with a label is that the logic flow may be from any number of other blocks outside the blocks being examined. These may even have a bad effect on the stack.

            > then you have longjmp.

            The only time that I ever had to use this was when calling a file handling subroutine (part of a COBOL system that I think you were familiar with) from a C program. The subroutine managed to screw up the stack so I had to surround the call with a routine that did a longjmp back to itself.

            > Unfortunately, not always true, due to the complex semantics of PERFORM in some conforming COBOL implementations. That's why we in fact recommend always putting PERFORMed code in a separate SECTION, rather than simply making it a paragraph - SECTION has stronger control-flow requirements.

            In my experience having PERFOMs of SECTIONs is always a bad thing. From the late 60s when SECTIONs were used to overlay code the PERFORM could reload the overlay which resulted in very bad performance. The _only_ reason for PERFORMing a SECTION (or worse, using THRU) is to allow the use of GO TO. If GO TO is not allowed than there is no need for any procedure label to be a SECTION. This means that certain errors can be eliminated by using grep to ensure that there are no SECTION (in PD), no GO, no THRU. By reducing the range of constructs allowed reduces the complexity of understanding the code and reduces errors (by eliminating whole classes of errors).

            > But that works precisely because it becomes an idiom and a reader can expect and recognize it.

            What is more easily understood is what you are used to. The problem with idioms is that they may be skipped over because a casual glance may meet expectations, but there may be a subtle error. For example in COBOL with PERFORMed SECTIONs it is typical that they have an XX-EXIT label at the end to which an early exit is GO TO XX-EXIT. I have seen code where the wrong XX was used in an error condition that very rarely happened. In particular this was to the XX-EXIT above the SECTION so the code dropped back into the section read the next record and the program continued normally. Because it was an idiom no one had bothered to check if it was correct.

    9. Deltics

      Re: “Goto statement considred harmful”

      It's also astonishing how many people trot out the "GOTO Considered Harmful" without ever having read the paper from which the quote is taken, sans context.

      It's useful and interesting reading and in no way constitutes a prohibition on GOTO.

      1. Michael Wojcik Silver badge

        Re: “Goto statement considred harmful”

        It's also astonishing how many people trot out the "GOTO Considered Harmful" without ever having read the paper from which the quote is taken, sans context.

        Letter, not paper, technically speaking. At any rate, that's how Wirth - then editor of CACM - decided to publish it. And, of course, the infamous title is Wirth's; Dijkstra's was "A Case Against the GO TO Statement".

        (And while I'm being pedantic, Wirth's title was actually "Go To Statement Considered Harmful". Two words, add "Statement".)

  2. Stuart Castle Silver badge

    I haven't heard the programme, but I find it odd that C (and particularly C++) seemed almost to be glossed over. I'd argue that the bulk of the world's computer systems and applications rely on C++ at some point, even those designed using other languages such as Java. After all, the compilers, interpreters and virtual machines in use for those other languages have to be written in something. In the case of Java, the VM is written using a combination of C++ and assembly.

    1. Anonymous Coward
      Anonymous Coward

      miss

      They missed the best language.

      ...

      ...

      ...JavaScript

      1. Forget It

        Re: miss

        Javascript +1

        (it must be the most ubiquitous by a long chalk)

        1. sugerbear

          Re: miss

          Apart from Javascript being a scripting language in which case HTML should also be classed as a programming language (both of which I disagree with).

          Fortran, Cobol, C, Java & Basic would have been my top 5

          1. joeldillon

            Re: miss

            Uh. Javascript and HTML are not the same thing, in any sense, though. Javascript is Turing complete, HTML is not.

            1. Michael Wojcik Silver badge

              Re: miss

              Javascript is Turing complete, HTML is not.

              HTML + CSS is Turing complete. Eli Fox-Epstein wrote a Rule 110 automaton in it.

              But, of course, your point is strictly speaking correct - I don't believe anyone's shown a way to implement Rule 100 in pure HTML. And even if it weren't, it's still correct for practical purposes. Javascript is obviously a programming language with constructs that clearly correspond to the relevant formalisms, and HTML (with or without CSS) is obviously not one.

        2. vagabondo

          Re: miss

          @ Forget It

          Especially because the programme was espousing Java as the enabler/reason of/for dynamic web pages. I could not understand whether they were talking about stuff like Tomcat or thought that Java and Javascript were related.

    2. Michael Wojcik Silver badge

      I'd argue that the bulk of the world's computer systems and applications rely on C++ at some point

      The problem with such a claim is "at some point", which is a weasel phrase (even more so than "the bulk"). At some point? Well, sure, because everything's connected to everything else at some point.

      This sort of thing is notoriously slippery anyway. What's our metric? Numbers are hard to come by, but in the early 2000s one estimate was that ninety-some percent of all CPUs in use were 8-bit embedded systems. (That's "CPU cores", not necessarily discrete chips.) Those were mostly programmed in assembly; a minority were programmed in C, Forth, and a handful of other languages.

      These days, extremely cheap 32-bit cores have probably displaced the 8-bitters from the top of the pile. Embedded systems are programmed in a host of languages, but C, C++, and Java likely dominate, with Forth and more domain-specific languages like Erlang still making a showing in some domains.

      And then we have the mobile phones. All those feature phones (and to a lesser extent smartphones) dwarf general-purpose desktop computing. C++, Java, some Objective C, some C# ... oh, and the smartphones will be running a whole bunch of Javascript.

      What if we count not CPU cores but cycles? Then HPC is going to boost Fortran's rank significantly. But how much?

      What if we count "items of work performed" in some vague, handwaving sense? Business transactions swamp personal computing, and the majority are COBOL programs.

      On the desktop (laptop, tablet), it's Javascript. By a mile.

      I claimed, a few years ago, that by far the most popular computer application is a little thing called "digital clock". I counted two dozen instances of it running in my house. How many versions are implemented in C? In assembly? In discrete logic?

      1. Stuart Castle Silver badge

        "The problem with such a claim is "at some point", which is a weasel phrase (even more so than "the bulk"). At some point? Well, sure, because everything's connected to everything else at some point."

        When I say "at some point" I mean that C++ was used either in the implementation of a given product, or the implementation of one or more of the components or tools that contribute to the design and implementation of that product. I said the bulk because, as you said, exact figures are actually hard to come by,

  3. Anonymous Coward
    Anonymous Coward

    It would have been better

    to have explained some concepts behind languages, so people could understand object-oriented (whether it's C++ or Delphi or Java), and ideas like modules, procedures, functions.

    It felt at times like they were trying to explain how the internal combustion engine works, by detailing the trim and accessories in a Jaguar, Ford, VW and Renault.

    1. Tom Wood

      Re: It would have been better

      Indeed, and that's how a good Computer Science degree course works. The actual language doesn't matter nearly as much as the concepts behind it.

    2. Ian 55

      Re: It would have been better

      Yes, and that all languages are a large set of compromises.

      1. Anonymous Coward
        Holmes

        Re: It would have been better

        I'd rather phrase "a large set of compromises" as "a set of constraints" which is really what is occurring. I've made it my practice to pick the language to match the constraints of the job (model/process) rather that shove that into a language that isn't a good fit. Of course, not many developers have the luxury of picking the tooling that I had.

        As for any favorite language, making the transition from flipping toggle switches and using patch cords to alter "the programming" of the computer, I fragging kid you not, compiled assembly is heavenly in comparison! Even if entered using paper-tape. It really is interesting to see a resurgence of interest in tight code again in the era of IoT.

  4. James 51

    Doesn't the presenter also work on the digital human show?

    1. Tony Green

      She does. Which is why I can't listen to it. I really can't stand her voice.

      1. david bates

        I thought it was just me. I'd make the effort of I thought she has anything useful to say but it always seems to be IT (very) lite

  5. Dan 55 Silver badge

    Listen to it

    iPlayer Radio is available worldwide with no hoop jumping required.

    1. Uncle Slacky Silver badge

      Re: Listen to it

      It's also available on the Podcasts page: http://www.bbc.co.uk/podcasts/series/r4codes

  6. mantavani

    Streaming

    You can stream BBC radio - bar a few sports programmes where there are rights issues - outside the UK. It's just the telly version that gets uppity about this stuff.

    1. Chris Miller

      Indeed

      And that's because you are required to pay in order to watch BBC telly in the UK, whereas radio is free.

    2. Anonymous Coward
      Anonymous Coward

      Re: Streaming

      IIRC there is also an EU limited geographic zone for accessing some domestic BBC programmes - as opposed to World Service ones. It is usually only possible to find the applicable limit by polling people outside the UK or EU.

  7. Ralph B

    "soi-disant"?

    Ignorant me discovers that "soi-disant" is defined as "self-styled; so-called". The latter definition might make it appear that The Register is having a bit of a go at Dr Krotoski. Say it's not so. I really wouldn't like to see The Reg get caught up with the Gamergate controversy. Pretty please.

    1. dogged

      Re: "soi-disant"?

      I think there's a difference between Gamergate and calling someone a female Stephen Fry - ie, an ignorant enthusiast.

      1. Indolent Wretch

        Re: "soi-disant"?

        There's always someone in the world smarter and/or more specialized/knowledgeable than you.

        Ergo we are all ignorant enthusiasts.

        The question I guess is if the presenter was a guy and not a gal would they be getting so much sniping.

        I remember "Bits", I remember the presenters of "Bits", I remember the bits of the presenters of "Bits".

        So somebody with a computing background (at least in TV terms), who some people in tech will have "fond" memories for, who admits to having coded in their youth who has experience on screen and in journalism.... That seems a pretty good choice to present such a program.... Who does the Register want? Bjarne Stroustrup?

        1. joeW

          Re: "soi-disant"?

          "if the presenter was a guy and not a gal would they be getting so much sniping"

          On the Register? Yes, absolutely and 100%. Equal Opportunity Slagging is one of my favourite things about this place.

          1. Kubla Cant
            Thumb Down

            Re: "soi-disant"?

            I see that Simon Rockman, the author of the condescending soi-disant expression, is billed as "Mobile and Motoring Correspondent".

            His description of it as “what we used to use before HTML 5” suggests he's less knowledgable about programming languages than phones and cars. I can only imagine he's referring to Applets, which haven't been a significant area of Java use for at least ten years. The vast majority of Java runs on servers, where “write once, run anywhere” is in fact true.

            Since the soi in this case is a woman, surely it should be soi-disante?

            1. dogged

              Re: "soi-disant"?

              > The vast majority of Java runs on servers, where “write once, run anywhere” is in fact slightly less of a joke.

              Fixed.

            2. Anonymous Coward
              Anonymous Coward

              Re: "soi-disant"?

              "The vast majority of Java runs on servers, where “write once, run anywhere” is in fact true"

              Sure, as long as every server has the correct JVM version, jar files and you don't try and do anything OS specific or use OS specific paths it'll all work just dandy.

              1. Anonymous Coward
                Anonymous Coward

                Re: Sure, as long as every server has...

                Sure, as long as every server has the correct JVM version, jar files and you don't try and do anything OS specific or use OS specific paths it'll all work just dandy.

                Seriously? That's your objection to Java? Entirely generic issues relating to installation of dependencies and configuration that apply equally to any application you ever install anywhere? These are trivial and long-solved problems, and not in any way specific to Java nor a consequence of Java's design as a language.

                1. Yet Another Anonymous coward Silver badge

                  Re: Sure, as long as every server has...

                  So if your server has the right posix libs and don't try and do anything OS specific then C is perfectly cross platform.

            3. Michael Wojcik Silver badge

              Re: "soi-disant"?

              I see that Simon Rockman, the author of the condescending soi-disant expression, is billed as "Mobile and Motoring Correspondent". His description of it as “what we used to use before HTML 5” suggests he's less knowledgable about programming languages than phones and cars.

              Certainly the article has plenty of questionable statements. For one thing, COBOL and BASIC are both acronyms and should be written accordingly (unless you're referring to a specific not-really-BASIC language which unfortunately is called Visual Basic). Fortran, of course, used to be FORTRAN but was renamed in 1990; but "Atlas-Fortran" is properly "ATLAS-FORTRAN" (or better "ATLAS and FORTRAN", since ATLAS is a linear-algebra library for use by FORTRAN or Fortran programs).

              We've already discussed the Haskell comment elsewhere.

              Yes, Grace Hopper should have been discussed in more detail, but "the disliked Cobol [sic]"? Even if that were her only achievement, creating the language that's still responsible for the vast majority of business transactions seems moderately significant.

              I don't know what Rockman's experience of Java is, but his description doesn't match my "day to day experience". Another tiresome generalization from the Java-bashing league. The language has real problems (cough type erasure cough); how about we talk about those?

              Omitting APL seems fine to me, and I've actually written APL code, which is probably more than most Reg readers can say. In the long list of omissions by the series, this one must be way at the back. APL enjoyed a certain cachet among actuaries and the like for a while, and has a certain historical importance, but if you want to complain specifically about "mathematical languages" being omitted (and noting Rockman does mention Forth), then Mathematica and Matlab, SPSS, VisiCalc (which was in effect an interpreter for a programming language) and its descendants, and newcomers like R and Julia are better bets.

              I could go on, but the whole thing just makes me tired.

          2. handle

            Re: "soi-disant"?

            But would they have been as likey to get their picture in the article?

        2. Long John Brass

          Re: "soi-disant"?

          > Who does the Register want? Bjarne Stroustrup?

          Hell NO! That man should never be allowed anywhere a compiler again!

          C++ is a crawling horror. It's C that has had to put the lotion on its skin. Java is the bastard son of C and COBOL.

          The lat true hope humanity has is JAI; when / if Jon every get to releasing a version we can play with

  8. x 7

    How much of the musician Terry Riley's work is In C?

    1. hplasm
      Happy

      In C

      About 5%... judging by his discography.

  9. Anonymous Coward
    Anonymous Coward

    This is exactly the problem

    From the article:

    "The whole series dances between addressing the Radio 4 audience, which can name every character in A Merchant of Venice but who’ve never heard of Ada Lovelace or Gordon Moore..."

    In this country it's fine to have an arts programme on TV or (more likely) radio that goes as deep as you like, with as many world class experts as you can find.

    With science and technology subjects? I'm not convinced we are there yet. There are some good presenters, but the material always gets dumbed down.

    1. John Miles 1

      Re: This is exactly the problem

      There's a lot of truth in what you say - The BBC (or for that matter other channels) hardly ever deal with Science/Technology on its own terms. It has to be dumbed down or jazzed up to make it "appealing". Contrast this with, for example, Radio 3 CD Review ( which I like ). For 3hrs every Saturday morning on a main national channel music is discussed, analysed and illustrated at length using sometimes technical but still accessible terms for those that want to listen.

      'Codes that changed' the world was a partly flawed step in the right direction, but given the plethora of Radio and TV channels now available, when will some broadcaster have the courage to start doing 'real' science/technlogy programs that really appeal to and inform the millions who work in or study such subjects.

      1. Yet Another Anonymous coward Silver badge

        Re: This is exactly the problem

        At least they didn't make her wear fluorescent lycra and ride a bike

    2. AceRimmer

      Re: This is exactly the problem

      "With science and technology subjects? I'm not convinced we are there yet. There are some good presenters, but the material always gets dumbed down."

      I find that Radio 4 to be a last bastion of quality science programming, In Our Time in particular stands out as a show which allows experts to just talk about their subjects with only the gentle guidance of Melvyn Bragg.

      Having said that, Radio 4 is not immune from the "must appeal to a wide audience and get younger listeners rot" which has infected the rest of the BBC.

      Its a shame really, as a teenager I drew a lot of inspiration from the likes of Horizon, I can't even watch it these days without being distracted by the constant repetition as if they need to drill obvious facts into the minds of idiots.

      Personally I blame the Discovery Channel.

      Currently rewatching "Earth Story" on DVD from the late 90's. It is a superb example of factual programme making

      1. Peter Gathercole Silver badge

        Re: This is exactly the problem

        Thumbs up for Earth Story. It's an excellent example of a cross-discipline scientist (Aubrey Manning, a zoologist who was sufficiently interested to learn about geology, and how the change to the Earth conditioned life) who has very good presentation skills.

        I particularly like the description of the Long Term Carbon Cycle on one of the later episodes which comes up with the conclusion that in geological time scales, our knowledge of climate is pretty much informed guesswork.

        I really wish there were more TV series like this.

      2. Anonymous Coward
        Anonymous Coward

        Re: This is exactly the problem

        "In Our Time in particular stands out as a show which allows experts to just talk about their subjects with only the gentle guidance of Melvyn Bragg."

        Have you ever really listened to In Our Time on a science-related topic?

        In my experience (as a graduate physicist some time ago) it's a long way behind what I've come to expect from Radio 4 factual programmes.

        Horizon and the like aren't what they used to be, but In Our Time never was much wrt science.

        Now that being a 'maker' is getting trendy again, who'd like to see a revival (or even just a repeat) of Channel 4's Salvage Squad? It's more engineering than science, but that's OK by me. Unfamiliar with the programme? There's a few on the web in the usual places.

        Have a lot of fun.

        1. fruitoftheloon
          Pint

          @AC (salvage squad) Re: This is exactly the problem

          Ac,

          yup, methinks salvage squad perfectly appeals to my [outer] geek.

          Have one one me.

          Cheers,

          j.

        2. Fink-Nottle

          Re: This is exactly the problem

          > Have you ever really listened to In Our Time on a science-related topic?

          I agree. When it comes to the sciences, Melvyn Bragg is out of his depth. The academics are often constrained by having to explain relatively simple stuff to Bragg, who has a hard time accepting unfamiliar or counterintuitive concepts.

          (As an antidote to Bragg's obtuseness, you can't beat the BBC's Elastic Planet series.)

          1. Andrew Torrance

            Re: This is exactly the problem

            Couldn't agree more . When something is about the arts or humanities or better still the media itself then the R4 goes into a decent depth . But give them something technical and they usually flounder . Have you heard PMs pathetic use of analogies to 'explain' numbers ? Its not everywhere , 'more or less' treats its listeners as being numerate , but apart from that then numeracy seems to be treated as the domain of the few .

            1. AceRimmer

              Re: This is exactly the problem

              PM is the radio equivalent of The One Show

            2. Anonymous Coward
              Anonymous Coward

              Re: This is exactly the problem

              "Have you heard PMs pathetic use of analogies to 'explain' numbers ? Its not everywhere , 'more or less' treats its listeners as being numerate , "

              The normally reliable Tim Harford (R4 More or Less) was on PM on Monday attempting to explain the difference between debt and deficit. How hard can it be?

              Here's my take on it:

              Deficit = difference between income and expenditure. Typically measured over a specific period of time e.g. a budgetary year.

              Debt = amount of money owed to others.

              The debt exists in order to fund the accumulated deficit(s).

              An example: Annual income £20, Annual outgoings £21, deficit £1, total debt will increase at £1 per year (plus interest).

              Even Mr Micawber had the recipe right.

              Does it need more explanation than that?

              Instead, Tim's rambling on about pipes and paddling pools. Sorry Tim, on this occasion you blew it.

              [ps

              It is of course possible that I'm the one who's misunderstood].

              [pps

              I'm using income here in the way it used to be used before it became a misleading synonym for corporates to use instead of saying 'profit']

        3. vagabondo

          Re: This is exactly the problem

          "More or Less" on R4 and the World Service manages to be both populist and interesting/entertaining for the numerate listeners.

          Once upon a time the odd programme that mentioned radio, sound recording or music production used to be able to produce an actual BBC engineer. Now all the technical "experts" seem to be journalists who get their technical education from Apple and Google's sales literature and press releases. The biographical pieces about STEM people are often OK, but they are about the subject's personal lives and careers rather than the STEM itself.

        4. Phil O'Sophical Silver badge

          Re: This is exactly the problem

          who'd like to see a revival (or even just a repeat) of Channel 4's Salvage Squad

          It's being repeated on Quest, S1 Ep6 was on today.

          1. Anonymous Coward
            Anonymous Coward

            Re: technology TV: Salvage Squad

            "[Salvage Squad] is being repeated on Quest, S1 Ep6 was on today."

            So it is. Thank you. Seems to have been on at least since 7 April according to Digiguide.

            Bit miffed too though. For the first time since Quest arrived, I'm in a place where I don't have Quest, and remote access to my Slingbox where I do have Freeview isn't working today... Quest on demand doesn't work from here either, seems to get stuck in a loop trying to connect to a content delivery server. Networks are like that sometimes.

            Oh well, as per usual Freeview model, I guess it'll be on 49 times per week for the next couple of months.

    3. Nifty

      Re: This is exactly the problem

      Ms Lovelace featured prominently in the drama on Babbage's life

      It's no longer available but here's the info

      http://www.bbc.co.uk/programmes/b02x939n

      it was a interesting if slightly weird listen.

      Now would be the right time for a repeat (maybe on 4 Extra) as the BBC is having it's computer season.

      1. AceRimmer

        Re: This is exactly the problem

        In our time episode on Lovelace:

        http://www.bbc.co.uk/programmes/b0092j0x

        I might download that for tonights commute

  10. Ralph B

    Write Once ...

    > “write once, run anywhere” marketing, rather than the run one, ruin everywhere

    I understood it was "write once, debug everywhere".

  11. Pen-y-gors

    Algol you fools!

    Without Algol, where would we be now?

    1. hplasm
      Happy

      Re: Algol you fools!

      """""""""""""""""""""""Sane! """""""""""""""""""""""

    2. Michael Wojcik Silver badge

      Re: Algol you fools!

      Without Algol, where would we be now?

      While Algol was certainly influential, FORTRAN, COBOL, and LISP all preceded it, so it's not like it invented the idea of the high-level language. Many of Algol's syntactic innovations were inspired by mathematical notation, so we might have gotten them anyway. And some of its more prominent semantics were, thankfully, discarded along the way (I'm looking at you, Pass by Name).

      Maybe the functional language families - the LISP family and the ML family - would have become more prominent. That would have been OK with me.

  12. chrismevans

    Those who can, do, those who can't, write about it...

    It's just another example of people writing about technology without having the actual experience of doing it. Their view is tainted by lack of knowledge.

    Various languages have been successful at the time due to more than just the elegance of the programming model. Most were massively constrained by the hardware they ran on. It's disingenuous to claim COBOL, FORTRAN or even BASIC is bad (especially for the use of GOTO) when Java can suck more memory on a single VM than was ever available to 1000 or more machines running any of the above languages.

    Java is an answer for laziness in programming brought about by the idea that O/S functional abstraction and cross platform code is better than writing for the O/S itself.

    For reference, in the 35 years I've been using computers, I've programmed at some stage (not always professionally) in all the languages referenced (yes including FORTH, APL, C, C++, BASIC, COBOL, Assembler (mainframe, Z80, 6502), Java, Javascript), plus the more obscure ones like SAS.

    1. Anonymous Coward
      Anonymous Coward

      Re: Those who can, do, those who can't, write about it...

      I actually quite like Java as a language (for the record I'm a C++ dev) with a few provisos here and there though all languages have their bad points. The main issue I have with Java is the ridiculous amount of libraries and the API size that comes with them. Whether its the endless variations on containers (just how many types of key-value map do you need??) or umpteen different ways to access a DB or this weeks GUI API (JavaFX isn't it?), the whole thing just gave me a headache and is the reason I steered away from Java and remained with C++ which while certainly being far from perfect, once you know an OS API (posix for unix or win32 for windows) the STL and a bit of Boost and/or C++ 2011 you're pretty much sorted.

      1. Paul Shirley

        Re: Those who can, do, those who can't, write about it...

        I quite like Java for the sheer speed of 'recompiles', something I miss badly every time an unlucky header change forces a 40min C++ recompile on the current project (we inherited this mess and it's too tangled to fix). But I did miss the astonishing expressive power of C++, Java is dumbed down to very few choices and the semantic differences with C++ are a constant annoyance.

        I find myself wondering how to elegantly express ideas in C++, compared to wondering if what I'm trying is even possible in Java - it takes the joy out of programming. The Java is probably more productive if you aren't working on extremely high performance applications though ;)

  13. nematoad Silver badge
    Headmaster

    Generalisation Considered Harmful

    " ...the Radio 4 audience, which can name every character in A Merchant of Venice but who’ve never heard of Ada Lovelace or Gordon Moore..."

    Don't generalise, it hurts your credibility.

    I am a Radio 4 listener and I can't for the life of me remember the dramatis personae in A Merchant of Venice but I have heard of Ada Lovelace and Gordon Moore. I can't program to save my life but I did have a very well paid career in support roles. Thanks MS :-)

    Not all arts graduates are technologically illiterate.

    1. Whiskers

      Re: Generalisation Considered Harmful

      These days, a composer is as likely to create music using digital tools as analogue, and to write 'computer code' as much as putting dots onto manuscript paper.

      Radio 4 doesn't assume that its listeners have a narrow area of interest; quite the opposite. It also expects listeners to have the gumption to investigate further for themselves if something they hear sparks an interest.

      1. Richard Taylor 2

        Re: Generalisation Considered Harmful

        You really have not listened to any of the presenters (eg one J Humphries) on the Today program have you?

        1. Whiskers

          Re: Generalisation Considered Harmful

          The Today Programme is too early in the day for paying serious attention to; at most, it's a way of discovering what's happened since last night and what the weather is likely to be later today. It does demonstrate that politicians and economists (and meteorologists) are as flawed and incompetent as anyone else, especially at breakfast-time. The programme does accept 'listener feedback', and the BBC have a whole programme dedicated eponimously to feedback too.

  14. Tony Green

    It could have been better without Aleks Krotoski

    Irritating American voice, she always gets up my nose. Why couldn't they find someone from this side of the Atlantic to present a programme on British radio?

    1. Eponymous Cowherd
      Facepalm

      Re: It could have been better without Aleks Krotoski

      What, like Rory Cellen Jones?

      What the BBC need is a tech correspondent who understands technology.

      What I don't understand is that they use the likes of Brian Cox, Jim Al-Khalili, Michael Moseley, Janina Ramirez, and so on to present programmes about or around their own subject matter (hell, Dara O'Briain has a degee in theoretical physics), but when it comes to technology they think any clueless hack who happens to know how to use an iPhone, Facebook and Twitter will do.

  15. Anonymous Coward
    Anonymous Coward

    Perl ftw!

    One vote only for perl? If the internet is a building, perl was the mortar that helds the bricks together. Even today, I'm willing to bet loads of stuff is silently working on bits of 15 year old perl script. Probably more than we'd be comfortable with.

    1. Anonymous Coward
      Anonymous Coward

      Re: Perl ftw!

      "perl was the mortar that helds the bricks together."

      Not really. More like the quick nailed up plank of wood to stop stuff falling down until the wall could be rebuilt with proper materials. Perls time is gone, disappeared in a punctuation explosion of its own making. For scripting its Python these days I'm afraid and back end web is a whole host of different tech now.

    2. John G Imrie

      Re: Perl ftw!

      I'm busy writing more Perl to keep bits of the Internet ticking over and I don't work for Booking.com :-)

      1. Anonymous Coward
        Anonymous Coward

        Re: Perl ftw!

        "bits of the Internet "

        ITYM bits of the web. I doubt perl gets used much in router code or TCP stacks or ssh servers for example. Internet > web.

    3. Anonymous Coward
      Anonymous Coward

      Perl considered unimportant.

      It may have had a lot of use, but it basically started as (and remains) a compiler to make shell scripts run faster, and doesn't bring anything conceptually new to the party.

      1. Yet Another Anonymous coward Silver badge

        Re: Perl considered unimportant.

        >doesn't bring anything conceptually new to the party.

        I think the concept of making the intention of the program completely disconnected from the source code was new - at least outside the obfuscated C contest.

    4. Michael Wojcik Silver badge

      Re: Perl ftw!

      In terms of languages used by web-based applications, Perl is behind Javascript, and quite likely behind PHP. These days, it may have fallen behind Python and/or Ruby as well. Note I'm making no claims about the relative quality or desirability of any of those languages - just their prominence in performing processing for web-based applications.

  16. OzBob

    Oh, "her"

    the one that fronted that Beeb series that mangled the Free Software movement and DARPA / the internet into one big blob, with the same ideology. Amusing in some respects, I suppose.

    Gimme LJ Rich on Click for tech tottie anyday.

  17. Anonymous Coward
    Anonymous Coward

    No banking if Java didn't exist

    I like Java, but their premise of "There would be no banking if Java didn't exist" is ridiculous.

    And we need real, actual programmers to present these programs, not whiney spokespeople (sic).

    If that means a man has to be employed, the BBC will just have to bite that bullet.

    1. Anonymous Coward
      Anonymous Coward

      Re: No banking if Java didn't exist

      "If that means a man has to be employed,"

      Spencer Kelly from Click would be a good choice. He's a good presenter and has a comp sci degree from cambridge.

    2. Martin Gregorie

      Re: No banking if Java didn't exist

      I like Java, but their premise of "There would be no banking if Java didn't exist" is ridiculous.

      Exactly. Banking runs largely on COBOL.

      1. Anonymous Coward
        Anonymous Coward

        Re: No banking if Java didn't exist

        "Exactly. Banking runs largely on COBOL."

        Well, whatever. If one language did not exist the banks would be using another language, not disappearing.

        The premise is stupid.

      2. oliversalmon

        Re: No banking if Java didn't exist

        "Banking runs largely on COBOL"

        I never understand this comment, I work in on of the largest banks in the world and the amount of COBOL is miniscule.

        Almost all server side development is in Java these days, GUIs tend to be .Net or Flex, although moving to HTML 5.

        Exchange matching engines are writing in Java, Trading systems are written in Java (OMS, EMS & SOR).

        If you want to work in banking, learn Java!

  18. Jim 59

    Great to see that the Beeb has not strayed from its formula:

    - all programmes to be forced through a PC mesh so fine that what comes out of the other side is just mush.

    - Presenter to be pretty, with no relevant qualifications, experience and probably no interest in the subject matter.

    - Anything outside the arts to be treated non-seriously, usually with a contentious/polemic argument to make it palatable to the ballet fans (here, it was the Java/C howler). BBC thinks the black jumpers will switch off unless they hear the word "punk!".

    - Men and boys to be ignored, or if that cannot be, made to look stupid. Men and boys' confidence to be lowered, and boys made to feel useless and surplus to requirements. This despite the soaring male suicide rate and poor school performance.

    ...if it had been like this in the 50s, Attenborough and Moore would never have looked into a TV camera.

  19. frank ly

    Podcast introduction

    ".... explores the history of the languages we use to talk to computers ..."

    I use English to talk to my computers - lots of swearwords are are used.

    1. John G Imrie

      Re: Podcast introduction

      So you use lots of Anglo Saxon rather that that modern Norman rubbish brought over with William the Conqueror

  20. Vincent Ballard

    Functional languages

    I'm not sure that xkcd 1312 actually contradicts the statement that Haskell is "one of the most popular functional languages". In fact, there's a good case to be made that it picks on Haskell because more readers will at least have heard of it than Ocaml, and more will have tried it out than F#.

    1. Anonymous IV

      Re: Functional languages

      All this talk of "Haskell" made me wonder what on earth The Sweeney had to do with programming languages.

      Then I remembered that the name I was ms-thinking of was "Haskins"...

    2. Michael Wojcik Silver badge

      Re: Functional languages

      Yes. All respect to Randall,1 while Haskell isn't widely used in industry, it's not unknown either; I've read research papers that discuss commercial systems with components written in Haskell. And it's popular in academia as both a teaching language and for certain types of research.

      As you suggest, it's probably the most popular member of the ML family, beating OCaml and F# (though there seems to be a decent amount of interest in F#). I doubt much of anyone uses Standard ML any more. (I have a soft spot for it, myself, but I haven't used it in many years. These days when I write ML-family code it's usually F# and sometimes OCaml.)

      In any case, "one of the most popular functional languages" is true for any functional language, since the subset is not well-defined. Or, at best, evaluated lazily. ("Does it include Haskell yet? If not, add the next-most-popular functional language.")

      1And Randall Munroe does get all the respect. All of it.

  21. Tom 7

    All languages are shit

    however a good background in what might be termed software development techniques turns almost all of them into very useful tools.

    Unless someone in the management process has been trained in software destruction techniques or MBA as it is generally known. Even I cant write good code in those situations - I never mastered the BOFH part of the course.

  22. Paul Frankheimer
    Thumb Up

    xkcd disses Haskell - jokingly

    But they actually used it to power their April fool's comic in 2012. The code for the Haskell-based webserver is available at github:

    https://github.com/davean/waldo/blob/master/Waldo/Script.hs

  23. Martin Gregorie

    Inexcusable ignorance of Grace Hopper

    Grace Hopper deserved far more time than she got:

    - first to show that a computer could handle text

    - wrote the first assembler (before she did that you programmed entirely in numbers)

    - involved in the development of MATH-MATIK and FLOW-MATIC (forerunner of COBOL)

    At least they got her involvement in COBOL correct.

    As others have said, C should have replaced Java in the series and, given that this was a British radio series, there should have been at least a nod to BCPL, which was developed at Cambridge University, because the C genealogy as described by Brian Kernighan is:

    BCPL-->B-->C

    For sure all the curly bracket block-structured languages have C in their ancestry just as all the block structure languages that use begin..end can be traced back to Algol 60.

  24. Alan Johnson

    C should have been described

    C and it's derivatives should be covered not only because it is probably the most successful and long lasting computer language, having a decade or two of general dominance and still being the language of choice for embedded systems 43 years later but because of the massive success of C derived languages, C++, Objective C, C# and Java to name just 4.

    1. Yet Another Anonymous coward Silver badge

      Re: C should have been described

      C still being the language of choice for e̶m̶b̶e̶d̶d̶e̶d̶ systems

    2. Michael Wojcik Silver badge

      Re: C should have been described

      having a decade or two of general dominance

      "general dominance" by what metric? The wild-ass handwaving one?

      Yes, it's pretty silly to omit C and its descendants (other than Java) from a documentary like this. But making claims about "dominant" programming languages is nearly as bad. The simple truth is that we have several programming languages with many years of widespread use; another set that enjoyed briefer heydays and then dropped in popularity but appear they will hang on forever; and a much larger set of languages that were always more or less marginal but refuse to go away. (And, of course, then the considerable set of "esoteric" experimental and joke languages.)

      1. Richard Plinston

        Re: C should have been described

        > But making claims about "dominant" programming languages is nearly as bad.

        Statistics about language 'popularity' are rather shonky. For example one set measures web accesses to language tutorials. They are measuring the 'popularity' based on the number of people who _don't_know_ the language. Another counts the number of adverts for programmers of particular languages. This bases 'popularity' on the number of empty desks.

  25. Anonymous Coward
    Anonymous Coward

    For reasons that people don't know (unless you know), the financial stability of the UK rests in the hands of some very old COBOL.

    1. Anonymous Coward
      Anonymous Coward

      I used to do C and COBOL and now I do Java. C should have made the radio 4 program rather than Java.

      On a slightly tangential note Java has lowered the barrier of entry for programmers in much the same way that Visual Basic probably did. Doesn't help when I'm hiring but is certainly lucrative when I'm doing a consulting gig.

      I can name quite a few massive corps that depend on java software to do a lot of the heavy lifting in their enterprises; after all those fancy HTML 5 front ends do have to talk to something in the end to actually get shit done.

  26. Captain Hogwash Silver badge
    Thumb Up

    BASIC - Punk Rock!

    I liked this analogy. I was 13 in 1979 and wrote my first program on a Commodore Pet. I've always been aware of the fact that I was just between two revolutions in popular music & culture (too young for punk, too old for acid house) but, being exactly the right age when the early eighties micro boom happened, I've told people for years that this was the rock & roll of my generation. Sadly too many my own age don't get it so it was nice to hear someone on Radio 4 who does.

    1. Eponymous Cowherd

      Re: BASIC - Punk Rock!

      Nah,

      BASIC was the programming equivalent of the Bay City Rollers.

      Assembly, now that was Punk.

      LDIR

      1. Captain Hogwash Silver badge

        Re: Assembly, now that was Punk

        The point about punk was that anyone could do it. You no longer had to be a virtuoso as the progressive guys had been - just pick up a guitar and bang out three chords. I graduated from BASIC to typing hex into the Pet's machine code monitor just as I graduated from three guitar chords to fancy quasi-classical finger style. So BASIC WAS punk, assembly was something requiring more skill (metal/prog/jazz?) and just running other people's programs was Bay City Rollers (manufactured - geddit?)

        1. Fink-Nottle

          Re: Assembly, now that was Punk

          If BASIC was punk, then Borland was Stiff records.

      2. Michael Wojcik Silver badge

        Re: BASIC - Punk Rock!

        BASIC was the programming equivalent of the Bay City Rollers.

        If I hate you after I say

        Just can't READ I$ any longer

        Just gotta tell you anyway

        Bye bye BASIC, BASIC goodbye

        (Bye BASIC, BASIC bye bye)

        Bye bye BASIC, don't make me cry

        (Bye BASIC, BASIC bye bye)

        Completing the lyrics is left as an exercise for the reader.

  27. Anonymous Coward
    Happy

    When Apple's engineers were designing Swift, their initial prototype didn't have an if statement or indeed any sort of branching.

    When asked why, their rationale was that "with Apple, we've already made all the correct decisions for you, and there's only one true direction we want you to head in."

  28. This post has been deleted by its author

    1. Uncle Slacky Silver badge

      To be fair, she did make the point that many programmers who cut their teeth on BASIC in their bedrooms went on to become very successful commercial programmers (particularly games) despite the dire predictions that they'd never "unlearn" their bad, unstructured habits.

  29. yoganmahew

    z/series assembler...

    Is there nothing to be said for IBM mainframe assembler? Essentially a program from the 1960s will still run so long as you didn't 24-bit limit it... once you know what you're doing, you can see exactly what it does with 100% accuracy, so while it is often written buggy, it is easy to debug and it's quick!

    1. David Beck

      Re: z/series assembler...

      The longevity is more attributable to the quality and constraint of IBM hardware design, both the original Gene Amdahl work and the thousands of engineers who could have easily fucked it up with each iteration.

      I wonder how much BAL code is still running today in major systems, not just those small routines which required BAL to get the job done? Is ACP still booking flights?

      The OS's are now coded for the most part in a thin PL/1 (SPL?, too many years) and when I say now I mean since the late 1970's, but lots of bare metal code, interrupt handlers, device and channel drivers were still in BAL even after the recode.

      Anyway I'm out of here,

      LM 14,12,12(13)

      BR 14

  30. Andy A

    Did they miss out your favourite?

    Found it more interesting than Dr. K's "Digital Human" programmes. In general, the choice of languages was not bad. With so many to choose from, most people on here will have their personal favourite missed out completely, though several others had brief mentions in the 5th episode.

    Assemblers were probably the step which changed programming the most, introducing as they did concepts such as the compiler and source code with meaningful names.

    My favourite, having written commercial code in over a dozen languages, has to be ICL's GIN, with its recursive macros (the example in the manual generated n verses of "One Man Went To Mow") and code to be actioned at compile time.

    I still have great admiration for the design of FORTRAN, with its quite legible source, even though it hit the world only a couple of years after I did. My total commercial FORTRAN legacy? One subroutine.

    COBOL legacy? Four whole programs, plus mods to over a thousand. I think it's too verbose for anybody to get to like it, but it gets the job done.

  31. Gordon Henderson
    Go

    I always wanted to be a Punk Rocker ...

    Now I are one..

  32. Frumious Bandersnatch

    I don't get these programmes any more

    In my day they'd have a segment that you were supposed to record using your tape recorder. You could then (theoretically at least) put the tape in your computer's tape recorder and load the program. It might have even displayed pictures on the screen--video over radio, if you will.

  33. kmac499

    My First Programming Language..

    Scratch,

    So we can see if the eyes light up when they realise how simple it can be..

  34. Andrew Torrance

    I missed them live except for Java , the idea being to listen later . But I am not going to bother . It seemed to dumb it down in some places and skim over vital info in others . They seemed to concentrate on gee whizz apps rather then the underlaying concepts . The JVM was not mentioned , and was only alluded to as a 'translator'. No mention of .NET which was odd given they are conceptually very similar. Aimed at those ignorant of software I think it was a missed opportunity .

  35. BobRocket

    Late to the party as usual

    Interpreted languages like Basic were great to get started, the program usually halted at the first error and you only had to debug one error at a time.

    Compiled languages were harder at the start, even a small program would generate screenfuls of compiler errors (most of which would disappear after fixing the first) but they gave you compactness and speed.

    Horses for courses.

    Anybody mentioned Pascal and Delphi, dBase and Clipper ?

    As for R4 (it used to be my fav radio service) it seems that everytime I turn it on there is a desperate need to bring in the 'Womens' angle irrespective of the programme content.

  36. Tim Almond

    COBOL

    "But the programme is very negative about that language, almost as if it’s a bit too easy after the mathematical basis of Fortran."

    That's the whole point - you want languages and tools that make Getting Stuff Done as quick and reliable as possible. COBOL feels out of date today, but the reason it ran millions of lines of code in industry is that it was a really easy language for data processing.

    As for the Raspberry Pi, I've yet to hear of anyone learning programming with one. More than anything they seem to get used as media servers. And if you want to teach your kids to program, you've already got a PC, download Notepad++ and teach them Javascript and then move them on to Python, PHP or C# later.

    1. Anonymous Coward
      Anonymous Coward

      Re: COBOL

      "As for the Raspberry Pi, I've yet to hear of anyone learning programming with one. "

      What level of detail do you want??

      You could, for example, start with the blog on the Raspberry Pi website, where you may find today's post particularly helpful althought there's plenty older stuff about Pi in education:

      https://www.raspberrypi.org/blog/ and specifically

      https://www.raspberrypi.org/picademyatgoogle-leeds/

      Or you could take the example of the company I know who were using them when Work Experience kids came in, so they could learn a bit of Python programming in a safe standalone environment without needing access to IT-managed PCs or to the secure corporate network, a scheme which sadly had to stop when the certified Microsoft-dependent IT Department confiscated the Pis. Marvellous.

      There are lots more examples in between.

      Enjoy.

  37. Mike 137 Silver badge

    Haskell v. thinking

    The item on Haskell included mention of its use to create a statistical analysis tool for assessing drug rehab clients, during which 'Dr. K' made the statement that it was a surprising use of such a mathematically oriented language. I've seldom heard such a silly statement from a supposed expert - a mathematical approach is essential to solving statistical problems, so a mathematically oriented language would in principle be the ideal choice.

  38. wayward4now

    What are the names of the tunes played in the background?

    I cannot find any sort of discography and would like to know the titles of the background tunes There are some great tracks there! Ric

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like