0

I have read this article Could Free Pascal benefit of something like Apache Maven? but as a beginner in Delphi programming could not understand how does it really work if I want to use Maven Repository for Delphi. Could someone provide any pom.xml examples for Delphi. Or maybe there are some better explanations on the internet.

Niko
  • 69
  • 7
  • Why do you want to use a Java tool with Delphi? If it is the repository part, why not use GitHub or other similar free web based repository? Delphi has integrated support for Git, Mercurial and SubVersion. – fpiette Feb 18 '21 at 09:36
  • I have some background of C++/Java programming languages, so I am not beginner Programmer :) . This project which I started to work is very old one. Now we want to maintain all components that used in this Project and I am trying to find out a right way to deploy used packages. Git, Mercurial and SubVersion are for source code and it is recommended not to use for binary files. So because of my poor experience in Delphi I am not sure if Maven will work. – Niko Feb 18 '21 at 10:09
  • @JFabianMeier Maybe you spent some time to learn that Delphi is up-to-date, only not as widely used as C#/Java/JS... – Delphi Coder Feb 18 '21 at 10:13
  • 1
    @DelphiCoder Sorry, sometimes I am a bit provocative. I didn't mean that Delphi was abandoned. I just would not advice to start new projects with it. – J Fabian Meier Feb 18 '21 at 10:51
  • First what kind of problem are you trying to solve in Delphi? Usage of binary files in version control. In Subversion is not a problem but not recommended. You might take a look here: https://docs.delphipm.org/ ... Delphi IDE's (only a single vendor; limited support in IDE's; Lazarus does exist as well..maybe better?) are more or less up-to-date but the language is limited and no improvements are coming and more important it supports Windows only (via Free Pascal support for other platforms)... apart from the availability of libraries/testing frameworks etc. – khmarbaise Feb 18 '21 at 11:07
  • @khmarbaise Thank you for your comment. My problem is that the old Delphi project could not be compiled because it uses some 3rd party libraries that have been updated. I need to create own Repository where I deploy all needed versioned components and build the project every time on different machines. – Niko Feb 18 '21 at 12:30
  • @khmarbaise Your knowledge about Delphi is outdated. Language updates are made over time. It supports other platforms for about 10 years now! Different testing frameworks exists. Why is the language limited? – Delphi Coder Feb 18 '21 at 12:35
  • @DelphiCoder I know that it's supporting other platforms as I already wrote (lazarus etc.) Does Delphi has things like streams/API (incl. parallelStream) (not talking about TStream), functional programming etc. updates to the language like this: https://www.finalbuilder.com/resources/blogs/delphi-103-rio-language-changes ? If I see Java for example it brought massive enhancements over the years or Go or Rust.. (Java, Go, Rust supported other platforms from the beginning). Apart from community/distribution etc. which includes libraries/frameworks. – khmarbaise Feb 18 '21 at 13:34
  • @khmarbaise *"it brought massive enhancements"* But still no pass-by-reference, no operator overloading... which are supported by Delphi. As for the provided API (and third party libraries): yes, Java is much richer than Delphi. You should have used the word "ecosystem" instead of just "language". – Olivier Feb 18 '21 at 13:54
  • no Pass-by-reference is correct for primitive types. For an instance of a class the address (pointer) is given as parameter. This parameter itself is copied into the stack of the method. Via the name (address) of the instance you can access the instance within a method. So no copying of the instance. Object references (technical a pointer) is passed by value. Operator overloading is a thing which is really bad thing from my point of view (seen this heavily used a in C++ which makes code extremely hard to understand and has only very limited useful use-cases (math?) etc.). – khmarbaise Feb 18 '21 at 14:46
  • @khmarbaise When talking about platform support I don't mean Lazarus, these are different things. Lazarus supports almost anything on this planet! ;-) Delphi supports Win, MacOS, iOS, Android & Linux. TStream is only an abstract base class for e.g. TMemoryStream or TFileStream. Not sure, what kind of streams you mean. I know that list of wanted improvements already, I agree with most points. There is always room for improvements, isn't it!? :) – Delphi Coder Feb 18 '21 at 15:19
  • This https://www.oracle.com/technical-resources/articles/java/architect-streams-pt2.html – khmarbaise Feb 18 '21 at 15:25
  • Maybe this is of interest to you: https://www.finalbuilder.com/resources/blogs/dpm-package-manager-progress-update – Delphi Coder Feb 25 '21 at 14:25
  • @DelphiCoder Thank you, it looks good, may be I can use it for the Project. – Niko Feb 26 '21 at 14:57

0 Answers0