Better late than never: The (German) documentation for Megamax Modula-2 (for Atari ST systems) is now available in PDF format, too.
Better late than never: The (German) documentation for Megamax Modula-2 (for Atari ST systems) is now available in PDF format, too.
I was listening to an old #oxide podcast about #Rust and our individual perception of beauty related to computer languages.
Well, my personal beautiful languages are #modula2 and #objective_c. #Swift was about to classify as such, but took a wrong turn and followed the rocky path of C++
Well, I may have started #aoc2024 a day late, but I wrote a second implementation of a program to calculate the first part of day one in the CP/M version of Turbo #Modula2, which ran fine on #MSX: https://git.sr.ht/~aperezdc/aoc2024/tree/main/item/day01/day01.mod — it
does take its time to run, but it does run!
Amusingly, Turbo Modula-2 gives me the vibe that it got a few things right that made it afterwards into Turbo Pascal. And it's pretty speedy for a compiler that generates native code on a 4 MHz-ish Z80.
My main complain so far is that there is no batch compilation mode, so every time I want to rebuild there's a few keystrokes one has to enter by hand. Granted, it may be automated using NTVCM's key file input flag, but then it's harder to see error messages.
And about error messages: we are spoiled by modern compilers. Turbo Modula-2 has reasonable error messages for the time, but they are abysmal compared to anything coming out of a compiler from the last twenty years. At least using the built-in editor will open the file at the approximate location of parsing errors. Amazingly, compilation may resume from the changed location onwards, incrementally, which I find mind-boggling for something that runs on 64 KiB of memory.
Thanks to Marc Poulhiès, @thesamesam and @mjw there is now a GCC full languages (C, C++, Ada, D, Fortran, Go, Modula2, Objective-C, Objective-C++, Rust and LTO plus libjit) with --enable-checking=yes,extra,rtl CI builder for https://builder.sourceware.org
https://builder.sourceware.org/buildbot/#/builders/gcc-fullest-debian-amd64
It does a bootstrap and runs all testsuites in about 2 hours, every 3 hours. All test results end up in bunsen.
#GCC, #C, #C++, #Ada, #D #Fortran, #Go, #Modula2, #ObjectiveC, #ObjectiveC++, #Rust, #LTO, #libjit
Ich bin beim Aufräumen und habe heute die Handbücher von Megamax #Modula2 und #Signum für den #Atari #ST entsorgt.
Mit Signum hatte ich meine #Diplomarbeit geschrieben.
Irgendwie schade, aber das liegt ja nun wirklich schon 35 Jahre ungenutzt bei mir rum und ist schon dreimal mit umgezogen.
Turbo Pascal, Modula-2 or Aztec C for CP/M. Which is better?
https://z80.timholyoake.uk/advent-of-code-2023-modula-2-and-aztec-c/
Still playing with Modula-2. I now have a copy of Wirth's 3rd edition to help me.
The Pos implementation in the FTL 1.30 CP/M compiler is horribly slow if the substring being checked is longer than the string it's being checked against.
My solution for day1, part 2 of 2023's #AdventOfCode illustrates this nicely. There's a 30% speedup in execution time if you check for this condition before calling Pos, even though it needs additional calls to Length.
Fascinating!
Carrying on with my Modula-2 experiments. Managed to get Advent of Code 2023 Day 1, part 1 working before it was time for dinner. I'm not really grabbed by Modula-2 so far - it seems to have all of the things in it that I used to loathe about Ada, but without many of the positives. Oh well - I will carry on for a few more sessions and then perhaps start playing with Fortran90 - unless there's an epiphany forthcoming!
Finally got a prime number generator working on FTL Modula-2 for CP/M today!
https://github.com/psychotimmy/RC2014
There seems to be some oddities in the compiler - especially when trying to combine a number of FLOAT/TRUNC and boolean comparisons into a single statement - not quite sure why at the moment. Makes the code uglier (and slower) than it needs to be.
Starting to get the macros defined for the common keystrokes in the editor, too. I never was a fan of EMACS though ...
Have abandoned Turbo Modula2 as I've hit the ANSI terminals bug - makes it unusable!
"My screen displayed the editor status line on line 1 AND ON line 19 or so. When I tried to move around the text, all cursor activity takes place under line 19, and so the editor, as it stands now, is just about worthless. No page displays, no scrolling, etc. That editor
functionality, just TP's, is the heart of the product."
http://computer-programming-forum.com/27-modula2/f4cd901f813da780.htm
Trying the HiSoft product now ...
Martin Odersky's article about Niklaus Wirth in memoriam. I didn't know they had worked together.
Installed and working, with a "hello world" program compiled.
It's a shame Borland abandoned Turbo Modula-2 before it ever really got going ... seeing Version 1.00 at startup never fills you with a lot of confidence!
However, it's more successful than the current GNU Modula-2 compiler on a Raspberry Pi - which doesn't appear to work at all, sadly.
Falling down the modula-2 rabbit hole this afternoon. No goto statement? Seems brave! (But the generic do loop and exit have much the same function I suppose). Waiting for the Borland/Echelon CP/M package to transfer over onto my RC2014 and then there'll be no stopping me!
RIP Niklaus Wirth. Pascal was my first language at University. Modula-2 the language I had to help students with when I was a TA.
And, as PhD my first project was to formalize the static semantics of Pascal, for which I studied the “Pascal User Manual” day after day. It formed the foundation of my PhD thesis.
Aus gegebenen Anlass ein kleiner Auszug aus meiner Veröffentlichungsliste:
- Modulator 73: Dotzel/Goebel: 64 Bit Oberon for OpenVMS Alpha http://www.modulaware.com/mdlt73.htm
- Modulator 68. Dotzel/Goebel: 64 bit addressing in Alpha Oberon-2
http://www.modulaware.com/mdlt68.htm
weitere Veröffentlichungen zu #Oberon2 und #Modula2: http://www.modulaware.com/mdltr_.htm
@snafu Modula-2 was the language used at Universität Leipzig when I started taking the informatics course there in 1994. I liked it although the compiler we were supposed to use (Mocka for Linux on x86) was a barebones CLI tool that produced non-optimized binaries (and was never ported to the AMD64 platform).
Soon I got my hands on a copy of Topspeed Modula-2 from the makers of Turbo Pascal after they left #Borland. I think this great software is one of the reasons I stuck with MS-DOS longer than I should have, delaying my switch to GNU/Linux at home.
At Zentralantiquariat Leipzig, I bought a copy of #Wirth's Modula-2 book. I still have it. The cover is silver! https://archive.org/details/programminginmod00wirt/
Later, I chose #Delphi to develop a DB driven Windows app in my first student job.
These days, Modula-2 is part of the GNU Compiler Collection. I just typed `apt install gm2` to try it. Not only can it produce optimized binaries – you can also use it to make #Python modules! https://gcc.gnu.org/onlinedocs/gm2/
@EzellaGarnie Meine allererste Programmiersprache war #CBASIC, aber #Pascal kam kurz danach. Später habe ich an der Uni viel #Modula2 und auch ein bisschen #Oberon programmiert.
Der Turing-Award-Träger Niklaus Wirth ist gestorben und mit ihm einer der wichtigen Köpfe der Informatik #RIP. #Pascal und #Modula2 waren die ersten Programmiersprachen, die ich gelernt habe. Ich wage zu behaupten, die Welt der Softwareentwicklung sähe ohne ihn heute anders aus.
https://glm.io/180806