[fpc-devel] Pascal to Java compiler
Alexander Klenin
klenin at gmail.com
Tue Dec 2 11:57:28 CET 2008
On Tue, Dec 2, 2008 at 17:14, Daniƫl Mantione
<daniel.mantione at freepascal.org> wrote:
>> The rumored reason was that Delphi gives "unfair advantage" to teams
>> (mostly Russian ones) using it.
> The requirement to offer a Pascal programming environment has been removed.
> Individual ACM contests are free to offer a Pascal programming environment
> and if you are affected by this decision I recommend you to point this out
> to the organisers of your ICPC contest.
I am the organizer of local ICPC contest, and we do offer a wide range
of languages
to local teams -- including Delphi, Free Pascal, Perl and even Basic ;-)
(See http://imcs.dvgu.ru/cats/main.pl?f=compilers;cid=500001;display_rows=15;visible=1
warning: the site is in Russian)
Still, top players use C++, since Pascal is "pushed out" of
higher-level contests,
so using it is counterproductive for advancing teams
(See e.g. http://neerc.ifmo.ru/information/contest-rules.html, look
for "Contest environment").
This saddens me, since I believe that Pascal is a better language both
for teaching
and for actual programming.
> The issue of unfair advantage is bogus, because the VCL is mostly useless
> except perhaps for Tlist, while the C++ STL can be definately of use in an
> ICPC contest.
Well, of course VCL is useless -- ICPC does not require visual
programming at all.
The real problem is Free Pascal's RTL, that is also useless compared to STL.
But Pascal still had the advantage in contests despite RTL weakness.
I believe this comes primarily from the fact that simpler and cleaner
syntax of Pascal
leads to fewer mistakes, and the cost of mistake is very high at ICPC.
It even outweighs the necessity to implement some algorithms and data
structures by hand.
Better I/O implementation in Delphi/FPC is an issue as well
(especially compared to Visual C++ and java, GCC is mostly ok).
--
Alexander S. Klenin
Insight Experts Ltd.
More information about the fpc-devel
mailing list