<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
<blockquote
 cite="mid:cfcebe780807290208k33fd766amc8064704e032b00f@mail.gmail.com"
 type="cite">
  <pre wrap="">Because of
that, Delphi language features are very behind compared to the
developer demand.  </pre>
</blockquote>
In my personal view, there are very few points that are shared by
Delphi and FP and that are "very behind compared to the developer
demand". <br>
<br>
The main of these is multi-threading support.<br>
<br>
While both Delphi and FP do have the very workable TThread, same was
planned with an application in mind that runs on a single processor
engine and is mainly intended to free up the GUI thread when long
winded calculations are to be done, so that the GUI does not freeze. <br>
<br>
.NET introduced some very interesting new concepts on parallel
programming that are easy to use and are planned with the application
running on SMP machines in mind.<br>
<br>
RemObject's "Oxygen" implemented these concepts in Object Pascal
"Delphi Language". <br>
<br>
As theses concepts, while being "invented" by .NET, can decently be
implemented in the RTL without using (or even thinking of) a .NET
runtime, IMHO it would take FP a great step ahead (of Delphi :) ) if it
would provide these concepts.  <br>
<br>
The language constructs "<b>future </b>variables" and "<b>async</b>
expressions" allow to easily "spinning off" an instruction sequence
from the running code into the background (and thus allow it to be
calculated by another processor). See:
<a class="moz-txt-link-freetext" href="http://wiki.remobjects.com/wiki/Future_%28keyword%29">http://wiki.remobjects.com/wiki/Future_%28keyword%29</a> I feel that this
can be (quite easily :) ) be converted to using (a special kind of)
TThreads by the RTL.<br>
<br>
Maybe there are some more .NET goodies that can be implemented without
actually using .NET. <a class="moz-txt-link-freetext" href="http://wiki.remobjects.com/wiki/Oxygene_Glossary">http://wiki.remobjects.com/wiki/Oxygene_Glossary</a>
might provide some hints on how these can be translated into Object
Pascal enhancements.<br>
<br>
-Michael<br>
<br>
<br>
<br>
<br>
</body>
</html>