Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2001-08

(no subject)

7 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

shifted soul

Matt
I know that if standards are not used then the
programmer will go into
a black
hole.
But if FPC is a 'new' compiler why not extend the
standards.
If we don't go ahead, we can't grow. I explain :
standards are made step by step, and any new thing added to a standard
is viewed
badly by the others. I give an example :
I am a student, and when I said for my profs that I can use object into
pascal
(with BP), he formally said that it is impossible and if a compiler do
it
(compiling a pascal source code with objects) this is a wrong one (does
not meet
the pascal standrds!).
Then if they (the compiler's developpers) worked with your says (and
the says of
my profs), now we (me and you) will use the hex coding only !
You know now what is the meaning of 'going ahead'? :-)
NB : The original message I send was not about
standards, but about a
technical
issue in FPC : Why does it work?
thanx
bye

___________________________________________________________ Do You Yahoo!? -- Vos albums photos en ligne,
Yahoo! Photos : http://fr.photos.yahoo.com

Full_Name
to shifted soul

Quoting shifted soul :

Matt I know that if standards are not used then the programmer will go into a black hole. But if FPC is a 'new' compiler why not extend the standards.

FPC is not a 'new' compiler. It has been in development for a number of years, I certainly first heard about it over 3 years ago. There have been two releases of Delphi, and Kylix since that point. New, no.

If we don't go ahead, we can't grow. I explain : standards are made step by step, and any new thing added to a standard is viewed badly by the others.

