back to article From Zero to hero: Why mini 'puter Oberon should grab Pi's crown

Two tiny, inexpensive, single-board educational computers just shipped. One has had lots of coverage already, but the odds are you've never heard of the other machine. However, the idea behind the obscure one is more important. Hogging the limelight is the Raspberry Pi Zero, a computer so small and cheap it's being given away …

  1. Swarthy Silver badge
    WTF?

    Click-Bait much?

    While I do remember Pascal, fondly even, it's what I learned to program in, and this OberonStation sounded cool in the article. What with the article talking about it along with the RasPi and being a competitor to the PiZero, I expected a board and OS for somewhere between 5 and 50 USD. I did not expect the board to run 140USD; that doesn't even cover the OS, Networking, serial port connector (3.3v, not USB - which doesn't exist), or charging cord, each of which run about the same price as the PiZero.

    Throw in that it's got a D-Sub (VGA) connector for video, and that the keyboard and mouse connectors are PS/2... I've been looking for something to do with a few old PS/2 keyboards, but not for 140USD.

    1. Pirate Dave

      Re: Click-Bait much?

      Same here. A computer that's Pascal through-and-through would be awesome, but not for $140, and not using connectors from the 1990's...although maybe the PS/2 and VGA connectors are easier to wire up (on the board itself) than newer USB and HDMI/displayport/etc connectors

      I wonder how much tinkering it would take to get Oberon to boot on the Pi Zero...

      1. Richard Plinston Silver badge

        Re: Click-Bait much?

        > A computer that's Pascal through-and-through would be awesome,

        The ICL PERQ (Three Rivers hardware) of 1982 ran 2 operating systems: PNX which was Unix version 7; or PERQ which was written in Pascal and ran Pascal and Fortran. It ran 'Q-Code'.

        Of course standard (Wirth) Pascal would be completely useless for writing an OS so there were several extensions to allow modular programming and communication.

        1. Pirate Dave
          Pirate

          Re: Click-Bait much?

          I did read-up a bit on Oberon this afternoon. So, maybe it's not as Pascal-y as I thought. I remember taking a Modula-2 class in college in the mid-90's and how badly that screwed up my (previously pristine) knowledge of Pascal ( well, TP6 to be precise. Standard Pascal is, as you implied, pretty useless for anything useful). Things looked alot a like, but there were subtle differences. Oberon looks like an even more weirdly redone Pascal. Not that I'm criticizing Dr Wirth, not at all. Oberon seems to be a cool programming language. Just that it may look like a duck, and sometimes quack like a duck, but it's really a swan with a bad chest cold.

          OTOH - FreePascal is really smoking these days. I've been playing with it on the Mac recently (just got an old Macbook last month), and it actually works. Can't say I'm fond of Lazarus though - it seems horribly slow on my 2009-era MB (and was a bitch to install). But Nano and the command line compiler have kept me entertained for the past few weeks. And to be honest, the Mac itself has turned into a source of amazement to me, coming from the Linux and DOS/Windows world like I do. Stuff just works, not a lot of putzing around required. I'll get flamed for saying this, but OS X is how desktop Linux should look and work...

          1. fajensen Silver badge
            Trollface

            Re: Click-Bait much?

            I'll get flamed for saying this, but OS X is how desktop Linux should look and work...

            I will - once the Gnome and the Systemd work is done!

            Then Linux will have:

            a) Totally obscure xml-ish-but-not-quite start-up files for services,

            b) Applications as binary blobs, a weird concoction of statically linked code, yet with files shat everywhere (like windows),

            c) Un-Install apparently not required, Good Luck tracking all the files shat everywhere (Hint: Time-Machine is your dearest, closest, most precious friend).

            d) Weird bugs and "kinks" like the Swedish USB keyboard disconnecting itself, the UK one never does - usually can reconnect by changing USB socket on the display, but not always (and will not reconnect by connection to computer). On boot, the login promt is shown on the Thunderbolt display, yet, the Macbook Pro keyboard is the only one active. Sometimes the Ethernet connection has a "self-assigned address" for a day or so - nothing helps.

            e) Apple doesn't give a shit about your problems - Ah, Linux has that part already ;-)

            f) A Linux that will give you all of that for about 1200 EUR and up ;-))

            However, VMware Fusion really does work flawlessly which fixes the problem with running applications that one must run but are never available on Mac.

            1. Pirate Dave
              Pirate

              Re: Click-Bait much?

              Perhaps I was a bit too optimistic when I posted that three months ago. My enthusiasm towards Apple-land is faltering a bit. See, I tried using this thing called "Apple Remote Desktop" to manage some new Mac labs we're installing for our artsy-fartsy folks, and, well, it's kind of broken under El Cap. Like flat out doesn't do what it says on the box. I mean, sure, it's a swell VNC client for connecting to the 12 Macs in that lab, but it doesn't do other useful things like push config changes out to those machines, or create the remote-desktop client installers that are supposed to make it sooo easy to manage and control those Macs. Nope, that stuff has been broken since like 10.10.4, and no word yet on when a fix will arrive. Not even if you call the magic elves at Apple Enterprise Support.

              So I will retract my former blubbering gush about Apple and say it IS good for simple things where you don't have to look far under the hood. Like making pretty pictures. But under the hood, yeah, it's as messy as any other PC OS I've ever seen.

        2. Anonymous Coward
          Anonymous Coward

          Operating system in Pascal for Pascal

          UCSD P-system, ran native (when "bare metal" meant "bare metal", unlike today's definitions) on various kinds of 16bit and 32bit hardware.

          'Course you probably need to be a dinosaur to have heard of it, and the chances of anyone actually *remembering* it are about as likely as anyone being able to sell a proper computer for less than a tenner.

          1. Dick Pountain

            Re: Operating system in Pascal for Pascal

            https://sites.google.com/site/dickpountainspages/home/computing/byte-articles/the-oberon-system

          2. Bleu

            Re: Operating system in Pascal for Pascal

            I would recommend for the hard-core, the boards for the Renesas RX and RL processors. You won't get something that is plug-and-play, and have to use a soldering pin to do more than program them,

            great products if you (as I) love bare-metal programming, interrupt-driven C.

            Relevance, also greatly admire Pascal, it is syntactically very similar to C, except for the unreadable use of pointer statements in C.

          3. VinceLortho
            Joke

            Re: Operating system in Pascal for Pascal

            Thanks, I have a complete copy UCSD P-system for x86 around here...somewhere.Things are sketchy. You don't program business apps in Windows -386/Win3.0/Win3.1 without developing PTSD. (It's a joke! No disrespect to first responders.)

        3. /dev/null

          Re: Click-Bait much?

          The Pascal-based OS for the PERQ was usually referred to as POS (PERQ Operating System). No sniggering at the back, please.

          1. Richard Plinston Silver badge

            Re: Click-Bait much?

            > The Pascal-based OS for the PERQ was usually referred to as POS (PERQ Operating System). No sniggering at the back, please.

            I was in Bracknell when the first of those arrived. I recall that when it was 'busy' it displayed a bee flitting down the right hand side of the screen. I still have a set of manuals (marked "Library Master Copy - Do Not Remove").

      2. Liam Proven

        Re: Click-Bait much?

        OBERON IS NOT PASCAL, any more than you are Homo Erectus.

        Yes, there are current OSes written in Oberon and its successors. A port of them is entirely viable and would be a useful and interesting too.

        https://en.wikipedia.org/wiki/Bluebottle_OS

        1. Anonymous Coward
          Anonymous Coward

          Re: Click-Bait much?

          As far as I know Bluebottle (aka A2, see also https://en.wikipedia.org/wiki/Oberon_(operating_system) runs already on the Raspberry Pi although there is almost no documentationa about that, but the Raspberry Pi is used at ETH-Zürich in a current course on System Construction (http://lec.inf.ethz.ch/syscon/2015/).

    2. DuncanL

      Re: Click-Bait much?

      Summed up my thoughts exactly. I really can't see what market this serves - it's way to expensive for schools and relies on old hardware that most people will have chucked out by now - keyboards and mice haven't even come with PS/2 adaptors for years. You could fit out a whole class worth of Pis for the cost of one of these.

      1. Liam Proven

        Re: Click-Bait much?

        It doesn't serve any market. It's an academic curiosity.

        But it serves as an example of a different, better way to build an educational OS that can be, and was, used for real work.

    3. John Bailey

      Re: Click-Bait much?

      Such is the way of the click bait. You were expecting a rational alternative? Sorry.. It's pretty much mandatory..

      Any Pi alternative must be at least two of the following.

      More expensive.

      Less functional.

      Unavailable except through special order, or kickstarter, which may not ever arrive.

      So utterly locked down you have to sign an NDA before you can even think about it.

      Running some obscure software only available from a single source, so what there is dies with them.

      It's been like this with the Pi from day 1.

      Any setback, no matter how small.. DISASTER..

      Any triumph.. Underplayed.

      Any delay, VAPOURWARE.

      Any alternative, no matter how under, over or inappropriately specified is so much better.

      On the bright side, by the law of tech forum outrage.. Anything this ridiculed will be a roaring success. Look at Arduino.

      I got my first Pi last Saturday. No specific desire to use it in anything specific just yet, Jut fun to play with.

      Current verdict.. Pretty easy to use, very simple to set up. Fit for purpose.

    4. Liam Proven

      Re: Click-Bait much?

      The article did NOT say it was a competitor to the Pi Zero.

      The article said that the Micro:Bit, CodeBug and C.H.I.P. were competitors to the Pi Zero.

      Perhaps you should reread it more carefully this time?

      1. cream wobbly

        Re: Click-Bait much?

        Yes it did. "From Zero to hero: Why mini 'puter Oberon should grab Pi's crown"

        It doesn't only say it's a competitor, it says it's a better alternative, and so much better that it could grab its crown.

        But you missed that.

        1. Ignazio

          Re: Click-Bait much?

          Better alternative for teaching kids, not better in price or performance.

    5. Steve 114

      Re: Click-Bait much?

      Click bait didn't work for me - screen said 'you need to turn on Java'. Bye bye!

  2. Breen Whitman

    "a cut-down Pi for a fiver"

    So, 800 New Zealand dollars. Marvelous.

  3. Anonymous Coward
    Anonymous Coward

    PS/2 mouse

    Ok sure, I can probably rob one from a computer museum.

    1. Geoffrey W Silver badge

      Re: PS/2 mouse

      You must be new to this IT lark. I have a box full of the little critters, some with big balls underneath, some more androgynous. They made a nest among all the old zip drives and dial-up modems, and other malarkey. You can have a breeding pair if you like!

      1. dotdavid

        Re: PS/2 mouse

        "You can have a breeding pair if you like!"

        Although getting them to do so can be tricky as all the little pins have to line up and can often get bent.

        1. VeganVegan

          Re: PS/2 mouse

          and the fact that their connectors are all male: gay mice?

  4. steamnut

    Meh

    It's too narrowly defined and toooo expensive. RPi can run FreePascal as well as other languages so it has got it covered.

    With python becoming so popular I am surprised that you didn't find space to mention Micropython's pyboard (https://micropython.org/). Starting from around £19 it is quite a little package for your money including GPIO, Interrupts, I2C, SPI, UART, DAC, PWM and timers.

    1. Mage Silver badge

      Re: Meh Python

      Python is FINE for anyone that has learnt to program.

      It's total rubbish for TEACHING programming. Scratch is HUGELY better for that.

      If the aim is to learn, then Pi + Scratch is a good start for kids 10+ years

      If you are 15+ and want to really learn to program AND write real programs instead of hacked scripts, then Oberon board is great. Previously you had to dedicate (or dual boot) a laptop to it.

      Modula-2 + Lilith is the early ancestor of this.

      https://en.wikipedia.org/wiki/Lilith_%28computer%29

      (I used Modula-2 from 1983 to 1996 and wrote an entire platform game which ran from DOS and no assembler in 520K. Virtual device drivers for different graphics cards automatically loaded.)

      PASCAL to Modula-2 is like 1978 MS Basic and VB6.

      Oberon much more advanced

      https://en.wikipedia.org/wiki/Modula-2

      https://en.wikipedia.org/wiki/Oberon_%28operating_system%29

      https://en.wikipedia.org/wiki/Oberon-2_%28programming_language%29

      1. Richard Plinston Silver badge

        Re: Meh Python

        > It's total rubbish for TEACHING programming.

        You obviously have a huge bias towards Pascal and derivatives.

        The essence of learning programming is fast feedback. This is why BASIC was designed as a teaching language (Beginners All-purpose Symbolic Instruction Code). Each part of the language could be tried out and results were immediate.

        Pascal was also intended as a teaching language but it was not interactive it was compiled. The compiler was only to p-code so it was fast, but the whole cycle of edit-compile-run gave a slow feedback. Pascal also was very limited (deliberately) with no modules, limited IO and no data structures beyond arrays. After learning Pascal one had to change to a different language.

        There were many extended Pascals, each incompatible with the others: UCSD, Turbo-Pascal, ISO Pascal, MS Pascal, ... and many derivatives, in fact as many variations as there were of BASIC. Both languages had brief popularity in the 80s but faded in the 90s.

        Python has been around since the 90s and has had a single development path with few deviations. It can be used like BASIC as an interactive learning tool or can be used as a highly modular object-orientated language for very large projects - without relearning another language.

        The main complaint about Python is that it uses indentation to represent the logic levels (rather than begin-end of brackets of some form). This has the advantage that the user and the compiler see the same logic levels - as long as the editor does not insert tab characters that will disrupt the indentation. Get a decent editors that recognises Python's needs (there are many) and there are fewer issues with understanding the program flow than other language's need for punctuation.

        Also Python has just one 'style'. Other languages 'discuss' where the begin-end or {} should be placed, the variations in styles can obscure the logic from the beginner.

        While Pascal may be useful for teaching how to program linked-lists or hashed arrays (because you need to program these yourself), computing has moved on from that and Python provides higher level data structures (lists, dictionaries, tuples) to solve _application_ problems rather than getting stuck in computer problems.

        1. Pirate Dave

          Re: Meh Python

          "Python provides higher level data structures (lists, dictionaries, tuples) to solve _application_ problems rather than getting stuck in computer problems."

          Don't be too harsh - some of us got into computers because we liked the COMPUTER problems, and suffered the APPLICATION problems because they paid the bills...

        2. Mage Silver badge
          Paris Hilton

          Re: Meh Python? Bias pascal?

          I think standard Pascal was always pretty useless as real world language. Borland Turbo Pascal was almost Modula-2. It was good at the time (1970s to 1980s) as an introduction. FAR better than BASIC, which was cut down ForTran intended to be a stepping stone to Fortran.

          BASIC was stupid by 1980. I didn't use it again until VB6, which allowed a totally different style of Programming. Other than teaching and derivatives like Turbo Pascal, Pascal was never a very viable real world implementation language. Modula-2, Ada widely available from 1983 and C++ from 1986 all superior to pascal. I started C++ programming in 1987.

          Most modern programmers TOTALLY fail on the difference between learning a programming language and learning to program. Or the difference between a language like Scratch (only intended for teaching concepts) and Python, which assumes you already are an expert programmer.

          A language that might be brilliant for a particular real world class of implementations might be useless for teaching programming. Unfortunately only a small percentage of programmers concentrate on design rather than debugging, I BLAME MANAGERS! WHY ARE YOU NOT WRITING CODE!!!!. Most people have concentrated on learning the language and libraries, but NEVER EVER have learnt programming and design properly. Otherwise why to we STILL see the same old bugs and vulnerabilities that are totally avoidable? (Bad management is a lot of it). Cross Site Scripting, Array Bound Violations and SQL injection. A lack of defensive programming. Looking a GNU / LInux source, Web site source etc we are going backwards in quality from the late 1980s in Web and PC software compared to some Telecomms and Industrial then.

          An FPGA based board for Oberon, though expensive at $170 is to be welcomed as at least a fresh approach rather than "yet another linux" board. I have Pi, I am typing this on Linux Mint. I have two Linux servers and I supported MS Oses for 20 years. In contrast there seems to be a load of script kiddie fan boys knocking this because it's more expensive than a Pi and only does Oberon, who really don't see the big picture!

          1. Richard Plinston Silver badge

            Re: Meh Python? Bias pascal?

            > Python, which assumes you already are an expert programmer.

            I am not sure why you think that, perhaps you could explain.

          2. Richard Plinston Silver badge

            Re: Meh Python? Bias pascal?

            > FAR better than BASIC, which was cut down ForTran intended to be a stepping stone to Fortran.

            There was a language implementation called BASIC-FORTRAN which was a cut down FORTRAN, but this had nothing to do with K&K BASIC.

            There are always some similarities in computer languages, arithmetic expressions generally are the same, unless it uses RPN.

        3. Anonymous Coward
          Anonymous Coward

          Re: Meh Python

          "This is why BASIC was designed as a teaching language (Beginners All-purpose Symbolic Instruction Code)."

          I know what HP literature says but I was assured, years ago, by one of the original Dartmouth team that the acronym is actually a backronym made up after the event. They were tasked with designing a basic programming language, so they called it BASIC.

          1. Richard Plinston Silver badge

            Re: Meh Python

            > the acronym is actually a backronym made up after the event.

            Aren't they all ?

        4. Nick Ryan Silver badge

          Re: Meh Python

          Modula-2: A fine example of idealist attempts at creating a programming language... a language that wound up either utterly useless or having to be hacked so it was capable of doing anything useful but was no longer the "pure/idealistic" vision that it started off as. One of the biggest stupidities was the insistence that single pass compilation was the only way forward and everything was nailed in place around this concept regardless of how this crippled code or code organisation.

      2. Tom 7 Silver badge

        Re: Meh Python

        Scratch can get you started - so can any other language. But Scratch hits a brick wall after about 2 weeks if my daughter is anything to go by.

        Python is OK but if you really want to learn to code the C is a good way to go. You may laugh but I know of examples of almost every programming technique possible in C and C++. All for free!

        Even the Oberon compiler on linux is mostly in C and writes C.

        I dont really mind what language you use - its all machine code in the end, but for real world examples C/C++ and their associated build tools has got to be the way to go. That and inter-language programming.

    2. Liam Proven

      Re: Meh

      The first draft of the article did mention the pyboard, but I asked the editor to add the C.H.I.P. as it seemed more relevant. To keep it short, it replaced the link to the pyboard.

      The article is not about programming languages. It is about operating systems. Thus, it doesn't matter what compiler is hosted on top of Linux, that does not address the issue that Linux is a problem, as it is too large, too complex, too slow, too cryptic and too difficult to be a good educational tool.

      (RISC OS, meanwhile, is better than that on all fronts, but it's hopelessly obsolete.)

      1. Richard Plinston Silver badge

        Re: Meh

        > The article is not about programming languages. It is about operating systems.

        Actually the article was about "tiny, inexpensive, single-board educational computers", though the OberonStation is not cheap. It mentions several boards, mostly Pi clones but also the BBC:Bit, CodeBug and C.H.I.P. As you say it did originally have the PyBoard.

        You may _want_ it to be about operating systems, but it wasn't. The Pi (which more that half the acticle focussed on) can run many systems. It did discuss RISC OS (which is available) because that is the origin of the ARM processor.

        > Thus, it doesn't matter what compiler is hosted on top of Linux, that does not address the issue that Linux is a problem, as it is too large, too complex, too slow, too cryptic and too difficult to be a good educational tool.

        You appear to be obsessed about teaching 'Operating System Design and Implementation'. That is a rather niche area in University courses. Certainly there have been several operating systems developed within the constraint of being all done in a single language. But this is hardly a place to start teaching computing.

        If you want to lock down a system so that it presents a simple, easy, programmable interface for teaching then that can be built on top of any operating system. The advantage of that is that it can be changed to run different teaching systems.

        But these single board computers, such as the Pi, are not _just_ to teach computing in a theoretical way. They are a tool to learn _other_ subjects. They can teach electronics. In a physics lab they can be used with sensors and relays to learn about gravity, electricity, magnetism and much else. They can be used to learn about photography, and can do time lapse or high-speed for chemistry or biology, or even meteorology.

        1. Preston Munchensonton
          Pint

          Re: Meh

          Wouldn't it be easier at this point to just get a ruler and have both of you drop your pants to measure?

          Clearly, it's time for beer, already.

        2. dogged

          Re: Meh

          > You appear to be obsessed about teaching 'Operating System Design and Implementation'. That is a rather niche area in University courses. Certainly there have been several operating systems developed within the constraint of being all done in a single language. But this is hardly a place to start teaching computing.

          While I agree with you completely, it would be rather nice if there was a small, cheap board available for the purpose of learning of exactly how Operating Systems work.

          To trot out the horrible hackneyed car example, people know about gearboxes because of push-bikes and they know about the basic principles of the internal combustion engine - expansion of gasses driving pistons etc - from physics classes but operating systems are relegated to "magic".

          1. Richard Plinston Silver badge

            Re: Meh

            > it would be rather nice if there was a small, cheap board available for the purpose of learning of exactly how Operating Systems work.

            I am not sure why you think that is not already available ? Of course it would depend on which operating system(s) you would want to learn. MVS, or even OS360 may be difficult to rewrite for a Raspberry Pi, but Minix should work. It should be possible to write a p-code or q-code interpreter to run the Oberon OS on RPi.

            1. Anonymous Coward
              Anonymous Coward

              Re: Meh

              "OS360 may be difficult to rewrite for a Raspberry Pi"

              Why rewrite? Emulate the hardware, and run the original software. Been done on Pi for VAX (see SIMH for VAX emulation and Hobbyist VMS for zero-cost VMS). SIMH runs on the usual OSes, and emulates lots of different architectures besides VAX, but not IBM mainflame.

              Along similar lines, it looks like the Hercules project emulates an IBM mainflame, and various bits of IBM OS software are now freely available:

              http://www.rs-online.com/designspark/electronics/blog/my-raspberry-pi-thinks-it-s-a-mainframe

              https://en.wikipedia.org/wiki/Hercules_%28emulator%29

              How does that look?

              1. Richard Plinston Silver badge

                Re: Meh

                > Why rewrite? Emulate the hardware, and run the original software.

                The question was about learning OS design and implementation. Merely running an existing OS doesn't do that. Rewriting an OS while solving different hardware problems does. Porting an OS for which you have source code (eg Minix) would also.

                1. Anonymous Coward
                  Anonymous Coward

                  Re: Meh

                  "learning OS design and implementation. Merely running an existing OS doesn't do that."

                  Richard, at the risk of misrepresenting... are you seriously suggesting there is nothing worthwhile to learn from what has gone before, in operating system design?

                  Any engineering fule doth know that a good way to repeat mistakes from the past is to start from scratch without looking at lessons that have already been learned. Just look at the security holes appearing in embedded systems in recent months and years - the kind of thing that the minicomputer and workstation world sorted out in the 1980s (insecure default accounts, etc).

                  There are cases where it's appropriate to throw everything away and start again, but they are few and far between. Everywhere else, history is great for learning from.

                  1. Richard Plinston Silver badge

                    Re: Meh

                    > are you seriously suggesting there is nothing worthwhile to learn from what has gone before, in operating system design?

                    I have no idea where you got that from. I specifically mentioned 'rewriting' and 'porting' existing operating systems, and not once mentioned 'throw everything away and start again'.

                    The point that I was making was that being able to boot up and run an OS shows nothing about its internal design, so what would you learn ?

                    > the kind of thing that the minicomputer and workstation world sorted out in the 1980s (insecure default accounts, etc).

                    Back in the 1980s there did not exist the attack vectors that there are today.

  5. Paddy

    Microbit/Python

    The BBC Microbit can run MicroPython and they are going to be given away!

    1. Geoffrey W Silver badge
      Happy

      Re: Microbit/Python

      You got a down vote for that! Those BBC bastards, giving stuff away for nowt!

      1. dotdavid

        Re: Microbit/Python

        Nowt? If you assume BBC licence fee payers aren't paying, then sure.

    2. Tom 7 Silver badge

      Re: Microbit/Python they are going to be given away!

      but when?

      Its a bit hard to tell how good something is when its not available,

      Not that I can get my hands on a Zero but I've got one that's slower than that and its surprisingly usable.

      I'm not sure why the scribe thinks that Linux is not kid friendly - they haven't adopted an opinionated point of view so they all seem to be quite happy with Raspbian - once they've worked out its not touch sensitive.

  6. Mage Silver badge
    Happy

    Pascal -> Modula-2 -> Oberon

    Pascal was only meant to be a language to learn Programming, not to learn Pascal.

    Colleges destroyed the development and deploying of Modula-2 in the 1980s to 1990s by simply teaching Modula-2 as if it was pascal. Modula-2 didn't explicitly have C++ class syntax, you could use opaque modules, separate compilation, typed procedures passed as parameters.

    It had parallelism and multicore support as part of the language via co-routines and mutexes.

    Compilers in 1990s could do much compile time array bound checking foreign to C or C++

    Types even STRONGER than Pascal, so anonymous Array types are not compatible.

    But MAGIC types for device drivers (Array of Byte) with ability within a procedure to call to find array bounds!

    Oberon is MUCH better.

    Sadly the rest of the world is mostly stuck at 1976 levels of programming and I've lost count of how many C++ projects that simply "reused objects" (or even no objects) and otherwise no lessons from Strustrupp and C++, practically compilable with a C compiler.

    PHP, Javascript, coldfusion, python etc make VB6 with "Option Explicit" look good.

    It's a pity it doesn't have HDMI as well as VGA and isn't half the price. It's a brilliant idea.

    Scratch on Rasberry Pi allows teaching programming. Python on Pi to turn LEDS on / off is worse than JAL, BASIC or C on a bare metal 18Fxxx family PIC with a USB port to connect to PC or Tablet.

    1. david 12 Bronze badge

      Re: Pascal -> Modula-2 -> Oberon

      "Pascal was only meant to be a language to learn Programming, not to learn Pascal."

      Wirth's interest was language design. The "programming" that he taught was language design. The "programming" that students learned was language design.

      Pascal was only ever meant to be a language which demonstrated good language design, that students could use, that also demonstrated how a properly designed language worked.

      One of the fascinating aspects of language design is how C has given up it's original idea of "a small language, only a small number of key words". Modern compilers aren't like that at all, having instead native support for i/o primitives. That was an area of active debate when C and Pascal were introduced, with C and Pascal representing diverging viewpoints. Taken as a language design, Pascal has certainly aged better than C has.

      1. Michael Wojcik Silver badge

        Re: Pascal -> Modula-2 -> Oberon

        One of the fascinating aspects of language design is how C has given up it's original idea of "a small language, only a small number of key words".

        No it hasn't.

        C11 - which is by no means widely used; many popular C implementations aren't even fully compliant with C99 (hello, Microsoft) - did add a number of features to the standard library. But nothing in the standard library is a keyword (or a "key word", assuming that's supposed to be a term of art).

        C11 has 44 keywords, nine of which use the initial-underscore style to avoid invading the identifier namespace (ISO 9899-2011 6.4.1). C90 had 32 keywords (9899-1990 6.1.1). That's twelve new keywords in 21 years, only three of which (alignof, inline, and restrict) invade the identifier namespace of C90.

        And the added features in the library - things like standard complex arithmetic, atomic operations, and threading - are still done in the traditional C style, as low-level primitives.

        Certainly the case can be made that the standard library has an excessive number of, say, mathematical features; but it doesn't suffer the wild profusion of "wait, we thought of a better way" that bloats the C++ standard. The C11 standard still clocks in at under 700 pages, which is very short for a modern programming language's specification.

        Modern compilers aren't like that at all, having instead native support for i/o primitives.

        If implementers violate the language specification, that's not the fault of the language.

        1. david 12 Bronze badge

          Re: Pascal -> Modula-2 -> Oberon

          You've failed to notice, or report, that modern C compilers implement in the compiler, parts of the standard C libraries.

          They do, to the extent that they comply with the standards, implement the languge "as if" it had a separate library, allowing you to override the internal implementations of library-like functions, but that is just another layer of complexity on top.

          The compiler actually implements key "library" functions as part of the language it is compiling, and also has an additional language function that allows you to overide the internal language definition.

          This was by no means the original language design principle of C compilers, which implemented a "small language of only a few keywords".

          1. Richard Plinston Silver badge

            Re: Pascal -> Modula-2 -> Oberon

            > The compiler actually implements key "library" functions as part of the language it is compiling,

            C compilers, even K&R's, have always had macros that can implement functions inline. Some standard 'library functions' are even defined as being macros.

            > and also has an additional language function that allows you to overide the internal language definition.

            It has always been possible to use preprocessor macros to change the language. It is irrelevant whether the preprocessor is a separate program or built into the compiler.

            > This was by no means the original language design principle of C compilers, which implemented a "small language of only a few keywords".

            Nonsense. If they look like function calls then they are not 'keywords'.

            I don't know what point you are trying to make here.

    2. Danny 2 Silver badge

      Re: Pascal -> Modula-2 -> Oberon

      C<Pascal<Basic

      A genius of a man was briefly assigned to babysit me on my apprenticeship, much to his disgust, and his first words to me were,"Write a Pascal program that print's out the Fibonacci series". I replied, "Well I know who Pascal was but I don't know who Fibonacci was or what his series was".

      The look of revulsion on the guys face was priceless, like he was "licking something sick and wrong".

      I liked Pascal as a language, it seemed elegant compared to Basic and Assembly. A very good stepping stone to C. Then all you pesky Objectified Orientated kids came along and ruined programming for everybody.

      0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811

      1. Pirate Dave
        Pirate

        Re: Pascal -> Modula-2 -> Oberon

        "I liked Pascal as a language, it seemed elegant compared to Basic and Assembly. A very good stepping stone to C."

        I liked it as a better alternative to Basic and Assembly that let us escape having to learn C. ;) And at one point in the late 80's, early 90's, Borland was selling an "educational" edition of TP 6 for like $50. I think I bought my copy at Walmart, of all places.

        "Then all you pesky Objectified Orientated kids came along and ruined programming for everybody."

        Amen.

  7. Anonymous Coward
    Anonymous Coward

    From the ObersonStation site:

    In 2013 Niklaus Wirth revived the project by retargeting to a custom FPGA-based CPU, streamlining the Oberon language and OS, and publishing an updated 'Project Oberon (New Edition 2013)' book online. All the software, as well as the complete Verilog description of the hardware built by Niklaus Wirth and Paul Reed is published alongside the book.

    Low-volume hardware is expensive! But the processor could be re-implemented on a cheap FPGA board now that all the chip makers are pretty much giving away dev-kits.

  8. JeffyPoooh Silver badge
    Pint

    Maybe somebody could write an Oberton emulator for the $5 Pi

    $140. Not exactly spur-of-the-moment mad-money pricing.

    Like the $5 Pi, the $140 Oberton is also not actually available (Sold Out). So they're both hypothetical for the time being.

    1. James Hughes 1

      Re: Maybe somebody could write an Oberton emulator for the $5 Pi

      You can already have Oberon on Pi

      https://github.com/norayr/voc

      New Zero's currently in manufacture now the Foundation know there is demand (they made 30k upfront, all gone)

      1. Liam Proven

        Re: Maybe somebody could write an Oberton emulator for the $5 Pi

        Nope.

        That is Oberon the programming language, not Oberon the operating system.

  9. DropBear Silver badge

    "retargeting to a custom FPGA-based CPU"

    ...aaaand that's where they went wrong right there. There's no such thing as a cheap FPGA - probably the biggest reason they never caught on all that much with the amateur crowd. They are simply overkill for all but the most surgically specific Heavy-Duty-This-Is-The-Real-Deal-Application that honestly needs that kind of grunt (or flexibility), and so pretty much anything a DIYer might want to do is better served by a much less complex and orders of magnitude cheaper MCU. Or, if it involves things like file systems, a GUI or somewhat more elaborate networking - one of today's dirt-cheap multi-core ARM SoCs. An FPGA is a wonderful thing... if you want to learn about FPGAs, but otherwise definitely the wrong tool for the job for the average enthusiast - sorry, "maker".

    1. Tom 7 Silver badge

      "retargeting to a custom FPGA-based CPU"

      Nothing wrong with them as a solution for lowish production numbers but anything over 100,000 or so (not sure not been in chip design for a while) but if you expect to sell more then the cost of a custom chip along with improved performance should tip you that way. But its a risk you take. And with the zero around its not a jump anyone is going to make in a hurry.

  10. holdere

    Broader Issue...

    I think most of us commenting here did not grow up on "kid-friendly computers".

    I would also submit that the experience of having to learn on an "unfriendly" computer that didn't care if we were kids was vital to our development as programmers and other engineers.

    Don't underestimate children.

    1. dotdavid

      Re: Broader Issue...

      And IMHO the fact that the Pi (often) runs Linux, one of the most popular operating systems used in the wider world, on ARM, one of the most popular chipsets used in the wider world gives the advantage of gaining relevant experience compared to specialist education systems.

    2. Anonymous Coward
      Anonymous Coward

      Re: Broader Issue...

      "I think most of us commenting here did not grow up on "kid-friendly computers"."

      1980s Commodores, BBC Micros and the like were so simple that a reasonably bright kid could actually understand what was going on from the schematics and the simple instruction set of the 6502. They were kid-friendly in a way that no modern computer can ever be.

    3. Dan 55 Silver badge
      Childcatcher

      Re: Broader Issue...

      After a few years I managed to understand how a Spectrum worked and then after that most of how an Amiga worked. As adults I think most of agree that a Windows, Linux, or OS X computer is essentially unlearnable by just one person, it's unreasonable to expect a kid to learn how they work or get any sense of achievement out being able to say they've learnt how it works. And then some people suggest that kids should use one of those and a weakly-typed language like JavaScript or PHP to learn programming...

      Also the Oberon seems to be a design of computer where the language and OS are more tightly integrated, like those 80s computers.

    4. kmac499

      Re: Broader Issue...

      The Power of the Pi (tm) is multi fold

      It's Cheap

      It requires a degree of tinkereing just to get it to do anything

      It runs a version of possibly the commonest OS on the planet.

      It supports programming from the Fisher-Price Scratch up to supercomputer style arrays

      It supports physical computing from sticking LED add on boards through kits to embedded control systems.

      None of these is unique to the Pi and others may well outperform it in some areas, but I haven't come across anything else that is such a good all rounder.

  11. Anonymous Coward
    Anonymous Coward

    Pascal?

    The language that held back software development for 15 years?

  12. James Hughes 1

    Oberon on Pi

    There is an Oberon compiler that works on Pi here (just cloned, built and tried it with example Oberon code from Wikipedia).

    https://github.com/norayr/voc

    No idea how good it is, but has been recently maintained.

    1. Liam Proven

      Re: Oberon on Pi

      Again, that is the language, not the operating system. The article was about operating systems, and at best only tertiarily about programming languages.

  13. bobblestiltskin

    https://sites.google.com/site/libby8dev/fignition - a £20 solder-yourself computer that runs Forth - if you want something even more retro

    1. Anonymous Coward
      Anonymous Coward

      https://sites.google.com/site/libby8dev/fignition

      I don't have anything in the house now which accepts composite video.

      1. dogged

        Re: https://sites.google.com/site/libby8dev/fignition

        does £3.89 seem unreasonable?

    2. achillesneil

      Interesting... I was looking at these GreenArrays chips. 144 cores on a single chip. If they were mass-produced, we could all have $10 computers running on FORTH. FORTH isn't difficult. It's just so different. And solid.

  14. dbayly

    Pascal on MAc

    MacOS, the original on from the 80s, was implemented largely in Pascal, and the reference docs were all in Pascal form. The best IDE and compiler I ever worked on , Think Pascal, was a brilliant piece of UI work, unmatched in IDEs to this day I think.

    Apple then discovered C and seemed to think it was superior, but I didn't see much evidence of that at the time.

  15. Wilseus
    Headmaster

    While [RISC OS] was radical in 1987, it's very retro now.

    1989 actually :)

    I should add that Arthur (essentially RISC OS 1, although it was never called that) came out in '87 but it didn't have the radical WIMP desktop and was essentially an ARM port of the BBC's MOS.

    1. Liam Proven

      Re: While [RISC OS] was radical in 1987, it's very retro now.

      Eh, close enough for government work. ;-)

      I own kit that runs RISC OS 2, 3 and 5. I debated this with myself but decided it was just a nerdy detail.

  16. Liam Proven

    Author comment -- could you lot miss the point any more widely?

    Sheesh, people. You lot couldn't have failed any more heroically to NOT GET IT.

    [1] I was not promoting the Oberon SBC.

    I was not even promoting the Oberon OS itself.

    What I was saying is this:

    As we now have effectively-free super-simple hardware, we now need free, super-simple software to go with it.

    I am not proposing that Oberon is this software. It was merely a convenient example, since this little device just recently shipped (and sold out).

    The culture of computing for several decades has been C and Unix or Unix-like OSes. Oberon shows that an essentially one-man language, compiler and OS can produce a real, viable, practical, usable OS that an entire University department ran on for decades.

    The IT industry assumes that operating systems have to be written in C to work -- wrong -- and must by nature be big and complex -- wrong.

    I'm not saying it should be Oberon. It should not be Oberon. Oberon is obsolete.

    But it should be something simple, clean, modern, written in a single language from the bottom of the OS stack to the top -- and that language should not be C or any relative or derivative of C, because C is old, outmoded and there are better tools: easier, safer, more powerful, more capable.

    We should start over, using the lessons we have learned. We should give kids something small, fast, simple, clean, efficient. Not piles of kludge layered on top of a late-1960s hack.

    No, we should not be teaching children with "real world" tools. That is for job training. Education is not job training, and vice versa. You don't teach schoolkids woodwork with chainsaws and 100m tall trees. You don't teach chemistry in an oil refinery. You use little safe educational tools.

    Secondarily:

    [2] Oberon is not Pascal.

    You lot evolved from ape-like hominids. (Clearly not very far, in some cases.) That doesn't mean you are still apes. You're human now. (FSVO 'human'.)

    Pascal evolved into Modula-2, which evolved into Oberon, Oberon 2, Oberon-V, Oberon-07, Active Oberon, Zonnon and so on.

    Oberon the OS evolved into AOS, then into Bluebottle, then into A2.

    [3] Oberon the language and Oberon the operating system are not the same.

    No, there is no Oberon OS for the Pi. Yes, there are compilers for Oberon the language for ARM and for the Pi. Using them, someone could port the OS, sure. It has not been done, partly because, as I said, it's an effectively obsolete set of tools that has been long superseded.

    1. Adrian 4 Silver badge

      Re: Author comment -- could you lot miss the point any more widely?

      Intel's approach on the edison was to run an arduino simulation under linux, providing a rich infrastructure to support network libraries etc. for the arduino environment.

      Yes, it seems pretty clunky, and personally I'd rather have access to the native environment. But it makes the point that the application environment is unrelated to the OS. You can host whatever level of complexity you like, the programmer need not be involved. Just like Scratch on a PC.

    2. Richard Plinston Silver badge

      Re: Author comment -- could you lot miss the point any more widely?

      > Oberon shows that an essentially one-man language, compiler and OS can produce a real, viable, practical, usable OS that an entire University department ran on for decades.

      C and Unix was originally "an essentially one-man language, compiler and OS". Minix was a one-man OS. Linux was initially one-man OS, so was CP/M. MS-DOS started (QDOS) as a one-man OS (though it was a copy of CP/M).

      And what "University department" was that? Computer Science? Computers are not just for teaching about computers, they are tools for using to learn about many other things.

      > The IT industry assumes that operating systems have to be written in C to work -- wrong -- and must by nature be big and complex -- wrong.

      The IT industry has written operating systems in many different languages. Burroughs used an Algol derivative called ESPOL for MCP. ICL VME B was written in S3. CP/M was written in PL/M. The core of AmigaOS was TripOS which was written in BCPL. BCPL begat B which was the inspiration for C.

      While OSes do not _need_ to be written in C, it happens that C produces fast running code that can be ported to many architectures. Other languages may provide different advantages, but the 'IT industry' is not there to make computers for university departments studying computing (they can do that themselves), it is there to make money by selling computers to do many different things, at different price points, and in different ways.

      C achieves that.

      > We should give kids something small, fast, simple, clean, efficient. Not piles of kludge layered on top of a late-1960s hack.

      The Pi Zero is not locked into any particular OS. It already runs several: Linux, BSD, RiscOS, Win10IoT (on Pi2 only). There is no reason at all why others could not be ported to it.

      > Using them, someone could port the OS, sure. It has not been done, partly because, as I said, it's an effectively obsolete set of tools that has been long superseded.

      Fine, so what are you suggesting ? Or is it just that you hate Linux, C and Python but don't have any real alternatives ?

    3. Richard Plinston Silver badge

      Re: Author comment -- could you lot miss the point any more widely?

      > You don't teach schoolkids woodwork with chainsaws and 100m tall trees.

      You also don't teach woodwork by restricting the tools to be entirely made of wood.

    4. Pirate Dave
      Pirate

      Re: Author comment -- could you lot miss the point any more widely?

      Liam, dude, chill-pill - I think you need one.

      So you write an article for El Reg, and your article mentioning Oberon attracts a fairly lively debate among a bunch of old Pascal hackers and detractors, where otherwise, you'd probably have gotten just a few page views. And then you launch into us like we're a bunch of unruly school kids making too much noise during lunch. Dude, did we spoil your party or something? What's with the condescending tone? We're just the normal El Reg commentards talking about something we're passionate about. Chill out.

      If you'd rather, we'll skip your stories from here on out and wait for Verity Stob's next story so we have somewhere to talk about the old programming days and not ruffle any feathers. Hell, at least nobody asked if there was a COBOL compiler that ran under the Oberon OS.

      1. Saigua

        Re: Author comment -- could you lot miss the point any more widely?

        The VGA, PS/2 keyboard bit sort of plays up the historical and wearing-the-sweater-to-the-last-pill (missed the easy germanic word, sorry) sensibilities and gilds the age of the pre-U1...U3 microSDHC. Just the sort of thing for playing Assassination Classroom in public; can Team Bluebottle find vulns in Team Oberon? Only perhaps this sticks one with exposing a pad with the JTAG pin or feeding it an ASK antenna.

        Playing on Hardcore you'd have to bring tree frog/caterpillar blood antifreeze or some other rite of spring (...for 10y.o. if I'm reading this right, so caching freshwater might be in there...) into the competition.

        The FPGA is a perfectly sensible inclusion; no need for 10k seat licenses on there until you lock in Knight's Bridge wordlengths (500-bit?) at scale. It would make it uncomfortable for the wearer to have to dissipate top-line SHARC or FPGA...you'd know your sweater shorted it or you'd been found vulnerable.

        I am looking forward to the next XMOS thing.

    5. alcalde

      Re: Author comment -- could you lot miss the point any more widely?

      Wow. This is like a doctor blaming his patients because he administered the right treatment and they simply refused to get better.

      If none one got the point of the article, the fault rests with the author who failed to convey it.

      Virtually none of the argument made here is present anywhere in the article originally posted.

      >We should start over, using the lessons we have learned.

      No one's clamoring for a new operating system, so once again, you're going to need to make a case for that.

      > We should give kids something small, fast, simple, clean, efficient.

      We do... Linux on Raspberry Pi. Young kids are not going to be dissecting the operating system of any equipment they're running and they've been using computers since they could walk anyway. My nephew taught me how to launch applications on an Android phone when he was between 2 and 3.

      If kids do want to learn about the operating system they can go as far as "Linux From Scratch" and compile their entire operating system themselves from source code, and then eventually use "Beyond Linux From Scratch" to really make it their own. There are plenty of nice, tiny Linux distros such as Puppy if you want something simple and graphical for kids.

      I'm just not seeing where this sudden zeal comes from for building entirely new operating systems with entirely new languages just to teach kids how to code or how computers work.

      In the end, what this article was really about - i.e. what the text within it actually talked about - was a $140 computer that runs a fringe OS that doesn't run any software other than its own. Maybe a better subject would have been what the heck they're thinking and, Pascal fan though I am, how the rest of Wirth's career has been like a one-hit wonder trying to recapture the magic as he keeps releasing slight retreads of his original language.

      In regards to teaching kids using real-world tools - few people, kids or not, want to learn something they can't use in the real world (that includes theory). They're not going to get excited about using a language or OS that leaves them with the skills to produce nothing useful. Now if they can take what they're learned and program software for their smart phones - they're going to be much more excited.

    6. dogged

      Re: Author comment -- could you lot miss the point any more widely?

      > that language should not be C or any relative or derivative of C, because C is old, outmoded and there are better tools

      I think you and i are going to fall out over this comment.

    7. Danny 2 Silver badge

      Re: Author comment -- could you lot miss the point any more widely?

      "You lot evolved from ape-like hominids. (Clearly not very far, in some cases.) That doesn't mean you are still apes. You're human now."

      Wow. I didn't down-vote you because I know what it is like to publish an article that was misunderstood, but really, attacking your audience? That's not a healthy career progression. 'Commentards' here say all sorts of silly things, we are mostly self-correcting but the clue is in our name.

      By the way, and I'm not saying this to annoy you, we are all still apes.

    8. farnz
      FAIL

      Re: Author comment -- could you lot miss the point any more widely?

      Quote:

      What I was saying is this:

      As we now have effectively-free super-simple hardware, we now need free, super-simple software to go with it.

      End quote

      The thing is that this is a falsehood - what we have is effectively-free *complex* hardware, not simple hardware. Look at an RPi; the SoC alone has more transistors on it than were present in the entirety of a BBC Micro with the ARM Evaluation System co-processor, with several different types of processing core (ARM cores, VideoCore QPUs, VideoCore VPUs, and any tiny cores embedded in there), lots of I/O hardware, dedicated memory access hardware for texture sampling, and a whole lot more.

      Other hardware isn't much different, as modern SoCs have huge numbers of cheap transistors available, so you can build an incredibly complex machine for very little money. The only reason the OberonStation bucks this trend is that it's not built around a SoC; it's built around an expensive (relatively speaking) Spartan-3 FPGA.

  17. Anonymous Coward
    Angel

    Minix?

    Stop sniggering at the back there. I wonder if you could run Minix on a Pi? It would have to be an old version, like v1.5, which I think was the last version with an ARM port, and not the redesigned v3.

    Minix was designed expressly for the purposes of education by someone who really knew what they were doing and is small enough (~10kloc) to be comprehensible. It would also be an easy stepping stone to Linux for users of that bent.

    Just a thought...

    1. Tom 7 Silver badge

      Re: Minix?

      Minix is available for the ARM so perhaps.

    2. Alistair Silver badge
      Windows

      Re: Minix?

      Minix was and as far as I'm concerned STILL is a great learning tool. I have my copy -- transferred from the 28 floppies to a pair of USB keys. (a Pair since the floppies are long dead, and I like backups). Mom bought the book for me when I was 12. {the paper copy is still in the original blue on white binder it came in}

      Dear god I've been doing this for far too long.

  18. Dick Pountain

    https://sites.google.com/site/dickpountainspages/home/computing/byte-articles/the-oberon-system

  19. juice Bronze badge

    So many strawmen, so little time...

    "The Pi's strength is its cheapness and the simplicity of its hardware, but at heart, software-wise, it's a PC... <rant about ARM vs x86>"

    This is an odd complaint. At heart, the Pi is a mobile-phone chipset married to a low-end ARM chip, and it will run whatever OS is provided. It only takes a few seconds of looking at the official website (https://www.raspberrypi.org/downloads/) to see that there's a number of "officially approved" OS builds available for it, ranging from various flavours of Linux to Windows 10 /and/ RISC OS. And it doesn't take more than a few seconds to find ports of FreeBSD, Android and even more obscure OSs such as Haiku.

    It's also worth noting that the Pi isn't bundled with an OS by default, which means that people are actually choosing to run Linux on it - as indeed, are many other "non-PC" devices, especially in the IoT landscape. After all, it's free and there's lots of existing dev tools and support libraries.

    "There were some missed opportunities in creating the Raspberry Pi. The Foundation could have brought harmony and a de facto standard for firmware on ARM hardware"

    The Pi was never intended to be a high-volume device. Instead, it was intended to be a relatively low-volume educational device, and it wasn't clear until after it had launched how popular it would become. Setting industry standards were never part of the foundation's remit.

    Also, the Pi had only sold 5 million units as of February this year. Even if we assume that volumes have since managed to doubled to 10 million, that's a drop in the bucket compared to the "billions" of other ARM-based devices which the article itself notes have been sold in the same timeframe. So the Pi is hardly in a commanding market position!

    Finally: as the article itself comments, the Pi deliberately sidestepped the firmware issue. What it doesn't mention is that this was for several pragmatic reasons - the impact on manufacturing costs being the main one. Because, once again, it was intended to be a low-cost, low-volume educational device.

    "Failing that, the Foundation could have bundled RISC OS with it"

    It's available on the website for free, and there was a fair amount of excitement/publicity when the Pi first launched about the fact that RISC OS was available. Which suggests that, as fun as tinkering with obscure OSs can be, people actually wanted to use an OS which has lots of existing tools and libraries available...

    "Pi project founder Eben Upton fondly recalls his first machines, a BBC Micro and an Amiga 600. A kid could fathom those; I did, with my ZX Spectrum."

    Ah, the humble Speccy - the grey +2 was my introduction to the wonderful world of computing. And in truth, I think it's a lot easier to learn how to use a computer these days. The 8-bit machines did offer a BASIC prompt on startup, but there was generally little or no support structure for people other than the official manual, whatever the local library had in stock and the odd magazine type-in (which quickly died off as the commerical world moved towards the use of machine code). These days, you can use the internet to search for documentation/prior examples, or post queries to somewhere like stackoverflow.

    I'd also argue that it became significantly more difficult to learn how to code when the 16-bit era landed. You no longer had BASIC bundled with the machine and commercial C/Pascal compilers were relatively rare, underperformant and usually badly documented. So you had to either learn assembly or pick up a third-party program such as AMOS.

    Then too, if your code crashed or went into an infinite loop back in the 8/16-bit days, you generally crashed the entire computer and lost all your hard work in the process. And let's not go into the time-cost of backing up to tape or floppy disk - especially the latter, since most home coders used repurposed magazine cover disks with distinctly variable levels of quality control...

    "Twenty-first century Unix is too big, too weird, too full of arcane 1960s strangeness."

    "Conventional wisdom is that this complexity is an unavoidable consequence of modern software's age and maturity, and that it's worth it. You just ignore the stuff you don't need.".

    The ZX Spectrum was basically a 16k ROM bolted to 16/48k of ram, a 4mhz z80 CPU, and a custom ULA which did some magic to reduce component counts (and led to the infamous color-clash issues).

    To take the current "high-end" Pi, the Pi 2 features 512mb of ram, a multi-core processor, an OpenGL capable GPU, an audio chip, a DMA controller (and an MMU), a mass media controller, a serial controller and a few other things for good measure. All essentially built into the one chip. The complexity of modern software goes hand in hand with the fact that the hardware is so much more capable. And since you can't chisel bits of silicon off the CPU, you pretty much have to ignore the stuff you don't need...

    "Which brings me to the other cheap little educational computer you've never heard of: the OberonStation ... No, it won't do the 1,001 things Linux will, but it's no toy ... But what it shows is that complete, working, usable operating systems – not single-trick ponies – can be built, essentially single-handed, and can be understandable by ordinary mortals"

    Hmm. An effectively proprietary OS, no USB ports, no soundcard, no network capabilities, PS/2 keyboard/mouse ports and VGA-only output. That sounds like a toy to me!

    From a quick glance at the manual, Oberon was a vanity/sabbatical project built by two people in the eighties. I.e. it's pretty much ideosyncratic by definition and was designed back before the concept of networked computers/IoT became mainstream. Also, the manual states that the system "can be understood by a reasonably determined person", which is definitely a step beyond being understandable by an "ordinary mortal"! So I really can't see any justification for using it these days. Especially since any OS-level skills/knowledge you pick up can't be reused on other devices.

    So no, Oberon shouldn't grab the Pi's crown. If there's even a crown to grab. Which there probably isn't, since there's so many competitors out there, starting with the millions of Arduino devices out there. The fact that the Pi Zero is so low cost may well cause it to grab some more "makers" market share from Arduino and others of the same ilk, but there's still plenty of choice out there!

    1. Old Used Programmer

      Re: So many strawmen, so little time...

      To take the current "high-end" Pi, the Pi 2 features 512mb of ram...

      Actually...the Pi2B has 1GB or RAM. The Pi0, B+ and B (if you can find a recent one) have 512MB. The A+ has 256MB, but for various reasons I expect that to change in the relatively near future, along with shifting the A+ and B+ to default to 1GHz.

      1. juice Bronze badge

        Re: So many strawmen, so little time...

        Fair point - I forgot about the RAM upgrade on the Pi2b - I'm still running RaspBMC on a 512mb B+, as it Just Works :)

  20. juice Bronze badge

    Commentee comment - could the author miss the point any more widely?

    "The culture of computing for several decades has been C and Unix or Unix-like OSes"

    Off-hand, I can think of a lot of operating systems which haven't fallen into these categories. The Japanese Tron OS, BeOS, RiscOS, Amiga OS, QNX, Warp, VMS, MS-DOS, Palm OS, etc. Some may have been written in C and some may have been a bit *nixy, but not at the same time.

    They just haven't caught on in the same way as *nix systems. To me, a big part of the reason for this is that Unix came from a mainframe/multi-user/batch-processing background, and therefore had a head start when it came to modern "networked server" paradigms (e.g. LAMP), where a given machine may be running dozens if not hundreds of tasks in parallel. And, y'know, the whole "free as in speech and occasionally beer" thing for OSs such as Linux and BSD; combined with the dropping cost of hardware, this led to a huge takeup of *nix systems by amateur enthusiasts, which then fed back into the workplace.

    Other systems - including Oberon - generally came from a consumer or real-time/single user perspective, and weren't able to adapt. Windows is a notable exception, though it's telling that Microsoft accomplished this by essentially ditching their old codebase and switching over to their multi-process/multi-user New Technology system - and which itself was built by engineers from DEC, who had previously worked on VMS, a server-orientated competitor to *nix...

    "The IT industry assumes that operating systems have to be written in C to work -- wrong -- and must by nature be big and complex -- wrong."

    I don't think anyone is claiming that an OS absolutely has to be written in C [barring the odd flareup of flamewars on places like Slashdot]; it's just that the most popular operating systems have been written in it.

    As to whether or not an OS should be big and complex: that's a full-blown topic all by itself. Modern hardware is so much more complex than hardware from even just a decade ago, and we expect it to do far more: more data, more threads, more peripherals, more displays, higher throughputs, more parallel processes, virtualised hardware, etc - and we expect all this to happen flawlessly and reliably on low-cost, commodity hardware. Handling everything that can go wrong - from dropped network packets to processor stalls - is complex and needs lots of defensive code.

    It's also worth noting that there's been many efforts to go down the micro-kernel route - QNX and Gnu Hurd being two prime examples, with the latter being a prime example of how "theoretically superior" concepts don't always come out as expected in the real world.

    "But it should be something simple, clean, modern, written in a single language from the bottom of the OS stack to the top -- and that language should not be C or any relative or derivative of C, because C is old, outmoded and there are better tools: easier, safer, more powerful, more capable."

    I'd love to hear suggestions on what should replace it? It sounds like you're rejecting things like Java and C# (and hence by extension things like the Android runtime)

    Other than these, the last real attempt to do this was BeOS, and this failed. Partly due to allegedly dodgy behaviour from a certain industry giant, partly because they targetted the consumer market and partly because they couldn't get a critical mass of applications and developers.

    "We should start over, using the lessons we have learned. We should give kids something small, fast, simple, clean, efficient. Not piles of kludge layered on top of a late-1960s hack."

    Perhaps the biggest lesson to learn is that reinventing the wheel is expensive, time consuming and generally pointless. Most if not all of the technical lessons we have learned are already encapsulated in the current popular operating systems - they've survived and grown because they've evolved and rearchitected themselves along the way. Both Windows NT and Linux have moved towards "hybrid" kernel design - not quite microkernel, but not entirely monolithic. They handle a wide range of physical hardware from a vast range of manufacturers - CPUs, network/audio/network/video/etc. They handle as many real-world issues (packet drops, security attacks, parity errors, etc) as they can. There's literally thousands of man-hours which have been ploughed into making them as robust as possible.

    Dismissing all of that as "hacks" is simply foolish. I'm reminded of the article by Joel Spolsky, written back when Mozilla decided to reinvent the wheel and reimplement Netscape Navigator from scratch, and in doing so essentially conceded the browser wars to Microsoft. http://www.joelonsoftware.com/articles/fog0000000069.html

    "No, we should not be teaching children with "real world" tools. That is for job training. Education is not job training, and vice versa. You don't teach schoolkids woodwork with chainsaws and 100m tall trees"

    Oddly, to my mind, that's exactly what you're proposed. In fact, you're essentially expecting them to first assemble the chainsaw before firing it up. And therein lies the thing which this article seems to have misunderstood; it's about fifteen years out of date. The computer as a singular device has long since stopped being the primary thing people need to learn about; these days, it's all about what you can plug into it (or what you can plug it into), whether that's a camera, a network, a mechanical device, a sensor or a coffee machine. To do this, you need a development environment and tools (e.g. an IDE and support libraries), and that's precisely what things like the Pi - and the linux ecosystem - offer.

    So no, we shouldn't be pointing schoolkids at a tree and passing them the parts to a chainsaw. We should be giving them some planks of wood, a saw, some nails and a hammer and telling them to build a birdhouse based upon an existing template. Said template may have been sketched out in the sixties and look a bit crap, but it's tried and tested and the children are free to innovate and reinterpret it - maybe they can use a 3D printer to give it a tiled-roof look, or a CNC milling device to etch the face of their mum on the side...

  21. Scott Wheeler

    Why Oberon is not my favourite language

    Three reasons why children would hate an Oberon programming environment.

    * Oberon is case sensitive

    * The key words are upper case

    * You're going to have to type PROCEDURE an awful lot.

    So you need a PS/2 keyboard with a comfortably upholstered Caps Lock.

    1. Anonymous Coward
      Anonymous Coward

      Re: Why Oberon is not my favourite language -The key words are upper case

      I don't know why, but languages with upper case key words really annoy my OCD. Case insensitive keywords yes, fine. After all, case as a construct was never intended to affect meaning; it arose to suit different modes of writing (e.g. upper case on stone tablets, lower case with quill pens.)

      All rendered unnecessary by context highlighting editors, any way.

  22. Dinsdale247

    I get it.

    Lolz. I got your point. I've been a programmer for damn near 25 years and I've been fighting through learning FreeBSD for 3 years. I love learning that ZFS is a non-overwritting FS with checkpointing, but that's not what kids want. I think something like the Cosmos OS is a great idea for teaching:

    https://cosmos.codeplex.com/

    Written in C# (high level) using Visual Studio (easy to visualize and free), and should run on just about anything (like the RPi0). *looks* like C but easier...

    There is also .Net Micro that has specific boards manufactured for it with super cheap "shields" that plug in for added functionality.

    http://www.netmf.com/

    https://www.ghielectronics.com/catalog/category/34

    http://www.netduino.com/projects/

    http://www.mikroe.com/quail/

    http://www.mikroe.com/quail/

    Tons of cools stuff out there for these platforms.

    Also, there is a couple of different RTOSes out there like RowBots and FreeRTOS that are super small and simple (compared to GNU/Linux).

    Okay, let the anti Microsoft rants begin...

  23. wsm

    Pine A64+

    That is all.

  24. unimaginative

    Are you seriously claiming that a kid's could understand AmigaOS in its entirety. Very, very few, I would bet - and those clever enough to do that would be able to understand an awful lot of a minimal Linux

    Oberon is just as retro as RISC OS.

  25. Andy Davies

    os+language+database

    If OS+language is cool them MUMPS must be cooler - just saying

  26. Danny 2 Silver badge

    "Just saying"?!!! MUMPS is epidemic parotitis spread by a paramyxovirus.

    I regularly slag our government, our judiciary and corporations here and nobody bats an eyelid. But if anyone dares express a preference for a programming language or an operating system then all hell is let loose. More important issues than matters of life and death.

  27. TFL

    How about a lisp machine?

    I'd love to have turtles all the way down, with all that introspection magic that you have in Common Lisp these days. The RPi and friends won't have hardware help for lisp code, but may be fast enough to get a feel for the idea without buying an expensive, mini-fridge beast on Ebay.

    I suppose Squeak is the closest to the idea now for running everything in one image, but implementations such as Clozure Common Lisp do work fine on the Pi.

  28. simonb_london

    Linux = difficult again

    It's only as difficult as you want to get involved with it.

    You boot up a Pi and you get a desktop with a start menu and applications that run with a mouse click. Too difficult? There's absolutely no need to dive in any deeper than necessary because it works fine without being understood.

    When I learned computer science at school we hand coded basic programs that ran on a mainframe at the local uni. Don't ask me then how the mainframe OS handled mutlitasking and batch jobs and how many programming languages are involved in making the whole thing work because I didn't need to know. Same now.

    Linux on the Pi is simple, versatile and functional enough for purpose. There's no point loading an OS on it that a student is unlikely to ever encounter again.

  29. Hideki

    $180? I think not...

    Erm...

    How is a $180 computer that does less than the Pi a competitor to the Pi?

    Also, if you think kids can't use Linux, you are very wrong.They can not only use it but administer it and are doing so in increasing numbers from a very young age.

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

Biting the hand that feeds IT © 1998–2019