Advertisement

April 2014 Project of the Month, Free Pascal

For our April Community Choice Project of the Month, our community has selected Free Pascal, an advanced open source compiler for Pascal and Object Pascal. The project founder, Florian Klaempfl, tells us about the project’s history, purpose, and direction.

SourceForge: Tell us about the Free Pascal project please…
Florian Klaempfl: Free Pascal is an OSS pascal compiler supporting different pascal dialects including modern Object Pascal (for more details see theFree Pascal Homepage). It is written itself in Object Pascal, so users do not have to learn another language if they want to improve their compiler.

SF: What made you start this?
FK: In the early nineties, I wrote chess programs using Turbo Pascal. TP was a 16 bit compiler so it didn’t take advantage of the i386 getting popular at this time. After trying some alternatives, none of them made me happy, I decided to write my own compiler. This was in 1992. The current code base
of FPC was started in 1993. Sounds like Linux at the beginning of Linux, right :)?

SF: Has the original vision been achieved?
FK: In the sense having a 32 bit compiler pascal compiler yes, in the sense to use it for my chess programs, no. I never ported my chess programs to FPC.

SF: Who can benefit the most from your project?
FK: I think there are multiple groups who can benefit from it:

– People who want to learn only one programming language which allows them to use it for almost everything: FPC can be used to do big database applications but it can be also used to program embedded devices. It can used to write numerical applications but also to code for mobile devices.
– People who have a large Pascal/Object Pascal code base
– People who are interested in a programming language which offers a compromise between high
productivity and the advantages of native code.

Obviously, the most can benefit people who are part of all three groups.

SF: What is the need for this particular programming language?
FK: Modern Object Pascal supports most language features which are expected from an OOP language. In combination with its good readability it is a very powerful language.

Further, the concept of modern pascal allows very fast turn around times. While some people might say this does not matter with today’s machines, I still think it makes a difference: FPC rebuilds its own compiler sources (i386: ~330k lines) on an i7-4770 in 4.2 s. So no need for a cup of coffee while compiling a project.

SF: What’s the best way to get the most out of using Free Pascal?
FK: Using it in combination with Lazarus: a RAD built on top of FPC.

SF: What has your project team done to help build and nurture your community?
FK: I think the most important thing which helps to build and nurture the community is stability in
different aspects:
– we try to break never people’s code, so backward compatibility is an important thing
– we do heavy automated regression testing to avoid bugs being reintroduced, every night, regression tests are run with >100 different configurations and the results are collected in a central database. Developers get a daily summary of the
tests with information if regressions appeared.

Further, FPC tries to give everybody being interested in an working on an OSS pascal compiler a “home”. So the development directions are mainly driven by the contributors as long as two basic rules are obeyed: FPC is a pascal* compiler and other people’s code may not be broken**. Recent example: revived m68k support. It makes little sense to do so to get a lot of new users of FPC, but if somebody implements it, he is free to do so.

*This is subject to be discussed, “wirthian language” compiler might be also ok.
**Of course, sometimes this cannot be avoided.

SF: Have you all found that more frequent releases helps build up your community of users?
FK: FPC has a very slow release cycle: during the last years it is approx. one release per year. There are multiple reasons for this:
– FPC is almost 21 years old, so it has a certain maturity
– Building FPC from development head is not hard and normally done, see above, within a few minutes
– Due to its maturity and a development model grown over years, the development head is normally also very stable.
– We normally prepare binary releases and these binary are not just compiled, packed and uploaded but also tested. Due to the amount of platforms this takes considerable time so each release cycle eats also time which could be spent in other things.

SF: What was the first big thing that happened for your project?
FK: For me it was when the compiler was able to build its own sources, this was in 1995 after almost two years of work.

SF: What is the next big thing for Free Pascal (and/or feel free to talk more in depth about the “write once, compile anywhere” concept, sounds interesting)?
FK:The next big thing for FPC will be the 3.0 release: Besides a lot of new language features, bug fixes and improvements, 3.0 will extend the compile anywhere concept further. It is expected to be the first FPC release version which can output jvm code as well as i8086 code and maybe also the avr port will be in a usable shape.

SF: How long do you think that will take?
FK: We expect to release 3.0 in 2015.

SF: Do you have the resources you need to make that happen?
FK: Normally yes, the only question is what will be in 3.0.

SF: If you had it to do over again, what would you do differently for Free Pascal?
FK: Actually not much.

SF: Is there anything else we should know?
FK: I think the most interesting aspect is that FPC has no company in the background: it is developed by a community of people having either a need for it or having just fun working on it as their hobby.

