.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
  • 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
FMX StringGrid1->Canvas->FillRect Problem 3 173
Reconfigure Delphi Install? 2 61
Delphi inherited method 6 76
Moving (cutting/pasting) controls in a TTabbedNotebook... 7 44
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

829 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