Free Pascal is a GPL compiler for 32-bit and 64-bit CPU architectures such as Intel 32/64 bit, AMD 32/64 bit, SPARC, PowerPC and Intel ARM. It is language compatible to Turbo Pascal, Delphi (till version 7), and partly Metrowerks Pascal. It supports many operating systems: Dos, Linux, Windows, OS/2, FreeBSD, NetBSD and OpenBSD, Novell Netware, Mac OS classic, Mac OS X and MorphOS.
It comes with a cross-platform Run-Time Library, many interfaces to existing libraries, and a large set of non-visual classes in the Free Component Library. Last but not least, a text-mode IDE exists on various platforms, and FPC comes with 1800 pages of documentation.
What is new when compared to version 1.0 ?
- More supported CPUs:
AMD64, SPARC, PPC (32 bit), ARM.
- More supported platforms:
Mac OS classic, Mac OS X, MorphOS, Novell Netware.
- Improved inlining
- Improved register variables
- Improved 80x86 assembler optimizer
- Threading support.
- Rudimentary variant support.
- Interfaces support.
- WideString support.
- More Delphi compatibility units.
- Greatly improved database access.
- New compiler mode:
MACPAS for compatibility with Pascal compilers on Mac OS.
- Complete documentation of RTL units, generated using a new documentation tool, included in the distribution: fpdoc
- Completely rewritten Unix support.
- Completely rewritten compiler, allowing for easier ports to new architectures.
- Free Vision text-mode windowing system.
- Many new packages.
- And of course, Numerous bugfixes.
2. Why Pascal?
The 3d-game Lentil Wars is being written with Free Pascal
Because the open source world is a bit biased to C, we'll have to answer the question "what is Pascal good for?". To answer this question, we need to compare Pascal to other modern programming languages which are currently available. Pascal is about as old as the C programming language and there are many similarities between both languages; both are procedural third generation languages that allow the programmer to do structured programming and both languages have been used to write large real world applications.
New languages, like Java and C#, promise to ease programming by providing managed code with automatic memory management. As this frees the programmer from a task this makes programming somewhat easier. Therefore one can ask whether interest in old school languages is still justified. It is the case however, although recently a lot of progress has been made to reduce the speed disadvantages of managed code, these languages tend to produce software that requires large bloated runtime environments and is often perceived as slow by users. At this time, these are reasons for many programmers and users to dislike those new school languages. (By the way, how novel is managed code? Been there, done that, didn't work. Remember the USCD P-system?)
Anyway, today, the majority of software being written runs directly on the operating system, and we believe this will at least remain the case for quite a while. As of such it is important to have good tools available to write such software. The various C compiler suites provide such a tool and so does Free Pascal. While Pascal and C are similar, the language Pascal has still many things to offer that aren't available to many programmers. For example, Pascal's traditional strength, type-safety, is as valid today as it was 30 years ago. Modular programming was introduced in a much nicer way and so are the object oriented extensions.
Pascal removes things for you to worry about. For example, every use of a string in C needs measures to be taken to prevent buffer overflows. Pascal does not remove any freedom from you, so if you would like to build a buffer overflow vulnerability in your code, go ahead! However, using something trivial like a string does not require you to worry about buffer overflows and as a result, they are less likely to happen.
Modern Pascal offers many ways to build better software. In modern object oriented software design, Pascal's properties give you a powerful tool to guard the integrity of your objects, and interfaces give you the power of multiple inheritance without the semantical difficulties. The use of RTTI (Run-Time Type Information) provide easy streaming and many RAD design options. See for instance the Lazarus project, which makes a cross-platform IDE using Free Pascal.
As for Free Pascal, I'm sure many programmers will appreciate it compiles 9 times faster than GCC, provides clear, helpful error messages, and frees you from the task to write make files.
Summing up, programming in Pascal gives you as programmer many advantages over your collegues writing C.
- "FreePascal, Page 1/2"
- "FreePascal, Page 2/2"