On Sun, Mar 11, 2018 at 8:46 PM, Patrick <patr...@spellingbeewinnars.org> wrote:
> I like Pascal. I had a look at it again about a month ago. After Ada, pascal
> is pretty easy and since I want to move away from tasking/threading anyhow,
> Pascal is pretty much Ada without it.
I haven't intimately studied the various Ada dialects (2005,
containers? 2012, contracts?), nor even Delphi 7 (most popular
version, allegedly). Honestly, I spent more time studying Modula-2 and
Oberon. But FPC is insanely good, especially with the (relatively new)
i8086-msdos target. There's still quite a bit of legacy DOS code
written in TP dialect.
FPC is probably one of the best compilers out there. Obviously GCC is
good too (although GPC is basically dead, but [ISO 10206] Extended
Pascal was also highly interesting). Heck, GM2 (ISO 10514) is still
getting work done (although I don't know why it's still not merged
into trunk yet). I did also spend time learning ISO 7185 classic
Pascal (via P5), but even FPC "mostly" has (classic only) "ISO" 
Yes, my point was that modern Pascal has a lot in common with Ada. At
least, to my naive eyes, the main biggies were things like
packages/modules, generics, exceptions, tasking. I've actually heard
Modula-2 called "Ada lite", but it's not quite the same. (Modula-3 is
probably more appropriate, but that's rare.) Well, ISO Modula-2 (GM2)
supports exceptions compatible to C++. Not exactly sure if GM2
currently supports the optional standard extensions (generics, OOP),
but I assume so. GM2 seems to focus more on *nix (e.g. Debian on x64
and AVR) anyways, so I'm not aware of any DJGPP-based builds (and
haven't tried!). But other, older M2 compilers for DOS exist.
Oh, just for completeness:
And as for popularity contests, FPC won April 2014 and May 2017
SourceForge.net "Project of the Month". (Lazarus won in August 2017.)
> However, I truly love COBOL and I love GnuCOBOL. It compiles to intermediate
> C and the runtime is small enough to understand even if you only program
> part time. I have altered it to suit by purposes. One patch I have now
> implements idle callbacks so the built-in ncurses does not block. I also
> love the build in types that make it a joy to interface with C.
Interesting, but I don't know anything about COBOL.
We do have a port of Ncurses for DJGPP, but most projects preferred
> I won't be consuming a lot of memory, at this point it's tough to say but a
> guess would be 10MB.
That probably rules out hardware EMS (for 8086 compatibles). I'm not
aware of many people having such. Trixter (of 8086 Corruption) had 2
MB, last I heard.
Although I guess TP7's DPMI 0.9 (286+) could support 16 MB (or much
more on 386+ machines, 128 MB??).
> If you need any help with Ada I have tons of books, I could potentially mail
> you one and the Ada Google group is quite helpful.
Apparently, the newsgroup is very popular, and Ada is still widely
used in mission critical stuff. It sounds cool, but I always feel
overwhelmed by the "standardese" of those discussing it. Outside of a
few projects by Gautier, I don't know of any other DOS programs using
Ada. (But I know of even less using Fortran and none ever using ObjC.)
There's some free books and tutorials online, but I haven't read much
of them. I remember one whined about C variable initialization (which
classic Pascal lacks but Extended supports via "a: integer value 1")
that Ada improves upon. Something like "a,b,c: integer = 1" vs. the
kludgy C way of "int a=1,b=1,c=1".
Honestly, languages like Oberon took the path of simplicity, not
supporting every single feature like Delphi or C++ or Ada. Then again,
there are many Oberon variants (-2, -07, Active Oberon, Zonnon,
Component Pascal). Some of those support threading and exceptions, but
I never went far with them.
I take it that standardization can be good (C#), but it's also too
much work (Java). Plus, ISO sells horribly overpriced PDFs. I think a
lot of people don't care, even Wirth. But there's something to be said
for a stable test suite (ACATS) vs. a lot of buggy implementations
(Oberon) and lacking common interfaces (even simple stuff like
files!). Still, Oberon has a lot going for it.
> The problem is why. It's an awesome language but tasking is hard to debug,
> if it's not needed and CPUs are so fast that probably most of the time there
> are easier ways to get the job done than resorting to threading/tasking.
Well, Intel and AMD are finally giving us more than two cores on
low-end machines. Honestly, it's hard to be enthused when common
hardware barely has any. Yes, cross-compiling can be faster, but
native isn't too bad. (Run compiler and data atop RAM disk with
software cache.) The only truly painful option is under emulators
without hardware VT-X.
> Thanks again for all your awesome emails :)
Well, some easy tips are more obvious than others. I'm probably
rambling again, but I wanted to give you some idea of what's out
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Freedos-user mailing list