Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


.NET and Delphi

Posted on 2003-11-15
Medium Priority
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 500 total points
ID: 9757627

Assisted Solution

Peter_ earned 500 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

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

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

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Suggested Courses

715 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