Update 2024-03-27: Greatly expanded the "Samples" page and renamed it to "Glossary".
Update 2024-04-04: Added 5 million mid-2011 posts from the k47 post dump. Browse (mostly) them here.
Update 2024-04-07: Added ~400 October 2003 posts from 4chan.net. Browse them here.

Welcome to Oldfriend Archive, the official 4chan archive of the NSA. Hosting ~170M text-only 2003-2014 4chan posts (mostly 2006-2008).
[1 / 0 / ?]

[1391421513] Software Engineering

No.86382 View ViewReplyOriginalReport
Made to Measure: Cost-Effective Software Engineering

Once upon a time, most software was little more than a few hundred lines of code dreamt up in a computer nerd's spare bedroom; Tim Paterson, who developed the first version of Microsoft's MS-DOS operating-system software, carried its code around in his head.

These days software is rather more complex. A typical word-processing software package for a personal computer contains 500.000 lines of code. Transforming Windows into Windows-NT meant writing 1 million lines of new computer code.

Such computer codes are not just written; they are 'engineered'. Developing complex software is both labour-intensive and time-consuming. A modern PC spreadsheet might take programmers two years to develop. ...

As well as paying $10 billion each year for PC software packages, American companies also spend up to $20 billion on customised software for everything from payrolls to production lines, with no easy way of knowing whether they are getting value for money. The traditional way of counting cost-effectiveness in software, working out each program's cost per line of code, works when comparing two programs written in the same language.

But try to compare two software projects written in different languages - there are now over 400 - and the technique falls apart. Source codes (what programmers actually write) have to be translated into machine codes (something simple enough for a computer to understand) before anything useful can happen.

A line of code in a modern 'high-level' language such as 'C' can contain ten or more times as much machine-code meaning as a line of Assembler (which is just one step from machine code). Some of the latest computer languages based on graphical icons are 70 times more powerful than Assembler. ...