Author
Topic: The future of Free Pascal (Read 126818 times)

Maybe that’s true, but the fact that many people use JAVA or buy a certain book or do whatever doesn’t mean that this has something to do with quality. More often it’s the other way around…

Normally (but not always) quality comes from a lot of people using a product. Having millions of developers working with Java, and 100’s developing it definitely adds to Java’s quality. The massive eco system, and 3rd party support in very very impressive too.

Quote

I really don’t know why they don’t create at least some kind of backward compatibility. Maybe they are not smart enough…

I can’t speak for C++ or DotNet, but Java’s backward compatibility is once again very impressive. Just recently I used Java class files (I don’t have the *.java files any more) in a new program. Those original class files were written and compiled around 2002-2004, and they still worked with my program compiled in 2017, using the latest JDK!! If that’s not good backwards compatibility, then I don’t know what is. Either way, you can’t do that with FPC’s *.ppu or Delphi *.dcu files.

But then, I didn’t want to get into a Programming Language pissing contest. I simply posted about Java as a joke. I really do like Object Pascal and Java though, and use them daily in my paying work.

Not quite.In D7 windows are made out of a block of tabbed editor, code browser and message area, which means that i only have 2 visible windows to deal with - the top bar and the stack of editor windows.More precisely, it is capable of a middle ground between all docked and all separate.

Plus, the way Windows handle windows, it all shows as one window on taskbar instead of filling the entire thing as Lazarus does.

Just recently I used Java class files (I don’t have the *.java files any more) in a new program. Those original class files were written and compiled around 2002-2004, and they still worked with my program compiled in 2017, using the latest JDK!!

What sort of dependencies did these class files have?A .class file is like an .o or .dll file, and the bytecode haven't been changed in decades, so if they are reasonably self-contained i won't be surprised to see them work.

I can't remember the last time I used a program that requires JAVA RUNTIME, I just hate this never-ending C++/DotNet-PackageInstallBullshit. A little bit more and I got a lot more Packages than normal software... grrrrr... Especially with C++2008 and not even a good and useful Error-Message that I or anybody else can understand... I see a lot of posts in other forums about this ugly topic...

I hate it when I see a nice program and that program needs DotNet 4.5 for example... Then I always think "Hey why can't you use OBJECT PASCAL or FREE PASCAL or maybe C..."

Ran into another problem with Lazarus.When you have a source file behind a symlinked directory, then the IDE will open the file in it's linked name when an error pops up, but will open it in the place the link points to during debugging - two different tabs of the same file!That's nearly a show-stopper level of annoying.

In the IDE in scatter.pas i ctrl-click on a function from a file from ogla.The tab opens, with path of /domain/prg/gr/scatter/src/ogla/raleygpu.pas

Now i set a breakpoit and run it.It reaches the breakpoint and opens a new tab with (2) added to it's name and /domain/prg/baselib/ogla/raleygpu.pas as the path.

Now, let's say i close the first tab and keep only the one the debugger opened.I run the program, and suddenly i have a breakpoint trigger where there is none.

If i try to type in the debugger's tab and make an error, then on compile the first tab will re-open with the error highlighted.If i change it in the first tab, i would get a "reload changes from disk" dialog.

I can’t remember the last time I used a program that requires JAVA RUNTIME,

I actually use a lot of Java based programs here. UMLet, jEdit, Eclipse IDE, trolCommander etc. Installing the JRE (actually the JDK - just in case) is one of the first things I do after a new OS install.

Quote

I just hate this never-ending C++/DotNet-PackageInstallBullshit.

DotNet is totally pointless for me. It’s a bad ripoff of Java, since SUN sued Microsoft all that years ago.

First off, I don’t run Windows period! DotNet is not portable like JAVA.

Secondly, I believe only the Windows and OSX installs of Oracle JRE hound you constantly with updates - like they do for all other things too, not just JAVA. I run FreeBSD and only install updates when I feel the need.

Thirdly - I can’t remember when a Java program told me it can’t run, and that I need to install a updated JRE. When I install a OS + JRE, I always install the latest JRE at the time, currently that is v1.8, and it has excellent backwards compatibility.

Quote

I hate it when I see a nice program and that program needs DotNet 4.5 for example… Then I always think “Hey why can’t you use OBJECT PASCAL or FREE PASCAL or maybe C…”

My issue with Java for years has been memory consumption. But these days I made peace with that. What modern PC doesn’t come standard with 8GB or RAM anyways? My desktop system has 32GB RAM and my laptop has 16GB RAM.