26 Responses to “April 2014 Project of the Month, Free Pascal”

  1. silvioprog Apr 15, 2014 at 10:38 am #

    Florian, I’m your fan! (y)

  2. JoseBenedito Apr 15, 2014 at 10:47 am #

    vive la FPC! 😀

  3. euliciojunior Apr 15, 2014 at 10:52 am #

    I am also your fan Florian!

  4. Jan van der Zanden Apr 15, 2014 at 1:43 pm #

    Florian, I made an application with FPC  to process incoming payments. It works quick and great!!! Thanks very much. Jan vd Zanden, NL.

  5. silvioprog Apr 15, 2014 at 1:48 pm #

    I love Free Pascal! Now, with FCL-web, I can develop for web too (http://goo.gl/RuJu5Q).

  6. Boxofrelays Apr 15, 2014 at 2:06 pm #

    Thank you Florian. I am using FPC for industrial automation control systems. -Chris W

  7. MiSchi Apr 15, 2014 at 2:07 pm #

    Enabling Pascal programming on Ma OS X including the bonus to practice and actually use object oriented programming is my most appreciated feature of FreePascal.

  8. xennemans Apr 15, 2014 at 5:17 pm #

    Doesn’t sound very interesting to me. That’s mostly because of an undelimited scope. OSS developers don’t seem to have a problem with that. Too much choice lol.

  9. Bitbeisser Apr 15, 2014 at 6:10 pm #

    xennemans What do you mean by undelimited scope?

  10. kapibara Apr 15, 2014 at 9:12 pm #

    Object Pascal and Lazarus is a very productive combination.

  11. Jan Roza Apr 16, 2014 at 2:25 am #

    Thanks Florian! I’m totally hooked on Pascal and my Delphi installation is slowly disappearing under a layer of dust as the Lazarus/FPC combination can do all that I could do with Delphi. Also the Lazarus/FPC community are a great bunch of guys with a wonderful spirit (and in my case a lot of pride for Lazarus/FPC). Jan Roza

  12. Marius Dalacu Apr 16, 2014 at 4:23 am #

    Thank you for this! It is the only thing that have kept me in programming business. My brain just could not stand java and C. OOP is the way for me !

  13. Michael Apr 16, 2014 at 8:21 am #

    Works great. Great Work. Since I am hobbyist and have more time left to work at the OS level especially under Linux.

  14. Michael Apr 16, 2014 at 8:26 am #

    Great work.

  15. Thierry Apr 16, 2014 at 9:20 am #

    Thank you for FPC and Lazarus. There is a great community out there. Thank you all!

  16. Edwin Yip Apr 16, 2014 at 9:44 am #

    Florian and other team members, thank you, I definitely will use FPC/Lazarus in the near future! If I’m not off topic, anonymous method my most-wanted language feature!

  17. fredvs Apr 16, 2014 at 4:48 pm #

    With fpc you can do programs for many os but not only… You can create native libraries accessible by lot of languages. You may create “classical” native libraries and Java native libraries too. And with the open-soul of fpc, with his universal “loadlibrary” feature, your fpc libraries can dinamically load other native libraries. And a fpc Java native library can dynamically load “classical” native libraries too. I never was able to do that with gcc or visual studio… Trust me, fpc is really brilliant and excellent.

  18. Edwin Yip Apr 17, 2014 at 3:58 am #

    Correction, should be “anonymous method is the next language feature I wanted the most, and I wish FPC3.0 will support it!”. I’m asking this because I couldn’t seem be able to find any info about the new languages about the upcoming FPC3.0

  19. Mario Apr 17, 2014 at 8:46 am #

    Very very thanks to Florian and the FPC team. After ten years of working with FPC and Lazarus I could say they are great projects. You saved tons of my previuous Dplhi projects, and allows me to continue working with my preferred languaje: Pascal !! Long life to Pascal !

  20. dio_affriza Apr 21, 2014 at 9:48 pm #

    I love Lazarus and Freepascal. Very very very thanks to FPC team.

  21. MisuKun May 4, 2014 at 1:41 am #

    the best pascal compiler

  22. Theo Kramer May 10, 2014 at 1:49 am #

    I recently made a program for (huge) spreadsheet conversion. With a Python program using a spreadsheet library it took half an hour to do the conversion, with Free Pascal only a few seconds…

  23. JasonLWharton May 23, 2014 at 11:01 am #

    I have been able to port my product IB Objects (www.ibobjects.com) over to work with FreePascal with Lazarus. It is amazing how much help I receive from the FPC/Lazarus developers. They are truly passionate and dedicated to make this development environment the best option out there. There is no other option out there that delivers you a true native-code compiler that is at the same time so productive to use for visual interfaces. This makes me very excited because my product combines with this native access to Firebird SQL, which is one of the best relational databases out there. It is amazing to me that with my product and these other two products someone can develop a rich user interface database application on Windows, Linux and Mac OS X.

Trackbacks/Pingbacks

  1. Links 16/4/2014: Red Hat PR, Ubuntu LTS Imminent | Techrights - Apr 16, 2014

    […] April 2014 Project of the Month, Free Pascal […]

  2. Apache OpenOffice Word Processor hits the 100 million downloads mark. - US Message Board - Political Discussion Forum - Apr 18, 2014

    […] you aren't paying $400 for Microsoft Visual Basic: April 2014 Project of the Month, Free Pascal April 2014 Project of the Month, Free Pascal | SourceForge Community Blog __________________ For by grace are ye saved through faith; and that not of yourselves: [it is] […]

  3. Free Pascal is candidate .... - Delphi-PRAXiS - Apr 25, 2014

    […]   Heute, 15:38 April 2014 Project of the Month, Free Pascal http://sourceforge.net/blog/april-20…h-free-pascal/ […]