Jump to content
AlekXL

Delphi compiler need to be opensourced

Recommended Posts

3 hours ago, Dalija Prasnikar said:

First tool explicitly mentions it is not for translating C++ header files

 

3 hours ago, Dalija Prasnikar said:

So, yes C, no C++. 

Ok, I've just checked. And must say, this is officially a lie (were you a rookie, I would call it mistake, but you're prominent, trusted member of the community, so take it)

 

Swig fork of Delphi is able to import C++ class -> Delphi class wrapped, through dll import.

Swig generates c++ proxy *.cxx from a header, and even able to specialize C++ template class (you need to write something like TEMPLATE_WRAP0(vector ,vecint,  int );

Swig flattens said class members to in the *.cxx and export this through __declspec(dllexport) (or statically, but delphi-swig cannot handle static linking)

Then, Swig generates pas stub , which imports flattened methods(stupidly, it does not add underscores to names, but this is easy fixed by

__DLLNAME name '  ==> __DLLNAME name '_ "replace all"

Additionally (default, but optional), Swig adds Delphi class wrapper, for the C++ class/specialized template class.

I've just regenerated, and compiled template example, from example.h example.i , with C++Builder and Delphi.. This example is simplistic, so I don't know how it would work it with complex c++ classes, but considering SWIG is serious tool, we can hope.

Edited by AlekXL
typos

Share this post


Link to post
17 hours ago, AlekXL said:

But does Pascal even fit that ecosystem? I mean those scientists like python for its "simplicity".. Do they adopt pascal, however free and approachable it may be?

I don't understand python appeal really. How weakly typed language may be so popular? And I don't believe any software > 50K lines could be robust under those circumstances. Is't python is a script language on steroids?

20 hours ago, Joseph MItzen said:

As has been established elsewhere, Java is faster than Delphi, particularly with math. It blows Delphi away in SciMark benchmarks.

In pure math, yes, but this is memory management, Delphi/FPC is faster just because manual management is way faster than any GC. If you work with large amount of inter-related data objects, Java would not shine as bright, let alone python.

20 hours ago, Joseph MItzen said:

I've found that jitted Python, in some small benchmark tasks I wrote, tended to match or ever-so-slightly beat FreePascal

The key word here is small. But when Python software grows big, not sure it will happen.

 

Python isn't a weakly typed language. It's a dynamic, strongly typed language. PHP is weakly typed. In Python,  1 + "2" will raise an exception, not evaluate to 3 or "12".

As for why it's popular, of course I can only offer a limited perspective. Python does a lot of things well, which helps make it generally useful. It's well-designed with few gotchas (unlike PHP) and easy to read (unlike Perl). It's a very small language with a very large standard library and designed from the beginning to be easy to call out to any language with a C interface. It's very quick to develop in. Someone once said that Python's strength is that it's "the second-best choice for everything". It's gained serious footholds in web development, data analysis, machine learning, penetration testing, devops and system maintenance and control, as a scripting language embedded within other applications, etc. And of course, the massive ecosystem of open source libraries it has amassed is a great strength.

 

It's very popularity is a strength. For example, in my case: my spreadsheet of choice (LibreOffice Calc) can accept code written in Python (there are also third-party libraries that let Excel run Python too). Of the two databases I use, PostgreSQL allows writing procedures in Python (among other languages) and SQLite is included in the Python standard library. My text editor, Kate, uses Python for its plugins (as do others such as Sublime text). My IRC client, and bittorrent client can both be scripted with Python. My ebook management program, calibre, is written in Python and uses Python plugins. My DVCS of choice is Mercurial, which like calibre is written in Python and extendable with it. I jump back and forth right now between data mining suites, but all of them (RapidMiner, Kinime, Orange) can run Python code. My backup software, borgbackup, is written in Python. My mathematics program, Sage, uses Python as its language. My accounting software, GnuCash, has a Python interface. My documentation software, Sphinx, uses Python for plugins. My blogging software, nikola, also uses Python plugins. My media center software, Kodi, uses Python for plugins. Even the shell I use, Xonsh, is based on Python and can run Python from the command line!

 

So you've got a language that's quick to learn, installable anywhere, and you can learn for free, including with free ebooks and courses. And when you do, you find that you can use that language in so many places (per above). I believe that's why everyone, even non-programmers, are choosing to learn Python today. There are so many areas where knowing some Python can save you time and make your work easier.

 

How often would a program need to be freeing objects to make the memory management the bottleneck? More importantly, how much time is that manual memory management costing the developer and how many errors are introduced because of it? As for Python, it uses reference counting with a weak garbage collector that only deals with weak references.

 

 

Share this post


Link to post
17 hours ago, AlekXL said:

Not sure whether Delphi would fit on the back-end market.

I can't believe Idera bought Sencha yet haven't found a way to make Delphi target the browser yet. Even RemObjects (as well as Digia with Qt) have some experimental/alpha code in this direction.

Share this post


Link to post
12 hours ago, Bill Meyer said:

I was keen to get Kylix and thought CLX was a good start. I think what killed Kylix was the plethora of Linux distributions which added twists and turns from Borland's perspective. And for those of us testing the waters, the fact that there were only 3 distributions (if memory serves) on which Kylix was certified to work was daunting. Then there was the lack of components -- how many do anything non-trivial in Delphi without the use of third-party components?

And as to components, Delphi 1 offered no component in support of serial ports, at a time when almost anything which connected outside the PC used serial ports. That was remedied soon enough by the appearance of third-party components, but always struck me as evidence of blind spots in determining what the base components needed to be. Further, the component business has always been problematic, as Delphi must ship with components, and realistically must also add to its component sets over time, but then risks competing with the third-party vendors who are essential to Delphi's popularity.

 

 

This is my take on Kylix. Back then, we were all Windows developers and users. What we wanted was a single button in our Windows Delphi IDE that we could press and get a Linux binary/package version of our Windows program. In fact, we just wanted to be able to run headless/server code on Linux. Instead, what we got was a full Linux IDE (actually the Windows IDE using the WINE Windows compatibility layer project, which was in its infancy at the time) that we had to run on a Linux distro and develop with a new framework. I'd tried desktop Linux back then - no support for my sound card, only 2D support for my video card, and it could only read NTFS and Windows couldn't read or write Linux filesystems (still can't). That meant you could move files into Linux, but once they were in Linux, they were staying there. There was little useful software - I remember complaining on the forum of the vendor of the commercial desktop distro I'd purchased that there was no software. They replied "What do you mean? We have over 5000 packages in our repository." Without missing a beat I replied, "Yeah, and 4000 of them are text editors!" (At least that's what it felt like). No one wanted to use shaky distros running a shaky Windows compatibility layer to run a full IDE to redo our old code in CLX.

 

Linux users didn't want it either. At the time, TrollTech owned the Qt technology Borland was using and they didn't have a free license. This made it hard for Linux users to distribute the code - they'd need to bundle a proprietary binary blob with their otherwise open source software.. Borland's answer was to statically link the library, being oblivious to the fact that static linking is absolutely hated in the Linux community. In the end, Linux users were more busy trying to write software for Linux than worry about cross-platform code and they had gcc and c++ and didn't need/want Kylix.

 

Now fast-forward to today. Cross-platform is the new mandate. Stack Overflow's survey says 55% of professional developers are using Linux or OS X to develop on. Linux desktop distros are simple to install and use, useful and very reliable (heck I'm writing this from one right now). Developers want a version of the Delphi IDE they can run on OS X or Linux.

 

Now what are they offered? A Windows-only IDE with a button to push to get a Linux or OS X binary. No UI either on Linux, just headless code.:classic_huh:

 

Whomever owns Delphi seems to always "zig" when they should "zag".

  • Like 1
  • Haha 1

Share this post


Link to post
2 hours ago, Joseph MItzen said:

Python isn't a weakly typed language. It's a dynamic, strongly typed language. PHP is weakly typed. In Python,  1 + "2" will raise an exception, not evaluate to 3 or "12". 

Forgive my ignorance, but whether Python function can have  typed arguments? Can a callee be sure that it's argument is TypeA, not TypeB, every time you want it, without extra checking? If answer is no , then everything else is just semantics, call it dynamic typing, whatever.

2 hours ago, Joseph MItzen said:

For example, in my case: my spreadsheet of choice (LibreOffice Calc) can accept code written in Python (there are also third-party libraries that let Excel run Python too). Of the two databases I use, PostgreSQL allows writing procedures in Python (among other languages) and SQLite is included in the Python standard library.

And so on. Scripts, scripts, and more scripting. Should Delphi be like that? We have Pascal Script, DWScript, we had even PAX Compiler, for morgana's sake, which could allegedly produce x86 dll plugins.

I guess one may want to incorporate python into a Delphi app, as scripting language (though, it's not always a best option, since a plethora of packages go with a caveat, that no all those would easily install on Windows, and the infrastructure(run-time) seems neither very portable nor small.

Question is whether Delphi should aim towards same goal, and is it able to. People made their choices already. Admittedly, Use a variable, without declaring and thinking, what is actually is, have some appeal for novices. 

I opine that Delphi/Pascal could be a second choice, once a user gets tired of dynamic typing, and situations when their python script would go bonkers just because of misplaced or missing tab character. At run-time. Surely a lot of work should be done with pascal infrastructure for that to happen.

 

2 hours ago, Joseph MItzen said:

How often would a program need to be freeing objects to make the memory management the bottleneck?

Every time I do something worth mentioning.

2 hours ago, Joseph MItzen said:

More importantly, how much time is that manual memory management costing the developer and how many errors are introduced because of it?

This is valid point, I must concede. We need to have an option to reference count just for explicitly designated object types and variables. And a first-class one, without need to build an interface wrapper.

Which means not some crappy wrappers like shared_ptr, no, lets introduce compiler magic and (non-breaking) language  changes.

like
 

FObject: auto TObject; // compiler, just manage the lifetime automacally

type TMyRefObject = class auto (TObject) // all instances are automatic

var manualRef := unsafe(RefCountedObject); // Compiler, I understand the risk, just give me raw pointer

var autoInline := auto TObject.Create;// compiler, manage it automatically

 

Few remember that, but perhaps main reason why VCL shines, still mostly uncontested, is support to message  dynamic dispatch methods. Just remember that ugly MFC MESSAGE_MAP macros! Or sorry mocking mocks of QT -- those are just workaround about C++ deficiency. And Delphi was bold enough to introduce such magic

 

 

Edited by AlekXL
clarification, at the end, emphasis, typos

Share this post


Link to post
53 minutes ago, Joseph MItzen said:

Is this the right link? I can't find any mention of Pascal or Delphi in the documentation or the example files.

Its most recent v4 fork (https://github.com/FMXExpress/swig), dont know whether usable, but I used http://www.fmxexpress.com/wp-content/uploads/swig-delphi.7z which is  build of v3. https://github.com/FMXExpress/swig-delphi

Edited by AlekXL
github link, typos

Share this post


Link to post
7 hours ago, AlekXL said:

They would approve bugfixes, wouldn't they?

Oh boy do I have a funny/sad story to tell you. Once upon a time there was certain bug in the Delphi system library regarding regex. Members of the official forum discovered it, diagnosed the cause, and even came up with a small code change that fixed it. Of course, they also created a bug report and included all of this information, including the fix. Several of us grew frustrated that when a bug update or two were released for Delphi this bug still hadn't been fixed (this was back before subscriptions, when you might have to buy a new version to get a bug fix if the short support window ran out before they fixed a bug). Allen Bauer shows up in the forum and some of us ask about this bug. Bauer then requests that we not include any information about what we think might be causing a bug or any possible solutions in the bug report. He says that he wants his newer developers to learn to solve problems on their own and our assistance might also distract them from where a bug really is. We couldn't believe what he was asking. If he wanted to train developers, pair them with a seasoned developer rather than asking us not to try to get bugs fixed as soon as possible! Sigh. I've never in my life seen someone asked to submit less information in a bug report. 😥

 

So at this point I'm not sure what they might do. When I brought up the fact that the IDE doesn't let you bind your own key choices, David Millington was adamant that I should submit a use case for this "feature". I was incredulous and told him it should be self-obvious why it's a useful feature and how every other IDE in existence lets you do this. He continued to insist that it's always vital to submit a use case.

 

And others could tell you stories of the issues that have been closed as "won't fix" or "by design". I remember Dalija Prasnikar got Marco to re-open several that he'd closed in the past (as far as I know they never actually got fixed though).

Share this post


Link to post
1 hour ago, Joseph MItzen said:

Bauer then requests that we not include any information about what we think might be causing a bug or any possible solutions in the bug report. He says that he wants his newer developers to learn to solve problems on their own and our assistance might also distract them from where a bug really is. We couldn't believe what he was asking. If he wanted to train developers, pair them with a seasoned developer rather than asking us not to try to get bugs fixed as soon as possible! Sigh. I've never in my life seen someone asked to submit less information in a bug report.

Well, what can I say? outright stupidity, outrageous neglect

1 hour ago, Joseph MItzen said:

And others could tell you stories of the issues that have been closed as "won't fix" or "by design". I remember Dalija Prasnikar got Marco to re-open several that he'd closed in the past (as far as I know they never actually got fixed though). 

Again, same..

And this is bring us the back on-topic, we on page #6, and we need to reach those making decisions, and the first step is to open-source Delphi compiler, please vote on QP , if you didn't already

 

Edited by AlekXL
emphasis,typos

Share this post


Link to post
1 hour ago, Joseph MItzen said:

I can't believe Idera bought Sencha yet haven't found a way to make Delphi target the browser yet. Even RemObjects (as well as Digia with Qt) have some experimental/alpha code in this direction. 

Apparently, this is easier to buy a good product, rather then craft your own one -- the manager needs to be competent on-topic, and be able to deal with coders.  More competent among those are not social climbers, occasionally, but rather deplorable anti-social folks.

 

But I think JVM target is more practical and feasible. That should be the first platform aimed after win32.

Edited by AlekXL

Share this post


Link to post
10 hours ago, David Heffernan said:

Dude, Scotland is literally inside the UK

Oops, typo, I meant Northern Ireland :P But it's still not a good comparison.

OK, let's stop at this point.

Share this post


Link to post
1 hour ago, Joseph MItzen said:

I can't believe Idera bought Sencha yet haven't found a way to make Delphi target the browser yet. Even RemObjects (as well as Digia with Qt) have some experimental/alpha code in this direction.

Same feeling here. I thought they would build something like IntraWeb or UniGUI after buying Sencha.

Share this post


Link to post
48 minutes ago, AlekXL said:

And this is bring us the back on-topic, we on page #6, and we need to reach those making decisions, and the first step is to open-source Delphi compiler, please vote on QP , if you didn't already

 

Alex, please sit back and relax.

Your message is clear, and repeating and repeating this link to QP will not change anything. Even if this thread would have 100 pages, a thread here in this forum will not reach the decision-makers. There is an Embarcadero community for this - I leave it up to you to find out how “boring” they are over there.

  • Like 1

Share this post


Link to post
7 hours ago, AlekXL said:

GetIt and Torry is not representative nowadays. Use google with  (github OR bitbucket OR gitlab OR sourcefourge) clause, Luke 

Get-It is the official package manager of Delphi and built into the IDE. Torry has been around forever. Scouring all the open source code repositories looking for a needle in a haystack is a serious drain on time. But I believe my point still stands, because according to this analysis of the 100 most popular languages on Github, Delphi ranks 43rd. It's beaten by ... well, almost every language you've ever heard of.

 

8 hours ago, AlekXL said:

Well, deep-learning probably not Delphi forte, but how often one needs this?

All the time. For everything. :classic_biggrin: Just a few weeks ago I saw an example of someone with a bird feeder. He set up a Raspberry Pi with a camera. His program uses OpenCV to detect motion, then it takes a picture. A Tensorflow deep learning network is then shown the picture and asked to identify the species of bird. The Raspberry Pi then logs the species, time, and how long it stays. :classic_smile: I thought this was an absolutely awesome idea. I've also seen someone use the Raspberry Pi, a camera and OpenCV to text his friends when free parking spots open up in front of his apartment so they know they can find a place to park if they want to come over. And of course, I'm working on my secret sports betting AI program to win all the money in the world a project I can't talk about.:classic_tongue:

8 hours ago, AlekXL said:

Surely you wouldn't write a media player on python, would you? Even .Net is bad option? And java? On Android, yes, maybe, but what's the point writing yet another crappy player on Java. If you are going to be serious, you would end up with C++. And albeit it maybe harder to link C++ libs to Delphi app, once it's done, it will work faster, and can be integrated tighter since managed-unmanaged transition is costly. 

Well, to start, I want my media player to work on desktop Linux, so that rules out Delphi. I know there's a third party option for this, but I also want it to be open source. There have been several media players over the years written in Python, and several popular music fingerprinting and tagging programs such as Musicbrainz Picard. Also podcast management software such as Gpodder. The latter two have made their tag management code and RSS feed code available as separate open source libraries, which means I could use both and get some solid, well-tested code. As mentioned earlier, this leaves me free to write the new features and ideas I have in mind without having to write all the low-level stuff from scratch. As for speed - exactly how fast does a media player need to be? The last time I had media software that was too slow was when I had an AMD K6-III 450MHz CPU and 256MB RAM. My CD-ripping program took longer to encode files than it did to play them, meaning it would have been quicker to record them onto my MP3 player than wait for them to encode!

  • Thanks 1

Share this post


Link to post
37 minutes ago, Daniel said:

Alex, please sit back and relax.

It's Alec, actually.

37 minutes ago, Daniel said:

Your message is clear, and repeating and repeating this link to QP will not change anything

It helps me stay at least loosely on-topic, and serve a friendly reminder (can't believe I wrote this) for others to the same end.

37 minutes ago, Daniel said:

Even if this thread would have 100 pages

I'm aware, but one could plant some seeds in others' minds. Even provocative approach serves the cause. Isn't this enjoyable, guilty pleasure, to follow this controversy? At least for out-of-the-box thinkers?

And we discover something, like Swig, worked out feature like on-demand reference counting. We are productive here.

Edited by AlekXL
typos

Share this post


Link to post
2 hours ago, Joseph MItzen said:

But I believe my point still stands, because according to this analysis of the 100 most popular languages on Github, Delphi ranks 43rd

Being so pricey (Delphi), and so ugly (Lazarus), no wonder.. And perhaps we should not just count repos, but make sampling inspection, to draw some conclusions

2 hours ago, Joseph MItzen said:

Well, to start, I want my media player to work on desktop Linux, so that rules out Delphi. I know there's a third party option for this, but I also want it to be open source. There have been several media players over the years written in Python, and several popular music fingerprinting and tagging programs such as Musicbrainz Picard. Also podcast management software such as Gpodder. The latter two have made their tag management code and RSS feed code available as separate open source libraries, which means I could use both and get some solid, well-tested code. As mentioned earlier, this leaves me free to write the new features and ideas I have in mind without having to write all the low-level stuff from scratch.

Look, I've just have different mindset to tackle this. If I were about to build a video player, it should have something really, deeply unique features.

Say, to my knowledge, Android is lacking any Video Player, which support software brightness and hardware acceleration. A few support brightness when decoding on cpu. I can't believe it's impossible on principle, but apparently this is not low-hanging fruit, otherwise some players would have it.

So I need to dig very low level to achieve my goal, C/C++ level, maybe deeper. And for testing purposes I can use quick-and-dirty python wrapper, sure? Would it make me a python developer? No. Because if I succeed, I will go to great lengths to hide my solution, otherwise some copycats would just steal my ideas. So I'd go really hard-to-crack solution -- either C++, or Pascal, because it's not easy to de-compile those. And damn the difficulties. This approach is completely different from yours, so I could monetize this.

 

If a worthy work is opensource this means one of 2 cases:

1. Author (copyright holder) are big company. They have their reasons to do so.

2. One is an individual, and he don't earn on opensource, but rather, earn working on a "big brother", which owns most of his time, and most of the code he's written

 

Surely, I'm not #1, and don't really want to be #2.

Quote

If your code is free, most likely you are not

(c)AlekXL, all rights reserved

But I agree, Pascal ecosystem is nonexistent on Linux. And since I don't want to defect to cool python community, I need consider other options, which include fpc upgrade, debugger binding, language server, and gui designer. And for free, at least for those who work for $0 gain.

Edited by AlekXL
typos, emphasis

Share this post


Link to post
9 hours ago, AlekXL said:

But did edwinyzh  just proved that you are partially wrong? I asked you to be factual, and now ask it again -- you named Edwards curves, and here we have some implemented. Now please clarify further, what "Edwards curves" Delphi lacking, and why those lacking are important (where they used)?

Really? Do we have to go down this road again?

ECDSA (Elliptical Curve DSA) <> EdDSA (Edwards Curve DSA).

It has a lot of use cases as ECDSA and it is been used in Monero and Nano to mention but a few.

 

Edited by Ugochukwu Mmaduekwe
typo fix
  • Like 2

Share this post


Link to post
9 hours ago, AlekXL said:

Because they are thin wrappers around C/C++ FFMpeg or some other C/C++ library or web browser runtime. All dirty work is hidden.. Delphi isn't meant to build thin wrappers, apparently. And many of those who write .NET and Js -- are barely aware what is memory leak, how to prevent it, or investigate .. that's beyond their mindset, thanks to learning managed languages from youth.

 

Seems you have made up your mind that nothing good and optimal can come out of non native code.

In this case, there is very little I can say to convince you otherwise.

By the way, the current media player I use is written in JavaScript and it runs beautifully for me on both my Windows and Linux boxes.

Edited by Ugochukwu Mmaduekwe
  • Thanks 1

Share this post


Link to post
2 hours ago, Ugochukwu Mmaduekwe said:

Really? Do we have to go down this road again? 

Whatever it takes to set the record straight

2 hours ago, Ugochukwu Mmaduekwe said:

Seems you have made up your mind that nothing good and optimal can come out of non native code

I use qpython3 and fanficfare package on the command line to fetch fanfics from not-so-popular websites. This is only option on Android.

I already said, that Borland should have pursued JVM target platform instead of wannabe-portable .NET. I just don't believe in loosely typed languages, and don't particularly like those languages which take your freedom to shoot in your leg.

4 hours ago, Joseph MItzen said:

But I believe my point still stands, because according to this analysis of the 100 most popular languages on Github, Delphi ranks 43rd

This is obvious, that Delphi is not so popular.The question what to do? Nearly all the power of no-so-strict languages comes from binding from C++, right? And we already settled, that's not easy task to do the binding. So there must be C++ developers, who's backing this..

 

So why those true developers spend their time binding to scripting languages? Probably because they need simple front-end for those libraries, and community wisdom (lab rats). After all C++ is anything but simple. So those devs invent and reinvent  the wheel, creating new scripting dialects to met their goals. This never ends, because those wheels might shine in something, but are weak in the rest.

 

And delphi is such language -- simple, but not stupid. Free to do dark magic (certainly, for greater good), but providing some fail-safe features. We just need some more sugar --

  • on-demand ARC,
  • more concise lambda syntax, like
       LAMBDA = ARGLIST  => LAMBDA_BLOCK
       LAMBDA =  ARGBLOCK_SINGLE => LAMBDA_BLOCK
       ARGLIST = ( ARGBLOCK )
       ARGBLOCK = ARG_NAME_LIST [: ARG_TYPE]
       ARG_NAME_LIST = ARG_NAME,  ARG_NAME_LIST
       ARGBLOCK_SINGLE = ARG_NAME [:ARG_TYPE]
       LAMBDA_BLOCK = begin  R_BLOCK end //do inference for function result type, from assignment
       LAMBDA_BLOCK = SINGLE_COMMAND
    
       var myLambda = a:integer => Result:=a+1; //PASCAL==less parens, Luke
       var sameLamda= function (a:integer):integer begin Result:=a+1; end;

     

  • auto properties, like property
    property Prop:integer read, protected write;
    //maybe even with initialization and inference
    property Dic:var read, protected write =
    			TDictionary<string, TObject>.Create(1,TIStringComparer.Ordinal);// FDic will be automatically FreeAndNil -ed in dtor

     

  • inline field initializers(including ctors with auto finalization)
    private
    FDic:var=TDictionary<string, TObject>.Create(1,TIStringComparer.Ordinal);// FDic will be automatically FreeAndNil -ed in dtor

     

  • record (or, better, old TP objects')  auto constructors (those C++ guys are RAII heretics, after all)
  •  maybe even dot operator overloading for value-structures.

 

And Object Pascal might be the language to find those, bring them to ready ecosystem, and make them bind their libraries to the language. And we still have some rats, too.

Only we need to forge a ring (not-a-wheel) of tools: updated freeware compiler, LLDB binding(I-PASCAL have some), language server, and gui designer

Edited by AlekXL
minor update, sample grammar, minor update, I-PASCAL mentioned, auto-property example

Share this post


Link to post
47 minutes ago, AlekXL said:

I already said, that Borland should have pursued JVM target platform instead of wannabe-portable .NET.

Fun fact: There was a prototype Delphi compiler that created JVM code. That was back when the Borland JBuilder still existed (about 20 years ago).

  • Like 2

Share this post


Link to post
45 minutes ago, AlekXL said:

Whatever it takes to set the record straight.

Lol, at least we now agree on a common fact that for now Delphi doesn't have a PurePascal EdDSA implementation.

  • Like 1

Share this post


Link to post
22 minutes ago, dummzeuch said:

Fun fact: There was a prototype Delphi compiler that created JVM code. That was back when the Borland JBuilder still existed (about 20 years ago). 

6 hours ago, Joseph MItzen said:

Whomever owns Delphi seems to always "zig" when they should "zag". 

sad but true

 

Edited by AlekXL
typos
  • Like 1

Share this post


Link to post
Guest
This topic is now closed to further replies.

×