Home > C#, Delphi, Life, Object Pascal > .NetRocks, you made my day!

.NetRocks, you made my day!

October 11, 2019 Leave a comment Go to comments

72462670_10156562141710906_5626655686042583040_nA popular website for .Net developers is called dot-net-rocks. This is an interesting site that has been going for a while now; well worth the visit if you do work with the .Net framework via RemObjects Elements, VS or Mono.

Now it turns out that the guys over at dot–net-rocks just did an episode on their podcast where they open by labeling me as a “raving lunatic” (I clearly have my moments); which I find absolutely hilarious, but not for the same reasons as them.

Long story short: They are doing a podcast on how to migrate legacy Delphi applications to C#, and in that context they somehow tracked down an article I posted way back in 2016, which was meant as a satire piece. Now don’t get me wrong, there are serious points in the article, like how the .Net framework was modeled on the Delphi VCL, and how the concepts around CLR and JIT were researched at Borland; but the tone of the whole thing, the “larger than life” claims etc. was meant to demonstrate just how some .Net developers behave when faced with alternative eco-systems. Having managed some 16+ usergroups for Delphi, C#, JavaScript (a total of six languages) on Facebook for close to 15 years, as well as working for Embarcadero that makes Delphi -I speak from experience.

It might be news to these guys that large companies around Europe is still using Delphi, modern Delphi, and that Object Pascal as a language scores well on the Tiobi index of popular programming languages. And no amount of echo-chamber mentality is going to change that fact. Heck, as late as 2018 and The Walt Disney Company wanted to replace C# with Delphi, because it turns out that bytecodes and embedded tech is not the best combination (cpu spikes when the GC kicks in, no real-time interrupt handling possible, GPIO delays, the list goes on).

I mean, the post i made back in 2016 is such obvious, low-hanging fruit for a show their size to pound on. You have this massive show that takes on a single, albeit ranting (and probably a bit of a lunatic if I don’t get my coffee) coder’s post. Underlying in the process how little they know about the object pascal community at large. They just demonstrated my point in bold, italic and underline 😀

Look before you shoot

DotNetRocks is either oblivious that Delphi still have millions of users around the world, or that Pascal is in fact available for .Net (which is a bit worrying since .Net is supposed to be their game). The alternative is that the facts I listed hit a little too close to home. I’ll leave it up to the reader to decide. Microsoft has lost at least 10 Universities around Europe to Delphi in 2018 that I know of, two of them Norwegian where I was personally involved in the license sales. While only speculation, I do find the timing for their podcast and focus on me in particular to be, “curious”.

72704588_10156562141590906_7030064639744409600_nAnd for the record, the most obvious solution when faced with “that legacy Delphi project”, is to just go and buy a modern version of Delphi. DotNetRocks delivered a perfect example of that very arrogance my 2016 post was designed to convey; namely that “brogrammers” often act like Delphi 7 was the last Delphi. They also resorted to lies to sell their points: I never said that Anders was dogged for creating Delphi. Quite the opposite. I simply underlined that by ridiculing Delphi in one hand, and praising it’s author with the other – you are indirectly (and paradoxically) invalidating half his career. Anders is an awesome developer, but why exclude how he evolved his skills? Ofcourse Ander’s products will have his architectural signature on them.

Not once did they mention Embarcadero or the fact that Delphi has been aggressively developed since Borland kicked the bucket. Probably hoping that undermining the messenger will somehow invalidate the message.

vspas

Porting Delphi to C# manually? Ok.. why not install Elements and just compile it into an assembly? You don’t even have to leave Visual Studio

Also, such an odd podcast for professional developers to run with. I mean, who the hell converts a Delphi project to C# manually? It’s like listening to a graphics artist that dont know that Photoshop and Illustrator are the de-facto tools to use. How is that even possible? A website dedicated to .Net, yet with no insight into the languages that run on the CLR? Wow.

