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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

All Software is Legacy

120 点作者 leejo超过 9 年前

8 条评论

doxcf434大约 9 年前
I recently had to maintain some new perl code. I didn&#x27;t think it would be a big deal, but found a number of things I take for granted today that perl hasn&#x27;t kept up with:<p>1) The perl cpan module doesn&#x27;t resolve dependencies<p>2) The cpan module has parsing errors when passing in a list of CPAN packages<p>3) You have to manually grep your perl code to see what modules it depends on<p>4) Module installs take a long time since they can compile and unit test the code, unit tests can even make connections to the internet or try to access databases and fail, so you just have for force them to install<p>5) Non-interactive installs of CPAN modules requires digging in the docs and learning you need to set an env var to enable<p>6) CPAN modules aren&#x27;t used that heavily and can have bugs that would be caught in wider used modules. (e.g. the AWS EC2::* modules don&#x27;t page results from AWS so results sets can be incomplete, whereas the wider used boto lib works correctly and is better maintained.)<p>7) Perl devs don&#x27;t think twice about shelling out to an external binary (that may or may not be installed)<p>8) Even if regexs are not needed, inevitably the perl dev will use them since that&#x27;s the perl hammer, and it&#x27;s hard to know what the intention is with regexes or what the source data even looks like<p>9) You have to manually include the DataDumper package to debug data structs<p>10) You have to manually enable warnings and strict check, it&#x27;s not on by default.<p>Anyhow, I think we&#x27;ve made a lot of progress since the 1990s. :)
评论 #11189090 未加载
评论 #11189027 未加载
评论 #11189749 未加载
评论 #11192314 未加载
评论 #11190997 未加载
评论 #11189257 未加载
egraether大约 9 年前
In my opinion the biggest problem with legacy code is understanding its implementation as someone who hasn&#x27;t worked on it before. In a lot of cases it&#x27;s not documented well and the original authors have already left, so there&#x27;s no one to ask. You are left with reading code written by someone else, which takes a lot of time.<p>This is not Perl related, but I&#x27;m currently working on a developer tool that makes this part of the job easier. It&#x27;s a source explorer for C&#x2F;C++ named Coati that simplifies navigation within source code and thereby makes understanding the implementation faster and easier. <a href="https:&#x2F;&#x2F;www.coati.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.coati.io&#x2F;</a>
评论 #11189308 未加载
t3hprogrammer大约 9 年前
I share a similar sentiment with a different phrase: &quot;code is a living history of past ideas, good and bad.&quot;
评论 #11188792 未加载
评论 #11189313 未加载
milesf大约 9 年前
A softer phrase that might work better is &quot;All Software is Experimental&quot;. It has less pejorative connotations, and could be a shibboleth among seasoned developers.
评论 #11189422 未加载
tariqali34大约 9 年前
Legacy software is successful software. What&#x27;s the point of building a program that will be discarded after a few months because its users fled to the next big thing? That just means more lines of code being written overall, needlessly.
评论 #11190598 未加载
vinceguidry大约 9 年前
I used to fantasize about having a code base I&#x27;d maintain for the next X0 years. Something like Dwarf Fortress, or hell, even TempleOS. Then I slap myself and come to my senses. Who knows how different coding will be 10 years from now? Do I really want to get married to something that&#x27;s bound to be obsolete sooner rather than later?
评论 #11190076 未加载
评论 #11190249 未加载
评论 #11190685 未加载
gaius大约 9 年前
Legacy means &quot;in production, making us money&quot;.
mooreds大约 9 年前
We should all be so lucky as to write legacy code because the alternative is worse: code that is never deployed, or deployed only for a short time. A project and website I worked on for about 10 years was recently shuttered, and I am extremely proud of what that code did for the business which paid me.