[fpc-pascal] Pascal is alive!!??

Matt Emson memsom at interalpha.co.uk
Mon Feb 26 11:13:46 CET 2007

> Read the draft here and tell me what you think of it and whether you
> have something to add:

I had a fairly quick glance through; I think you missed the point. Most of
your arguments point to something like VB3, not Pascal, ADA or C. You
mention the syntax of the Java class - Pacal and ADA are both more
complicated. Pascal (okay, mainstream Borland dialect Pascal) has the
Program and Unit constructs and ADA its Package body/specification (which
IIRC you could skip, but still needed the Program construct similar to the
Pascal/Modula3 one.) The Java class with a Main function is no more complex
than a tradiditional Pascal "Program". In fact, C is probably the simplest,
except you'd need to include at least stdio.h to do anything useful. At the
end of the day, its down to syntactical preference. I've taught programming
to novices (Pascal/Delphi) and there are as many "what does this mean", "why
is that so complicated" and "I don't get why that is there" situations. The
difference between program and unit. The sections in the unit (interface,
implementation) the way the uses clause works. Circular references. Many,
many, many. By contrast, the Java Class is quite simplistic. Especially if
the student treats it as a stand alone entity (like a "program" in Pascal)
to begin with and does not create any other classes.

Pointers - no, no, no. Java passes by reference. This is not anything to do
with "pointers" - you are getting confused between presentation and
implementation. The implementation is nothing the student needs to know
about at a beginners level. Passing by reference passes the "actual" typed
object reference, passing a pointer in C does not. The equiv in C would be
to use the & operator in the param list (if that is legal in C? It is in
C++.) All [Borland/Delphi, non Turbo Pascal] Object Pascal classes are
passed by reference too, so how is that any different to Java? If you wish
to pass integral types by reference, box them. It's not exactly rocket
science ;-)

Non-standard compiled language.. Java is compiled to bytecode. The bytecode
is basically a binary form. The bytecode is akin to machine code. There are
plenty of tools (including those within the JDK) that will output Java
"assembler" from the bytecode. Indeed, one critisism Java has is that
reverse engineering it is trivial. There are also a number of free tools
that will compile Java JVM bytecode markup (akin to assembler) to bytecode.
Take a look at:


and more specifically


This one works. I've used it. There are a number of others.

I know you want to seem "non-biased", but the artical sounds like you tried
Java, and didn't like it - so you bash it, rather than say anything

This response is coming from a hardened Delphi coder (of 10+ years) and C#
convers ("Java, pah, I spit of you..")



More information about the fpc-pascal mailing list