Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

programming language comparison (Miscellaneous)

posted by Rugxulo Homepage, Usono, 01.03.2020, 11:55

> I actually tried GPC before FPC in 1997ish. Release were already old,
> couldn't get it to work reliably, non clear pointers on development
> versions, so I ended up with FPC.

In 1997, I was using DJGPP for the first time (GCC 2.7.2.1) on a 486 (recompiling Allegro took 30 minutes). I was too young and dumb, and my pre-standard (1995, DOS, Turbo C++ Lite) book's code didn't run with it, so I gave up for a while and stuck to writing assembly. (I should've learned TP or Oberon. I greatly missed modules, sets, and not having to reinvent the wheel for obvious stuff. Sometimes writing raw assembly is pointless tedium.)

I had GPC installed in 2005 but never used it properly. It was only by 2010 where I tried using it to learn ISO Pascal (and derivatives). In 2013, I wrote a GNUmakefile for P5 and rebuilt it for Win32, Linux, and DOS (with GPC) and ran the test suite. I wrote a simple Befunge-93 interpreter, with some fixes for P5, that also compiled under TP compatibles. Trivial but interesting (to me). Of all the rewrites of that interpreter, I willingly spent the most time on Pascal and Oberon.

> > Don't forget that Oberon (usually, but not always) has GC,
>
> Yes. Don't forget how far Oberon got. Exactly.

Overall, I greatly admire Oberon, but it's not as portable nor robust as Free Pascal. But both are very good. Oberon accomplished a lot, actually, as did Modula-2. But Pascal was more popular.

Hey, even your beloved ACK had ISO Pascal and PIM Modula-2 support, among others (ANSI C, primitive BASIC, etc). Though Minix 3 long ago switched to Clang (and NetBSD userland).

> > > In my case D being GCed would earn a -50. Useless.
> >
> > Lua also has GC, but it's written in C.
>
> Yeah, so no Lua for me. Point?

C is considered a baseline of useful, and a GC-enabled language written in portable C is probably not considered broken. But I guess your needs are different.

> > Modula-3's [sic] biggest portability problem was its GC, by far.
> > (You know, FreeBSD's cvsup was written in it, I think.)
>
> And no, it was not the GC I think (since CVSUP is mostly a batch problem, a
> simple solution was simply be to never release memory, and try to handle
> some of the larger blocks manually.
>
> The problem was simply the same that we have discussed here on this forum
> many times. The issue of no maintainership for extended periods of time (I
> think back then it was 2006 or 2007, and maintainerless since the mid to
> late nineties except for emergency fixes by ports@)

DEC was bought by Compaq in 1997, which was bought by HP in 2002. The code was "POSIX or Windows", 32-bit or greater only, and not exactly simple. Although there were two or three ports to DOS, even, it was never properly maintained nor upstreamed to GCC (copyright reasons). CM3 had a release in 2010 based upon GCC 4.3.x but never got beyond that. IIRC, threading was built into the language itself, using a background thread for GC. But such a language (objects, generics, exceptions, threads, garbage collection) was less useful in later years, when most other competing languages had most of those features. It was simpler than Ada or C++, but that's not saying much.

> For me, I'm in realtime image analysis, and many GCs feature a global lock
> that simply paralyses the application. So at the very least that would mean
> separating the codebase into two parts, e.g. a C++ part that does the main
> analysis and the more loosely coupled GUI part on top of it in "any"
> language.

Keep in mind that there are some rare Oberon implementations that lack garbage collection, and you're encouraged to omit it and just use DISPOSE, if it meets your needs. But clearly you have other requirements even beyond that.

> Oberon has been an interesting experiment (and doubly so because
> it was actually implemented), but nearly unusable for anything real.

Self-hosted OS and compiler are real enough. Considered "too minimal" for you, and you seem to hate GC, but overall it's good for what it does. The typical excuse (as has been implemented many times) seems to be "Extend it, if it doesn't presently fit your needs." I'm talking beyond the original, -2, and -07, but also about Component Pascal [sic], Active Oberon, and Zonnon.

> > Long story short, I'm still sympathetic to ISO Modula-2 and Oberon-07 and
> > whatever else (FPC/TP, of course). But it's like a weird halfway between
> > two sides, even though neither will win.
>
> Well, ISO M2 is mostly after my time (in my time it was more PIM3 vs PIM4),

IIRC, PIM3 was '85 and (unpopular) PIM4 was '89, right around the time of Oberon ('88 or '90), not counting others (-2 was '93 and -07 was up through '13 or such). ISO M2 was '96, quite late and mostly unpopular (standard library was very kludgy). ISO M2 also had like 700 pages of VDM-SL or whatever!

> but it didn't seem as bad as you make it out to be. Oberon is IMHO in a
> totally different direction, and I don't see the synergy to be honest.

GM2 hit 1.0 back in 2010! It still hasn't been integrated into GCC (why?) although seemingly close. It's quite good. That will be a good day. There's still some Modula-2 fans in the wild, as you well know.

Oberon is too splintered, hobbyist, but it's still quite good and (relatively) popular. They just prefer to do things their own way. Being non-standard doesn't bother them much.

Check out XDS's sources (Apache 2.0). IIRC, it runs atop Win32 or Linux.

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 266 users online (0 registered, 266 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum