Hi, 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"  support nowadays. 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: * https://www.freepascal.org/advantage.var * https://jonlennartaasenden.wordpress.com/2014/11/28/delphi-outdated-says-who/ 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 PDcurses instead. > 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 there. ------------------------------------------------------------------------------ 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 Freedosfirstname.lastname@example.org https://lists.sourceforge.net/lists/listinfo/freedos-user