My point was that the FPC core team (the guys that, let's face it, make the compiler work for all of us 'users') keep complaining about a lack of time to improve the compiler. But in all honesty, with a focused objective they will waste less time adding 'standards' that no one actually wants. Let me qualify that a little; no one has yet created a compiler that meets the standard that everyone is looking towards, and there is no call for one. By creating one, surely all they are doing is wasting time (whether this be a lot or a little) on a specification that essentially is worthless. The spec is nearly 10 years old - if no one has created a commercial compiler yet that uses the standard, why do we need one? Using a standard, just because it's there isn't the correct way to work, especially in time constrained projects.

I give an example : I am a student, and when I said for my profs that I can use object into pascal (with BP), he formally said that it is impossible and if a compiler do it (compiling a pascal source code with objects) this is a wrong one (does not meet the pascal standrds!).

He's right. The Pascal standard had no OO. The *Object* Pascal (either the old style TP/BP or Delphi standard) does. Object Pascal is to Pascal, as C++ is to C. 'Object Pascal' is not the same as 'Standard Pascal', it's a super set of it.

Then if they (the compiler's developpers) worked with your says (and the says of my profs), now we (me and you) will use the hex coding only ! You know now what is the meaning of 'going ahead'? :-)

I said that the Delphi standard was the one to aim for, not that OO was bad. You obviously mis-understood what I was saying.

NB : The original message I send was not about standards, but about a technical issue in FPC : Why does it work?

It doesn't work. You must call the CONSTRUCTOR' to CREATE an instance of your class. I already mentioned this in my post. Try the following (tested with FPC v1.02 Win32):

Program ...;

{your code unaltered}

BEGIN
 b := a.a1; //YOU MUST CALL THE CONSTRUCTOR
 try
   b.x := 10;
   write(b.x);
 finally
   b.free;    //YOU MUST *FREE* YOUR INSTANCE
 end;
END.

However!!!! YOu *must* call your destructor 'Destroy' and override it. This is true even in the standard that OBJFPC uses!!!!!

Matt

-----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d? s+++:+ a- C++ UL+ P L++ E---- W- N+ o+ K- w O- M V PS PE-- Y PGP- t- 5-- X- R- tv+ b+ DI++ D+ G e++ h--- r+++ y+++ ------END GEEK CODE BLOCK------
Gabor DEAK JAHN
to Full_Name

At 8/20/01 03:27 PM, you wrote:

Matt,

improve the compiler. But in all honesty, with a focused objective they

will

waste less time adding 'standards' that no one actually wants. Let me

qualify

Well, it will be only one vote, not masses but as for me, I couldn't care less how Delphi does it, I never used Delphi and I don't intend to. For me, the ANSI standard with the OO extensions wins hands down. Of course, I don't want to urge the developers to sack the Delphi compatibility mode but I don't expect them to abandon the other modes, either...

Bye,
Gábor

------------------------------------------------------------------- Gabor DEAK JAHN -- Budapest, Hungary.
E-mail:

Marco van de Voort
to Gabor DEAK JAHN
Show quoted text 7 lines
Matt, > improve the compiler. But in all honesty, with a focused objective they will > waste less time adding 'standards' that no one actually wants. Let me qualify

There is no other standard than Delphi/TP as I understand it. Only the original Object Pascal standard was used as a free substitute for the Delphi compability which got later polished by compiling Delphi code.

Some difference slipped in, but isn't Delphi incompatible in the sense that it makes compiling Delphi code impossible.

Show quoted text 5 lines
Well, it will be only one vote, not masses but as for me, I couldn't care less how Delphi does it, I never used Delphi and I don't intend to. For me, the ANSI standard with the OO extensions wins hands down. Of course, I don't want to urge the developers to sack the Delphi compatibility mode but I don't expect them to abandon the other modes, either...

ObjFPC isn't a ANSI mode. It is TP mode with Delphi extensions. Iow, where the TP and Delphi standards "clash", in -S2 TP wins, in -Sd Delphi.

Strict TP mode -So is a special mode that does some unportable Turbo Pascal stuff and emulates other oddities. It shouldn't be used normally.

All other modes than Delphi don't eat up time since they are finished. (no features are added, only features that are global trickle through).

The focus is now on stabilising the current dialect which is nearly D6 compatible for 1.2. If that isn't going fast enough; we are eagerly awaiting your patches/bugreports/code. The remaining missing features are afaik dispinterfaces and the threadsafeness isn't ready.

Full_Name
to Marco van de Voort

Quoting Marco van de Voort :

The focus is now on stabilising the current dialect which is nearly D6 compatible for 1.2.

Excellent. I've misunderstood what Florian originally meant. If you look at the standard he mentioned, there are *many* bizzare and undesirable features included in it.

In Delphi compatibility mode, the Fields vs Methods and Properties placement is important. Most of the rest of this argument came from the fact that Florian implied that you would be implementing the whole of this standard. Including therefore, multiple inheritence, abstract classes, property classes, etc. None of which are called for.

If that isn't going fast enough; we are eagerly awaiting your patches/bugreports/code.

Touché, mi amigo. However, I'm currently too busy on the BeOS port.. more specifically the BeAPI wrapper. I got a copy of R4.5 of BeOS from a friend today (he sent me the original CD, as if in disgust that Be Inc have sold their IP's), so hopefully R4.5 support will now be possible.

If I do get any time, I'll take a look. I doubt it will be any time soon. I'll d/l the code today. The network here ground to a near halt yesterday, so I couldn't get the stuff down.

Matt

-----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d? s+++:+ a- C++ UL+ P L++ E---- W- N+ o+ K- w O- M V PS PE-- Y PGP- t- 5-- X- R- tv+ b+ DI++ D+ G e++ h--- r+++ y+++ ------END GEEK CODE BLOCK------
Michael A. Hess
to Full_Name
Full_Name wrote
Touché, mi amigo. However, I'm currently too busy on the BeOS port..

No offense Matt but you are criticizing the FPC team for doing what you consider to be useless unecessary modes in the compiler and then you state that you are porting to BeOS. I think you will find many more people interested in using the various modes of FPC then you will every find interested in a BeOS port.

My point isn't to criticize you but to make you see that while you find a BeOS port valuable, the large majority of us out here might think it is a waste of time. So in the same light please be aware that some people might consider the other modes of the compiler to be just as important as a BeOS port is to you. :-)

==== Programming my first best destiny! ==== Michael A. Hess Miracle Concepts, Inc. http://www.miraclec.com
Full_Name
to Michael A. Hess

Quoting "Michael A. Hess" :

Show quoted text 7 lines
Full_Name wrote: > > Touché, mi amigo. However, I'm currently too busy on the BeOS port.. No offense Matt but you are criticizing the FPC team for doing what you consider to be useless unecessary modes in the compiler and then you state that you are porting to BeOS.

I'm a Delphi programmer. 1.1 is amazing. I've had a play with it, and it passes my simple interface test :-)

At home I'm a BeOS user. I have no interest in Windows - I'm sick to death of it. Porting to BeOS is fun. No one cares, no one want's it (although the interest in it is pretty amazing.)

I think you will find many more people interested in using the various modes of FPC then you will every find interested in a BeOS port.

Yep. I never said BeOS was popular, or that a port would be popular. It's a pointless waste of time. Just as the Amiga port is now.

I'd like to see a Mac port for Power PC though. Not that I'm offering to do it, mind.

My point isn't to criticize you but to make you see that while you find a BeOS port valuable,

No, it's useless. BeOS is dead, but I'm enjoying myself and it gets me away from Windows. I'm also learning C++ at the same time.

So in the same light please be aware that some people might consider the other modes of the compiler to be just as important as a BeOS port is to you. :-)

They must really hate FPC if they do ;-)

"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music." Kristian Wilson, Nintendo, Inc, 1989 -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d? s+++:+ a- C++ UL+ P L++ E---- W- N+ o+ K- w O- M V PS PE-- Y PGP- t- 5-- X- R- tv+ b+ DI++ D+ G e++ h--- r+++ y+++ ------END GEEK CODE BLOCK------