Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 03/02/25 in all areas

  1. v6.4.0 Beta 1 We are pleased to announce one of the biggest updates of Ski4Delphi! For the first time in Delphi's history, we have a C++ library statically linked to a Delphi application on Windows, removing the dependency on sk4d.dll. In addition, we have updated the Skia library from version m107 to version m132. After a long research and experiments, we were able to understand the "limitations" of the Delphi linker and build a pre-linker for C++ libraries that would get around these limitations, producing objects that are fully compatible with Delphi, which could be used to statically link not only Google Skia, but any C++ project in Delphi on Windows. Source: github.com/skia4delphi/llvm-project This is still a beta version, but all our tests have passed and there are no known issues regarding the new changes. Enjoy! 🙂
  2. ƁukaszDe

    Delphi 12.3 is available

    Links to Web installer and ISO are available in https://my.embarcadero.com
  3. dummzeuch

    BIG changes

    I think we should stop feeding the troll.
  4. Joshua Gardner

    pasfmt v0.4.0

    Thank you to everyone who suggested improvements to our pre-release versions. We have now officially released pasfmt v0.4.0! For this release, we have made the following improvements: Case statements can now be formatted inline - example Simple conditionally compiled code can now be formatted inline - example Formatting of package conditional directives in the style of RAD Studio - example Various bug fixes (for more information, see the changelog) Alongside this, we have also released pasfmt-rad v0.2.0. Now featuring bookmark and breakpoint relocation across formats.
  5. Roger Cigol

    Delphi 12.3 is available

    And yes, the viewing of data at design time using a 64bit database does work with 12.3 (certainly with 64bit versions of postgreSQL which is what I work with). The 64bit IDE is a first step. Of course we would all like it to work perfectly and to have had it a year ago but at least this shows it is coming. I am very much in favour of Embarcadero releasing stuff with limited functionality but which works rather than trying to rush too much out too quickly and therefore it all being very buggy. They have gone down this route in the past but seem to have learnt that this puts customers off. They do now seem to be releasing smaller changes at a time but smaller changes that work. I think this is much better for us users.
  6. David Heffernan

    Delphi 12.3 is available

    Prepare for three years of them fixing the new 64 bit IDE
  7. Sherlock

    Delphi 12.3 is available

    There are always remote connection possibilities as a compromise. I firmly believe an unfixed product can cost more than a trip for two guys, that know their stuff, to find out what the hell is going on.
  8. Dalija Prasnikar

    Delphi 12.3 is available

    Yes, but the new 64-bit compiler is about compiler bitness, not platform. That means that compiler is no longer 32-bit process and can use all available memory on the system.
  9. Hello, if you haven't noticed yet: with 12.3 Embarcadero also released a new additional tool for subscription owners via GetIt package manager (Tools/GetIt package manager). It is called "The Android SDK manager GUI" and can be used to update Android SDK/NDK etc. in a graphical way. It is a replacement for the graphical SDK manager the Android SDK once contained, which cot replaced by a cumbersome batch file (yes, the batch file is good for automation, but otherwise cumbersome). The SDK manager GUI can also export the selected configuration and import it on another PC, great for easy synchronisation of development machines. What the tool doesn't do is to update the paths in the IDE and it is unfortunately not added to the menu in the IDE.
  10. loki5100

    What are the performance profilers for Delphi 12?

    Hi, i just made a new performance profiler for delphi 12 that have the advantage to work on iOS and Android too! it's about instrumenting the source code, it's work pretty well. you can found it here : https://github.com/MagicFoundation/Alcinoe?tab=readme-ov-file#alcinoe-code-profiler
  11. Anders Melander

    Problem using SpinEditEx in Delphi 12.1

    FWIW, my wife who speaks "human" tells me that my directness was indeed impolite. So sorry, I guess.
  12. AI is just a tool. It has its uses. It's not going to do everything. Yes it's over hyped. But that does not mean it has no value. As usual the value lies somewhere in between what the hypers and the doubters say.
  13. Stefan Glienke

    Namespaces in Spring4d code

    The claim that it compiles faster is bogus - prove me wrong. Most compile time from spring4d comes from generics, which I reported years ago. Also, my suggestion for third-party libraries is to pre-compile them, which removes any dependency on the project options in your project. Currently, Spring4d supports down to XE, and as long as that is the case, I am not putting even more conditionals into the code than there already are.
  14. Introducing the first RAD Programmer Coding Challenge! Check the blog post for details. https://ideasawakened.com/post/rad-programmer-challenge-number-1-minesweeper-game-build
  15. Kryvich

    ANN: Skia4Delphi v6.4.0 Beta 1

    Can you please elaborate this? Maybe a short article on this topic. P.S. I've noticed that there have been several interesting Delphi projects from Brazilian developers lately. Skia for Delphi, D2Bridge Framework are the most notable.
  16. I've had a couple of requests for information on what settings etc I use to edit, compile Delphi from VSCode and I'm hoping others can add insights on what they use. I don't have extensive experience with VSCode and moved to it last year for the following reasons, in priority order To work around a lot of problems we encounter with the Embarcadero IDE with our projects To have a consistent IDE between Linux C work and Windows Delphi To trial effectiveness of CoPilot after co-workers said how great it was. Unfortunately I haven't done a clean VSCode setup and notes record from scratch so these aren't definitive notes. I do some C coding on a Linux VM for a real time control app as well as Windows Delphi, hence C/C++ extensions Extensions I have following extensions installed C/C++, C/C++ Extension Pack, C/C++ GNU Global, C/C++ Themes, CMake, CMakeTools, CodeLLDB Delphi LSP, Insert GUID, #region folding, #region tree view GitHub Copilot GitHub Copilot Chat Numbered Bookmarks Pascal, Pascal Formatter SVN Todo Tree WSL XML The following extensions are installed but disabled #region tree view Auto-align Better Align My notes say I installed the following but they aren't there now Delphi Extension Pack which installs Pascal (still installed), Numbered Bookmarks (still installed), Delphi Keymap, Delphi Themes, CodeRunner, MakeFile, Note on CoPilot, I'm a greybeard (although haven't had a beard for many years) and have been amazed at what it suggests, can do and some of the inferences it makes. Sometimes it's mind boggling, eg coming up with a correct suggestion for something you're typing that's not related to anything else in the code nor anything else that you would think was commonplace. You do need to check it carefully though, hallucinations, subtle and not subtle mistakes but well worth the time it can save. Editor Tab colors I use dark themes. It can be difficult to see which tab item in the tab bar belongs to the currently visible file in the editor, especially when jumping to function definitions etc. To add colorization open settings and search for colorcustomization Under workbench: Color Customization click on Edit in settings.json Example settings 1) black inactive tab header with active tab having medium blue background and light blue activeBorder and activeBorderTop "workbench.colorCustomizations": { "tab.activeBackground": "#0091ff56", "tab.activeBorder": "#00aaff", "tab.unfocusedActiveBorder": "#000000", "tab.activeBorderTop": "#00aaff" // Active Tab Top Highlighting }} 2) black tab headers with red activeBorder and activeBorderTop "workbench.colorCustomizations": { "tab.activeBackground": "#11ff001a", "tab.activeBorder": "#ff0000", "tab.unfocusedActiveBorder": "#000000", "tab.activeBorderTop": "#ff0000" // Active Tab Top Highlighting } VSCode for Delphi Programming Here’s Embarcadero’s page on setting up DelphiLSP with Visual Studio Code https://docwiki.embarcadero.com/RADStudio/Athens/en/Using_DelphiLSP_Code_Insight_with_Other_Editors Generation of a .delphilsp.json file from Delphi is controlled through Delphi Options, Editor->Language->Code Insight->Generate LSP Config Type LSP into VSCode settings to to Delphi LSP settings and set the location of the project delphilsp json file Preferences / Settings I don't like the LSP suggestion autocomplete happening when I press enter, for example by default when I type begin and hit enter it replaces it with BeginGlobalLoading To prevent this I leave suggestions on but turn off ENTER as a completion shortcut ( TAB can still be used). Go to settings File > Preferences > Settings > Text Editor > Suggestions > Accept Suggestions On Enter > Select on, off or smart. ("Controls whether suggestions should be accepted on Enter, in addition to Tab [...]" Building via VSCode tasks I suspect creating an extension to build by normal VSCode method would be not difficult to do but haven't had time to investigate. Currently I build using tasks and it's a bit messy but is functional. If you were only building a single DEBUG config using this method it would be simpler as you wouldn’t need to choose the config each time you build or run, we build different configs for different emulations. I was hoping we could somehow easily preselect the emulator config we want to use at the start of a session and then just build/run each time (eg via <shift><ctrl>B) without having to select the config but haven't had time to look into that further. We already had batch files setup for release building done outside of the IDE, ie Crbuild.bat, and use these for building via VSCode. tasks.json needs to go in the .vscode folder, eg if I'm working on the TC7\TC7.dproj project then in TC7\.vscode folder, assuming TC7 is the workspace folder you have open. <shit><ctrl>B will build or you can choose to run your desired task from Tasks: Run Task Sample tasks.json from our wiki /* Tasks definitions for compiling and running TC7 in VS Code. You can use this file for .vscode/tasks.json file in a workspace, or as "User level tasks" (indepedent of workspace). This tasks file allows to compile /run / compile+run the TC7 project using Wrist Bevel Emulator associated with the currently open file. Need to look at how to handle building using different emulators. One option could be to open a file in the emulator folder and then use ${fileDirname}, can set cwd using the following "cwd": "${fileDirname}" See https://go.microsoft.com/fwlink/?LinkId=733558 for the documentation about the tasks.json format. */ { "version": "2.0.0", "inputs": [ { "id": "emulatorFolder", "type": "pickString", "description": "Select the emulator folder", "options": [ "RELEASE", "DEBUG", "abs encoded 12 magnet twin sled PUG", "700 Towers", "725 K4100 wrist bevel", "wrist bevel x86", "K5100 wrist bevel and unloader" ], "default": "K5100 wrist bevel and unloader" } ], "tasks": [ // Compile and then Run the TC7 project of the currently open editor file. // This is like F9 in Delphi. { "label": "(TC7) Compile And Run", /* We use VS code "dependsOn" feature to run 2 tasks in a sequence. This is better than using shell command with && which is not universally supported by PowerShell. */ "dependsOn": [ "(TC7) Compile", "(TC7) Run" ], "dependsOrder": "sequence", "group": { "kind": "build", } }, // (Re)build the TC7 project { "label": "(TC7) (Re)Build", "type": "shell", /* Compile in debug mode using TC7 build tool (calls msbuild under the hood). */ "command": "${workspaceFolder}\\crbuild.bat", "args": [ "-ProductVersion", "23.0", // "-config", "DEBUG", "-config", "${input:emulatorFolder}", "-nolog", "-target", "rebuild" // "-OutDir", "${workspaceFolder}\\Output\\EMUs\\${input:emulatorFolder}" ], "options": { "cwd": "${workspaceFolder}" // "cwd": "${workspaceFolder}/Output/EMUs/${input:emulatorFolder}" }, "group": { "kind": "build", "isDefault": false }, "problemMatcher": { "fileLocation": "autoDetect", //["autoDetect", "${workspaceFolder}"], "pattern": [ { /* Match lines like xxx.pas(123,456) Fatal: some message Deliberately avoid matching summary line like xxx.pas(2201) Fatal: There were 26 errors compiling module, stopping Deliberately avoid xxx.pas(648,15) Error: Found declaration: ... because they only make sense when connected to previous error message, and VS Code reorders them. Test: https://regex101.com/ (ECMAScript flavor) */ "regexp": "^([^\\(]+)\\(([\\d+,]+)\\)\\s+(Fatal|Warning|Error|Note|Hint):\\s+((?!\\(10026\\) There were)(?!There were)(?!Found declaration: )(?!\\(5088\\)Found declaration: ).*)$", "file": 1, // location may be line or line+column. "location": 2, "severity": 3, "message": 4 } /* , { // Match lines like // Compiling xxx.pas "regexp": "^(Compiling) ([^\\s]+)$", "file": 2, "message": 1, "kind": "file" } */ ], /* We need non-empty owner to hide older problems on recompilation. See https://github.com/Microsoft/vscode/issues/50448, https://github.com/microsoft/vscode/issues/66982 */ "owner": "Kinetic Engineering" } }, // Compile the TC7 project { "label": "(TC7) Compile", "type": "shell", /* Compile in debug mode using TC7 build tool (calls msbuild under the hood). */ "command": "${workspaceFolder}\\crbuild.bat", "args": [ "-ProductVersion", "23.0", // "-config", "DEBUG", "-config", "${input:emulatorFolder}", "-nolog", "-target", "build" // "-OutDir", "${workspaceFolder}\\Output\\EMUs\\${input:emulatorFolder}" ], "options": { "cwd": "${workspaceFolder}" // "cwd": "${workspaceFolder}/Output/EMUs/${input:emulatorFolder}" }, "group": { "kind": "build", "isDefault": true }, "problemMatcher": { "fileLocation": "autoDetect", //["autoDetect", "${workspaceFolder}"], "pattern": [ { /* Match lines like xxx.pas(123,456) Fatal: some message Deliberately avoid matching summary line like xxx.pas(2201) Fatal: There were 26 errors compiling module, stopping Deliberately avoid xxx.pas(648,15) Error: Found declaration: ... because they only make sense when connected to previous error message, and VS Code reorders them. Test: https://regex101.com/ (ECMAScript flavor) */ "regexp": "^([^\\(]+)\\(([\\d+,]+)\\)\\s+(Fatal|Warning|Error|Note|Hint):\\s+((?!\\(10026\\) There were)(?!There were)(?!Found declaration: )(?!\\(5088\\)Found declaration: ).*)$", "file": 1, // location may be line or line+column. "location": 2, "severity": 3, "message": 4 } /* , { // Match lines like // Compiling xxx.pas "regexp": "^(Compiling) ([^\\s]+)$", "file": 2, "message": 1, "kind": "file" } */ ], /* We need non-empty owner to hide older problems on recompilation. See https://github.com/Microsoft/vscode/issues/50448, https://github.com/microsoft/vscode/issues/66982 */ "owner": "Kinetic Engineering" } }, // Run the previously compiled TC7 project. // This is like <ctrl><shift><F9> in Delphi IDE. { "label": "(TC7) Run", "type": "shell", "command": "./TC7.exe", "args": [ "/no_scale", "/t:0", "/l:105", "/portrait", "/no_polling_err", "/moveable_display", "/web_debug:..\\Web\\Resources\\" ], "options": { "cwd": "${workspaceFolder}/Output/EMUs/${input:emulatorFolder}" }, "group": { "kind": "build" } } ] } A sample crbuild.bat is as follows @echo off set BUILD_TARGET_TYPE="rebuild" set BUILD_CONFIG=Release set OUTPUT_TO_LOG=Y set OUTPUT_FOLDER_PARAM= rem Set the default Delphi version to compile with, 22.0 => Delphi 11.x, 23.0 => Delphi 12.1 set ProductVersion=22.0 :argsloop IF NOT [%1]==[] ( IF /i [%1]==[-config] ( SET BUILD_CONFIG=%2 shift ) IF /i [%1]==[-ProductVersion] ( SET ProductVersion=%2 shift ) IF /i [%1]==[-Target] ( SET BUILD_TARGET_TYPE=%2 shift ) IF /i [%1]==[-nolog] ( SET OUTPUT_TO_LOG=N ) SHIFT GOTO :argsloop ) set BUILD_TYPE=DEBUG set BUILD_CONFIG_UNQUOTED=%BUILD_CONFIG:"=% if /i ["%BUILD_CONFIG_UNQUOTED:~0,7%"]==["RELEASE"] ( set BUILD_TYPE=RELEASE ) set DELPHI_VARS_PATH="C:\Program Files (x86)\Embarcadero\Studio\%ProductVersion%\bin\rsvars.bat" call %DELPHI_VARS_PATH% rem build using msbuild set MSBUILD_CMD=msbuild TC7.dproj /t:%BUILD_TARGET_TYPE% /p:config=%BUILD_CONFIG% echo Running %MSBUILD_CMD% if /i "%OUTPUT_TO_LOG%"=="Y" ( %MSBUILD_CMD% 2>&1>>".\Output\crbuild.log" ) else ( %MSBUILD_CMD% ) Debugging Not working yet, would like to get it working for simple debugging and have only spent a little bit of time on it. Whether it's overly usable for inspecting values/classes etc though will be interesting - but then we have a lot of problems with Delphi debugging inspection etc of things not working. Have tried using lldb setup via the following VSCode launch.json setting file but lldb won't run the exe (eg running lldb from command line). WinDBG will run the exe but have only briefly tried it { "version": "0.2.0", "configurations": [ { "name": "Launch Delphi TC7 L102 Maxphotonics", "type": "lldb", "request": "launch", "program": "${workspaceFolder}/Output/emus/L102 Maxphotonics/TC7.exe", "args": ["/no_scale /t:0 /l:105 /portrait /no_polling_err /moveable_display /web_debug:..\\Web\\Resources\\"], "cwd": "${workspaceFolder}/Output/emus/L102 Maxphotonics", "stopOnEntry": false, "preLaunchTask": "Echo vars" } ] }
  17. Brandon Staggs

    Delphi 12.3 is available

    To be fair, they are being very straightforward about it being a "version 1" release and it isn't even enabled by default.
  18. Angus Robertson

    ICS for RAD Studio 12.3

    ICS V9.4 is ready for RAD Studio 12 Update 3, aka RAD Studio 12.3, and specifically the new 64-bit IDE. The ICS Delphi V9.4 design packages already have Windows 64-bit as a target, allowing them to be installed into the 64-bit IDE. The 32-bit IDE allows design packages to be built with target Windows 64-bit, but not installed. Note the 64-bit IDE does not support Windows 32-bit targets, only Windows 64-bit. If you use the IcsInstallVclFmx.groupproj Build Group, all design packages will be built for Windows 64-bit. All the main samples build OK in the 64-bit IDE, with a Windows 64-bit target being automatically added, unfortunately even when deliberately missing such as the OverbyteIcsNetMon sample that does work in Windows 64-bit. Currently, GetIt only works in read-only mode in the 64-bit IDE, so you will need to install ICS using GetIt from the 32-bit IDE, then start the 64-bit IDE and manually install the three design packages. The ICS V9.4 C++ Builder packages can be currently be installed successfully into C++ Builder 12.3 32-bit IDE for the Windows 32-bit target only. The 32-bit IDE should be able to build for Windows 64-bit and Win64x (Modern) as well, all the package paths are correct, but both targets currently give compiler errors. The C++ Windows 64-bit errors are four unresolved external, and the same error happens in Delphi 11, so should be fixable by someone with C++ knowledge. Building for Win64x (Modern) gives lots of undefined symbol errors due to RAD Studio being unable to import other packages compiled built with C++ Win64x, this error was reported six months ago for C++ 12.2 but is not fixed in 12.3. So ICS can not be used in the C++ 64-bit IDE that only supports Win64x (Modern), not Windows 64-bit. Separately, there is a new version of the DD Service Application Framework used by two of the ICS samples, adding support for 64-bit IDE Wizards. Available shortly from https://www.magsys.co.uk/delphi/ddservice.asp Angus
  19. Hello Delphi Praxis community, I'm excited to share my new open-source project, AppWatcher: https://github.com/mbaumsti/Delphi-App-Watcher Have you ever faced the challenge of managing dozens of Delphi applications running on multiple network machines? Finding a convenient time window to replace executables can be a real headache. That's why I developed AppWatcher. AppWatcher is a Delphi component and applications that allows you to remotely control the stopping and restarting of your Delphi applications across your network. Here's how it works: Integrate the TAppWatcherClient component into your Delphi applications. Deploy the AppWatcher Agent on your client machines. Use the AppWatcher Master application to remotely control all your applications. Key features: Remotely stop applications with user notifications. Automatically restart applications after updates. Avoid using RDP or physically accessing each machine. Minimize downtime and streamline deployment. If you're looking for a solution to simplify remote application management in your Delphi environment, I encourage you to check out AppWatcher. Contributions and feedback are welcome! Thank you,
  20. Remy Lebeau

    Issues migrating away from Indy

    Just because modern OpenSSL is not directly in Indy itself yet does not mean there are no options for it at all. For example: https://github.com/JPeterMugaas/TaurusTLS Did you see this? https://www.indyproject.org/2024/10/20/sasl-oauth-support-finally-added-to-master/
  21. PeaShooter_OMO

    Delphi 12.3 is available

    Possibly but for an issue on a major feature of Delphi that has come for decades already one would expect hard steps to be taken. If it was easy fix it would have been already and seeing that it is hard to fix it would require extraordinary steps. If the steps that were taken already does not work then one would expect another approach.
  22. Cristian Peța

    What does [ref] attribute actually dows

    With const, if the variable is small enough to pass into a register, it will not be passed always as reference. You need to use [ref] to be sure it is passed as reference. This is the reason to use [ref] for FreeAndNil.
  23. Die HollÀnder

    12.3 or 13/14 as next?

  24. Programming with AI Assistance Introduction I’ll take a few minutes to explore the current relationship between AI and programming, as of March 4, 2025. AI evolves so rapidly that claims need constant reassessment. A year ago, I argued AIs relied solely on their knowledge base, not internet searches—a point now outdated, as they do both. So, let’s dive into the key question: Can AI fully replace a programmer today or soon? Can AI Replace Programmers? The short answer is no, and here’s why. Claiming AI can replace a programmer assumes it can flawlessly interpret a designer’s or user’s instructions without ambiguity, generate error-free code, and fix mistakes after the fact. It also implies the AI can review and adapt existing code to meet new or corrected requirements as an application evolves. Picture a dialogue with an AI to build a program. It could stretch over days or weeks, requiring constant backtracking to resolve misunderstandings. Each revision would alter the program, spawning fresh errors—something programmers know all too well. Iterations might edge us closer to the goal, but sifting through endless chat logs to spot where communication faltered would be exhausting. Now, suppose we had a tool tailored for this AI interaction, resembling an IDE (Integrated Development Environment). It could let us search and document requirements, track how new ones affect old ones, and perhaps include a UML generator. Sounds helpful, right? Maybe not—it’d likely just pile another layer of complexity onto development, one still reliant on skilled programmers or analysts to feed it. Even if we fed this knowledge into an AI, it’d need deep familiarity with IDEs or command-line tools to produce the final program. More critically, someone must verify the output meets requirements and works—not just compiles cleanly. Maintenance adds further hurdles: when users report issues in production, do we tweak the original requirements and regenerate the code, or prompt the AI to patch its own prior work? It’s a tangled mess, don’t you agree? Those videos touting “code an app with AI, no skills needed” are like ads promising “speak English like a native.” It’s a hollow pitch—you won’t master it without the foundation, though exposure might sharpen your skills. AI as a Programmer’s Ally So, are those videos about coding with AI useful? No. Their makers aim to entertain you (and rake in ad revenue) while flexing their cleverness—not to teach you AI mastery. Their business would dry up if they did. But here’s a better question: Can AI boost a programmer’s performance? Absolutely, without a doubt. Practical AI Techniques AI won’t replace us—it empowers us. Here’s how I use it daily: Setup: I keep profiles on key AIs—Grok, GPT, DeepSeek, Mistral—ready in browser tabs that auto-open. Even if I rarely touch the last two, they’re there when needed. Function Generation: For standalone functions with clear inputs and outputs, I ask the AI to draft them. Early results may not compile, but they give me a head start. With practice, I’ve honed prompts to get working, compilable code on the first go. Bug Hunting: When my code has a sneaky bug, I pass it to the AI with a description of the unwanted behavior. It often pinpoints the fix. HTML Cleanup: Hand-edited HTML can turn into a cryptic mess. When it’s unreadable, I hand it to the AI to refine and flag errors—a real time-saver. Instant Help: The F1 key once gave contextual IDE help; now I ask the AI for explanations on terms, classes, or functions. It delivers detailed answers and examples, often tailored to my project if we’ve been chatting. Documentation: Most coders dread documenting modules, yet it’s vital for maintenance—the costliest phase of software life. I task the AI with it, specifying depth and skipping obvious lines or pseudocode comments. Performance Tweaks: Facing a bottleneck? The AI can estimate runtimes from source code alone and suggest optimizations—no execution needed. Unit Tests: Tedious, repetitive unit tests are perfect for AI. Give it a controller interface, and it churns out tests fast, ensuring reliability even after changes or integrations. REST Integration: Beyond chat, I’ve built REST interfaces in my programs to query the AI directly with precise prompts, embedding its responses into the app. For example, I use a Stub program to generate varied test data (e.g., JSON arrays of names, split by nationality or location) instead of relying on monotonous random lists. It’s efficient and spares me manual coding. Mastering these techniques—especially REST-driven data generation—lets you apply AI creatively in client projects. The possibilities far exceed this article’s scope, but paired with the next approach, they’ll transform you into a sharper developer. Beyond the Technical: Prospective Thinking AI shines beyond pure coding tasks in what I call "prospective interactions." Before starting a project, I weigh my options—techniques, code structure—and consult the AI. I list my alternatives, and it reasons through the best path, explaining why. I don’t always follow it, but it clarifies my choices. Better yet, I’ll ask it for fresh angles I hadn’t considered. That’s when coding becomes exhilarating—you shift from a technical grinder to a creative problem-solver. That’s the real power of AI as a programming partner.
  25. All this is grand but at the end I still have to tell the "AI" what to do, then keep correcting it by repeating what I said but with additions and changes and then again go over everything it gave me just to make sure it did it right. That is time I could have spent doing a proper documented design and then coding everything myself. I started coding because I love coding. As such I don't dread spending time to type out code to get stuff done and so I don't need a Artificial Non-Intelligence to do my coding for me. Asking A"N"I for information is like walking a mine field. Numerous times while testing A"N"I it gave me totally incorrect answers based on poor data from the internet or even non-existing functions. There is nothing the A"N"I can tell me that I cannot already learn from people like @PeterBelow, @David Heffernan, @Jim McKeeth, @Darian Miller, @Uwe Raabe, @Anders Melander, @Remy Lebeau, @Dalija Prasnikar, (missed a bunch, I am sure). Most of them have already laid down a rich treasure of knowledge and Delphi wisdom on the internet. Willingness to search and read on my part is required though.
×