Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 04/15/19 in all areas

  1. The DDevExtensions 2.85 and the DFMCheck 1.6 are now available for Delphi 10.3 Rio. DDevExtensions Changelog Added: Support for Delphi 10.3 Rio Added: Use Unit dialog option “Every unit on a single line” Improved: UnitSelector Dialog in Delphi 2009 opens much faster Fixed: Structure-View search dropdown had a max height of 2 items Downloads
  2. 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.
  3. Joseph MItzen

    Delphi compiler need to be opensourced

    1. We get posts here, Reddit, etc. along the lines of "Please help me install Borland Database Engine on Windows 10" all the time. A large number of the Delphi applications being maintained today are being maintained on old versions of Delphi and the companies responsible for them have no desire to spend anything to modernize them. For example, the Melissa and Doug toy company in the United States uses an in-house ERP (Enterprise Resource Planning) program written and still maintained in Delphi 7. 1B. Again, a "skilled developer" can't just look at one million lines of undocumented code (that might be older than they are) and fix it. It could take years for a dedicated open source community to work their way through and document that code. Even then, the only sane options would be to massively refactor and modernize it or, again more likely, simply start over. 1C. Who would be in charge of the code? Would Embarcadero oversee it? If so, they might not approve changes. And they're unlikely to want to give up control, as that would be giving up control of the language. Going back to Firebird, they have a poor history of properly supporting open source code, and Marc Hoffman said that one EMBT employee said during discussions "We own Pascal." Not quite the mindset required to turn over control of their compiler/language to a third party. 1D. If there aren't enough developers interested and able to support FreePascal or NewPascal, where are the developers going to come from to spend years trying to make sense of the old Delphi desktop compilers, a much harder task with a much longer time to payoff? 2. Are you serious? Get-It has about 200 packages after four years, most of which are trials. Torry's Delphi Pages, the oldest collection of Delphi software still around, has a little over 10,000 packages ( a number that's barely moved from 2012), the vast majority of which are from the Delphi 5-7 era and most of the rest being trials of paid software. In the last 30 days it's added 17 files, only one of which is for free software. Now take a look here: http://www.modulecounts.com/ Java has over 274,000 open source libraries at Maven Central, C# has over 148,000 in nuget, Python over 174,000. Java is adding 197 a day, C# 93, Python 122. Per above, Delphi added 1 in 30 days. What libraries is Delphi lacking? Almost anything that doesn't involve grids (Delphi users are obsessed with grids). Serious numeric software (although you can pay $1600 for a bundle of Dew Research's matrix library, sci/stat function library, 3 basic data mining algorithms and Steema's TeeChart). Machine learning libraries. Financial libraries. Let's go smaller - I'm interested in making a media player. Delphi lacks a music file tag manipulation library (that's post-unicode and documented), audio manipulation library, replay gain library, cover art library, etc., all of which I can find on other platforms as open source. I'm working on another pet project now that involves data analysis and machine learning and if successful will require interacting with websites. I'd like to host it on a Linux Virtual Private Server eventually, which means $3500 for Delphi Enterprise. As mentioned above, the Dew Research bundle with source is $1600, bringing us up to $5100. Now let's add in Steema's TeeBi for some basic data manipulation abilities to clean and transform the data, which is $279. Wait, the only plugin it works with out of the box to export to Excel is TMS' FlexCel. So unless we want to find an open source Delphi Excel library and integrate it ourselves, that's another $141USD. Now we're up to $5520. A capable profiler? Smartbear AQTime Pro - another $600. Now we're at $6120. Let's toss in HelpNDoc for documentation for another $280USD. Now we're at $6400 so far. I want some neural networks... Boris Mitov has 1980's-era Kohonen self-organizing feature maps and basic backpropagation for $389 without source or $1369 with source. That's madness; I coded both algorithms circa 1994 for a school project in Turbo Pascal. Let's use FANN instead, which is an open source library that implements some improvements to basic backpropagation and has a fast C core. There's also an open source implementation of the NEAT neural algorithm for Delphi, but not the next-gen HyperNEAT. Oh well. Genetic programming? RiverSoftAVG has a decent library with basic features for $150. So $6550 so far and we haven't looked at logging or databases. We'll need to scrape and parse HTML - DIHtmlParser is $123 with source code but is very low-level. There's a higher-level parser on Github, but the only documentation is in Japanese. There's an "HTML Component Library" available that seems rather nice, but it's bundled with a lot I wouldn't need, raising the price to $350. Come to think of it, once all of this comes together and is working I'm going to need a high-level process to manage all of the various software tasks - downloading data, parsing data, processing data, interacting with the right websites at the right time, not launching a process that depends on another that failed, etc. Sadly, there simply aren't any "pipeline " libraries for Delphi at any price. And this is the point when one does the math and realizes they could take that money and buy a new desktop with a 32 core AMD Threadripper, 64GB memory, high-end graphics card for GPU acceleration, 3 NVMe SSDs in RAID 0 for hyper-fast caching with a few large-capacity hard drives in RAID 5 as backing storage, large curved 4K monitor, etc. and even have some money left over. Seriously. And they can use the Python scientific software stack of NumPy, SciPy, Matplotlib for matrices and graphics, but also use modern "grammar of graphics" (functional composition) libraries like plotnine or altair, something TeeChart doesn't offer. Pandas has had almost a 10 year lead time on TeeBI and is far fuller featured and much better documented. Scikit-learn offers a massive machine learning suite, unlike Dew Research's anemic three methods and no support functions. NeuPy offers a vast amount of neural networks for free, plus one can download and use TensorFlow from Google or PyTorch from Facebook and gain support for modern deep learning frameworks that do things like power self-driving cars. Let's see, there's a HyperNEAT implementation too; and genetic programming libraries like DEAP which can scale across all the machines on a network if you wish, and also the best clustering algorithm, DBSCAN, which I couldn't find for Delphi. There's the well-known scrapy framework, as well as BeautifulSoup for high-level HTML parsing. Pipeline programs? Companies like Spotify have open-sourced tools like luigi and AirBNB has airflow. Both can produce web pages to monitor the performance of your processes and view dependency graphs in real time! And there's Selenium for driving the major web browsers across platforms. And that's the difference between using Delphi and using a modern language with 100,000+ free and open source cross-platform libraries available. I've spent zero on software, gotten much more powerful libraries in many cases, and don't have to spend weeks or months implementing low-level libraries myself and can instead concentrate on the problem I'm trying to solve. That was the original appeal of Delphi - the VCL abstracted away the monotonous low-level Windows API to allow developers to code only the solutions relevant to their specific problem. Nowadays this is a solved problem in the form of open source software and Delphi is no longer the "rapid" application development it originally was. You're going to spend lots of time writing things that other language users can download and install from modern package managers in seconds. Your other alternative is to spend thousands of dollars on lesser libraries maintained by one person who may disappear tomorrow. In a research paper designed to discover what makes programming languages popular, the authors found from surveys that the single most important factor to developers in choosing a language is the amount of libraries available, preferably open source libraries. I've seen one developer put it this way, "Today, isn't not being popular itself a language defect?"
  4. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    Lol, at least we now agree on a common fact that for now Delphi doesn't have a PurePascal EdDSA implementation.
  5. Fun fact: There was a prototype Delphi compiler that created JVM code. That was back when the Borland JBuilder still existed (about 20 years ago).
  6. Alex, please sit back and relax. Your message is clear, and repeating and repeating this link to QP will not change anything. Even if this thread would have 100 pages, a thread here in this forum will not reach the decision-makers. There is an Embarcadero community for this - I leave it up to you to find out how “boring” they are over there.
  7. Joseph MItzen

    Delphi compiler need to be opensourced

    I'm sure you heard about the first ever photo of a black hole. The associated research paper credits the open source scientific python libraries NumPy, SciPy and Pandas. Python was also one of the tools used in the hunt for the Higgs Boson and CERN scientists have spoken at Python conferences. The PyCon conference has been sponsored by everyone from LucasFilm and Disney Studios to Hewlett-Packard, Microsoft, Canonical, Disqus, Mozilla, J.P. Morgan bank, Twitter, Hulu, and Amazon. In fact, those were just a handful of the 2012 sponsors. Take a look at CodeRage sponsors: "Atozed Software, DevJet Software, Fast Reports Inc, Raize Software, Scooter Software, SmartBear and Steema Software." Draw your own conclusions.
  8. Joseph MItzen

    Delphi compiler need to be opensourced

    That's a major factor that damaged Delphi, per my earlier post. People don't sell each other software libraries anymore. They open source them, which attracts more people to the language, which means more open source libraries for you to use. As I always say, "Make money with Delphi, not from Delphi". Every library that's sold only raises the barrier to entry for a potential new user. If I was being mean, I could say that Python or javascript developers don't need to sell libraries because they can find jobs. Also, their tool suites don't cost more than their desktops. Now your second point gets to one of the things on my list of what I'd do if I ran Embarcadero. You're half right. We need a way to make importing easier. We don't need a conversion tool though. There's a long-running open source project whose software automatically wraps C and C++ code to make it callable from other languages! It's called SWIG, or Simplified Wrapper and Interface Generator. Referencing my point about popularity again, it even supports Modula-3 (!!!) but not Delphi. The good news is that I encountered someone on Stack Overflow whose company added support for Delphi to SWIG internally and were able to generate a fine wrapper of a complex C++ 3D graphics library with it. The bad news is that although asked his company did not appear interested in open sourcing their work. But of course, that means that it is possible to add Delphi support to SWIG. Now, when I tried to broach the subject with The Powers That Be, Marco Cantu decided to deny that a problem even existed, insisting that he does not believe that the .NET ecosystem is larger than the Delphi ecosystem (!!!!). That's when I realized that if you don't acknowledge problems even exist you'll never solve them. Since he wouldn't admit there was a problem, he obviously wasn't interested in hearing my idea for solving it - in this case, I thought Embarcadero should add Delphi support to SWIG and integrate it with the IDE or include it with the installer. Other languages have FFIs (Foreign Function Interfaces) that make it easy to interoperate with other languages. Delphi does almost nothing to make it easier and it's the equivalent of banging on it with a hammer to get C++ code into Delphi. Here's an example of a newer one for Python: PyBind11. (Python has a FFI in its standard library, but it's not very full-featured). But this does serve to illustrate the point that it can be even easier to interface C++ with a dynamically typed language without pointers than it often is to get C++ code working with Delphi currently.
  9. Joseph MItzen

    Delphi compiler need to be opensourced

    Wait, you thought you knew his project better than he did? Seriously?
  10. Joseph MItzen

    Delphi compiler need to be opensourced

    The results of the latest Stack Overflow survey came out and show that more developers are working on OS X and Linux combined than on Windows! For all respondents, 47.5% said they primarily work on Windows while OS X was 26.8% and Linux was 25.6%. For those who said they were professional developers, it's only 45.3% Windows, 29.2% OS X, 25.3% Linux, 0.1% BSD. If you marginalize Linux you're cutting off a group with high technical skills and obviously more enthusiasm for open source than your average Windows user. In fact, since Delphi's tools can't run on Linux or OS X and there's no FMX support for Linux and no 64bit support for OS X, Linux and OS X developers have more interest in FPC than the average Windows user. They need it. Treating them like Embarcadero treats them won't endear them to your project.
  11. Borland tried that once before. The CLX framework in Delphi 6 was a cross-platform version of the VCL. Most of the interfaces remained the same, just the internal implementations changed. That didn't work out so well for them, CLX had to be scrapped.
  12. Stefan Glienke

    Delphi compiler need to be opensourced

    If this thread is only a small foreshadowing of how the community (or rather individuals) would react and respond to an open source project and how things are getting discussed I have to say that I would not want to be part of it. Yes, everyone is permitted to his own opinions but the how is important - and I can see in other communities like for example the C# compiler or .Net Core projects that developers don't want to deal with bs and toxic waste but communicate in a civilized manner. ... and that coming from me known as someone who can voice his opinions in a strong way garnished with cursing often enough ...
  13. 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.
  14. I can only partly agree to this. In new projects I use meanwhile 90% FMX, and simply avoid all the buggy parts, by using the essential components only. Regarding VCL-compatibility, I would love to see this vice versa, maybe make VCL more compatible to FMX. Indeed a few simple changes could make code much more compatible, but the question is if its worth the efford.
  15. At least it already compiles to it.
  16. Joseph MItzen

    Delphi compiler need to be opensourced

    The United States isn't actively planning to annex Taiwan, hasn't enabled a "Great Firewall" to control its citizens' access to the Internet, hasn't declared a President For Life, hasn't engaged in a worldwide scourge of industrial espionage, doesn't artificially devalue its currency to court manufacturing jobs, doesn't fill factories with prison labor, doesn't hold innocent Canadians hostage when one of its industrialists is arrested, hasn't instituted a nationwide biometric monitoring network, hasn't built a network of artificial islands in the South China Sea to prevent access, annex territory and be able to grab resources by military force, and isn't too inclined to run peaceful protestors with tanks. it's also not rolling all of this personal data into a nightmarish "social trustworthiness rating", designed to punish those not deemed sufficiently loyal to the state: https://www.independent.co.uk/news/world/asia/china-social-credit-system-flight-booking-blacklisted-beijing-points-a8646316.html?amp The United States is the key country preventing China from extending its reach and enslaving other populaces or taking their territories.
  17. 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...
  18. Open sourcing the compiler(s) will never happen. That is the core of EMBT's intellectual property, and one of the major reasons why Lazarus/FPC has not eroded the Delphi market further than it has; compiler compatibility. There is no money in writing an IDE and there are lots of them freely available. EMBT's revenue is from developers who have lots of source code which is tied to the Delphi compilers. The IDE makes for most of the development experience, so I think you would have more chance of getting the IDE Core open sourced (like Visual Studio shell) than getting the compiler open sourced. Many developers could competently work on the IDE to improve it, make it portable (xPlatform) etc, but not many developers could contribute to the compilers, IMHO.
  19. There is FPC, spend your time to help there. Then you will have your compiler
  20. While you antagonize those who will make the actual decision? Votes can be ignored, and have been for years.
  21. David Heffernan

    Delphi compiler need to be opensourced

    Pretty bad reasoning. If it's for paid customers only, then there's no security in case Emba go bust. "Because we love Delphi more than you do." How to win friends and influence people.
  22. Dalija Prasnikar

    Directions for ARC Memory Management

    One of the problems with ARC enabled and having [unsafe] as default is that you cannot release object that has disabled reference counting. [unsafe] is only for marking additional references on objects whose memory is managed at some different place (reference). Of course, you can say that compiler would need some tweaking to allow destroying such objects, but it is very likely that at some point the whole construct would fall apart. I never gave mush thought to such "solution" because it seems pointless. Point is. ARC compiler was done right as far as its default behavior is concerned. There are few things around DisposeOf that could be polished, and some other minor bugs that are just bugs, not design flaws. ARC compiler fits the best into existing Delphi infrastructure and neatly fixes issues around object and interface references. Other solutions and workarounds will be poor substitutes and will not solve that duality problem. I wish I would be wrong on this one. I sincerely hope I am wrong and that there is another approach that will not be just a band aid, but full fledged solution.
  23. Dalija Prasnikar

    Directions for ARC Memory Management

    @Marco Cantu No matter how you turn it something is not quite right. I can certainly see why you made the choice you made. Both now, and back then when ARC was introduced. I hope that for the sake of present we (saying we because non-ARC is clearly what your customers want) didn't sacrifice the future.
×