Lovely!
Some day I most collect the entire Codex.
Editor's Note: Verity Stob's Chronicles of Delphi [King James ed.] began in 1996. The most recent translations can be found here: The Sons of Kahn and the assembly language of the internet, here: The Sons of Kahn and the Pascal spring and here: Sons of Kahn: The Apocrypha. Now it came to pass the Sons of Kahn, who did dwell …
I'm going to print it on canvas :)
It's a pity most younger readers will lose the great irony (and sometimes pure sarcasm) about a product (and a company) now away from the headlines, and its users...
But it was funny to see C# adding nested functions (with full access to local variables) - a true Pascal feature - while BorInCodeEmbarIdera tries to remove/deprecate Pascal features in an attempt to ape C#...
And a note: development was offshored to Romania (Iasi), not Russia. Developers of the latter, while not writing malware, would code far better....
"nested functions"
Next up... Dare I hold out for the IN operator?
Delphi's sets are more powerful than C#'s enums.
Or the way Delphi handles strings? (In 25+ years of coding, I have never cared about whether a string is empty or nil. Never! string.IsNullOrEmpty() is used a lot in my C# code, and I'd much rather have the compiler do that for me)
Or how about Delphi's form designer? WinForms is a bad joke that should be taken out and shot at dawn, and WPF is a bit too over the top for smaller projects (and near-impossible to localize, the Finns have certainly not found a sane way yet).
But all in all, I'm quite happily using C#. It gets the job done. I do want to return to Delphi one day though.
> And no one else has different requirements, eh?
I dunno. I have never encountered somebody who cares if a string is null or empty. I'd love to see an example where that distinction matters. (that distinction could be made in Delphi btw, but none of the RTL functions cared about it or raised any exceptions when faced with a null string pointer)
Or care if something is DBNull.Value or just null.
As I understand it, the next version of the C# language spec takes a long step towards fighting against the proliferation of null references all around. I think that is a step in the right direction, but as I said, I'd sure like strings to be a bit simpler.
I think it is deliberate, designed to illustrate how excited some people get about trivial IOT stuff.
I think it is deliberate, designed to illustrate how excited some people get about trivial IOT stuff.
I think it is deliberate, .... oh I can't be bothered.
Anyway, thanks for the article, made me smile lots. Best use of 'uh-oh' I have read in many a year.
Borland became Inprise
Inprise went back to being Borland, because Inprise was a stupid name in anyone's book.
Borland spun off the only interesting and useful part of their company as Code Gear so that the part still called Borland could concentrate on navel-gazing.
Code Gear was bought by Embarcadero.
Inprise + Borland + Code Gear
In Bor Code Gearo ... Embarcadero
Strangely, though, I have always found myself thinking of them as InBorCodeGear-a-dillo (perhaps in homage to some half-remembered old English folk song).
Now I realise that I was just being prophetic: It's InBorCodeGear-Idera-O
Borland spun off the only interesting and useful part of their company as Code Gear so that the part still called Borland could concentrate on navel-gazing.
That "navel-gazing" included Visibroker, a product that still brings in millions of dollars in annual revenue. The Caliber and Silk lines also still do quite well. I'm not sure what revenues are like for StarTeam, but I know it's still under active development and has an active customer base.
But I suppose if something's not interesting to you then it's not important.
(Also, the CodeGear division was sold only a year before Micro Focus announced we were purchasing Borland. That's not a lot of time for Borland to have done anything after selling CodeGear.)
It's Star Trek a la JJ Abrams, not Lucas.
I know it's confusing since ol' JJ is doing Star Trek and Star Wars at the same time.
And it's a very valid criticism of JJ that he pretty much makes a story board of all the good scenes from a movie series, then puts them in some order, then invents a plot that veers between mild and complete suspension of disbelief to hang them together.
At least he manages the pacing so that it's watchable (YMMV) and fucks less with the canon than Lucas did.
To be fair while he butchered Trek (wife is the Trek nut here), at least the latest Wars managed to have both a halfway decent protagonist and villein without re-using old characters. And was far more like episodes 4-6 in feel, rather than 1-3.
I know who's the luser behind the new ST, but it was Lucas who was forced first to reintroduce old loved characters in his new films in attempts to mask the appalling scripts. Jar Jar Abrams was forced as well later. Abrams rewrote ST canon (why "reboot", otherwise?) to suit its and Paramount needs (aka "easy money"), and made a mess of the characters - his ST is exactly what ST *was designed not to be*. But the console generation can't understand good SF, I'm afraid. And good characters design became an art of the past. Now you just need something on steroids and stupid like the audience - which no longer wants to be challenged.
This post has been deleted by its author
Verily I say unto you, this hath made tolerable the remaining hours of the work week.
"6. And they did also make Delphi for Android. And they made versions for Ice Cream Sandwich, and for Jelly Bean, and for KitKat, and for Lollipop, and for Maketh My Teeth Hurt Just Reading This"
Cheers!
'Requires 64K RAM'
64K for a text editor/calculator/ascii table/ other stuff.
now I have separate programs for each of these tasks (despite needing one or more of these functions everytime I turn my PC on)
It's a good job that Intel kept pushing processing power and memory got cheap to give me such an improvement over what crappy shit we had to put up in the 1980's.
(that's over 30 years ago)
Verity=>Veritable
You used a set up program to fix the max size of the (memory resident) notepad, because it was about 64k plus the size of the notepad file, so up to about 128k. Shocking!
There were some utilities that would get it down to about 6k resident RAM and swap in the rest only when needed.
Of course, there were some problems in getting SK to play nicely with some other software but as Borland sold so many copies of SK, it was the other software's problem.
"And, notwithstanding Kylix they did they did plan a version for Linux."
And AFAICS this means running the IDE on Windows with a cross-compiler for Linux. They never grasped the nettle of making the IDE cross-platform; unless memory plays me false Kylix relied on running the Windows IDE in a hacked version of Wine which, like other binary-only stuff, didn't survive the transition to 2.6 kernels. What was worse the compiler that shipped with Kylix wasn't that good. That's not good in that it would barf on suitably complex but legit Pascal.
There was a compiler called cross-Kylix which could be used with Delphi and which did a better job. Here we are, a decade or so later, looking at the same approach. Meanwhile everyone who wanted to use the Delphi approach to cross-platform programming running the IDE on Linux or BSD has been getting along nicely with Lazarus. How much are they asking for RAD-Studio these days?
Even the promised Linux compiler will be a by-side product of the Android one - Delphi doesn't generate Android "Java" code. It will be another LLVM based product, and not fully compatible with Windows code, because of ARC vs. manual memory management. They plan to add ARC to the Windows compiler too, but it will require a lot of code changed, and ARC IMHO is no good in highly scalable and concurrent applications - mostly good for "client" stuff with a few threads only - exactly the client of applications you're not going to develop on Linux.
The IDE is historically a Windows one, and when they also injected a lot of .NET code that made porting even more difficult (and even .NET Core may not be enough).
But looking at the still dreadful state of Linux GUI widgets, maybe it is not that bad...
Now they have FireMonkey widgets as a portable GUI, but being fully "owner drawn" like Java Swing, I believe a full IDE written that way would be actually very slow on every platform. Oh well, people use that lethargy simulator called Eclipse...
FPC/Lazarus doesn't get nearly enough credit... if you haven't yet, do yourself a favour and build a (database) application using Lazarus on say Windows ... and copy the code to a Linux Lazarus installation (or the other way around) and rebuild ... and run it there. Go check out the available libraries, reporting tools etc ... it's really useful.
A fine piece by Ms Stob as usual, but ow, that link to that Mashable piece about Philippe Kahn... There are some impressive howlers there, considering they had to be packed into 700 words.
Like, oh, "In 1997 — when the Internet was just four years old". Try 14, kid - and that's assuming we're only talking about the TCP/IP Internet; double that figure if you include the NCP ARPANET (which is arguably more accurate, since it was an internet and the direct ancestor of the Internet).
I almost feel bad for complaining about technical errors in other Reg articles after reading that Mashable piece. Almost.
Would be to go back to just before Kahn decided to buy Ashton-Tate and break his hands so he couldn't sign off on it.
A Borland that didn't piss away hundreds of millions of dollars on that deal, then hundreds of thousands of man hours trying to make the acquired software work might still be with us as Borland...