programming language comparison (Miscellaneous)
> > > 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.
As said I never really saw a practical use case for it. I considered it without any compromises to make it usable, and the basic dialect too limited and tied to its own little OS world.
Keep in mind though that I looked into M3 and Oberon in the M2 period, so 94-98 and on and off till 2000, and compared it mostly to _production_ Modula2 compilers, mostly Topspeed. There was some unfairness in that, and I realize that.
The whole D thing is much newer and judged on contemporary reasons.
> 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).
MY beloved ACK? I don't think I have seen it running this century 
> > > > 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,
Not by me. It's core feature is compiler availability, and that is not a language feature, but a popularity contest. C is maybe a good example of a language that became production to early, cutting out time to mature and at least ban the worst things.
> and a GC-enabled language written in
> portable C is probably not considered broken. But I guess your needs are
> different.
I don't really see that logic. At all. What does C implementation language to do with the usability of the result? Probably the C malloc also ties into the GC thus is halted by the global lock as well. Maybe the threads are even suspended to enable stack inspection.
(CVSUP/M3)
> 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.
Yes.Goes for Oberon too.
> 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.
It is usually not that extreme. It is just that you don't select something that you have to battle more than you benefit from it. And using a rare usecase of an already rare development system is not really a preferable solution either.
> > 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.
What is that ? Being a minimal grammar demo ? My problem is that I never really saw fundamental benefits. Sure, you can program in it, as in most Turing complete languages, but there are thousands of those.
> > 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!
Standards were back then under wraps. So was the (British Standards?) validation suite. Anyway, I was less into building development tools back then. Both comprehension AND interests.
> 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.
I know it exists, but never dug deep into it, other than some reading on the website. And I have an allergy of GCC mods after GPC.
Complete thread:
- modern 64-bit cpus - Rugxulo, 21.02.2020, 11:40 (Miscellaneous)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- modern 64-bit cpus - marcov, 22.02.2020, 19:31
- modern 64-bit cpus - Rugxulo, 23.02.2020, 02:10
- modern 64-bit cpus - marcov, 23.02.2020, 17:24
- modern 64-bit cpus - Rugxulo, 24.02.2020, 00:11
- modern 64-bit cpus - marcov, 24.02.2020, 21:59
- modern 64-bit cpus - Rugxulo, 26.02.2020, 03:54
- modern 64-bit cpus - marcov, 26.02.2020, 18:11
- modern 64-bit cpus - Rugxulo, 27.02.2020, 12:13
- modern 64-bit cpus - marcov, 27.02.2020, 21:44
- programming language comparison - Rugxulo, 01.03.2020, 11:55
- programming language comparison - marcov, 03.03.2020, 11:46
- programming language comparison - Rugxulo, 03.03.2020, 23:02
- programming language comparison - marcov, 04.03.2020, 11:02
- Minix - Rugxulo, 05.03.2020, 00:12
- programming language comparison - marcov, 04.03.2020, 11:02
- programming language comparison - Rugxulo, 03.03.2020, 23:02
- programming language comparison - marcov, 03.03.2020, 11:46
- programming language comparison - Rugxulo, 01.03.2020, 11:55
- modern 64-bit cpus - marcov, 27.02.2020, 21:44
- nested procedures - Rugxulo, 03.03.2020, 06:05
- nested procedures - marcov, 03.03.2020, 10:16
- nested procedures - Rugxulo, 03.03.2020, 22:19
- nested procedures - marcov, 08.03.2020, 23:08
- ultra-modern x86_64 cpus - Rugxulo, 31.03.2020, 20:29
- ultra-modern x86_64 cpus - marcov, 17.04.2020, 12:02
- ultra-modern x86_64 cpus - Rugxulo, 31.03.2020, 20:29
- nested procedures - marcov, 08.03.2020, 23:08
- nested procedures - Rugxulo, 03.03.2020, 22:19
- nested procedures - marcov, 03.03.2020, 10:16
- modern 64-bit cpus - Rugxulo, 27.02.2020, 12:13
- modern 64-bit cpus - RayeR, 27.02.2020, 05:41
- modern 64-bit cpus - marcov, 26.02.2020, 18:11
- modern 64-bit cpus - Rugxulo, 26.02.2020, 03:54
- modern 64-bit cpus - marcov, 24.02.2020, 21:59
- modern 64-bit cpus - Rugxulo, 24.02.2020, 00:11
- modern 64-bit cpus - marcov, 23.02.2020, 17:24
- modern 64-bit cpus - Rugxulo, 23.02.2020, 02:10
- modern 64-bit cpus - marcov, 22.02.2020, 19:31
Mix view