If you want to port something from Delphi to .Net, you don’t sit down and manually convert stuff. You use proper tools like Elements from RemObjects; This gives you Object-Pascal for .Net (so a lot of code will compile just fine with only minor changes). Elements also ships with source-conversion tools, so once you have it running under Oxygene Pascal (the dialect is called Oxygene) you either just use the assemblies — or convert the Pascal code to C# through a tool called an Oxidizer.

vsdelphi

The most obvious solution is to just upgrade to a Delphi version from this century

The other solution is to use Hydra, also a RemObjects product. They can then compile the Delphi code into a library (including visual parts like forms and frames), and simply use that as any other assembly from within C#. This allows you to gradually phase out older parts without breaking the product. You can also use C# assemblies from Delphi with Hydra.

So by all means, call me what you like. You have only proved my point so far. You clearly have zero insight into the predominant Object-Pascal eco-systems, you clearly don’t know the tools developers use to interop between arcetypical and contextual languages — and instead of fact checking some of the points I made, dry humor notwithstanding, you just reacted like brogrammers do.

Well, It’s been weeks since I laughed this hard 😀 You really need to check before you pick someone to verbally abuse on the first date, because you might just bite yourself in the arse here he he

Cheers

 

  1. hoppypackage
    October 12, 2019 at 11:14 am

    Freaking summertime sadness. Partially agreed with the .net developers facing another eco-system. Delphi as a metal queen can be topped solely by Sharon Del Adel, and here she is, as large as life.

  2. October 12, 2019 at 10:24 pm

    The developer interviewed is 31 and obviously has more .NET background than Delphi. He was unaware of DeDe that can be used to extract forms, and as you pointed out, REMObjects tooling.

    Older Delphi editions are also available on eBay and other places if he really wanted to get it compiling. EMBT was unwise in not selling an older version of Delphi as they might have updated the product in using Delphi and the story would have been quite different.

    That’s not to say I believe the CodeGen of a more modern version of Delphi would have been as good as C#, but it would have been interesting to know. I would have liked it if he had taken the PascalABC.NET code he got compiling and benchmarked the CodeGen of Delphi Rio against the C# version and then compared parallelized versions of both.

    Obviously the DotNetRocks presenters have no idea how Delphi apps are relatively easily maintained over time without the high churn rate of the .NET ecosystem, and that later versions of Delphi are including support for Windows HiDPI. They are really oblivious to what Delphi is today, and that software properly architected and coded can be withstand the test of time. Delphi is one such example and it would be absolutely incredible if all the resources devoted to the development and evolution of C# and .NET had been applied to Delphi.

    • October 13, 2019 at 3:19 pm

      It’s more the tone and modus-operandi of some MS devs I have an aversion for (thankfully the brogrammers are in a minority). But I did expect more from these guys in terms of research. Also a bit taken that a show of their size would resort to personal insults and shaming on such a scale, when the facts should be easy enough to verify.

      I use plenty of languages in my work, C# included, but until the Elements compiler, the performance from VS & Mono was not really that impressive. C# as a language is not an issue for me – but knowing both languages intimately, and having used both C# from mono, Microsoft and RemObjects, in large projects i might add — there is no doubt who produces the fastest code.

      It really boils down to how to write your code too. I have Delphi code that runs en-par with Microsoft’s AOT compiled code. The way Delphi can use pointers, address mapping (absolute keyword for mapping different variables to the same memory section) and lookup functionality is very powerful.

      For me, its not really a matter of competition, but of using the right tools for the job. In some scenarios C# will be the best option, in others Pascal will be much more productive. Oxygene Pascal is identical to C# in terms of features. Its literally just a different syntax parser.
      So the whole argument of A vs. B goes out the window quickly.

      Historically though, the evolution for .Net is not as clean as some like to believe. I actually had a debate with a guy that was convinced that Microsoft invented bytecodes (!) When I started to show him older P-Code compilers, he simply refused to understand that PCode is just an older name for bytecodes. Stuff like that just makes my jaw drop.
      And it’s a great shame that .NetRocks turned out to be in that camp. I had much higher thoughts about them.

  1. May 27, 2020 at 6:25 am
  2. May 27, 2020 at 10:00 am
  3. May 29, 2020 at 3:31 am

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: