Jump to content

Dalija Prasnikar

Members
  • Content Count

    1072
  • Joined

  • Last visited

  • Days Won

    93

Everything posted by Dalija Prasnikar

  1. Dalija Prasnikar

    Problem running blank iOS app on iOS Simulator

    iOS 12.x and iOS 11.x simulators are not supported because they require macOS 64bit support that is on the roadmap for 10.3.x update (most likely 10.3.2) You can use iOS 10.x simulators. https://community.idera.com/developer-tools/b/blog/posts/build-ios-11-ready-apps-with-rad-studio-10-2-1 https://quality.embarcadero.com/browse/RSP-21654
  2. Dalija Prasnikar

    On-demand ARC feature discussed

    Decisions like that are rarely made by single person. Marco is there as company representative, so he speaks for the company and his personal views may be different ones. Also circumstances change, people change, decisions change. There is nothing unusual about that. You can hardly go forward if you keep focusing on the past.
  3. Dalija Prasnikar

    On-demand ARC feature discussed

    Thank you for offering technical proof (in your own model) of what I have been talking about all along. ARC and non ARC objects can exist side by side, but they don't mix well. And that fact brings all kind of trouble like I mentioned earlier - you have ARC based objects when you don't want them to be automatically managed, you have non ARC objects when you would like to have their memory managed automatically, you have TComponent ownership model on top of all that. You have to deeply know with which kind of objects you are dealing with. That is not simple. Languages with fully automatic memory management models may have their weaknesses with which you may have to deal from time to time, but generally you can just write code without micromanaging objects memory. Anyway, I rest my case... otherwise I would just end up repeating myself.
  4. Dalija Prasnikar

    On-demand ARC feature discussed

    You may want to rethink this statement since Delphi had more than just manual memory management since Delphi 4.
  5. Dalija Prasnikar

    On-demand ARC feature discussed

    We already have mixed memory management model where ARC based classes coexist with non ARC based classes. Now different people have different views how well that model works, but generally it doesn't. It is complex model that requires plenty of knowledge to use it safely, and even if you know how to use it, you constantly have to jump through the hoops because quite commonly you don't have what you really need in particular code. You will either have reference counted class when you don't need one, or you will have non reference counted when you could really use it. On top of that you have TComponent based ownership model that will get in your way when you least need it. OK, it is not all that bad... but situation is far from ideal. Then we got ARC compiler, that solves all that duality problems perfectly. To be clear, no memory management model is perfect for all use cases, but in case of Delphi full ARC was the best fit in terms of existing code bases and integration with existing ARC based model for interfaces. But, it turned out that even though it was the best fit for majority use cases, changes required in existing code bases were too huge, also it required learning and adopting to new ways of writing code. Guess what? ARC was not welcomed by majority of Delphi developers that lead to decisions Macro explained in his blog post and decision that ARC compiler is deprecated. So, after this ARC compiler failure. You want to implement your completely different mixed model that would still suffer from various problems - because no matter how far you go (and even if you can make your model work slightly better that the current one) you still cannot successfully mix ARC and non-ARC objects. Not only you didn't solved original problem, you also introduced another one - your model is completely incompatible with existing code and would require even greater changes to existing code bases. For me that is end of story. This is not viable option, no matter how you turn it.
  6. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Valid questions... Embarcadero would have to appoint gatekeepers - probably their employees, although here they could use knowledgeable community members, but again those community members would have to report back to Embarcadero. For every point release maintaining interface compatibility is imperative. So there would have to be stable interface compatible version branch, and unstable interface breaking branch for future point release. From previous points, it is clear that only current release would be maintained. Any back-porting would have to be done by Embarcadero respecting older release interface compatibility. Probably very few (and more critical patches) would be applied to older versions and only few releases back (maybe even just one - depending on the point release frequency) Access rights - once you put code out it is hard to revoke access, and maybe it would make little sense for doing so. As far as initial access rights are concerned - while it would be nice if everyone could have access, realistically it only makes sense to give access to people that have current (or one older) release. You have to have means to contribute and if you are sitting on Delphi version that dates 5 years ago, you cannot contribute in meaningful manner to current and future releases. I know that people would love to have fixes for older versions, but I don't think amount of effort needed for such back porting would be sustainable. At least not for Embarcadero. What community in general could do in that regard - I don't want to speculate (including legal reasoning) At the end even now, we all have the sources, and nothing prevents people to organize some dark web code patching.
  7. Dalija Prasnikar

    Delphi compiler need to be opensourced

    I am not sabotaging anything. I am merely presenting the facts that must be taken into account. Without that it may look like open sourcing the compiler is just one GitHub click away and Embarcadero is not doing that "good" move on purpose because <insert conspiracy theory du jpur> Also, when it comes to sabotaging, like I already said, you don't need any help in that area, you are perfectly doing that yourself. Your request lacks any real arguments and is basically insult to everyone working at Embarcadero.
  8. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Seriously???? You would leave five year old alone in control of the house when parents are away? Actually, it would be more like leaving the five year old with matches and can of gasoline. Let me say it again: Somebody (Embarcadero employee), extremely knowledgeable in particular code base would have to be gatekeeper - managing pull requests and communicating with community in general. That somebody would have to be top gun compiler engineer, someone from existing team who knows code base well, not someone who would they just throw in working for peanuts. So yes, under current circumstances that would take valuable resources away from current compiler development. And that is something we (or Embarcadero) cannot afford at this time. Yes, it would be good if Embarcadero would expand their core teams. That would be good move regardless of open sourcing . But even if they manage to hire good engineers today, it would still take quite some time before such expanded team could bear the burden of open sourcing. LOL And leaving amateurs to rampage all over the compiler, yeah, that would end really well. As far as RTL/VCL/FMX is concerned, it is not about catering for all old versions in existence out there. It is about going forward, so no compiler version would not pose a problem.
  9. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Yes, but sometimes it takes several iterations for some fix, or needed feature to end up in release. And patching on your own takes time. If everyone has to do it that is huge waste of time.
  10. Dalija Prasnikar

    Delphi compiler need to be opensourced

    My comment under the QP request that explains my stance on the matter. I don't want to enter into endless discussion there because it is ultimately the wrong place. @Marco Cantu enabling access to compiler (or any other sources) and allowing community contributions does not mean giving it for free. You can put up any license terms you want. I know that enforcing license is harder than having closed source, but people that will violate such licenses will just use cracked versions anyway - that is far simpler that rebuilding compiler on their own, only handful of developers would go that route. While Delphi compiler code might be worth studying for those interested in compilers, I highly doubt there is any ground breaking technology there worth stealing nowadays. From that perspective opening compiler (or other sources) does not seem like showstopper. @All however, open sourcing (I will use that term, regardless of what the actual licensing model would be) is not as simple as mere dumping source on GitHub. Somebody (Embarcadero employee), extremely knowledgeable in particular codebase would have to be gatekeeper - managing pull requests and communicating with community in general. In order to open sourcing to be successful endeavor there must be significant number of contributions made, without that - the whole thing makes no sense for Embarcadero (and for the community as well - beyond satisfying everyone's curiosity). In that case gatekeeper(s) will have their hands full. Not to mention that for every successful contribution, there will be countess others that will have to be reviewed and rejected for various reasons. That part introduces additional cost to Embarcadero and ability to develop code on their own, because part of the resources that would be used to developing in house will have to be spent for community interaction. Eventually, gains from community code can outweigh the costs, but that would take some time. Also, in code base that large, it may take years for community to start contributing in meaningful manner. And gate keeping would have to start immediately. There will be developers that will jump in from the start trying to fix their pet pevee without looking at bigger picture (breaking things like bull in a china shop). Now, that might look like - it it would take long time, let's start early then... but like I said, initial cost in terms of resources might be too high. Especially, now when there is a lot of work to do on various compilers - new ones (Android and macOS 64bit), including introducing some new features that are already in the works. From that perspective, open sourcing compiler in general... yes, but I don't think now (or any time soon) would be the right time. Right now (or soon enough), opening up sources to RTL/VCL/FMX would be much better move - we already have the sources, we already know our way around them. Community at large can more successfully contribute to those sources than to the compiler. Again, that kind of project would also have some initial cost, but I believe it could pay off much sooner. Open sourcing is the double edged sword - in order to be successful it takes resources that would otherwise be spent on in house development (with much higher initial progress rate). But the push for open sourcing (because, of the illusion that community can fix things faster and better) is greater in times when internal resources are spread thin, than in the times when everything works peachy. So it is kind of damned if you do damned if you don't situation.
  11. Dalija Prasnikar

    Class inheritance and hides method

    http://docwiki.embarcadero.com/RADStudio/Rio/en/Methods_(Delphi) Overload is used when you have methods with same name but different parameters. Override is used when you have methods with same name and same parameters, but one is in parent class (marked as virtual or dynamic) and other is in child class and you want to override method functionality in child class.
  12. Dalija Prasnikar

    Delphi compiler need to be opensourced

    I am critical, because you are seeking collaboration and your attitude is making more harm than good. Not just for your particular request, but it is undermining other efforts in similar areas. I am not stranger to saying harsh words, but there is a difference between backing your words with actual arguments and empty phrases like "we love Delphi more than you do". Feel free to criticize me when I do something wrong. I have no problem with that. I am an atheist and God has no meaning to me. For my actions I will be and I am accountable in this life only.
  13. Dalija Prasnikar

    Delphi compiler need to be opensourced

    It does not matter how old it is, it matters that things can change . Just like deprecating ARC at some point seemed highly unlikely. And for the record that is the change I didn't wished for.
  14. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Baby steps If bug report is open, it does have greater chances for being fixed than if it is closed. Also not all bugs are easily fixable. But one of the greatest issues, that for long period seemed like it will never happen, was introducing 8bit strings to all platforms. If nothing else, this makes me hopeful.
  15. Dalija Prasnikar

    Delphi compiler need to be opensourced

    And here your splendid personality jumps out again. Yes, I made a mistake. People do that, you know, regardless of experience. After being knowledgeable in your field of work, ability to recognize and admit your own mistakes is one of important qualities for successful developers. If one is not able to own his own mistakes it is hard to expect that such person will allow others to make mistakes without making too much fuss about it. Your response shows that either you don't have that quality or you have really short fuse. And neither makes you a wonderful team mate. And If you read my response you will see that I didn't included SWIG library (two and some years old) - I simply overlooked it. Last time I had to use C++ with Delphi was 8 years ago and it was no fun. I am glad that landscape has changed in that regard. Delphi ecosystem is not huge (no matter how much we would want it to be), and ability to interact with libraries written in other languages can make a whole world of difference. You don't want to reinvent hot water if it is already out there. Also, you might use other toolsets besides Delphi and utilizing same libraries across those toolsets also counts a great deal.
  16. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Serious question. So far you have managed to volunteer other people to do the compiler fixing. But you haven't told us anything about what can you offer in that regard? How can you help improving and fixing the compiler? What are your skills?
  17. Dalija Prasnikar

    Delphi compiler need to be opensourced

    First tool explicitly mentions it is not for translating C++ header files Another excellent tool which utilize CLang to convert C (not C++) header files to Delphi:  https://github.com/neslib/Chet Second tool description says This tool will convert most of your standard C code. So, yes C, no C++. For using C++ you need to go extra mile: http://rvelthuis.de/articles/articles-cppobjs.html
  18. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Just for the record C is not C++. Joseph Mitzen didn't exaggerated that.
  19. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Agreed. There is no need for others to sabotage anything. You are perfectly capable of sabotaging both the proposal and this discussion on your own.
  20. Dalija Prasnikar

    Issue with code-editor toolbars

    Yep.
  21. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Without going into deep discussion about compatibility and other technical issues... AFAIK Marc Hoffman would rather drop dead than sell anything to Embarcadero...
  22. Dalija Prasnikar

    Delphi compiler need to be opensourced

    Core issue is in LLVM https://bugs.llvm.org/show_bug.cgi?id=1269 While in theory it would be possible to address this issue from Delphi side, it is probably as hard as solving it on LLVM side for the similar reasons. The most prominent issue is in capturing exceptions raised from accessing nil references, and addressing this particular use case would probably be simpler than all encompassing solution. However, I am not in position to say how easy or hard would be to implement this kind of fix in Delphi compiler.
  23. Dalija Prasnikar

    Delphi compiler need to be opensourced

    No. Only iOS and Android are LLVM based. http://docwiki.embarcadero.com/RADStudio/Rio/en/Delphi_Toolchains AFAIK first Linux release (Tokyo) was also LLVM. And you don't want to have LLVM on other platforms for few reasons. Not only it is slower than "old" handcrafted Delphi compiler, more importantly LLVM cannot handle exceptions in way Delphi compiler does. Using LLVM on desktop would break a whole a lot of code. You can fin more at https://dalijap.blogspot.com/2018/10/catch-me-if-you-can.html
  24. Dalija Prasnikar

    Initialize local variables at declaration

    If everyone stays away, bugs will never be found and fixed... I have used them a lot in various shorter and longer experimental code... so far so good (in spite known bugs)
  25. Another thing... you are asking confirmation for some design approach that didn't feel right at the end. If it does not feel right, there is probably something wrong and it is quite likely that composition would be better choice. If composition solved your problem, probably it IS the right choice and the next time you encounter similar situation it will probably be right choice again. But, without seeing actual code and knowing the context in which it will be used, it is really impossible for us to say one way or the other.
×