|
From: Rugxulo <ru...@gm...> - 2018-03-12 06:38:12
|
Hi, On Sun, Mar 11, 2018 at 8:46 PM, Patrick <pa...@sp...> 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" [7185] 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. |