Page 1 of 3 123 LastLast
Results 1 to 10 of 21

Thread: Free Pascal 2.1.4 Released

  1. #1
    Co-Founder / PGD Elder WILL's Avatar
    Join Date
    Apr 2003
    Location
    Canada
    Posts
    6,107
    Blog Entries
    25

    Free Pascal 2.1.4 Released

    Just yesterday the FPC Team has released the 2.1.4 version of their cross-platform compiler. They are dubbing this one the release candidate for version 2.2.0, which will be released in about 2 months time.

    The purpose of this release is to get user feedback and bug reports from everyone that can pitch in to make it as stable as possible for the final 2.2.0 release. So the more that participate, the better the next major release will be!

    They have also published [size=9px](for the first time as I can recall)[/size] a list of changes that you can find right here: List of 2.1.4 Changes

    This version is actually quite monumental in that it's one of the first FPC versions to be released with as many new platforms supported.

    Some new platforms include Windows CE, GameBoy Advance and Nintendo DS.

    The big winner of this version however has to be the addition of Win64! Thats right, Free Pascal is the first open source compiler to support 64-bit Windows operating systems!

    Another new and wonderful thing about this new version is the new internal linker that was added. It supports all 3 Windows platforms; Win32, WinCE and Win64. This results in smaller executables, less memory used during compilation, and faster compile times for programs using large frameworks like for example the Lazarus Component Library.

    There are tons of new things in this version that would take way too long for me to do a write-up on. Your best bet is to either go see for yourself or see how well the new compiler performs yourself.


    Nice work FPC Team! :thumbup:


    [size=9px]More information about Free Pascal can be found at www.FreePascal.org![/size]
    Jason McMillen
    Pascal Game Development
    Co-Founder





  2. #2

    Free Pascal 2.1.4 Released

    they did a bad thing adding generics at this stage....Delphi should have generics (even Win32) in the Highlander which should be out by the 4th quarter of this year....and the syntax will be different...another incompatibility born....other than that, great job...

  3. #3

    Free Pascal 2.1.4 Released

    Can anyone point me to examples of their implementation of Generics.

    I'm hoping it is at least following Chrome's implementation rather than creating a totally new one.

    I was a big fan of STL when I first stumbled across them when learning C++ and having used them recently messing around with XNA, I really don't know how we did without it for so long.
    <br /><br />There are a lot of people who are dead while they are still alive. I want to be alive until the day I die.<br />-= Paulo Coelho =-

  4. #4

    Free Pascal 2.1.4 Released

    [pascal]type
    generic TList<_T>=class(TObject)
    type public
    TCompareFunc = function(const Item1, Item2: _T): Integer;
    var public
    data : _T;
    procedure Add(item: _T);
    procedure Sort(compare: TCompareFunc);
    end;[/pascal]
    this is from the documentation...

  5. #5
    Co-Founder / PGD Elder WILL's Avatar
    Join Date
    Apr 2003
    Location
    Canada
    Posts
    6,107
    Blog Entries
    25

    Free Pascal 2.1.4 Released

    I'm still in lala-land with the whole generics thing. Don't know what it's for and why I'd use it.

    As for the waiting on Delphi, I think that would have been a mistake in it's self. FPC is as much a leading compiler as the Delphi compiler is. The problem is that there is no standardization of the language sets being published by anyone so we're going to get this kind of discrepancies no matter what.

    Do keep in mind though that it's the goal of Lazarus to mimic Delphi and not that of FreePascal. They are only trying to maintain current compatibility with their language differences. Something that is the onus of CodeGear to publish and make clear for it's userbase.
    Jason McMillen
    Pascal Game Development
    Co-Founder





  6. #6

    Free Pascal 2.1.4 Released

    WILL you can read about generics and how to use them in Chrome here - http://www.chromesville.com/articles...-B2C1E772186E}

    Quote Originally Posted by Chrome
    What are Generics?
    Generic types allow you to write strongly typed code that can later be used on a variety of different types. The classical example for efficient use of generics is container classes.
    this is how Chrome defines a generic ]
    type
    List<T> = public class
    public
    constructor(aData: T);
    constructor(aData: T; aNext: List<T>);

    property Next: List<T>;
    property Data: T;

    method ToString: string; override;
    end;
    [/pascal]

    you could then use this generic linked list definition for pretty much any TObject descendent, without requiring typecasting. The compiler fills in all the bits ( and bytes ) so to speak.
    <br /><br />There are a lot of people who are dead while they are still alive. I want to be alive until the day I die.<br />-= Paulo Coelho =-

  7. #7

    Free Pascal 2.1.4 Released

    generics allow you to create a class (or a function) once and use it for different types in a type-safe manner (a TList implemented with generics could store pointers, classes, records, integers, strings, floats, etc. without the need of typecasting or other nasty tricks) simply said....they are a tool how to create more robust reusable code and how to make use of it more easily....I wonder how Delphi engineers will make it so that generic types are exportable from packages (or maybe they won't do it) as well as how will they integrate them with existing things like RTTI...we'll see

    if FPC will introduce constructs which will be available also under Delphi, but they will differ greatly, it will create quite a lot of confusion and will reduce the usage of those features by people who wish to maintain compatibility between FPC and Delphi (and many people are like that)..in the end it won't be good for anybody.....

  8. #8

    Free Pascal 2.1.4 Released

    Generics are like macro's; they exist at compile time only and they are expanded into code after that. Exporting generics from DLL like concepts like packages is something that doesn't compute to me.

    We use a similar syntax similar to Chrome.

  9. #9
    Co-Founder / PGD Elder WILL's Avatar
    Join Date
    Apr 2003
    Location
    Canada
    Posts
    6,107
    Blog Entries
    25

    Free Pascal 2.1.4 Released

    Hmm... I wonder if the FPC Team will be considering Chrome language compatibility in the future as their compiler starts to gain popularity.

    As Daniel says, they have already taken a cue [size=9px](though maybe unintentionally)[/size] from Chrome in the implementation of generics.
    Jason McMillen
    Pascal Game Development
    Co-Founder





  10. #10

    Free Pascal 2.1.4 Released

    We will look at how Chrome implemented things, just like we look at other compilers, since their is no need to be incompatible just for the heck of it. However, we don't intend to be Chrome compatible because:
    * Effort/benefit ratio is at this time not in favour of it.
    * Chrome language compatibility is not enough, Library compatibility is important too. Reimplementing all .NET libraries is not the best way the FPC team can spend its time.
    * Many Chrome features are basically C#'isms we don't consider desired in Pascal.

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •