Recent

Author Topic: Generic Functions  (Read 13697 times)

guest58172

  • Guest
Re: Generic Functions
« Reply #15 on: July 14, 2016, 03:20:47 am »
Here is an example of how 3.0.0 release process was documented. You'll see a lot of non-technical things must be done.

I see, it's hard to raise the legs when they're stuck in the mud. That's quite a Charlie Foxtrot.  :o
Thx for the link, it explains well the situation.

Thaddy

  • Hero Member
  • *****
  • Posts: 14157
  • Probably until I exterminate Putin.
Re: Generic Functions
« Reply #16 on: July 28, 2016, 11:19:38 am »
The good news is it also works in delphi mode:
Code: Pascal  [Select][+][-]
  1. {$mode delphi}
  2. function f<T>(a: T): T;
  3. begin
  4.   Result := a + a;
  5. end;
  6.      
  7. begin
  8.   writeln(f<Integer>(5));
  9.   writeln(f<String>('test'));
  10. end.

One remark about the release frequency:
For the commercial compiler the development is always completely hidden from view for normal users/customers other than the roadmap that promises features that are frequently not there or flawed..
That development is only visible for beta-testers - and in some cases invitees to test about Alpha builds - that sign an NDA (a very strict NDA). I did this for many years.
It is absolutely not fair to compare the development of an opensource software in full visibility with a commercial software where development is kept strictly private.
If you are not prepared to wait for a release because you know that some functionality you need is there, plz change your mindset and consider trunk as closed source until release.

It is done when it's done is a very good release management principle.
« Last Edit: July 28, 2016, 11:31:08 am by Thaddy »
Specialize a type, not a var.

guest58172

  • Guest
Re: Generic Functions
« Reply #17 on: July 28, 2016, 11:36:38 am »
At least more bug fix releases would be expected. I understand that an old language like Object Pascal cannot grow as new ones...but as said the release process explains well why it's not possible. When you see the list it's obvious. I don't blame you, I just tried to understand. It's ok now.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
Re: Generic Functions
« Reply #18 on: July 28, 2016, 11:45:18 am »
Doesn't everything automated ? e.g you type make rlease and 15 minutes later you have everything online ?

No. Every platform maintainer must build his own releases.

Currently the 3.0.2rc1 process is hung on the documentation because the advanced TRECT records in 3.0.2 stress the dialect capabilities of the parser.

Quote
Don't you use continuous integration to track regressions in the tests ?

If users would post less inflammatory messages, they would have more time to stress various facets of the project. Specially the under used ones like fixes branch and release engineering.

This would make all processes smoother and swifter.  If this actually occurs, and the releases really are routine, THEN, and only THEN we can discus frequencies. Specially since the fixes branch is open and usable for people in high need, and the release is merely a rubberstamped  version of that.


marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
Re: Generic Functions
« Reply #19 on: July 28, 2016, 11:48:18 am »
At least more bug fix releases would be expected. I understand that an old language like Object Pascal cannot grow as new ones...but as said the release process explains well why it's not possible. When you see the list it's obvious. I don't blame you, I just tried to understand. It's ok now.

Free Pascal as a project is fairly well rounded and complete. Many competing projects(*) only toss out the source of the compiler, and library/packages integration and providing binaries relies on external maintainers or the users themselves. Usually windows support is the victim there (because the projects are developed on *nix, and for such projects the integration work is thus a magnitude larger on windows, and worse, what it is not designed for)

Count your blessings.


(*) it is pointless to compare with heavily sponsored projects like Java and certain scripting languages.
« Last Edit: July 29, 2016, 01:13:28 pm by marcov »

Thaddy

  • Hero Member
  • *****
  • Posts: 14157
  • Probably until I exterminate Putin.
Re: Generic Functions
« Reply #20 on: July 28, 2016, 12:44:28 pm »
At least more bug fix releases would be expected. I understand that an old language like Object Pascal cannot grow as new ones...but as said the release process explains well why it's not possible. When you see the list it's obvious. I don't blame you, I just tried to understand. It's ok now.

The release pressure from the commercial product is something from the last few years.
When I repeatedly reported the release was not ready because of open bugs that was ignored under the pressure to release at least something new.
Subsequently I did not wanted to be associated by said product as a tester.

These commercial releases are eye-candy and money makers, not bug fix releases.
They only supply hot-fixes when something is really broken.
That also happens with FPC in the maintenance release. Consider these hot-fixes based on back-ports from trunk that are compatible between the versions.
As Marco said: you can always use the fixes branch to keep current ((which is just like the commercial product + hot-fixes and even a bit more).
But a major release is ready when it is ready.
Looking at future versions will get you disapointed even more, because these features in trunk are not guaranteed to be propagated into a release.
Same goes for the commercial product by the way: I have seen many a feature disappear or implemented differently
You have the wrong mindset to understand release management. Be it commercial or open source.
Specialize a type, not a var.

Bogen85

  • Hero Member
  • *****
  • Posts: 595
Re: Generic Functions
« Reply #21 on: December 19, 2022, 06:35:10 pm »

 

TinyPortal © 2005-2018