Tom F 83 Posted December 29, 2020 I hate complaining in public about our beloved Delphi because by doing so I add to the negative reputation that it has. So, first: here are some positives: I'm a big fan (and decades-long user) of Delphi. I used Delphi at a Fortune 1000 company where we created several very successful, industry-changing, million-line international applications with it. I use Delphi now in a smaller company to create award-winning products for macOS and Windows. Delphi (and Turbo and UCSD Pascal before that) has been a major contributor to my successful career. But, here's the negative: I'm tired of wasting money on annual maintenance plans. But I need them to fix older bugs or for fixes or access to new platforms. It seems I always have to wait until the first few bug-fixing patches from EMB. If I don't wait until one or two patches have been released, it seems that I and the rest of us becoming unwitting beta testers for EMB. But, now, it's worse: I am totally unable to use Sydney to develop our products. This problem is a memory leak. It was reported last summer: https://quality.embarcadero.com/browse/RSP-30215. And it hasn't been fixed by EMB. This bug prevents us from being able to compile our product in Sydney because we depend on the (wonderful) Mitov libraries which the bug affects. So, the subscription we paid for almost one year ago has been useless to me. The above URL contains a simple sample code to reproduce the problem. EMB has acknowledged the problem. I'm told that a workaround was proposed by EMB but that the workaround would take an enormous amount of time to implemented by us. I recently expressed the above concerns to Marco and Jim. But, I have not heard back anything positive. I'm worried that they may have once again postponed fixing this bug. So I thought I'd post about it here. If you're using the Mitov libraries, you're in the same boat as I am. I hope you (and anyone else reading this) will vote for this issue at the above URL so that perhaps it will be fixed in the near future. Meanwhile, I'm stuck paying for updates that don't work. From my perspective, EMB's programming team appears to be seriously under-resourced. I am very worried that Atana Popov and the group that manages Delphi has abandoned the product and are just squeezing as much revenue for as little investment as they can. It certainly looks that way from here. 😞 1 Share this post Link to post
Guest Posted December 29, 2020 (edited) I dont use RAD 10.4.x or Mitov suite, but for help us, my vote was registered! ✔️ Edited December 29, 2020 by Guest Share this post Link to post
Der schöne Günther 316 Posted December 29, 2020 Quote I'm told that a workaround was proposed by EMB but that the workaround would take an enormous amount of time to implemented by us. Can you link us where that was proposed? I don't see a workaround suggestion. Looking at the three required conditions for memory to leak: Quote The 3 ingredients required to expose the problems are: Have an inline variable Have a function returning an instance that must also be managed The returned instance must not be used Have an Exit statement Can't parsers like FixInsight help here? I think (2) should be a rare enough occasion and still easy to find. Share this post Link to post
Tom F 83 Posted December 29, 2020 28 minutes ago, Der schöne Günther said: Can you link us where that was proposed? Thanks for you thinking on this issue. I am an end user of the libraries. Not having source code, I don’t know anything more about the problem or proposed fixes than what I’ve shared in my post. Tom Share this post Link to post
Guest Posted December 29, 2020 @Tom F I suggest to contact Embarcadero sales and ask for refund/reimbursement, they might offer you some cash back or give you next license for free (who knows !), because this is what legitimate and honest companies do (and developers), with of course an email with nice words explaining how sorry they are jeopardizing your business after already taking your money and not delivering, this what you would do for your own clients when you fail to fix problem or violate a deadline. Share this post Link to post
Mike Torrettinni 198 Posted December 29, 2020 7 hours ago, Tom F said: I hate complaining in public about our beloved Delphi because by doing so I add to the negative reputation that it has. @Tom F It's perfectly OK to complain, even better if you provide details when the issue is resolved or you made any progress with the Embarcadero. In last few years we see that just reporting bugs is not enough, they clear a lot of them but also introduce a lot of new ones. We all want Embarcadero to succeed in providing best Delphi versions, but if we keep our heads in the sand and not 'rock the boat' we are all doing ourselves a big disservice. 1 Share this post Link to post
JSPUS 0 Posted December 29, 2020 If I got this right, there is a bug in Sydney that prevents Mitov's codes from working properly and I assume Mitov is aware of it. If that's the case, then it is fair to say Sydney is not supported in Mitov's codes. Mitov is a EMB MVP. This issue may raise further questions if Mitov has also brought the bug to EMB attention and as been unable to get a resolution. Share this post Link to post
Tom F 83 Posted December 29, 2020 9 minutes ago, JSPUS said: If I got this right, there is a bug in Sydney that prevents Mitov's codes from working properly and I assume Mitov is aware of it. If that's the case, then it is fair to say Sydney is not supported in Mitov's codes. Mitov is a EMB MVP. This issue may raise further questions if Mitov has also brought the bug to EMB attention and as been unable to get a resolution. @JSPUS Your statements above are all correct. If you click the link in my OP, the "Reporter" of the bug is listed as Mitov. He has also posted in the Comments section of the report. The report contains a 30-line self-contained code sample that reproduces the problem. Share this post Link to post
Remy Lebeau 1396 Posted December 29, 2020 3 hours ago, JSPUS said: If I got this right, there is a bug in Sydney that prevents Mitov's codes from working properly and I assume Mitov is aware of it. If that's the case, then it is fair to say Sydney is not supported in Mitov's codes. Since the bug has workarounds, has Mitov updated his code to apply the workarounds until the bug is fixed? 1 Share this post Link to post
Tom F 83 Posted December 29, 2020 22 minutes ago, Remy Lebeau said: Since the bug has workarounds, has Mitov updated his code to apply the workarounds until the bug is fixed? Mitov has said that he is waiting for EMB to fix their bug because the work-around would be prohibitively expensive to implement. Share this post Link to post
Attila Kovacs 629 Posted December 29, 2020 >The 3 ingredients required to expose the problems are: >1. Have an inline variable There I stopped reading. Most likely it will be fixed in the next release, but don't understand ppl. using this very new (not mature enough) feature, especially in 3rd party products. Use a decent library instead. (sorry) 2 Share this post Link to post
Leif Uneus 43 Posted December 29, 2020 As I understand it, the source code of Mitovs libraries can be purchased. I would never rely of a library without the source. 1 Share this post Link to post
Guest Posted December 30, 2020 Can I use Mitov Runtime for commercial products? A:Yes, Mitov Runtime is free for commercial use without source code. Q:Can I purchase the source code for the Mitov Runtime? A:Yes, you can purchase the source code. Share this post Link to post
Darian Miller 361 Posted December 30, 2020 On 12/28/2020 at 7:49 PM, Tom F said: I hate complaining in public about our beloved Delphi because by doing so I add to the negative reputation that it has. .... From my perspective, EMB's programming team appears to be seriously under-resourced. I am very worried that Atana Popov and the group that manages Delphi has abandoned the product and are just squeezing as much revenue for as little investment as they can. It certainly looks that way from here. 😞 30215 was reported in July. A minimal stand-alone test case to reproduce the issue was posted by Embarcadero in September. To complain that you don't have a fix by December is too much. This particular edge case issue is no where near the prime example to be complaining about long-standing bugs... to me, it considerably reduces the strength of your argument. Share this post Link to post
Guest Posted December 30, 2020 2 hours ago, Darian Miller said: it considerably reduces the strength of your argument. Then let me replenish that strength 🙂 They are selling a compiler for money, and we deliver software for money using that compiler so 1) How could they sleep at night knowing they took money for faulty product ? 2) If that is a bug was introduced between 10.3.3 and 10.4, then how hard to track and fix ? i mean, did they wrote 1 million of line ? even so, they should/would/could have fix it by dropping everything else and fix it, literally everything, we build our tests based on the assumption that compiler is right, so what else we are not testing for? and how on earth such bug introduced in the first place ? do they even test their own code ? 3) It is a compiler not a burger, but lets assume you are paying some fast food near you a monthly subscription for one burger per day, and here one day they handed you a burger with a hair in it, you say i can't eat that, it is disgusting and i don't know what else with the hair (in this virus era) ? and now, i don't know what else without the hair are you feeding me everyday? and the master chef say while turning his back on you "just wait till tomorrow it will be better and more delicious we are preparing great new mustard recipe" !!! Would the above considered as argument, can any developer sleep at night knowing he delivered faulty product and took money, risking his client livelihood deliberately, what is the level of Machiavellianism is that ? and on what scale? Believe it or not, some Delphi application does handle real money, and even deal with Nuclear power plants, and some deals with medical machines playing role in human lives. Share this post Link to post
Anders Melander 1783 Posted December 30, 2020 (edited) 8 hours ago, Kas Ob. said: They are selling a compiler for money, and we deliver software for money using that compiler so 1) How could they sleep at night knowing they took money for faulty product ? Do you sell your software? Are there bugs in it? How do you sleep at night? I guess I don't understand what your point is. Edited December 30, 2020 by Anders Melander Share this post Link to post
Guest Posted December 30, 2020 1 hour ago, Anders Melander said: I guess I don't understand what your point is. My point was in the first line answering commenting on Darian point, if few months to fix a bug, known bug introduced that was introduced not long ago messing the core compiler and yet there is full reproduce steps, months passed while they released a roadmap that might be took longer time in preparing than hunting and fixing such bug, Are these valid point to strengthen the empathy with Tom ? Tom have the right be unhappy with his wasted time and money as we all, or do you think such dissatisfaction is improper here ? Share this post Link to post
Lajos Juhász 293 Posted December 30, 2020 19 minutes ago, Kas Ob. said: Are these valid point to strengthen the empathy with Tom ? Tom have the right be unhappy with his wasted time and money as we all, or do you think such dissatisfaction is improper here ? We have zero information about what kind of bug is in the compiler. It can be a 5 second fix or can require a rewrite. I doubt that rollback to Delphi 10.3 is an option otherwise why would anyone change the compiler? As a software developers I think it is reasonable that we can understand that even that there is a bug for some cases nobody tries to rush fixes to be published and risk to introduce new bugs (and make the situation worse). For these kind of things it's better to test and be sure that it's working. BTW. I am also in the process to move from old versions to 10.4 and I am also not happy the state of the IDE and compiler (after these fixes and one minor version there are still known bugs). 1 Share this post Link to post
Guest Posted December 30, 2020 RAD 10.4.x = BLACK-HOLE in programming universe! Share this post Link to post
aehimself 396 Posted December 30, 2020 42 minutes ago, emailx45 said: RAD 10.4.x = BLACK-HOLE in programming universe! Strongly disagree. 10.4.1 is a lot more useable on our large project at work than any previous version was. Sure, it's far away from perfect, but it does not mean it's a "black hole". 17 hours ago, Attila Kovacs said: don't understand ppl. using this very new (not mature enough) feature, especially in 3rd party products. Tbh I was already shocked that inline variables will be added to the language. Was it community requested? Majority of the coders are staying away from it as far as I heard. 2 Share this post Link to post
Guest Posted December 30, 2020 ok... still have a dreams ... good dreams! Share this post Link to post
FPiette 383 Posted December 30, 2020 59 minutes ago, emailx45 said: RAD 10.4.x = BLACK-HOLE in programming universe! That is not my experience at all. I have a lot of projects with 10.4.1 including some large on (hundreds of thousands lines of code). I have no problem at all. Probably my coding style is in Embarcadero testing mainstream. I never rush to brand new features neither. 2 Share this post Link to post
Guest Posted December 30, 2020 if is to stay on the same, then ... stay on the "before" Share this post Link to post
Darian Miller 361 Posted December 30, 2020 11 hours ago, Kas Ob. said: Then let me replenish that strength 🙂 LOL. I knew some response was bound to come in from someone. 11 hours ago, Kas Ob. said: They are selling a compiler for money, and we deliver software for money using that compiler so 1) How could they sleep at night knowing they took money for faulty product ? Sorry, but that is pretty weak as every piece of software has bugs. If you mentioned, say, RSP-9678 Delphi IDE is not DPI aware (from 2014 with 93 votes) then it may have been stronger. Or maybe RSP-17724 Linux x64 compiler produce very bloated code. Or perhaps this thread: 11 hours ago, Kas Ob. said: 2) If that is a bug was introduced between 10.3.3 and 10.4, then how hard to track and fix ? i mean, did they wrote 1 million of line ? even so, they should/would/could have fix it by dropping everything else and fix it, literally everything, we build our tests based on the assumption that compiler is right, so what else we are not testing for? and how on earth such bug introduced in the first place ? do they even test their own code ? Again, that's not an overly strong argument. How many one liner changes have you had to chase for hours on end, that may have not have revealed themselves as a problem for months? The key point here is tests. 11 hours ago, Kas Ob. said: 3) It is a compiler not a burger, but lets assume you are paying some fast food near you a monthly subscription for one burger per day, and here one day they handed you a burger with a hair in it, you say i can't eat that, it is disgusting and i don't know what else with the hair (in this virus era) ? and now, i don't know what else without the hair are you feeding me everyday? and the master chef say while turning his back on you "just wait till tomorrow it will be better and more delicious we are preparing great new mustard recipe" !!! So you can put bugs in your code, or hair on your burgers which you serve, but they aren't allowed? 11 hours ago, Kas Ob. said: Would the above considered as argument, can any developer sleep at night knowing he delivered faulty product and took money, risking his client livelihood deliberately, what is the level of Machiavellianism is that ? and on what scale? Believe it or not, some Delphi application does handle real money, and even deal with Nuclear power plants, and some deals with medical machines playing role in human lives. I believe the major issue here is lack of tests. The main way to gain more confidence in the Delphi platform is by trumpeting, marketing, glorifying their major gains in testing over the last few years (which assumedly has been the case.) Likely one of their most dominant product features is backwards compatibility - that very valuable feature can only be assured with a huge amount of manual effort, or a very large amount of tests. Likely one of their most harshest points of criticism lately is new code is not up to the quality of old code. That also can and should be braced with an adequate amount of tests. Finally, let's state the obvious here: Boian Mitov should not have changed his core library to inline variables until he was completely satisfied that it wouldn't cause problems for his customers. Changing your legacy source code in thousands of places to utilize a new feature of Delphi seems pretty reckless without adequate testing. Yes, we should be able to trust the compiler, but how about using Microsoft as an example... They have one of the largest R&D budgets in the world and they still ship very questionable software. If they came out with Visual Studio 2021 today, would you immediately migrate all your source code to it, after changing it in thousands of places to use one of the VS 2021's newest language features, and then quickly ship your product to all of your customers with a large amount of memory leaks? Would you be out there stating that Microsoft shouldn't be able to sleep at night, or would you be rolling back your changes and provide a stable product again to your customers? I certainly don't like providing an excuse for buggy code, or lack of tests. But this particular example is certainly not the hill to die on. 2 Share this post Link to post
Guest Posted December 30, 2020 (edited) WOW... IT'S A BIG ANSWER!!! WOW Some doubt about Black-Hole? or... how the light get out from there? Edited December 30, 2020 by Guest Share this post Link to post