4 ms·
MPL – Motorola's M6800 Programming Language
- fit2rule 12y agoThe idea of conforming a language specification directly to the constraints of a platform is highly idealistic, of course, but nevertheless one which has a lot of contemporaneous applicability. Yet, the vogue appears to be more inclined towards abstraction. Here, we see the abstract in its most naked form: the owner of the hardware is the same as the owner of the software. They are the first user. So this is quite a poignant item for the HN crowd. Do we need more, or less, of this sort of thing? Methinks, more.. but it may be knee-jerk borne from a few decades of jade.
- ajross 12y agoI'd say not idealistic at all, it's an entirely practical thing. Early LISPs were coded directly to the instruction set and register widths of the 36 bit IBMs they were written on. BCPL and B were likewise untyped languages with the "word and pointer are the same thing" assumption baked in. Fortran and the IEEE floating point standard evolved in lockstep, etc...
- Aloha 12y agoplatforms are transitory - portability is still the oracle worth worshiping at. Look at the folks who ported Version 7 Unix to x86 - 35-40 year old code, running on a new platform.
- mhd 12y agoI've only got a very small value of "few" to jump into this argument, but let me provide a (slightly hyperbolic) counterpoint: electrical engineers often are crap programmers. Don't get me wrong, some of the best programmers I've worked with graduated with an EE degree, but they were working as programmers. If you're not, than matters concerning programming require a context switch that often isn't fully made, resulting in a slightly messed up mindset that usually doesn't produce the most optimal results. This is similar to programmers doing UI/UX, which most of the time doesn't even result in a good UI for programmers, let alone mortal users. Not saying that this was the case here, though. When you've got some serious hardware constraints, it's easy enough to lowball your ambitions, even though theoretically something more generic could be made. Not every team has a Niklaus Wirth in it.
- jamii 12y agoThis is wonderful work. I wonder how long it will take for software archeology to become a real field? So much is forgotten already.
- jeffreyrogers 12y agoI often wonder about how much programmers of my generation are missing out on because of our relative lack of understanding of the full stack of software and hardware. Many of my peers have never written C code outside of school and largely expect to only work in high level scripting languages like Python or Ruby.
- rubiquity 12y ago> high level scripting languages like I'm sorry, I thought that term died a long time ago. What exactly is a scripting language to you and how is it different than whatever you may call a "normal" programming language?
- cogburnd02 12y agoBasically perl, Python, sh/bash, and so on. Not C or C++. (Well, there's '#!/usr/local/bin/tcc -run' [1] which can do C but, you know, that's the exception to the rule.) Moar here: [2] [1] http://bellard.org/tcc/tcc-doc.html http://bellard.org/tcc/tcc-doc.html [2] http://en.wikipedia.org/wiki/Scripting_language http://en.wikipedia.org/wiki/Scripting_language
- rubiquity 12y agoThat's insane. Perl and Python are both general purpose programming languages. This reminds me of the days Java developers used to call Ruby developers "script kiddies." So if C and C++ are the only true programming languages, we're all just script kiddies? :/
- cogburnd02 12y ago
- tacos 12y ago> ! is special also, use !! to get ! The exclamation point forces direct addressing in the 6800 assembler. I can't believe I remember that.
- RodgerTheGreat 12y agoIf you're interested in languages like this, often called "High-Level Assemblers", you might be interested in L.in.oleum[0], a portable assembler designed to aid the creation of a sequel to the game Noctis IV, or Octo[1], a purpose-built HLA I designed targeting the Chip8 virtual game console. [0]http://en.wikipedia.org/wiki/Linoleum_(programming_language) http://en.wikipedia.org/wiki/Linoleum_(programming_language) [1]https://github.com/JohnEarnest/Octo https://github.com/JohnEarnest/Octo
- kjs3 12y agoPlaying with some hd6303 from the parts bin makes this very timely.
- diydsp 12y agoAwesome work, Joe!