Jason Nelson
Members-
Content Count
2 -
Joined
-
Last visited
Everything posted by Jason Nelson
-
What new features would you like to see in Delphi 13?
Jason Nelson replied to PeterPanettone's topic in Delphi IDE and APIs
Yes maybe I should care enough to check whichever version I (so enthusiastically) downloaded... I think I forgot if it was 12.2 or 12.3 because at this point it's difficult to GAF. 1995 yes, I thought 1993... I'm old now... a year isn't what is used to be. I also misplaced VCL/FMX in one sentence. But we're delphi devs, we're used to seeing half-assed effort lol 😉 let's not split hairs. Here's my challenge to Embarcadero... completing the challenge will GREATLY increase your product quality. Internally/Externally higher a few small teams and give them a "build challenge"... this will be a sobering experience. Take the feedback from these teams and make your product better until all of these build challenges can be completed. 1. Build a reactive TCP Server that can dish out 10-million or even 100-million connects and disconnects in one day. It must run on all platforms, including linux. 2. Build a touch organ app with buttons in VCL and FMX. For sound, just have it play a sinewave when a button is down and stop when the button comes up. 3. Recreate Microsoft OneNote, with pen support, pinch-to-zoom, and finger scrolling. Make it work on all devices (FMX). And and make a VCL version special for windows. 4. Create an application with a variable zoom functionality (like most modern apps are capable of these days). 5. Create a Delphi/Pascal script interpreter runtime. once it is finished.... Use it to allow for dynamic loading and unloading of component libraries and custom form classes. This will make building custom Delphi components just as easy as it is in C#. Allow the users to integrate the script interpreter into their own applications or AOT compile, as is traditional. Create an internal challenge to each of the teams to see who can generate the fastest code. 6. Create middleware that connects to ALL the popular databases without 3rd components (I am forced to use Unidac). I gave up even trying to get the standard components connecting to EVEN MYSQL long ago and switched to Unidac. For the record, my intern connected to Mysql in < 10 minutes with some basic googling and C#. Fundamental failures, kids! Someone will read this and try to tell me that none of this stuff is needed... but circa 2004 someone over there flamed me for suggesting that Delphi needed cross-platform support at least at the compiler level. It is IMPERATIVE that BASIC FUNDAMENTALS be met so that this tool doesn't go the way of COBOL. That was my point in 2004 and that's still my point for today. -
What new features would you like to see in Delphi 13?
Jason Nelson replied to PeterPanettone's topic in Delphi IDE and APIs
For context, I use Delphi in my day job, but I also use it for: Audio/DJ Applications, Simple 3D Visualizations, Back-end applications and middleware. What I DON'T use Delphi for (because it's way to behind the times) is: Complex 3D visualizations (I'll use Unity or Unreal for that). I'm planning to STOP using delphi for all Web-Server applications and adopt the Svelte framework instead. Delphi 13... needs... BUG FIXES! 1. In my large project, code insight just loops over and over and over taking up CPU any time the project is open. 2. VCL is fundamentally broken. They need to ACTUALLY fix high-dpi... it flat-out doesn't work. I tried using it for about 2 years and eventually gave up on my high-dpi laptop, opting to replace it with a standard DPI setup. Almost every time I'd open my project, all of my forms would be rescaled, causing me to redo a whole bunch of work, especially if Remote Desktop was involved. I got really tired of battling it. They should change the way the VCL works fundamentally at the TControl/TWinControl level, ditching the old "top" "left" "width" and "height" properties, for newer, modern ones that respect things like %-based widths, point-based-widths etc. 3. Properly implement GDI+ we don't need Windows 95 support anymore FFS. 4. Last I checked (which was a while ago), the 64-bit compiler was horribly unoptimized and if you look at the ASM generated, it constantly refetches the "self" pointer over and over and over when it could easily have put that in a register for reuse. There's hardly any brains in the ASM about what's already in what register... I use delphi because I want it to be fast... and it just isn't fast anymore... in fact C# can be just as fast or faster in some scenarios. 5. There's so much garbage code in the Apple submission process. It would be lovely if I didn't have to waste a week every single year trying to resubmit apps to the app store with new provisioning profiles... if they could make it "just work" that would be lovely. 6. Themes are horribly shoddy. All you have to do to verify this is add a simple TListView to a form and watch as the strobing refresh induces seizures causing you to choke on your vomit and die... then Jesus will explain to you what you did wrong. I have to put in special functions in my forms to "FixListViews()" ffs. This is just unprofessional. 7. Double buffering is not rocket science, and would work better if you actually properly implement GDI+. Computers have way more RAM than they used to ... people figured out this issue ages ago.... ChatGPT could probably fix your code. 8. These new AI tools are running laps around Delphi. This supposed AI integration in 12.3 was a joke... like did they put the new intern on coding it? Ameture hour. AI is a huge frontier and they shouldn't be sweeping it under the rug or using it as a marketing bullet-point. I bought a Quadro GPU in 2024 so I can keep on top of things. 9. 64-bit IDE.... like NOBODY builds 32-bit apps anymore... unless you're a complete noob. 10. I've been using Delphi for 31 years and I am convinced that during those 31 years there's never been a single scalable TCP Server class. I don't know how I can continue to use this if I can't rely on the most basic of TCP Servers... I suspect the handling of Half-open/Half-Closed connections is faulty, which in my experience is about a 1 in 14000 event that really bites you in production environments. I'd love to see my servers stop leaking threads due to improper TCP handling. Rewrite the TCP Server to be reactive, now that you have all that stuff... and GUARANTEE that the thing will be fundamentally stable. 11. Touch support in Delphi remains unfinished... EVEN FOR FMX. I just spent 3 weeks writing a custom list-view class because the FMX listview couldn't do basic stuff like drag-drop reordering.... nor could it support custom frame layouts. On the VCL side... I had to build my own button classes to get touch working properly. I mean... guys... TButton doesn't have proper touch support! This is like day-one stuff! To verify this, try and build yourself a little "piano" app like you would see in an Apple commercial but using TButtons.... can't be done. I had to build a new button class I call "TTouchButton" to get proper touch-down and touch-up events. 12. Phones and tablets, including windows tablet, like the Surface, often have pens. Delphi has some OLD pen code that sorta works, however, the whole codebase does not isolate or identify the different between a touch, a mouse, vs. a pen. I actually GOT THIS TO WORK in an FMX app, but I literally had to modify the VCL source and rewrite a bunch of it. Unfortunately with every new Delphi release... I would have to go back in and re-implement those changes, so I was forces to abandon that project for Delphi... missed opportunities, kids. Fix the distinction between Pen, Touch, Multi-touch, and Mouse... it is important if you're going to build an app that behaves, for example, like Microsoft oneNote where you need to scroll and zoom with fingers and write with a pen.