TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Delphi – why won't it die? (2013)

163 点作者 wx196大约 11 年前

38 条评论

Joeri大约 11 年前
My employer has a multi-million line codebase in Delphi which is still under active development. I mostly do web development, but every once in a while I go back in to build a feature on the Delphi side of the fence.<p>The IDE itself is dated and no longer competitive with the best of the modern IDE&#x27;s. The language and API however is updated and productive. You just need to get over Pascal-style syntax instead of C-style, and you are just as productive in it as if you were using C#.<p>Why is delphi still hanging on?<p>1. It delivers executables that need no dependencies. No VM&#x27;s, no runtimes, no add-on dll&#x27;s. Underneath it only needs x86 and win32 (unless you&#x27;re building for mac, android or iOS, which it also supports). I wouldn&#x27;t be surprised if our software still ran on windows 2000. Since the code is native, performance is never a problem even with wildly inefficient code.<p>2. It lets you build GUI software <i>really</i> quickly. Productivity in delphi for someone used to it matches any &quot;modern&quot; GUI development platform. Sure, the IDE misses a few features that competing IDE&#x27;s have, but on the plus side it compiles ridiculously fast (a full build of 2 million lines takes less than a minute on a single core).<p>3. Delphi is the easiest platform by far to have legacy code on, because the maintenance cost is very low. Delphi&#x27;s contemporaries (classic VB, MFC) have all gone through major upheavals. Delphi has managed to modernize the API&#x27;s without breaking legacy code too badly (they even managed to elegantly retrofit unicode into the platform). This is why codebases that are based on Delphi somehow never get ported away from it.<p>Delphi&#x27;s competitive with other desktop and mobile development platforms, even at what they&#x27;re charging for it. What they&#x27;re charging for it is the problem though. Only people already using delphi buy delphi, and so the perception is maintained that delphi is effectively dead, even when it isn&#x27;t.
评论 #7614424 未加载
评论 #7614287 未加载
评论 #7614375 未加载
评论 #7614604 未加载
评论 #7614750 未加载
评论 #7615044 未加载
评论 #7614493 未加载
评论 #7614415 未加载
networked大约 11 年前
If you want to try Delphi Lazarus with Free Pascal (<a href="http://www.lazarus.freepascal.org/" rel="nofollow">http:&#x2F;&#x2F;www.lazarus.freepascal.org&#x2F;</a>) makes for a pretty close FOSS reimplementation of the same Object Pascal language and the RAD IDE functionality. The IDE is reasonably mature but sadly not fully compatible with Borland Delphi 7, so you can&#x27;t quite rely on a Delphi tutorial. It is cross-platform. The language combines reference counting and manual memory management, has modules and handling strings in it is pleasant compared to (vanilla) C or even C++ (which it is meant to compete with). Unfortunately, last I checked the Unicode support was imperfect.<p>One thing I&#x27;ve been wondering about lately is if Free Pascal is a good alternative to C or Go for shipping self-contained static binaries to run on *nix. I haven&#x27;t tried it yet but the small(ish) static binaries the Free Pascal compiler produces and the lack of libc dependencies in theory make it an attractive option if you want to write something to run on OpenWrt on your router. Has anyone here used FPC for that? How are the MIPS and ARM backends?
评论 #7613909 未加载
评论 #7614708 未加载
评论 #7617700 未加载
markbnj大约 11 年前
I wrote DDJ&#x27;s first review of Delphi back in 1995. Maybe it deserves to die, or not, but I get a kick out of the fact that it is still around and sparking discussion. At the time of release its features were quite innovative, and very accessible to the Turbo Pascal programmers (like me!) who were a big part of Borland&#x27;s customer base for tools. If I recall correctly a lot of Delphi&#x27;s DNA ended up in C++ builder, and then a lot of the C++ Builder guys ended up at Microsoft... so Delphi has earned its place in the anthropology of our business.
评论 #7615227 未加载
mistermann大约 11 年前
Software has got to be one of the most interesting industries, where among genuinely skilled people you can have such shockingly divergent opinions on really quite simple questions.<p>From the article:<p>&gt; Being highly productive has seen single Delphi developers produce software that would otherwise require a team of 5 developers. I’ve been in a team of 3 developers that out programmed a corporate wide application by having it up and running in a few months compared to another team I know of over 30 Java developers who 18 months later still had not produced their application.<p>I believe this to be completely true. At least for boring internal enterprise apps within corporations, the new languages&#x2F;platforms and especially modern program design paradigms with their multiple tiers &amp; supporting libraries, multiple levels of indirection resulting in 30 level deep call stacks, etc results in productivity perhaps 1&#x2F;4 of what you could achieve with a product like Delphi.<p>Now this is just my opinion, and it is shared by many others, but there are even more who would vehemently disagree. Yet this isn&#x27;t some &quot;eternal mystery&quot; class of a disagreement, <i>for the type of application that Delphi is appropriate</i> (very important), it can be very easily demonstrated if it is or is not more productive for the task at hand - the differences are so stark that the conclusion is undeniable. Yet, if you were to propose Delphi as a development platform, it would in most cases be career suicide.<p>I would suggest some of the main reasons for this are:<p>- as a developer, choosing Delphi is virtually career (skillset) suicide<p>- it lacks much of the more modern &quot;cool&quot; language features developers so love to play with<p>- (as a result) choosing Delphi as a platform is risky due to the small and shrinking developer base
评论 #7614255 未加载
sehugg大约 11 年前
Look what Turbo Pascal&#x2F;Delphi gave a PC developer in 1995:<p>* An insanely fast compiler<p>* Statically linked binaries -- no DLL hell (still important for certain kinds of applications)<p>* A proper module system, no need for precompiled header nonsense<p>* A UI framework&#x2F;designer as easy to use as WinForms, at a time when the alternatives were MFC or Win32<p>* An easy upgrade path to 32-bit Windows<p>As long as you were ignorant of the world outside of a PC and Windows, it was nirvana.
评论 #7614099 未加载
评论 #7614369 未加载
评论 #7614176 未加载
评论 #7615808 未加载
评论 #7615162 未加载
DodgyEggplant大约 11 年前
Delphi was designed by the same architect that later designed .NEt. Microsoft snatched him from Borland. Borland tools were always great, but this was the era of mighty MS. <a href="http://en.wikipedia.org/wiki/Anders_Hejlsberg" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Anders_Hejlsberg</a>
评论 #7614382 未加载
rossjudson大约 11 年前
The compiler was lightning fast, and produced fast code. The IDE was fast. It did a beautiful code&#x2F;visual synchronization that <i>still</i> hasn&#x27;t been done better. It had good libraries, and did effective programming the large.<p>Not cross-platform, didn&#x27;t have automatic memory management, though, and was never going to be able to compete with the advance of free IDEs.<p>About a million years ago I wrote the Delphi Container and Algorithm Library (DeCAL). Good times :)
评论 #7614210 未加载
评论 #7614389 未加载
tiquorsj大约 11 年前
Delphi was one of the greatest development environment ever created when you just &quot;needed to get shit done&quot;.
评论 #7613812 未加载
评论 #7613675 未加载
huherto大约 11 年前
I think Delphi got right the &quot;Visual Programming&quot; paradigm. I am surprised that we don&#x27;t have something similar on newer environments. Perhaps is that multi-user RDBMS with SQL and&#x2F;or the Web broke the model. I don&#x27;t know, but it is an interesting question.
评论 #7616760 未加载
评论 #7615244 未加载
评论 #7616736 未加载
Jugurtha大约 11 年前
I first touched Delphi as a teenager (I was 14 or 15 at the time), and it was Delphi 6. I had already tried different languages by that time.<p>I had already programmed in BASIC as a child and it was great, for a kid like me who didn&#x27;t have Internet access and named text files to .COM and .EXE in the hope they would do something, this was awesome. But I still wanted .EXE files and I then tried Pascal, which gave that to me. I also tried few examples of C, but the code I had access to was in Pascal, and I didn&#x27;t have the doc or internet, so I kept tweaking.<p>And then I discovered Visual Basic (in its DOS and Windows) and I was able to do buttons and forms and tigers..<p>Yet, with Visual Basic, there was always this bloated feeling.. I mean, you had to make an installer for your programs with files like VBRUNXXX.DLL and error messages yelling at you, and depending 16bits or 32bits, VB4 or VB6, so ... it&#x27;s even fuzzy in my head.<p>And then I found Delphi 6. The first time I tried it, I thought &quot;Hmm, this is Pascal !&quot;. I compiled my first thing, and I automatically looked of parasitic files VB style.. Nope. It was that .EXE..<p>So I took that .EXE file to another computer and ran it, and it <i>ran</i>. It didn&#x27;t need any other files. I didn&#x27;t have to make an installer for it with WISE or something. It just worked. I was happy.<p>When my brother who was in CS and was doing image processing (tumors, edge detection, etc), he did his project in Delphi and I&#x27;d hang around, and he&#x27;d ask me how to do this or that, since I started programming in it before he did, and it was so easy for him to implement stuff and build the application.<p>So maybe that&#x27;s why it lasted so long. Easy enough for a kid to do stuff with it. It needed not a lot of knowledge to make buttons and forms, etc. I just make the layout, then program what each button does, etc.. And it was simple.<p>I may be a biggot, since I tried Embarcadero but it smelled nasty since it was, at least for me, an utter mess. I prefer Delphi 6. It may be nostalgia, but I don&#x27;t htink it&#x27;s <i>only</i> nostalgia.
re1ser大约 11 年前
Delphi is a great RAD tool, but it&#x27;s also slowly dying and has lower and lower market share, 100% of my income come from Delphi contracting at the moment, and I love Delphi, but its not a great choice if you&#x27;re just starting your programming career and have to choose the language to go with. I&#x27;ve been sticking to Delphi for whole my programming career (3 years professionaly, 10+ years hobby programming, i&#x27;m 24 now), but its more and more occuring to me that I have to learn some new tech ASAP if I want to progress further. Delphi has no proper crossplatform support and it&#x27;s a big minus. Also it has ridiculous price.
评论 #7613734 未加载
评论 #7614032 未加载
redstripe大约 11 年前
In terms of job availability it&#x27;s been dead a long time. I see a single job posted on craigslist every 6 months in city with 50 daily job postings.<p>Part of the problem is the kind of corporate windows CRUD apps that Delphi excelled at are better implemented as web apps. Which leaves it relegated to hobby developers and 1 man software vendors.<p>Even weirder is that in 2002 the Delphi community developed a python 2.7&#x2F;3 type schism over UI changes and .NET inclusion and a large portion of the community refused to adopt new releases. It&#x27;s pretty telling when a vendor isn&#x27;t even able to get many of it&#x27;s own supporters (many of which are these &quot;Delphi will never die&quot; types) to buy new version of their software in over a decade.
评论 #7613938 未加载
评论 #7614911 未加载
Udo大约 11 年前
I spent the first years of my non-school life developing things in Delphi, including CGI binaries in the end. I can&#x27;t say how much I loved the language and the IDE. In fact, XCode is still somehow trying but falling far short of providing the same amenities for developers (maybe on purpose).<p>Since I rediscovered dynamic languages in the early 2000s and haven&#x27;t (except for some experiments in C) looked back.<p>It&#x27;s funny how you can selectively remember the good aspects of a language and forget how much better life has become since you dumped it. Out of nostalgia I checked out Lazarus and I&#x27;m glad it has a somewhat thriving community. However, for me it was clear immediately that the time of Delphi&#x2F;Pascal has passed for good.
评论 #7614673 未加载
StillBored大约 11 年前
I used delphi extensively in the mid 90&#x27;s, from the 1.0 release until about 2001. Those were probably some of the most enjoyable and productive times of my life.<p>IMHO, nothing comes close to the syntactic clarity of object Pascal. This has a ton of knock on effects for long term maintainability.<p>Plus, the early versions of the Delphi component model were insanely clear and well documented. My first delphi program was a reimplementation of a 6 month long (4 programmer) access database&#x2F;vb application. I completely reimplemented a 2 man year project in about 24 hours with it using little more than the help docs. After a quick demo at work on Monday, everyone pretty much agreed to kick MS Access&#x2F;vb to the curb and pick up my code base.<p>The data aware components were a life saver, and to this day programming in a wide range of languages I am constantly reminded how painful doing things that were simple 20 years ago is. It drives a fundamental distaste into my mouth every time I&#x27;m hacking an AJAX app to do basic sorting&#x2F;filtering of a simple result set. Usually doable with delphi in a matter of a few mouse clicks.<p>Plus, by the late &#x27;90s there were a ton of 3rd party component libraries that nailed just about every GUI interaction an average program might need. The integration of reporting components made generating nice paper printouts a snap too.<p>So, this is probably why its still being used. Reimplementing a delphi application of a hundred thousand lines is probably a thousand man year project with a &quot;modern&quot; web stack. And so, much like the mainframes running in the data centers of banks&#x2F;insurance&#x2F;etc companies, delphi is probably still driving a fair number of business logic applications. I know that some of the applications I wrote in the 90&#x27;s are still in use at government agencies.<p>BTW: I used BC builder too, and hated it even though I tend to like C++. The C++ syntax was simply to unwieldy vs pascal.<p>I have periodically tried out more recent version of delphi or lazurus <a href="http://www.lazarus.freepascal.org/" rel="nofollow">http:&#x2F;&#x2F;www.lazarus.freepascal.org&#x2F;</a> and they don&#x27;t seem to be nearly as elegant as the early versions. Seems all the effort to make it cross platform (kylix) or match up with the .net component models cluttered up the early clarity of implementation.
mtkd大约 11 年前
I look at tools for DOM manipulation right now - and I look at what people dream of doing with the DOM, especially with apps.<p>Then I think back to what Delphi was doing in early 90s - then I wonder if just some of that magic was available for building apps on the DOM we&#x27;d be in a better place.
评论 #7615233 未加载
Lerc大约 11 年前
To add my two cents, here&#x27;s a piece I wrote on why I use Delphi&#x2F;Object Pascal a few years back<p><a href="http://screamingduck.com/Article.php?ArticleID=43&amp;Show=ABCE" rel="nofollow">http:&#x2F;&#x2F;screamingduck.com&#x2F;Article.php?ArticleID=43&amp;Show=ABCE</a><p>Now that time has moved on, I no longer use Delphi at all, and rarely use FreePascal. My currently active projects are C, Node.js, and Browser Javascript. For game projects I prefer Haxe. For future large scale projects. I&#x27;m eyeing Rust. When the time comes I&#x27;ll probably be weighing up the relative maturity of Haxe and Rust. They are developing from different directions, Rust being more idealistic and Haxe being more pragmatic, but I think they&#x27;ll grow aspects of the other over time.
DanHulton大约 11 年前
I remember the same feeling with VB6&#x2F;VC6. Sure, with VC6, you could do More Stuff, and theoretically, it would be Better Stuff. But in an afternoon with VB6, I could bang out a good first prototype for SO many projects that in many cases, ended up being &quot;good enough&quot; that we never needed to go back and re-do it &quot;properly&quot; in VC6.<p>PowerBuilder, though... Man, that can&#x27;t die fast enough.
评论 #7613954 未加载
ivanhoe大约 11 年前
Delphi had one of the best and most useful help documentations I&#x27;ve ever used. In my eyes it was a huge winner for Delphi over Visual Studio products, although I never really liked the pascal syntax...
评论 #7614727 未加载
pjmlp大约 11 年前
One of the great things about Delphi and its predecessor Object Pascal were, besides what other HNers have mentioned, was AOT compilation, being memory safe and allowing systems programming at the same time.<p>No need for VMs.<p>Luckly Go, Rust, D and now .NET Native might make younger generations aware of it.
评论 #7614693 未加载
noonespecial大约 11 年前
I always gravitated to it because it was a fantastic painless (mostly) wrapper for the beastly win32 API. As a unix programmer, it was great when I &quot;just needed a quick windows GUI&quot; for something.<p>Delphi has been my secret weapon for more than a decade now.
评论 #7615346 未加载
josephpmay大约 11 年前
I always wondered why a devshop I&#x27;ve worked at used Delphi. Now I know. The main code base is handled by one developer.
malkia大约 11 年前
Does anyone... Turbo Vision!!! Oh, the memories! and &quot;Uses BGI&quot;
mihaela大约 11 年前
I have been Delphi developer for more that 15 yrs. I had 2 shareware apps, one of which is still selling (very well). But now I work in Objective C. Xcode is much better IDE (Delphi is 32 bit, and crashes often with big projects). I will probably continue to do Delphi, on the side, but iOS and OSX are my main domains of interest. Delphi devs are old, no new fresh blood, no jobs available, no new books are being published. Online material is mainly marketing, no useful blog posts, new frameworks, package managers.. Delphi is great for people that have been using it for ages, but with the current pricing, and no &#x27;community&#x27; edition, it will not attract new developers.
评论 #7616930 未加载
nobleach大约 11 年前
I completely identify with this poster. I inherited an app written in CA Clipper (a language from 1987) It became FoxPro. I had to learn those ancient technologies. Surprisingly, I really enjoyed it. I loved those old terminal&#x2F;DOS apps. Around 1999, we made the decision to migrate the entire app to Object Pascal&#x2F;Delphi&#x2F;Kylix&#x2F;InterBase&#x2F;FireBirdSql. It was an incredible effort. I loathed, yet loved it. What I learned during that year STILL comes back from time to time in my current development projects. Kinda makes me feel old! When I started doing C#, I felt quite at home. Apparently, the guy who did Delphi, got hired at Microsoft.
ketralnis大约 11 年前
And why should it? It may not be trendy but it&#x27;s a really quality environment for its use case.<p>I only wrote it as a hobby as a teenager but compared to trying to write Visual Basic or C or Java on Windows it was a real dream. As a hobbyist the absolute most important thing was seeing my effort actually materialise in front of me and to that end it was amazing. And Pascal is a dream compared to C for slightly-higher-than-C level stuff.<p>I loved it and I hope it sticks around. I just took another look and it compiles applications for Windows, OS X, Android, and iOS. Maybe I should give it another go some time.
conradfr大约 11 年前
Delphi 3 introduced me to programming in my teen years. Somehow that&#x27;s why I never dived in C I guess. I remember how you only had to dealt with pointers when you used Windows API.<p>It took years to Microsoft to get the web right (as everyone who used Visual Studio and .NET before MVC could tell you), it&#x27;s no wonder it was difficult for a company like Borland to transition.<p>As a PHP developer I wonder why I never tried that &quot;Delphi for PHP&quot;.<p>Coincidentally I interned at Borland France during my marketing years ten years ago and developers were really passionate about Delphi.
pjmorris大约 11 年前
&quot;With very few exceptions, technologies don’t die. In this way they differ from biological species, which in the long-term inevitably do go extinct. Technologies are idea-based, and culture is their memory. They can be resurrected if forgotten, and can be recorded (by increasingly better means) so that they won’t be overlooked. Technologies are forever.&quot; - Kevin Kelly [1]<p>[1] <a href="http://kk.org/thetechnium/2006/02/immortal-techno/" rel="nofollow">http:&#x2F;&#x2F;kk.org&#x2F;thetechnium&#x2F;2006&#x2F;02&#x2F;immortal-techno&#x2F;</a>
tokenrove大约 11 年前
I did a contract that involved some Delphi not long ago. I was really surprised to see it still in use. The worst thing, though, was registering to get a trial from Embarcadero who then had an elaborate follow-up process including phone calls from them. And after all that, the code in question wouldn&#x27;t compile with the new editions of Delphi and I had to track down a copy of Delphi 6.<p>I was really surprised to discover they still have a C++ compiler product. Does anyone use it?
评论 #7614025 未加载
评论 #7615242 未加载
bdamm大约 11 年前
I loved Delphi back in 1997. Then I moved on to Java, and never looked back. It was wonderful though, and GUIs were so easy. It wasn&#x27;t my first language, but it was the first language I become truly comfortable and productive in.<p>My move to Java was partly because I was straddling the Windows and Linux worlds, and Delphi couldn&#x27;t cross that chasm with me at the time.
mrsaint大约 11 年前
Why? Because it cannot just die yet! One of my most frequently used Windows app is in Delphi. Total Commander. ;)
hoodoof大约 11 年前
I feel like Delphi has made a recent exciting comeback to relevance. AppMethod allows development of native compiled apps for OSX, Windows, Android and iOS, all from the same Delphi code base. That&#x27;s a compelling proposition.
评论 #7618575 未加载
jimmcslim大约 11 年前
I have recently joined a small successful ISV selling and developing a couple of Delphi apps in an industry vertical in which I have significant experience; my prior experience has been C#&#x2F;.Net for quite a while, and before that Java. I recall buying the Delphi IDE way back in the day; possibly when I was still at university, definitely when Borland was still around!<p>So some informed observations:<p>1. The quality of the IDE is incredibly dire compared to Visual Studio+Resharper or Jetbrains IntelliJ. Perhaps it will be improved if a buy a license for Castalia. That said, I&#x27;ve been using XE3, maybe the more recent versions are better but it seems that Embarcadero have been focusing on getting into the cross-platform mobile game (one which I think Xamarin&#x2F;Phonegap&#x2F;Titanium, etc are playing better) rather than increasing the quality of the tools or enhancing the language. XE6 may have some improvements under Embarcadero&#x27;s &quot;QPS&quot; (Quality&#x2F;Performance&#x2F;Stability) project. We haven&#x27;t upgraded our licenses since the versions since XE3 didn&#x27;t bring anything for us, but if we want to see Delphi survive then perhaps we should be chucking some money Embarcadero&#x27;s way!<p>2. The language is quite verbose, and I find the need to declare the &#x27;interface&#x27; for a class separate to the implementation of the methods quite cute. There&#x27;s so much ceremony around anonymous methods that it hardly seems worth it some times. Lack of built-in multicast delegates for event handlers.<p>3. I recently attended a local symposium put on by the user group. There didn&#x27;t appear to be much diversity amongst the attendees. I would charge that lack of diversity is not a sign of a healthy software development community. Speaking with one of the organiser&#x27;s, they mentioned that Embarcadero doesn&#x27;t introduce new Delphi customers to the user group any more since it is just &quot;grumpy old men&quot;.<p>4. At this symposium one of the talks was on dependency injection. I was bemused that this was a new idea to the Delphi world. One of the advertisers in the symposium papers was a consultancy whose pitch basically was &quot;so you&#x27;ve been making money from selling a product, but you&#x27;re getting old and want to retire. Pass the source code and rights over to use and we&#x27;ll work out an arrangement to continue development whilst maintaining a royalty stream for you&quot;.<p>5. Packaging of open-source for easy reuse is challenging in Delphi. Unlike managed environments such as .Net or Java, reusing well-known open source components is as simple as adding an assembly or a JAR to your project (yes, I acknowledge that in the past this has had its own challenges, but I think in the .Net world at least Nuget has largely conquered this). The native binaries nature of Delphi has meant there is no such equivalent (that I&#x27;m aware of), although I&#x27;m considering leveraging Nuget&#x27;s packaging format and tools for BPLs.
评论 #7616253 未加载
eitland大约 11 年前
Everybody else seems to love it, even compared to Java.<p>I can&#x27;t help but think of using three days to collect and compile all dependencies for a legacy project.<p>At that point at least I&#x27;d take Java and maven any day.
issam01大约 11 年前
dealing with Delphi as a product more than programming language hurts the Delphi community. I mean Embarcadero should give away some (freebies) to the community. like a free&#x2F;express Delphi version. I think this will refresh its community and the Delphi empire would rise again.
评论 #7614224 未加载
antocv大约 11 年前
Does anyone know more about PeopleCode and their PeopleSoft tools and IDE and how it compares?
评论 #7614857 未加载
superflit大约 11 年前
Having supported Delphi applications I had to say:<p>1) It just works;<p>2) It works in old machines fairly good enough<p>3) There is a lot of new components&#x2F;integrations (SQL,DB2,Oracle,WEB,etc)<p>4) Good reports system<p>It isn&#x27;t sexy but do the job very well for most corporate applications.
评论 #7613929 未加载
smegel大约 11 年前
Reminds me of ColdFusion. It should be dead, but it&#x27;s not.
ape4大约 11 年前
The COBOL of the future?
评论 #7613769 未加载