Re: The trend is to move away from Delphi...



Marco van de Voort wrote:
On 2006-08-25, Andre Kaufmann <andre.kaufmann_remove_@xxxxxxxxxxx> wrote:
Marco van de Voort wrote:
[...]
This goes for any language. So the whole C++ angle is nonsense.
Perhaps you agree that C++ can be easier ported to another OS than other main stream >> native << languages.

No, I don't agree. Since now you have to do the porting effort twice. Once
for the compiler (C++ runtime + C++ compiler cg fix), once for the
cg/RTL/VCL (pascal runtime + cg fix).

It's not easier to recompile the Delphi compiler written in C++ for another OS, but porting the compiler to pure Pascal is easier ? If it would be in Pascal I would agree to use FPC or something similar to be easier.


Note also that the toolchain parts (linker - cg - debugger) porting is the
bulk of the work.

Sure. If it would be that simple we would have Delphi for any OS ;-)

Many compilers that are retargetable and/or that have multiple frontends
have some intermediate language (usually some three address or SSA form) to
connect the front and backend. A good example is the GCC collection.
Another different example is Comeau. IIRC it simply passes C-Code to the underlying compiler. This CBX could have done also for the VCL source code ?! Though there would have been issues with debugging.

Such stuff is nice for academic porting experiments, but not for production
toolchains. Delphi users stick to their fast "F9" behaviour pretty hard.

I wrote CBX - it could have been a solution for CBX. I agree a Delphi compiler using a C compiler as back end would be nonsense.

Ask anybody which development system has the superior build time.

C#, Basic ? ;-9
Yes, Delphi is quite fast. Perhaps the fastest Window compiler. It's one of the reasons why I prefer using Delphi for GUI applications.

But a C++ compiler / or Delphi compiler could emit P-Code.

Not likely. Pointer arithmetic would be a problem.

Why shouldn't pointer arithmetic not be compiled to P-code ? For a safe runtime that would be nonsense, but I don't see any restrictions on the P-code level for pointers.

E.g. for the Java Runtime (there are some doing this).

Is there a full blown delphi compiler that runs on Java then?

AFAIK it has been considered by Borland to do just that. Why shouldn't it not be possible. The VCL (GUI) part is the main problem.
For example you can compile IL code to Java. There are over 30 compilers compiling other languages than Java to Java bytecode.
Google for: java "other languages" and view the first hit for example


I don't know a native Delphi compiler that supports IL. Only Delphi.NET
(which requires source changes afaik). See e.g. the Decal discussion in this
group.

You can compile any standard C++ code completely to IL. Pointer arithmetic code and STL based code. So why shouldn't that be possible with Delphi ? I don't care if the compiler is pure native, mixed code or IL code.

"Emits intermediate code which is compiled to assembly / P-Code."

Better. Note that both the original JVM code and P-Code were designed to be
interpreted, while IL was designed to be JITed afaik.

Yes. The JIT compiler has been added later for Java and there are now many native Java compilers.

Andre
.



Relevant Pages

  • Re: OO compilers and efficiency
    ... > will be difficult for a compiler to do a good job of spotting when the OO ... "simpler" languages, ... I agree that Java ... (including adding lexical closures) ...
    (comp.programming)
  • Re: Delphi roadmap from the .NET perspective...
    ... If you want to forfeit that choice, by all means use Delphi for .NET. ... Keeping the number of programming languages, frameworks, IDEs, etc, low is vital. ... I know companies that are having a lot of trouble managing only Java frameworks... ...
    (borland.public.delphi.non-technical)
  • Re: OO compilers and efficiency
    ... > will be difficult for a compiler to do a good job of spotting when the OO ... > For example, I'd bet than languages with built-in support for closures, e.g. ... I don't know how closures are constructed in C++ or Java, ... > The data can be cached in a register. ...
    (comp.programming)
  • Re: OO compilers and efficiency
    ... will be difficult for a compiler to do a good job of spotting when the OO ... For example, I'd bet than languages with built-in support for closures, e.g. ... makes Java code simpler than C code". ... If OO makes it impossible to perform optimisations in the general case then ...
    (comp.programming)
  • Re: Branching Out / "Diverging" from Delphi
    ... I don't think Java is going anywhere. ... ....And now for the part where my brother Delphi developers pan me for saying ... programming languages to learn to help improve my career, ... Lisp seem important for their variance in programming methods. ...
    (borland.public.delphi.non-technical)