.NET and Delphi

Posted on 2003-11-15
Last Modified: 2010-04-05

I hear lots of buzz around .NET. The clients say that we should migrate our software to .NET. They don't understand a thing about programming. Even though they talk about it.
Could you explain what is .NET? Is only for Internet programming? In what way Delphi works with .NET? Or should work, because I know Delphi 8 now fully supports it.
My softwares are very specific to the law area and are very simple and efective :). I don't know how .NET could benifit my softwares? In what cases should I use the .NET envoirement?
Could explain me by your examples? What projects have you made in .NET? Why did you choose that?
Does it have future?
Question by:lfgmartins
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 34

Accepted Solution

Slick812 earned 125 total points
ID: 9757627

Assisted Solution

Peter_ earned 125 total points
ID: 9758361
The big news about .NET is that in its core, .NET works much the same as Java.

That is the programming language is not compiled strait into Machine code for a specific CPU (executable file), but rather a form of intermediate code (instructions for a vertial machine). The intermediate code is then recompiled on demand by the vertial machine as the program is run.

The teminology (choice of words for the different parts above) is somewhat different between Java and .NET (Microsoft dont use the term vertial machine) but they do much the same.

The main benifit to this design in the case of .NET is that both C#, VB .NET as well as any Delphi implementation of .NET will be compiled into almost exactly the same intermediate code. This means that the developer may choose any of these languages that he/she prefers for development but still come up with the same result.

The main benifit in the case of Java is that the java intermediate code can be run on many different platforms (Unix, Windows, Mac... ).

In theory, one would then expect Microsoft to release a "vertial machine" to enable .NET to run on Unix to make use of this benifit and sun to enable development of Java using different languages. So far, there has been little indications of this? Maybe in the future, who knows?

Microsoft instead have included the feature of WebServices into .NET. This feature is what most people are actually talking about (not to mention Microsoft adverts...) when they say ".NET HELPS BRINGING THINGS TOGETHER".  

WebServices in short is a feature that enables objects and information to be transfered between computers over the internet using http and the SOAP protocol. It helps to create proxy functions on both sides as to transform any object into just text, send this text using http and then put it back together again on the other side. This is very useful sometimes as it can pass through firewalls where regular socket communication might have been banned. In theory, this also helps for different computers talking to one another. Although in this case you likely have to code the proxy manually on the other side if this computer is not running windows. This is can be done, but likely it takes quite alot of time. Also the standard is pretty new and there might still be changes, but this feature is likely to grow in the future.

There is one other big difference between the two though as far as I can see. And that is that Java was developed by sun to run on unix operating systems and clones (like linux) first of all and then later adapted to be run on windows and other OS as well (realeasing a windows version of the JDK). While .NET was developed to run on Windows only. This can be seen rather clearly, as it is much easier to access windows specific features using .NET.

Ask yourself, would any of these features be useful to your application? If not, then likely there is no big hurry to convert. I'm sure there are many features I've forgot mentioning, but as far as I can see these are the most important.

There is one other reason though to perhaps consider converting anyway at some point in the future. That is Microsoft is spending most of its resources (which are huge...)  on .NET for the time beening and have been doing so for quite sometime. Due to this, we are likely to see future versions of windows being more and more adapted towards using .NET. Other applications may suffer from this at some point. If or when that happens remains to be seen though.

There are tons of information available from Microsoft on the topic of .NET. Some are rather partial, but others are good.

If you want good none partial examples on the use of .NET, I would recomend posting a question to any of the many .NET related groups here on E.E.

Expert Comment

ID: 9758425
Java vertail machine is called "common language runtime" in .NET.

Delphi for .NET will likely function much the same as usual (I haven't had the chance to try Delphi 8 yet though, only visual studio).

The big difference is that it will produce intermediate code to be interpreted by .NET common language runtime instead of machine code (the regular exe file). This will be done under the hood so if all works well it should go without notice.  Due to this, the user will need to have the ".NET Framework" installed to run the application.

The main difference to the programmer is that you likely can not call functions in the Win32 API exactly the same way as before. How this is solved I don't know? Looking forward to learn more.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Delphi: Connect to running MS Outlook 4 209
RESTRequest Parameter 4 83
MS Access from Delphi 31 102
Way to create an iPhone app for my customers 8 91
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question