- 最后登录
- 2021-9-22
- 在线时间
- 546 小时
- 寄托币
- 650
- 声望
- 86
- 注册时间
- 2014-12-10
- 阅读权限
- 25
- 帖子
- 95
- 精华
- 0
- 积分
- 431
- UID
- 3582304
- 声望
- 86
- 寄托币
- 650
- 注册时间
- 2014-12-10
- 精华
- 0
- 帖子
- 95
|
这个是可能的啊 虽然不能全部记下来 尤其没办法记下作者的语言
但是总体上来说只需要读懂文章 记住每个段落的大致内容 以及作者是如何呈现这个内容
复述的时候只要跟随着思路 自然就把文章大体上重现出来了
会漏掉不少... 但是依然够我写40分钟了
我现在依然能回忆起昨天读的最后一篇文章的很大一部分
先定义了 S code 是什么鬼. 由于不断的修改不断的迭代最后形成的一块商业领域无法接受, 甚至有时保存着错误的东西. 有时还可能是多个过时语言的混合体. 到最后谁也不知道到底里面写了啥.
然后说明为什么这个东西会存在, 因为学术领域资金紧缺, 时间也有限, 在呈现一个研究结果的时候没办法去注意这些东西; 然而这些东西在商业领域却无法接受; 很多时候学术领域的成果有转换成商业应用的价值, 当需要这么做的时候 S code 就在中间形成了一个断缺.
OCC 是一个公司专门提供这个断缺的解决方案. 最近他们做了两个这个方面的项目. 其中一个是将一个医疗研究成果商业化, untangle原本的 S code 成为商业能够接受的东西. 另外一个是将一个过时语言和 matlab 程序的混杂物以统一的方式重新呈现出来. 这个项目是为了计算伦敦地下电力线路的负荷以及危险指数.
他们做到这两个项目的方式是这样的: 先拷贝一份原始的程序并确保它能像原始程序一样正常的运行, 然后一块一块的翻译成现代的能被商业领域和商业程序猿接受的程序, 还有可能给它做出改进和升级, 并且测试以确保能正确运行.
他们不是唯一做这个事情的人, 事实上这个已经形成一个行业. 除了OCC 以外还有其他三家也在做这个事情, 包括一个大学的 in-house 项目和其他两家面对开放市场的公司, 他们都在纽约.
这个问题从一开始就不会存在如果研究人员更加注意这个问题, 然而编程本身对研究人员来说只是一种方式而不是一个目的, 甚至形成了这么一个环境: 如果有人太在意这个问题的话会被指责为浪费时间.
但是仍然有违抗环境的人开始主张从根本上解决这个问题, 一个机构称为 SSI 开始鼓励研究人员更加注意不在最初阶段生产 S code, 为了他们自己也为了他们的成果更容易商业化. 他们致力于教会研究人员更好的编程.
虽然这个主张是好的, SSI 已经在这个领域做了很多年了, 其中一位工作人员从98年起就在相关领域从事该工作, 但是并没有很好的成效. 看来这个中间行业在短时间内还会继续有市场.
SOME programmers call it “spaghetti code”. Though error-strewn, it works—most of the time. It is likely to have been written in an out-of-date language, possibly more than one of them. It has grown by accretion, as different graduate students and postdocs, many long since departed to other institutions, have tweaked it, fixed it and patched it. And it is, of course, unannotated, so nobody really knows what is going on inside it.
In the rarefied atmosphere of academia, where enthusiasm is all and budgets are tight, that is generally good enough. For commercial applications, though, it is intolerable. Yet academic spaghetti code frequently contains commercially useful ideas that might be sold to outside companies or employed as the basis of new, startup businesses. So there is a market niche available to be occupied by those willing to take the stuff and untangle it.
One occupant of said niche is Oxford Computer Consultants (OCC), a firm based in the eponymous English city. A recent project it carried out was the transformation of drug-testing software developed by researchers at Oxford University into a commercial package called Virtual Assay, which can speed up preclinical trials of putative medicines. A second began with pieces of code written partly in Fortran, a programming language devised in the 1950s, and partly in Matlab, a more modern language, by researchers at Southampton University. This mixture was turned into RoCiT, a system that engineers at National Grid, the firm which (among other things) runs Britain’s electricity-distribution network, use to calculate the maximum power that underground cables can carry safely.
According to Reynold Greenlaw, one of OCC’s directors, cleaning up spaghetti code starts with the obvious but not-always-easy step of getting a copy of the program to run on one of the firm’s own machines—and, once it is running, to turn out the same results as it does on the originator’s machine. That done, each of the program’s parts can be examined and tested individually, translated into a more modern computing language if required, and upgraded as necessary. Only then, when all parts are working properly, is the spaghetti untangled, the entire program restructured into something a commercial programmer would accept, and annotation added to it so that other programmers can understand exactly how it works.
As might be expected, OCC is not alone in its mission to transmogrify academic software into something business can use. Such an industry exists in America, too. There, though, universities often try to keep the process within their walls. The Venture Development Centre of the University of Massachusetts, in Boston, is one example of an in-house spaghetti untangler for researchers who want to go commercial. The New York University School of Engineering Incubator is another. A third is the Southern Tier Startup Alliance at Cornell, also in New York state.
Untangling spaghetti code in this way would not, of course, be necessary if researchers were better programmers in the first place. But that would involve a change in their incentives, because for most academics writing software is merely a means to an end rather than an end in itself. Those who do put effort into producing good code risk being seen by their colleagues as time-wasters.
Some brave souls are, nevertheless, trying to encourage this change. One such is Neil Chue Hong, founder and head of the Software Sustainability Institute (SSI) at Edinburgh University. The SSI has the self-appointed mission (backed by government funding agencies) of encouraging British academics to code sensibly from the beginning—for their own good, as well as that of any commercial spin-offs.
Mr Chue Hong is a relative newcomer to the task of teaching good programming practices to academics, for the SSI was founded in 2010. Greg Wilson has been at it since 1998, when he started “software carpentry” workshops at Toronto University. He now runs the Software Carpentry Foundation, an international charity, but has not yet succeeded in turning the majority of computing’s academic bodgers into craftsmen. The spaghetti-untanglers, it seems, will be around for a while yet.
|
|