![]() ![]() I could "see" more intuitively what the programmer had in mind and where he/she was going with it.Īnd those languages were.Ada, Delphi, Lua and Pascal. That is to say that although I have a way to go to finally get my head wrapped around code logic, the way these certain languages presented said logic and the syntax used just made things "click" in my head. It became clear to me after about 15 minutes of looking at various code examples that to my eyes and my mind that there were certain languages that just naturally "looked" better and read better. ![]() I decided in my elderly years to try again and went over to to look at code examples of various languages. But I always wanted to give it another go. ![]() After my first experience with programming in 1982 being punch-card coding Fortran and taking my stacks to the university Vax mainframe for running and output and then giving BASIC a go on my Commodore 64 I pretty much gave up on it. It would be much easier to me to find Zürich on a map than Berkeley: I've been to Zürich several times, and rather like the place. I do not have the foggiest where Berkeley is in relation to San Diego or San Francisco or Los Angeles or Su Madre. They're all just acronyms to me: UCSD, BSD, UCLA. I fear it was some kind of finger-based autocomplete based on somewhere on another continent, many thousands of kilometres away, that I've never seen, never been to, and could not point to on a map. (To me, it is BAR-kley, but as I understand it, to Americans, it is BER-kley.) It is sometimes hard to keep them all straight, whereas it is obvious to me how to pronounce Worcester and Gloucester and Leicester, and if you are Californian, I suspect you might get those wrong. To me, these are all just abbreviations, or mispronounced names, or worse still, abbreviations of mispronounced names. I have never been to California in my now over half a century life, nor any part of the West Coast of North America. I'm an old man now, forgive my slips of memory. That said, I think CINTCODE is roughly contemporary with UCSD p System. Richards continued to develop this stuff further in academia so there's probably a divergence between the two over time. The BBC Micro BCPL was created at Richards Computer Product, run by John Richards, lovely fellow. CINTCODE implementations did permit escapes to native compiled code for those time-critical bits. So in the Acorn implementation of BCPL for BBC Micro, the code generator takes OCODE as input and CINTCODE as output, and the CINTCODE was interpreted by code in the *BCPL language ROM. CINTCODE was designed for microprocessors where address space was at a premium (C=Compact). The next iteration was something like CINTCODE which was designed for interpretation. ![]() INTCODE was a bootstrap aid, not an execution environment. I think the idea there was to be "just good enough" to bring up a compiler on the target machine for which you could write a native code generator. You could cross-compile BCPL to OCODE and code generator would output INTCODE, and then write a simple but slow INTCODE interpreter on the target machine. Richards did produce INTCODE, that was a simple virtual machine designed for interpretation, to help with bootstrapping. So it was not originally conceived as a run-time environment. The OCode was fed to the code generator stage which could vary wildly between implementations. the Acorn BCPL compiler was structured as a set of overlays or whatever because of the extreme RAM limit on a BBC model B. The front ends outputted Ocode, and up to that point pretty much all BCPL compiler were the same. Ocode successfully separated the front ends of the compiler (lexical, syntax analysis, and all that) from the code generator. Is BCPL's O-code similar enough to count?Ĭlose but no cigar. I look at screenshots of code I wrote and I can't remember what half the operators do, or why in the world they'd do that. Never used Oberon.ġMany years later I got an interactive APL environment and learned the language well enough to write some small programs that actually did something useful. But never as profoundly as when moving from a primarily-BASIC mindset to Pascal.ĭuring my CS degree one of my projects was working on a Modula-2 compiler, so I got to play with that language a bit as well. Not many years later I had something of a similar reaction when I learned LISP properly, and again with OCaml. Oh, yes, of course that's how a programming language ought to work. I'd looked at samples of code in a number of other languages, including LISP, FORTRAN, PL/I, and even an inscrutable APL example. When I started with Pascal - using Turbo Pascal 3.0 and Borland's great Turbo Tutor book - I'd already written programs in BASIC, COBOL, and assembly for a handful of ISAs. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |