Jump to content

Joseph MItzen

Members
  • Content Count

    270
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Joseph MItzen

  1. Joseph MItzen

    Shellexecute @ UBUNTU platform

    OK, I think I recalled the disagreement somewhat wrong. It was about being able to call a process and get its output back into Delphi. I cited the standard code examples per https://stackoverflow.com/questions/9119999/getting-output-from-a-shell-dos-app-into-a-delphi-app and opined that it was rather complicated. You offered another method and argued that it wasn't really very hard at all.
  2. Why not have just one image type that can read/write multiple formats? Or at least have TJPEGImage, etc. descend from TBitmap rather than TGraphic?
  3. Joseph MItzen

    Firebird 3 and SP in Object Pascal

    If I understood the original post, what's being talked about is the ability to write procedural code in other languages directly within SQL statements being sent to the server. PostgreSQL offers this, and SQL Server offers this (for .NET languages). For example, in PostgreSQL if Python is installed on the server and the python language support is enabled in the database: jmadden=> CREATE FUNCTION pymax (a integer, b integer) RETURNS integer AS $$ if a > b: return a return b $$ LANGUAGE plpythonu; CREATE FUNCTION jmadden=> select pymax(1, 2); pymax ------- 2 (1 row) Here a user was able to send a function to the server just like a regular SQL statement and then call it. Such code could be in the middle of a batch of SQL statements. Triggers can be coded in other languages, custom aggregates, etc. Firebird doesn't offer this level of support for inlining other languages today.
  4. Do you know what the reason might be for that design decision?
  5. Joseph MItzen

    Shellexecute @ UBUNTU platform

    I know David Heffernan and I have debated this before , but IMHO no, there's nothing like Lazarus' TProcess, Qt's QProcess, or Python's run function in Delphi (David disagrees). I also am puzzled why Delphi has never had a simple way to execute commands and retrieve results.
  6. Joseph MItzen

    Firebird 3 and SP in Object Pascal

    There's a difference between writing code in an external IDE, compiling it, and having a system administrator install it versus simply enabling a user to inline another language along with their SQL code.
  7. Joseph MItzen

    Firebird 3 and SP in Object Pascal

    I began looking at Firebird in 2005. I was told that support for writing functions in other languages was coming in Firebird 3.0, which was going to be coming shortly. It came 10 years later. 😭 And of course, no support for writing functions in Delphi, etc. yet. One would be much better off choosing PostgreSQL, which is also open source, has a long history of approximately yearly releases, is highly extensible (create your own data types, indexes, etc.), has a large plugin ecosystem, and allows for inlining code in many languages. Of course, there are also many enterprise-grade features such as parallel queries, significant replication support, etc. I'm not aware of FreePascal language support, but that would only be due to lack of interest; the plugin system can certainly support it. I've even seen a plugin for LOLcode.
  8. Joseph MItzen

    Who's gonna be at EKON 23?

    Threadripper?
  9. Joseph MItzen

    Who's gonna be at EKON 23?

    *spit-take* Wow, you weren't kidding! 1200 Euros for three days? That's more than my desktop computer cost.
  10. Joseph MItzen

    Any update on the v10.3.3 release?

    I had someone from inside Embarcadero tell me once about the layers of management. When I mentioned this, Marco told me that my understanding of the hierarchy was wrong and proceeded to try to explain it to me. Rather than convincing me that it was simpler, I felt like I needed flowchart paper to follow his explanation. 🙂 From what I recall there was a manager to manage the coders as well as the product manager (which he mentioned entailed a bit of marketing in the job description) and then when AppMethod was cancelled Sara DuPont because a sort of "co-manager", etc. Before Idera at least there were various Vice-Presidents in charge of software, etc. In neither version did I get an idea that there was one clear person in charge of guiding Delphi. Maybe things are different now with Idera and Atanas Popov.
  11. Joseph MItzen

    Any update on the v10.3.3 release?

    They're unknown internally too. I'll never forget the time Marco scheduled a preview webinar for an upcoming release and Embarcadero went and released it two or three days before the preview was scheduled! Marco joked it was now a "postview webinar", but it struck me as strange that not even the project manager had any idea when the product would be released.
  12. Doesn't Windows support SSH now? Could you use that functionality to do what you want? https://www.howtogeek.com/336775/how-to-enable-and-use-windows-10s-built-in-ssh-commands/
  13. Joseph MItzen

    Do we have a spam problem?

    I've got some recommendations.
  14. Joseph MItzen

    Do we have a spam problem?

    Hey, you deal with the Delphi IDE long enough, you need a fistful of cheap unmarked pills of dubious provenance to get through the day!
  15. You're reminding me of something written by Dennis Ritchie about operator precedence in C. At one point early on they wanted to change it, but Ritchie said "We can't; there's almost a million lines of C code out there!" He wrote that in retrospect they should have made the change. Contrast this with the creator of Python, Guido Van Rossum, when talking about breaking compatibility to change how Unicode strings were handled. I don't have the exact quote, but it went something like "All the lines of Python ever written pale in comparison to the number of lines of Python yet to be written". This gets into the touchy subject of how many people are writing new code in Delphi versus how many are maintaining legacy code. Even with C++Builder they brought the 32bit compiler up to C++17 first, saying you'd be surprised how much 32bit code is being maintained by C++Builder users.
  16. Maybe the word you're looking for is "template"?
  17. Joseph MItzen

    [Firebird] What DB to use for a demo

    DBeaver is one of the premier open source/commercial database management tools.... https://github.com/dbeaver/dbeaver You might also want to look into the online dummy data generators, such as.... http://filldb.info/
  18. They don't make their own compilers anymore, do they?
  19. Embarcadero sold to Idera for $600 million. Idera was said to be about the same size as Embarcadero at the time of acquisition, putting the worth of the combined entity at approximately $1.2 billion dollars. For perspective, Embarcadero bought CodeGear for $30 million. As Jolyon Duranko-Smith once observed, if we're extremely generous and assume that the worth of Delphi doubled under its time with Embarcadero, that puts its contribution to the worth of Idera at 5%. It's not a particularly important asset for them.
  20. There's no "perhaps" about it. On the RemObjects forum a comment came up about perhaps RemObjects would buy Delphi if it was up for sale (this may have been around the time it became clear Idera was going to buy Embarcadero). Marc Hoffman then replied, asking what made the poster think they'd even want it. He went on to say that he wouldn't want anything to do with Embarcadero after his experiences with them. He also revealed that at one point during their discussions someone from Embarcadero said "We own Pascal".
  21. Don't worry; they don't have any more of those either so you're at least on equal footing.
  22. "We can't afford a faster computer because Delphi is so expensive".😞
  23. Joseph MItzen

    With's the deal with "With"?

    Hmmm.... maybe you're both right! I think we need to be discussing other languages here because I can't recall a mainstream language with a "with" statement that does what Delphi's does (Python has a "with" keyword but for a different purpose). So perhaps the question should be asked... how do other languages address this problem? Joe Gregorio of Google once gave a talk in which he stated that design patterns were "language smell". He stated that when the same code is written over and over that's where a feature is needed. He talked about the lack of design patterns in Python and other languages like LISP and then went through how features like first class functions in those languages removed the need for the classic design patterns. Perhaps Delphi's "with" points to language smell and we can look at what features languages without that smell have that eliminate it. Why are people using with? To avoid writing code like this: someBigThing.x := 7; someBigThing.y := 8; someBigThing.z := 9; No one wants to write "someBigThing" over and over. We also see code in Delphi where an object is initialized, then lots of parameters are set one by one (creating a temptation to use "with") and then finally an "execute" method or similar is called. I once dubbed this "the Delphi pattern" and then discovered that it's also a problem/pattern in Java and they have a name for it. Unfortunately, I can't recall it right now. 😞 But how is this dealt with in languages other than Delphi and Java? It turns out there is a language feature which eliminates this pattern.... named parameters. The code above can become No ambiguity of the with statement, yet no redundancy of omitting it either! The "Delphi pattern" for object initialization can disappear too into one line of code. If Delphi introduced named arguments the with statement could be eliminated, removing the dangers, while at the same time preserving the benefits and brevity it granted. A simple fix that makes everyone happy and incidentally provides one of the modern language features needed to design some beautiful APIs. The funny thing is that the language actually does have named parameters, but only under very specific circumstances.... https://stackoverflow.com/questions/885942/named-optional-parameters-in-delphi Trivia note: The above is the only Delphi-related Stack Overflow question without a reply from David Heffernan.
  24. Joseph MItzen

    With's the deal with "With"?

    Well, maybe we should listen to what all those people have to say too. I'm sure there is a lot to learn from many different languages.
×