Jump to content

Joseph MItzen

Members
  • Content Count

    270
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by Joseph MItzen


  1. 17 hours ago, AlekXL said:

    2. Those who need linux, must do it themself  and test their patches not on linux, but ensure also, that those won't break 2 major platforms. Or they full-refund pay. 

    3. Those who need an Apple platforms, need to contibute [and pay]. Obviously those minor platforms are targeted for gain 

     

    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.

    • Thanks 1

  2. On 4/11/2019 at 11:16 PM, AlekXL said:

    1. Any company invested in developing a product written in Delphi and confronting some compiler issue would hire skilled developer to fix it.

    2. Be factual, and name the libraries Delphi lacking. And also, Delphi can utilize C/C++ libraries.

     

    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?"

    • Like 4
    • Thanks 3

  3. 2 hours ago, Anders Melander said:

    Didn't you mean to capitalize "US"?

    And on that note I can't see how what China is trying to do is different from what the US is already doing to the rest of the world...

    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.

    • Like 2
    • Confused 1

  4. 3 hours ago, farcodev said:

    Like someone said on this thread, you can take the FPC / Lazarus way, it's an available and working "reinvented wheel".

    Embarcadero is a company (an evil word for the OSS world) and if they want to keep their compiler closed-source it's their business.

     

    And the old trope "open sourced software is better than closed-sourced only because it is open-source" is old and non factual.

    I have nothing against the open source world, but the fanatism and SJWarriorism of these OSS communities bore me to no end, and it grown exponentially since the last 5-10 years. 

    You're complaining about ideology in the open source community, but you used some stereotypes yourself. Today it is companies that are the key contributors to the Linux kernel, Red Hat is being purchased by IBM for $34 billion dollars, and companies like Google, Facebook, Amazon and Microsoft seem to be in a race to see who can release the most open source code. Open source isn't the enemy of companies; open source is often the reason many startup companies can exist. Open source (e.g. Linux, Apache, Hadoop, PostgreSQL, etc.) enable them to be competitive with much larger companies right away without the formerly massive amount they would have had to spend on software or years it would have taken to develop software internally. Open source is inescapable in the corporate world today (well, maybe in Embarcadero). The two go hand in hand. Heck, even Microsoft is now a member of the Linux Foundation!

     

    I also don't see the open source community as having grown more ideological. They don't need to; they've won. On the one hand you've got Microsoft open sourcing most of C#, running Linux on Azure and porting SQL Server to Linux; on the other side you've got employers requesting applicants' Github accounts on job applications.

     

    Meanwhile, the FreePascal crowd has vowed never to accept a patch for type inference. It's generally the smaller the group or less successful the cause that tends to bring out fanaticism.  "The fanatic is one whom, upon forgetting their purpose, redoubles their effort."

    • Like 2

  5. 1 minute ago, AlekXL said:

    Yeah, I heard that too, but you are underestimating how hardcore some Delphi developer are

    But the most hardcore are the ones least willing to admit there are any quality problems.

     

    I still believe the best use of resources would be to support NewPascal....

     

    http://newpascal.org/

     

    ...which is based on FPC with a collection of patches the FPC folks won't or haven't gotten around to accepting.

     

    It's not easy to get yourself out from vendor lock-in, especially for Delphi users who may have spent 20+ years getting themselves further and further dug in. I know I spent two years disentangling my personal desktop from Windows before I was able to successfully move to Linux.


  6. 38 minutes ago, Larry Hengen said:

    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.

    Isn't the core really the framework? There are several compilers available for dialects of Pascal (Oxygene, FPC, etc.) Even if FPC was a 100% clone of the current Delphi language it wouldn't be much use to legacy customers without a compatible VCL implementation to go along with it.

     

    Regards money in writing an IDE, JetBrains is doing just fine selling IDEs... so many, in fact, that they can charge individuals 1/15 the cost of Delphi Pro and offer open source versions of their Python and Java IDEs and even sell a subscription to all of their compilers for far less than Delphi costs. In fact, they can also open source their Kotlin language under the reasoning that they'll be the best source for an IDE for it. And they'll also give away 10-user versions of their bug tracking and project management software, yet somehow they haven't raised prices in at least three years while Delphi's renewal cost goes up 4% every year.

     

    That said, the bulk of Embarcadero's Delphi customers are long-time users locked into a large amount of legacy code. There's no real financial benefit to EMBT to open sourcing the compiler. It would be of no benefit to the end users either. Former EMBT employee Barry Kelly inadvertently revealed that the 32bit compiler is over one million lines of undocumented (!!!) ANSI C code. Good luck trying to form a community around that!

     

    If they wanted to help they could produce a formal specification for the language, something they've rejected in the past. Then an open source community could leverage LLVM and have a modern, clean compiler produced long before they'd managed to gain any insight into the ancient desktop Delphi compiler's code base.

×