Jamie McCracken wrote:
Marc Weustink wrote:
What is easier to read is a matter of taste.
Being a pascal devel for years now, it takes time to "decode" a "a := b
:= c := d := 0" line. There might be a ; inbeween which results in a
complete different assignment. With such lines I've to read them over
and
over to see what is going on.
Where a line like "a := 0; b := 0; c := 0; d := 0;" is clear to me.
This also counts for the proposed c-isms.
For me I prefere clarity above less typing (besides if you want to write
realy short code, you sould use APL)
I totally agree with you in this case - we dont want or need cryptic c
stlye syntax in any version of Pascal.
However, in general Pascal has poor developer productivity when
compared to modern languages like python and C#. Ironically python is
perhaps the most popular language on Linux and most of its syntax is
derived from object pascal whereas pascal on linux is virtually
non-existant. Of course Python is piss poor in both performance and
memory usage but it does point the way to a revitalised pascal.
Adopting less verbose but still clean and clear syntax ala python is
IMHO the way to make Pascal great again.
Consider the developer unfirendly nature of pascal/Delphi atm:
1) Forward declarations - they sux! Why should the developers have the
burden of making the code totally sequential declaration wise. All
other modern compilers dont need this. Sure your code might take a bit
longer to compile but thats peanuts compare to the time saved in extra
typing and reordering your code
2) I have touched on manual memory managaement of tobjects before so I
wont rehash it here (in summary ref count tobjects and they should
have good performance with c++ style exception handling).
3) loads of small and pointless additional syntax like EG for creating
an object you should just be able to say:
myobject.create;
and not
myobject := Tobject.create;
also Begin..End blocks should IMO be replaced with python's indenting.
Yeah I know this sounds like a hybrid pascal/python but I believe
thats the way to go - marry Delphi's speed and component framework
with less verbose python style syntax and you will have the best RAD
language ever written.
jamie.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel
MyObject.Create is impossible with classes on the heap. You need to
assign MyObject a pointer but you can't do that from within create.
Forward declarations are IMHO required because otherwise the compiler
would have to make additional passes(it does 3 AFAIK).
Besides, they are seldom enough to be a problem.
How does python handle modularity btw?
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel