views:

438

answers:

5

First of all (before this question get down voted): I am a developer developing 99,99% of my programs using Delphi targeting Win32 (developing in Delphi 7 still, very slowly migrating to Delphi 2010).

When Delphi 2006 or 2007 (can't remember which version at the moment) came out I bought the RAD Studio edition to be able to start developing .net applications using Delphi.net and VCL.net.

I played around with it for some short time, but in the end, due to work load just kept using Delphi 7 as development platform.

When Delphi 2010 came was released, I decided to give .net a go once more, and (foolishly) bought the Studio License once more thinking the include PRISM was the previous Delphi.net (to be developed in the Delphi IDE).

Now that I have installed PRISM (and the Visual Studio 8 IDE - o horror), I am just wondering whether PRISM is a new version of Delphi.Net or not (probably not). And if I can use some of my Win32 code under Prism.

UPDATE AFTER SOME REPLIES: I keep the question open because you get more answers when a answer has not been selected yet.

I do miss the Delphi IDE though. It's all a mather of taste but having to develop in two different IDE's (where f.i. the keyboard shortcuts are different - and I don't want to give up the Delphi ones, thank you)) is not my idea of spending my development time.

+12  A: 

Prism is a replacement for Delphi .Net - it has been developed by RemObjects and its original names were Oxygene and Chrome ( http://www.remobjects.com/ ).

Because it's much more mature than Delphi .Net in the .Net segment it now is included in Delphi RAD Studio instead of Delphi .Net.

You won't be able to use all of your W32 code, but the syntax is very similar and most algorithms will probably work without any change.

See http://prismwiki.codegear.com/en/Win32_Delphi_vs._Delphi_Prism for a detailed comparison of Delphi W32 and Delphi Prism.

Mef
+1. The .NET product is dead, and should it never have have been created, it would not have hurt anybody anything. Having the bad taste to have actually created Delphi.net, I believe the right thing was done, when they pulled the plug on Delphi.NET, and went to a Visual Studio hosted personality of a 100% "managed codebase" without any "VCL-to-dotnet" hangers on.A delphi.net app that not use WinForms, or WPF, but rather VCL, was not a true .NET app, and once the WinForms designer became harder (or impossible) to build into the galileo (RAD Studio) IDE, delphi.Net's fate was sealed.
Warren P
+7  A: 

No. Delphi.NET was designed specifically to be backwards-compatible with Win32 Delphi code. Prism is not. It was not developed by the Borland/CodeGear team, doesn't include VCL support, and has a handful of minor language differences. It's better to think of it as a new dialect of Object Pascal than as Delphi.NET.

Mason Wheeler
+1 anything else is just clouding the truth. Prism can be great in its own right, I don't know, but it stands alone relative to the rest of the Delphi line. (much like Delphi PHP)
Marco van de Voort
+7  A: 

The main difference was that Delphi.Net was mainly a port of the RTL/VCL to .Net, as well as an adaptation of Object Pascal to be a .Net language.

It had to include a full blown IDE with a special Delphi.Net Form Designer.

The goal was to help move a VCL Forms application to .Net with a minimum of changes, or create new application without having to re-learn the IDE and the library.

Delphi Prism is also an adaptation of Object Pascal to the .Net world but with more emphasis on being a fully fledged .Net language (even more so than C#) and much less worries on being compatible with Delphi.

It is just the language, hosted in Visual Studio, and does use whatever designer is provided by the IDE.

So in the end pure Pascal code will be very much similar, and easily ported, but rich GUI applications will need more rewriting/redesigning.

François
+3  A: 

No, Prism has been labeled Delphi more to make it more popular, like Delphi PHP.

It's not like Delphi.NET, with a VCL-alike etc, or even a compatible language (it uses method instead of procedure and many other deviations).

So you can see if you like it, but from what I have seen from it, having used Delphi won't be much of an help, and neither do existing codebases.

Marco van de Voort
The "method" keyword is OPTIONAL. You can still declare "procedure" and "function" if you like. It is not necessary to write compatible code, nor even desirable, according to the Prism style guide, but it is possible to follow a code style that is more or less transportable for non-visual code.
Warren P
We can do the same simple test that I did for Delphi.NET (and Kylix before) at the time: aside from USES clauses, what is the longest portion of code that you compiled unmodified? What did it do?
Marco van de Voort
+3  A: 

Yes and no.

Delphi Prism replaces Delphi for .NET, but it is not a new version of it.

They have different design philosophies and are not 100% compatible. As Francois pointed out, Prism does not include the VCL.Net. Instead it focuses completely on supporting the .NET GUI Frameworks: WPF, Silverlight, Prism, WinForms, ASP.NET, etc.

Delphi for .NET was all about migrating and backwards compatibility. Delphi Prism is all about being a full featured .NET development language and "forward compatibility."

You can create you pure business logic as code compatible between Delphi native and Delphi Prism, but all the GUI and IO code (anything that makes use of the VCL or RTL) will be specialized.

Check out the Oxidizer and ShineOn for more help in migrating and code compatibility with Delphi Prism.

Jim McKeeth