Free Pascal Compiler 3.0.0 Is Out; Adds Support For 16-Bit MS-DOS, 64-Bit iOS (freepascal.org)
Halo1 writes: Twenty-three years ago, development started on the first version of the Turbo Pascal and later also Delphi-compatible Free Pascal Compiler, for OS/2 no less. Two decades and change later, the new Free Pascal Compiler 3.0.0 release still supports OS/2, along with a host of older and newer platforms ranging from MS-DOS on an 8086 to the latest Linux and iOS running on AArch64. On the language front, the new features include support for type helpers, codepage-aware strings and a utility to automatically generate JNI bridges for Pascal code. In the mean time, development on the next versions continues, with support for generic functions, an optional LLVM code generator backend and full support for ISO and Extended Pascal progressing well.
I thought I added the link to my original summary, but it seems to have gotten lost when I submitted it. In any case, Sourceforge's Project of the Month April 2014 interview with the founder of the Free Pascal Compiler, Florian Klaempfl, contains a good overview of the project's history, goals and development methodology.
Donate free food here
I remember having to save my allowance to buy Borland Turbo Pascal for around $60. It came in a yellow box. A couple of other things I remember:
1) I am getting old
2) Those days sucked
Thanks to GNU and gcc we will never have to put up with that crap again.
I wrote a DOS game in 1996 in Turbo Pascal which used $B800:0000 textmode space to display the action. Thanks to Free Pascal I successfully ported it to Windows... of course minus the literal memory addressing and such.
Free Pascal is amazing at how it "just works" with legacy Turbo Pascal syntax where Delphi would present more trouble. Lazarus, the Free Pascal IDE, is also very resemblant of Turbo Pascal IDE, with some modern touches.
Pascal is an underrated language. It may have been designed for education, but it has many advanced features, the executables are nearly as fast as C++ ones, it compiles fast, and the runtime diagnostics are detailed and specific. It "just works".
I've used Turbo Pascal and Delphi for years, later followed by FPC and Lazarus. It was an enjoyable time. While I was no stranger to C++ even in those times, I simply preferred Object Pascal (so sue me). We even used it on Windows Mobile up to 6.x.
Unfortunately, when the time came (years ago now) to focus on Android, FPC's RTL had fairly serious issues, that I personally did not have to expertise to fix, and it wasn't a priority for anybody else who did.
While I have no plans to return to FPC, I'm still a fan, and I love to see it progress.
Does anyone use Pascal any more?
Yes.
I thought that I was the only person who used MS-DOS. I used to play with Free Pascal for MS-DOS but I stopped because I haven't had much free time. I run Free Pascal on my old Windows XP computer.
It's nice for historical reasons and legacy code.
However, I think any competitive modern general purpose programming language needs a good garbage collector (with optional manual storage management) and an excellent FFI. Unfortunately, Free Pascal doesn't seem to offer either.
I could show this article to my wife and truthfully say "we would not have met and had offspring if it weren't for this computer programming language you've never heard of". My first real job that eventually led to a career and a move to this city was because I had done work in school on a parser for Pascal, ended up programming on an HP1000 mini (RTE-XL), meeting her, getting married etc etc. Then I think, 'heh, never mind'. Very nostalic; glad to see it's out there. Thanks, Pascal.
Why the fuck would anyone bother supporting 16-bit MSDOS? Really?
Simply because someone cares. Someone else is also reviving Amiga 68k support, because he cares. Our compiler is generally modular and generic enough so that such support does not result in too much interference with other functionality, or luggage that makes things unmaintainable over time.
Where's the CP/M support for Z80 then?
It'll get added as soon as you provide good quality patches for it :)
Donate free food here
Why the fuck would anyone bother supporting 16-bit MSDOS? Really?
Where's the CP/M support for Z80 then?
Does anyone use Pascal any more?
http://www.z80.eu/pas-compiler...
There are some pascal compilers for cp/m. Enjoy.
Be seeing you...
Because there's a buttload of legacy embedded apps running it? I know of at least 20 I've had my hands near, including one running on the International Space Station.
"Eve of Destruction", it's not just for old hippies anymore...
Will it work on a Tandy 1500 laptop?
Believe it or not, there is some embedded hardware out there that still uses DOS variants. The messaging module of our phone system uses an embedded version of DOS.
The world's burning. Moped Jesus spotted on I50. Details at 11.
NO language needs a garbage collector, though an option to use one selectively would be nice.
Let's split the difference and say a language needs a garbage collector in its standard library that a programmer can choose to enable. C++ calls its reference-counting garbage collector std::shared_ptr.
But then I saw the systemd requirement, and decided to pass.
Speaking of ye olde compilers, OpenWatcom seems to have ground to a halt in 2010. Can't tell if I think that's a shame, or if its time has come, or both.
I remember despising C for its absurd syntax ("==", "!=" etc.).
I still do.
And I was the opposite, I despised the vebosity of pascal (begin/end/etc.) and it's tendency to try to hide some low level details on the grounds of making it easier to learn.
To each his own preferences.
That's a definitive proof that the Perl vs Python debate didn't actually need theese language and the whole concept dates back much further in computing history.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Yes
Just because YOUR mediocre business apps can tolerate random stops in program execution means not much. Other people need to handle events in less then 100ms ALL THE TIME. Some people don't tolerate shit in their GUIs and they do not want GC either. They run some of the most financially successfully companies. Because their GUI ergonomics does not suck due to GC.
https://en.wikipedia.org/wiki/HP_Multi-Programming_Executive
https://en.wikipedia.org/wiki/ICL_VME
http://www.computer-museum.ru/english/algol68.htm
https://en.wikipedia.org/wiki/Elbrus_(computer)
https://en.wikipedia.org/wiki/Burroughs_large_systems#ALGOL
Now, can somebody use Swift or Rust to create the post-cyber-war-domain operating system ?
I'd happily do that if I had the time. Z80 was cool!
I remember in the 1980s it seemed like kind of a big deal, an "advanced" programming language that required a compiler and a more real computer than an Apple ][ (although, yes, there was a Pascal system for the ][, IIRC it was worthless without two disk drives and really not an ideal platform). I knew people writing commercial software in Pascal. They taught it when I was in college. I think "Inside Macintosh" Vols. 1-3 that documented the Macintosh used Pascal.
It was kind of everywhere, and then it wasn't. What happened to it? Was it not really meant to be a "practical" language and meant to be kind of an advanced educational language? Did the growth of Unix-like systems on x86 push everyone into C? Did stuff like the availability of maybe Visual Basic or something grab the users who would have used Pascal?
Circa 1986 or so, you wouldn't have thought "kind of a dead language, nobody uses it for anything anymore" and you wouldn't have thought it would get that way any time soon.
Does the new Pascal let you increment a pointer through an array yet (char *x; x++)?
Every slash dot reader *knows* that that is an essential feature of any programming language in order for it to be efficient.
writeln('wtf');
Let me just paste a code comment i wrote two months ago;
* Written for use in Delphi 2010.
* Seems to work (with minor tweaks) in Lazarus v1.4.4 with FPC 2.6.4, Windows.
* Could work with fewer tweaks with FPC3.
Now i'm wondering if i can get this pet project to compile and run on Linux ..just for sports.
Hivemind harvest in progress..
Yes, there are still devices that run on pc/104 and other embedded x86 platforms. The older ones still running ROMable versions of DOS.
Z80 support would be nice for me, I'm still using SDCC so I'm still stuck in C land. Of course I'd also like 68hc11 support too, but I'm not going to hold my breath.
Sure, some people still use Pascal. Some people still use Java even though it's obvious that Oracle is eventually going to screw it up.
“Common sense is not so common.” — Voltaire
Ok, so like most anyone my age we learned TP in school and it was totally cool. But i have *never* seen straight pascal used out in the business world. I'm sure it is, but where? I dont even see Delphi anywhere, other than a few opensource items..
I'm not saying it doesn't happen, i just haven't seen it so i am curious.
Another yes.
Some of the Canon pro-sumer cameras are running DOS as well.
Why the fuck would anyone bother supporting 16-bit MSDOS? Really?
Simply because someone cares. Someone else is also reviving Amiga 68k support, because he cares. Our compiler is generally modular and generic enough so that such support does not result in too much interference with other functionality, or luggage that makes things unmaintainable over time.
+1 (at least for the 16-bit MSDOS part ;-) )
Where's the CP/M support for Z80 then?
It'll get added as soon as you provide good quality patches for it :)
(Un)fortunately, I think we will have to wait a long time for that to happen... ;-)
In general, it is sad to see how arrogant and ignorant the (programming) world has become...
Howard? Howwwwwward!
HP's MPE was a highly successful operating system first for small and medium and later also for large-scale computer systems. MPE was used in order to run the business side of large enterprises doing warehouse management, order processing, manufacturing process management (on the higher levels of control). The large systems had multiple CPUs and could easily handle several thousands of user terminals.
MPE can be considered HP's competitor to the S/360 mainframe by IBM.
It was programmed in a Pascal variant.
Customers were highly loyal to MPE and by all accounts I am aware of, it was not killed due to a lack of revenue by customers. Rather, HP was "convinced" by "partners" like Oracle to kill MPE, because it was a competitor in the relational database business. MPE was highly integrated with a database system used by most customers for their applications. The "rationale" by HP was that they needed Oracle for their "future" HPUX business and were so cowed by Oracle that they killed MPE in order to placate Oracle.
Killing MPE certainly was a large nail driven into the coffin which is currently constructed for this once great company and their great products.
I'm able to use classic syntax (but I end up moving it to FULLY QUALIFIED System. object ancestors in classes calls that technically should yield control back from application to OS faster in the end (yet no filesize OR PERFORMANCE gain difference exists I've seen for doing it other than faster compile times, which tells me it's already abstracting away classic legacy calls to those System. ones on compile anyways) just to avoid things I've heard of in say, Python, where control isn't ceded to the OS on file flush/close cycles immediately IF you use elder classic legacy code due to the above being abstracted away in modern Delphi).
E.G./I.E.:
program APKHostsFileRewriter64; //64-bit CONSOLE app... apk //will prevent placing Debug info to your code. //will prevent placing local symbols to your code. //will optimize your code, remove unnecessary variables etc. //removes code for Integer overflow-checking. //removes code for range checking of strings, arrays etc. //removes code for stack-checking. USE ONLY AFTER HEAVY TESTING ! //will prevent placing smybol information to your code
{$APPTYPE CONSOLE}
{$R *.res}
{$define nodebug}
{$STACKCHECKS OFF}
{$D-}
{$L-}
{$O+}
{$Q-}
{$R-}
{$S-}
{$Y-}
uses
System.SysUtils, StrUtils;
var
Ch:ShortString;
F1:TextFile;
F2:TextFile;
begin
try
System.AssignFile(F1, Trim(PWideChar(ExtractFilePath(ParamStr(0)) + 'ToReadInURL.txt')));
System.Reset(F1);
System.AssignFile(F2, Trim(PWideChar(ExtractFilePath(ParamStr(0)) + 'ToWriteOutLeadBlockIP.txt')));
System.Rewrite(F2);
Sleep(5);
while not Eof(F1) do
begin
try
System.Readln(F1, Ch);
Ch:= Trim('0.0.0.0 ' + System.SysUtils.LowerCase(Trim(Ch)));
finally
System.Writeln(F2, Ch);
end;
end;
System.Close(F1);
System.Close(F2);
System.Flush(F1);
System.Flush(F2);
except
on E: Exception do
begin
System.Close(F1);
System.Close(F2);
System.Flush(F1);
System.Flush(F2);
System.Writeln(E.ClassName, ': ', E.Message);
end;
end;
end.
APK
P.S.=> Take away System. above, you have classic/legacy pascal file I/O & yes, it works - but I do think it ends up abstracting away to the new methods (which ought to be superior for filehandling to be passed back to the filesystem & OS faster)... apk
See subject & this APK Hosts File Engine 9.0++ SR-4 32/64-bit http://start64.com/index.php?o... since FreePascal & it's Lazarus IDE are compatible with the Delphi XE4 code its written in!
* :)
(That is, if the NEXT version of Delphi, XE12 iirc, doesn't have Linux ports available to it by then like it did in Kylix (Delphi for Linux that was discontinued)).
APK
P.S.=> As is, Delphi can target 32/64-bit (& 16-bit before them in older Delphi compilers) @ both console mode/tty terminal/DOS window + GUI apps on Windows, MacOS X & Android + more in the "IoT"... apk
See subject: Well, not EXACTLY but I've seen Delphi's Object Pascal outrace MSVC++ & VB back in the 1997 issue of VB Programmer's Journal - Delphi tore them up in 4/6 tests (losing only 1 outright & so did MSVC++ oddly, loading ActiveX forms, which VB actually won using a TRUE compiler in VB5 (watered-down C++ one that probably lacked some things like loop unrolling)).
ESPECIALLY IN MATH & STRINGS WORK (Delphi did more than a DOUBLING their performance in those areas) - WHICH, face it, EVERY PROGRAM DOES!
(That's when Delphi 2.0 took me away from Microsoft stuff in MSVC++ &/or VB - oh, I still used them on the job as it demanded, & they're ok - but I like Object-Pascal a LOT better... It's just better in a LOT of ways imo & experience (23++ professionally as a programmer-analyst/software engineer & 13 more before that as an amateur-hobbyist...)
APK
P.S.=> Sept./Oct. issue of Visual Basic Programmer's Journal issue entitled "Inside the VB5 compiler"... apk
Borland Delphi 1.0-7.0 in 16-32 bit & Delphi XE2 & 4 in 32-64-bit & still building freewares in it to this very day (though I pretty much retired after 2008 & only work part-time consulting now) building tools like APK Hosts File Engine 9.0++ SR-2 here http://start64.com/index.php?o...
* :)
FREE, not 'souled-out' to advertisers + adds speed, security & reliability. Does FAR more w/ FAR less more efficiently vs. redundant browser addons & locally installed DNS servers @ home + fixes DNS' many security issues & it stops a LOT of tracking @ webpage + DNS levels combined too from 1 file you NATIVELY have - firewalls do the rest (on lesser used IP address based tracking vs. host-domain name type).
---
It obtains data vs. threats & for adbanner blocking from 10 reputable sites in the security community!
---
It SPEEDS YOU UP 2 ways (adblocking + locally cached in RAM favorites placed @ TOP of hosts for fastest resolution speed vs. remote DNS (aids reliability)) vs. other "so-called security 'solutions'" SLOWING YOU!
---
It does all that via something you natively have vs. "bolting on browser addons 'MOAR'" that's usermode slower & increases messagepassing, cpu + ram overheads!
---
MalwareBytes' hpHosts Admin (MalwareBytes employee) hosts & recommends it -> http://hosts-file.net/?s=Downl... & MalwareBytes = BEST antivirus per this VERY recent testing of them all http://www.av-test.org/en/news...
&
It's safe proven by 57 antivirus programs recently in BOTH its 64-bit model https://www.virustotal.com/en/...
+
In its 32-bit model too https://www.virustotal.com/en/...
So is its installer -> http://f.virscan.org/APKHostsF...
APK
P.S.=> By "yours truly" - "The Lord of Hosts" so-to-speak:
"The image this title brings to mind is of a mighty military commander, one who can at a mere word summon rank upon rank of protective power" from https://answers.yahoo.com/ques... & THAT WORD = hosts!
(Accept NO substitutes!)
...apk