Saying that, I have recently seen a YouTube video where a guy debunks a lot of Java Myths. He managed to run a JVM with a small desktop application in less than 5MB or RAM. Obviously the more 3rd party libraries you include in your application, the memory consuption goes up. This guy also showed that you can run Java ME with less than 1MB of RAM (and some other embedded specific JVM with less than 20KB of RAM). Hell, even the Raspberry Pi v1 came out with 512MB RAM, and my phone has 4GB RAM.

As for speed, it should be well known that Java is no slouch these days. My recent tests (seen in the Graphics section of this forum) shows that my Java executable ran circles around the FPC based executable, and even a C executable.

As for security. The Java security issues that made so many headlines were mainly down to the Java Plugin used by web browsers. Java itself is very secure.

I can’t remember the last time I used a program that requires JAVA RUNTIME,

I actually use a lot of Java based programs here. UMLet, jEdit, Eclipse IDE, trolCommander etc. Installing the JRE (actually the JDK - just in case) is one of the first things I do after a new OS install.

I think since Libre Office no longer requires it, I only use MP LabX which is a NetBeans derivate.

Quote

Quote

I just hate this never-ending C++/DotNet-PackageInstallBullshit.

DotNet is totally pointless for me. It’s a bad ripoff of Java, since SUN sued Microsoft all that years ago.

But most importantly I like .NET as a platform much more than Java with its keep everything at arms length attitude. Java might be fine for enterprise heterogeneous apps, but for small and medium biz, I think the .NET eco system is actually better

(disclaimer I abandoned these kinds of languages in 2005, might have changed since)

This debugger issue seems different from the issue in bug tracker. I think it should be reported.Further possible forum discussion about the subject should happen in a new thread. This thread is supposed to be about "the future of Free Pascal" but actually contains other things.

I remember around 2000 when Java was really hot, and new multi-volume books about it came out every year - you bought one, and it was already out of date, ..

Years later, and .NET was the new hot, with huge books that instantly became outdated when they were published..

The .NET family of languages, especially C#, is really a much better Java.Sadly, it requires a runtime, and it is a hassle to have to deal with assemblies - they are even more cumbersome than regular DLLs! Horrible!

I blame .NET and Hejlsberg and Microsoft - they stole the Borland engineers, remember? for the fact that it is not Delphi and Object Pascal that dominates today.

Yes, .NET is fast and Java is quite close to be just as fast, but the runtime!

.NET is open source, Mono has been for years, and now Microsoft themselves opened up the rest of it, so it is much better than Java, that still suffers from being choked by a corporate entity (Oracle).Remember the recent vulnerabilities, and just how slow they dealt with it?

I am a Linux guy, and I would actually reach for .NET before reaching for Java.

However, I like native code, and I like small and nimble executables.C is much better than C++ in that regard, but Free Pascal is actually better.

Disclaimer:I like my languages small.Thus I do prefer PHP to Node.js, C to C++, and - in the end: .NET to Java.

My issue with Java for years has been memory consumption. But these days I made peace with that. What modern PC doesn’t come standard with 8GB or RAM anyways? My desktop system has 32GB RAM and my laptop has 16GB RAM.

Then we agree to disagree. The more I use Java, the more I like it. As for syntax, I think Object Pascal is way more verbose. In java you don’t have to duplicate class method definitions (like in Object Pascal in the Interface section and the Implemenation seciton). Object Pascal is simply C/C++’s .c and .h rolled into one. Java simply said - you don’t need to duplicate method definitions.

The libraries are huge, simply because they implement everything under the sun. I don’t think there is anything you can think of that somebody hasn’t already implemented in Java. You can’t say that about Object Pascal. Also if you don’t use every single class under the sun in your application, your applications end up being very small.

Note: Java still has 4K competions (remember those from the 90’s, but then using Assembler). If you don’t know what I’m talking about, it is competitions where the applications or demos must be smaller than 4KB in size. It is incredible how much functionality they can achieve with a 4KB java executable. You can’t do that with Object Pascal.

Quote

I am a Linux guy, and I would actually reach for .NET before reaching for Java.

Who actually writes Mono applications? I’ve never seen any job adverts for that either. As for a Mono application, I think in all my years I’ve only seen and used one Photo Manager application under Linux - many many years ago. Also you can’t target OSX with Mono or .NET, but you can with Java.