TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Use of Subroutines in Programmes (1951) [pdf]

68 pointsby adgasfalmost 8 years ago

3 comments

no_protocolalmost 8 years ago
A great number of familiar concepts are described here in just 2 pages:<p>- Subroutines<p>- Modularity<p>- Unit testing<p>- Reusable libraries<p>- Documentation<p>- `goto`&#x2F;`return`<p>- Debugging<p>The tone seems to place this writing as instructive -- someone who wanted to write a programme at the time could refer to this document for hints at what to do. Very interesting window into the past.<p>I haven&#x27;t quite decoded exactly what the modern formulation of an `interpretive routine` is. Is it the same as the layer we would now call the &quot;instruction set architecture&quot; that sits above some &quot;microcode&quot; operations? Where some instructions do more work than others behind the scenes. It also seems to have some relation to &quot;just-in-time compilation&quot;, just at a lower level than the current systems.
评论 #14572228 未加载
评论 #14573130 未加载
评论 #14572000 未加载
评论 #14571695 未加载
评论 #14576862 未加载
amadeuswalmost 8 years ago
Besides describing programming concepts, this paper reveals what it was like to be a programmer:<p>As I understand it, it was expected from a programmer to completely understand workings of the algorithm and a tracing subroutine seems to not be in favor. Currently the systems we&#x27;re working with are so complex that we can&#x27;t comprehend all algorithms and need to use debugging and tracing tools:<p>&gt; However the interpretive routine retains control and so it is possible to print out extra information about the course of the programme. This extra information makes it possible to follow the meanderings of the program in detail thus helping to locate the errors of a programme. This is not a good method of finding errors in programmes as it takes a long time and the programmers knowledge of the programme is not utilized - as it should be - in tracing the fault.<p>Other bits I enjoyed reading:<p>Writing good docs was hard even back in 1951!<p>&gt; there still remains the considerable task of writing a description so that people not acquainted with the interior coding can nevertheless use it easily. This last task may be the most difficult.<p>Timeless piece of advice<p>&gt; All complexities should - if possible - be buried out of sight.
评论 #14572776 未加载
Upvoter33almost 8 years ago
thanks for posting this. it is fun to see historical discussion of such fundamental concepts... Dijkstra&#x27;s notes also have this flavor.