<div dir="ltr">@Tony, great post.<br><br>I would add that I find C# to be a remarkably backwards language in many frustrating respects.<br><br>The .net framework itself has taken some getting used to but otherwise I have found it no worse than Android SDK or Cocoa. Just different to what I'm used to meaning I have to go looking for things that - with the VCL - I previously had at my fingertips.<br><br>(And I would say that none of these frameworks compares at all favourably with the VCL when it comes to UI coding. imho)<br><br><br>Performance wise, I recently ported some code from Delphi to C# (.net) the performance of which I was previously very pleased with. So you can imagine my surprise when the C# version knocked my Delphi code for six !!!<br><br>The .net code was over 50 times faster in some key areas !!!<br><br>However....<br><br>I could not understand why the .net code would be faster at all. I expected the quite the opposite as I had had to replace what I had thought were efficient algorithms in the Delphi version with what were intuitively slower techniques due to the constraints of managed code. So I investigated my Delphi code further.<br><br>What I found was that when I had updated my code to deal with the Unicode transition, my handling of streams had introduced a performance degradation. At the time of the Unicode change I had naively put this down to the Unicode handling (ANSI source streams being converted to/from UTF-16 for processing). My testing at that time had seemed to confirm this, with my stream code being responsible for the performance downgrade.<br><br>However, the performance of the .net version, handling the same conversions, suggested this should not have been the case.<br><br>So I looked again, more deeply and identified a mistake in my stream handling that had provided correct results but sub-optimal performance. This was quickly addressed and balance was once more restored to the Universe: The Delphi version was indeed faster than the .net version. Phew!<br><br>But not by much.<div><br></div><div><br></div><div>I should say though that this was strictly non-visual code.<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 30 January 2015 at 12:08, David Brennan <span dir="ltr"><<a href="mailto:dugdavid@dbsolutions.co.nz" target="_blank">dugdavid@dbsolutions.co.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-NZ" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">My point was mainly that in the real world it is quite common and far from a Delphi specific phenomena. Eg Silverlight, Web Forms, .Net Remoting, LINQ to SQL, etc.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">You can also make the opposite case that the fact things have evolved demonstrates a language is developing. Absence of evolution suggests stagnation and decline.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I agree with your point tho that, as developers, backward compatible evolution is preferable to replacement. Sometimes though replacement is the only way to make a significant leap in capability without the baggage of backward compatibility. If the old technology continues to be provided and supported for a number of years before dying off then this isn’t necessarily a big issue.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Cheers,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">David.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:delphi-bounces@listserver.123.net.nz" target="_blank">delphi-bounces@listserver.123.net.nz</a> [mailto:<a href="mailto:delphi-bounces@listserver.123.net.nz" target="_blank">delphi-bounces@listserver.123.net.nz</a>] <b>On Behalf Of </b>Jolyon Smith<br><b>Sent:</b> Friday, 30 January 2015 11:43 a.m.</span></p><div><div class="h5"><br><b>To:</b> NZ Borland Developers Group - Delphi List<br><b>Subject:</b> Re: [DUG] iOS 64bit - Delphi vs Java<u></u><u></u></div></div><p></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">@David, I'm not sure how evolutionary change is relevant to concerns relating to technology having been superceded and abandoned.<br><br>The BDE didn't evolve. It was replaced and abandoned and applications relying on it then experienced difficulties arising from changes in the operating environment.<br><br>It may not be possible to avoid this entirely. But you can hope to reduce the risk by ensuring that your applications employ technology that is an integral part of your operating environment, rather than relying on proprietary components that may be abandoned.<br><br>Particularly if the developer of the proprietary tech has an established record of adopting a "replacement" over "evolution" approach to change in these areas.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On 30 January 2015 at 10:38, David Brennan <<a href="mailto:dugdavid@dbsolutions.co.nz" target="_blank">dugdavid@dbsolutions.co.nz</a>> wrote:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I’m not sure the change in technologies over time is particularly relevant – if there is a language where technologies such as this haven’t evolved in the last 15 years then that language is probably dead or dying. As you mention .NET has plenty of such examples which have been hung out to die slow deaths.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:delphi-bounces@listserver.123.net.nz" target="_blank">delphi-bounces@listserver.123.net.nz</a> [mailto:<a href="mailto:delphi-bounces@listserver.123.net.nz" target="_blank">delphi-bounces@listserver.123.net.nz</a>] <b>On Behalf Of </b>Jolyon Smith<br><b>Sent:</b> Friday, 30 January 2015 8:46 a.m.<br><b>To:</b> NZ Borland Developers Group - Delphi List<br><b>Subject:</b> Re: [DUG] iOS 64bit - Delphi vs Java</span><u></u><u></u></p><div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal"><br>There is also the use of proprietary technologies that the tool vendor has a habit of changing from time to time. Did you replace the BDE yet ? Did you replace it with DBExpress ? Using 3rd party drivers ? Are they still supported ? When might you be planning to replace DBExpress with FireDAC ? What comes after FireDAC ? Did you ever migrate to CLX ? (and then what?) Have you migrated from VCL to FMX yet ?<br><br>It is hard to avoid the fact that Borland/CodeGear/Embarcadero have "form" in this area.<br><br>(Which isn't to say that .net is itself entirely immune from such issues)<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div></div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">On 29 January 2015 at 18:32, John Bird <<a href="mailto:johnkbird@paradise.net.nz" target="_blank">johnkbird@paradise.net.nz</a>> wrote:<u></u><u></u></p><p class="MsoNormal">Old yes, well C is older, C++ is about as old, Java is about as old (1996<br>for V1). So there is a rational debate to be had about age.<br><br>Security risk ?<br><br>I would have thought off the top of my head that Delphi does not carry too<br>many obvious security risks:<br>- Relatively few DLL problems as it generally packages everything in the EXE<br>- Relatively immune to buffer overflows if not allocating memory manually or<br>using C-type strings (PChar).<br>- Can one really make a case that Delphi is less secure than Java?<br><br>There are occasional bugs to watch out for eg<br><br><a href="http://www.coresecurity.com/advisories/delphi-and-c-builder-vcl-library-buffer-overflow" target="_blank">http://www.coresecurity.com/advisories/delphi-and-c-builder-vcl-library-buffer-overflow</a><br><br>Maybe the corporates mean security risk of an ageing programmer suddenly<br>feeling the need to retire from whatever cause.<br><br><br>-----Original Message-----<br>From: Paul Hectors<br>Sent: Thursday, January 29, 2015 4:38 PM<br>To: NZ Borland Developers Group - Delphi List<br>Subject: Re: [DUG] iOS 64bit<br><br>+1<br><br>My recent experience is that corporates do not like it when you inform them<br>that your application is written in Delphi, it is perceived as old and a<br>security risk. It would be nice if there was a white paper or some material<br>to reassure them.<br><br><br>_______________________________________________<br>NZ Borland Developers Group - Delphi mailing list<br>Post: <a href="mailto:delphi@listserver.123.net.nz" target="_blank">delphi@listserver.123.net.nz</a><br>Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>Unsubscribe: send an email to <a href="mailto:delphi-request@listserver.123.net.nz" target="_blank">delphi-request@listserver.123.net.nz</a> with Subject: unsubscribe<u></u><u></u></p></div><p class="MsoNormal"> <u></u><u></u></p></div></div></div></div></div><p class="MsoNormal"><br>_______________________________________________<br>NZ Borland Developers Group - Delphi mailing list<br>Post: <a href="mailto:delphi@listserver.123.net.nz" target="_blank">delphi@listserver.123.net.nz</a><br>Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>Unsubscribe: send an email to <a href="mailto:delphi-request@listserver.123.net.nz" target="_blank">delphi-request@listserver.123.net.nz</a> with Subject: unsubscribe<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div><br>_______________________________________________<br>
NZ Borland Developers Group - Delphi mailing list<br>
Post: <a href="mailto:delphi@listserver.123.net.nz">delphi@listserver.123.net.nz</a><br>
Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
Unsubscribe: send an email to <a href="mailto:delphi-request@listserver.123.net.nz">delphi-request@listserver.123.net.nz</a> with Subject: unsubscribe<br></blockquote></div><br></div>