【计算机系统导论】1.4 从 Fortran 到 Heartbleed

软件原先是硬件的附庸,后来成为了一方诸侯


商业应用 -> 开发者应用,开发者逐渐成为了一方诸侯,道德 伦理

Plankalkül (Plan Calculus) 1945

Konrad Zuse begins work on Plankalkül (Plan Calculus), the first algorithmic programming language, with the goal of creating the theoretical preconditions for the solution of general problems. Seven years earlier, Zuse had developed and built the world´s first binary digital computer, the Z1. He completed the first fully functional program-controlled electromechanical digital computer, the Z3, in 1941. Only the Z4 — the most sophisticated of his creations — survived World War II.

The Mathematical Theory of Communication 1948

American mathematician Claude Shannon writes The Mathematical Theory of Communication, laying the groundwork for understanding the theoretical limits of communication between people and machines. As part of this work Shannon identified the bit as a fundamental unit of information and, coincidentally, the basic unit of computation.

FORTRAN 1957

An IBM team led by John Backus develops FORTRAN, a powerful scientific computing language that uses English-like statements. Some programmers were skeptical that FORTRAN could be as efficient as hand coding, but that sentiment disappeared when FORTRAN proved it could generate efficient code. Over the ensuing decades, FORTRAN became the most often used language for scientific and technical computing. FORTRAN is still in use today.

COBOL (Common Business-Oriented Language) 1960

A team drawn from several computer manufacturers and the Pentagon develop COBOL—an acronym for Common Business-Oriented Language. Many of its specifications borrow heavily from the earlier FLOW-MATIC language. Designed for business use, early COBOL efforts aimed for easy readability of computer programs and as much machine independence as possible. Designers hoped a COBOL program would run on any computer for which a compiler existed with only minimal modifications.

Howard Bromberg, an impatient member of the committee in charge of creating COBOL, had this tombstone made out of fear that the language had no future. However, COBOL survives to this day. A study in 1997 estimated that over 200 billion lines of COBOL code was still in existence, accounting for 80% of all business software code.

ASCII 1963

ASCII — American Standard Code for Information Interchange — permits machines from different manufacturers to exchange data. The ASCII code consisted of 128 unique strings of ones and zeros. Each sequence represented a letter of the English alphabet, an Arabic numeral, an assortment of punctuation marks and symbols, or a function such as a carriage return. ASCII can only represent up to 256 symbols, and for this reason many other languages are better supported by Unicode, which has the ability to represent over 100,000 symbols.

Thomas Kurtz and John Kemeny create BASIC 1964

Thomas Kurtz and John Kemeny create BASIC (Beginner’s All-purpose Symbolic Instruction Code), an easy-to-learn programming language, for their students at Dartmouth College who had no prior programming experience. Its use spread widely to schools all over the world. Over a decade later, most early personal computers were shipped with a version of BASIC embedded in their system, which opened up programming to an entirely new audience.

Kenneth Thompson and Dennis Ritchie develop UNIX 1969

AT&T Bell Labs programmers Kenneth Thompson and Dennis Ritchie develop the UNIX operating system on a spare DEC minicomputer. UNIX combined many of the timesharing and file management features offered by Multics, from which it took its name. (Multics, a project of the mid-1960s, represented one of the earliest efforts at creating a multi-user, multi-tasking operating system.) The UNIX operating system quickly secured a wide following, particularly among engineers and scientists, and today is the basis of much of our world’s computing infrastructure.

Pascal is introduced 1970

The Pascal programming language, named after Blaise Pascal, a French physicist, mathematician and inventor turned philosopher, is introduced by Professor Niklaus Wirth. His aim with Pascal was to develop a programming language applicable to both commercial and scientific applications, and which could also be used to teach programming techniques to college students. It was closely based on ALGOL 60, which Wirth had also helped to develop.

C programming language is released 1972


Ken Thompson(L) and Dennis Ritchie(R)

The C programming language is released. Dennis Ritchie and his team created C based on the earlier language BCPL (Basic Combined Programming Language) and soon after re-wrote the source code for Unix in C. As such, Unix was easily ported to other computers and spread swiftly. C is still widely used today.

CP/M is developed 1976

Gary Kildall develops the first commercially successful operating system for microcomputers, CP/M. He and his wife established Intergalactic Digital Research (modestly dropping “Intergalactic” later) to market it. CP/M made it possible for one version of a program to run on a variety of computers built around eight-bit microprocessors. At one point Digital Research and Microsoft were approached by IBM about providing an operating system for its PC. Microsoft won the competition with its own operating system, called MS-DOS.

MS-DOS released with the IBM PC 1981

MS-DOS, or Microsoft Disk Operating System, the basic software for the newly released IBM PC, is the start of a long partnership between IBM and Microsoft, which Bill Gates and Paul Allen had founded only six years earlier. IBM’s PC inspired hardware imitators in the 1980s, but for software, most licensed MS-DOS. MS-DOS was eventually supplanted by Microsoft’s Windows operating system.

Microsoft introduces Word 1983

Microsoft announces Word, originally called Multi-Tool Word. In a marketing blitz, Microsoft distributed 450,000 disks containing a demonstration version of its Word program in the November issue of PC World magazine, giving readers a chance to try the program for free. It competed with WordPerfect for market share as a word processing program, and it was not until Microsoft Word for Windows was introduced in 1989 that it became a global standard.

Richard Stallman develops GNU 1983

Richard Stallman, a programmer at MIT’s Artificial Intelligence Lab, set out to develop a free alternative to the popular Unix operating system. This operating system called GNU (for Gnu’s Not Unix) was going to be free of charge but also allow users the freedom to change and share it. Stallman founded the Free Software Foundation (FSF) based on this philosophy in 1985.

While the GNU work did not immediately result in a full operating system, it provided the necessary tools for creating another Unix-type system known as Linux. The software developed as part of the GNU project continues to form a large part of Linux, which is why the FSF asks for it to be called GNU/Linux.

Matlab is released 1984

Matlab (Matrix Laboratory), a high-level programming language, is released. It was designed by Professor Cleve Moler of the University of New Mexico and was initially intended to help students use mathematical software libraries without requiring knowledge of the scientific programming language FORTRAN. Its roots began in the academic community, but it spread quickly to many other areas of technical computing and is widely used today.

Verilog is created 1984

Phil Moorby and Prabhu Goel of Gateway Design Automation create Verilog, a hardware description language that is used in the design of digital circuitry. Initially designed for Gateway’s Verilog XL Design Logic Simulator, it was a vast improvement over methods being used by circuit designers at the time.

Gateway Design Automation was acquired in 1989 by Cadence Design, which released the Verilog Hardware Description Language (HDL) into the public domain the following year. Verilog is now one of two hardware description languages used in the world today to design complex digital systems.

The C++ Programming Language is published 1985

The C++ programming language emerges as the dominant object-oriented language in the computer industry when Bjarne Stroustrup publishes the book The C++ Programming Language. Stroustrup, from AT&T Bell Labs, said his motivation stemmed from a desire to create a language that would allow for more complex programs and which combined the low-level features of BCPL with the high-level structures of Simula.

According to Stroustrup: “C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer.”

Perl is written by Larry Wall 1987

Perl (Practical Extraction and Report Language) is written by Larry Wall. It was intended to facilitate report processing and could scan and extract information from text files and ultimately create reports generated from that information. It was designed for ease of use and quick programming and has found multiple applications in every branch of computing. It is very useful in making other programs work together and has been called “the duct tape of the Internet.”

Microsoft ships Windows 3.0 1990

Microsoft ships Windows 3.0. Compatible with DOS programs, the first successful version of Windows finally offered good enough performance to satisfy PC users. For the new version, Microsoft updated the interface and created a design that allowed PCs to support large graphical applications for the first time. It also allowed multiple programs to run simultaneously on its Intel 80386 microprocessor. Microsoft lined up a number of other applications ahead of time that ran under Windows 3.0, including versions of Microsoft Word and Microsoft Excel. As a result, PC users were exposed to the user-friendly concepts of the Apple Macintosh, making the IBM PC more popular.

Photoshop is released 1990

Photoshop is released. Created by brothers John and Thomas Knoll, Photoshop was an image editing program and the most popular software program published by Adobe Systems. Thomas, while earning a PhD at the University of Michigan, had created an early version of the program in 1987, and John saw a practical use for it as a special effects staff member at Industrial Light & Magic. It was then used for image editing in the “pseudopod” scene in the movie The Abyss. When Adobe saw potential in the project they bought a license for distribution in 1989 and released the product on February 19, 1990.

Linus Torvalds releases the Linux kernel 1991

Designed by Finnish university student Linus Torvalds, the Linux kernel is released to several Usenet newsgroups. Almost immediately, enthusiasts began developing and improving it, such as adding support for peripherals and improving its stability. In February 1992, Linux became free software or, as its developers preferred to say after 1998, “open source.” Linux also incorporated some elements of the GNU operating system and is used today in devices ranging from smartphones to supercomputers.

FreeBSD is launched 1993

FreeBSD, a complete Unix-like operating system is launched. It was the most widely used open-source BSD (Berkeley Software Distribution) variant. After its initial release, the software was significantly re-engineered due to a lawsuit between Unix copyright holder Unix Systems Laboratories and the University of California, Berkeley. The lawsuit revolved around source code in Berkeley’s 4.3BSD-Lite which was the basis of the FreeBSD operating system. FreeBSD incorporated features including networking, storage, security, portability and Linux compatibility.

Microsoft Windows NT is released 1993

Microsoft Windows NT is released. Work on the project began in the late 1980s in an effort spearheaded by a group of former Digital Equipment Corporation employees led by Dave Cutler. It was the first truly 32-bit version of Windows from Microsoft, which made it appealing to high-end engineering and scientific users that required better performance. A number of subsequent versions of Windows were based on NT technology.

Java 1.0 is introduced 1995

Java 1.0 is introduced by Sun Microsystems. The Java platform’s “Write Once, Run Anywhere” functionality let a program run on any system, offering users independence from traditional large software vendors like Microsoft or Apple. The project was a successor to the Oak programming language created by James Gosling in 1991.

JavaScript is developed 1995

JavaScript, an object-based scripting language, is developed at Netscape Communications by Brendan Eich. It was used extensively across the Internet on both client and server sides. Although it shared its name with the Java programming language, the two are completely different.

Microsoft introduces Visual Studio 1997

Microsoft introduces Visual Studio. Bundled within Visual Studio were a number of programming tools, as Microsoft’s intent was to create a single environment where developers could use different programming languages. The idea of visual programming is to allow programmers to develop software using built-in visual elements (like in a block diagram) instead of text.

Y2K bug 2000

During the late 1990s, the impending Year 2000 (Y2K) bug fuels news reports that the onset of the year 2000 will cripple telecommunications, the financial sector and other vital infrastructure. The issue was rooted in the fact that date stamps in most previously written software used only two digits to represent year information. This meant that some computers might not be able to distinguish the year 1900 from the year 2000. Although there were some minor glitches on New Year’s Day in 2000, no major problems occurred, in part due to a massive effort by business, government and industry to repair their code beforehand.

BitTorrent is launched 2001

BitTorrent, a peer-to-peer file sharing service, is launched by BitTorrent, Inc. It was developed by Bram Cohen and was initially an open source program, but became closed source in 2005. BitTorrent enabled users to upload and download files, typically music and movies. It came under scrutiny of copyright holders – such as the music and motion picture industries – which claimed BitTorrent facilitated theft of their intellectual property.

Mac OS X is released 2001

Mac OS X is released. It was a significant departure from the classic Mac OS as it was based on the Unix-like operating systems FreeBSD, NetBSD and NeXTSTEP/OPENSTEP. OS X introduced a more stable and reliable platform and multiple applications could more efficiently be run at the same time. Mac OS X 10.7 (“Lion”) was the first version to support 64-bit Intel processors. It came pre-installed on all Macs beginning in 2011.

Windows XP is released 2001

The Windows XP operating system is released. Based on the Windows NT kernel, XP was considered more stable than previous versions of the operating system. XP was widely adopted by industry and persisted much longer than Microsoft planned. For example, in 2014, 95% of the world’s automated teller machines ran XP. Microsoft support for XP ended on April 8, 2014.

Hadoop is developed 2005

Hadoop is an open source software project initially developed by Google as a means of extracting search results from large amounts of unstructured data, such as data found on the web. It was used by many large corporations where networked scalability, cost effectiveness and fault tolerance were critical to their business models. Companies such as Google, Yahoo, American Airlines, IBM and Twitter all used Hadoop, and it could be scaled from a single server to thousands. With Hadoop different types of data could be seamlessly integrated and Hadoop could redirect work to another system if a node failed in the cluster.

Reports of the Stuxnet virus surface 2010

The Stuxnet virus is widely reported in the media due to attacks centered in Iran. The virus attempted to damage uranium enrichment centrifuges used in Iran’s nuclear development program by causing damaging speed variations. Although it was recognized that some centrifuges were rendered inoperable by the virus, the full extent of the damage remained unknown. Stuxnet brought attention to the fragile nature of global infrastructure in a networked world.

Adobe Creative Cloud is Announced 2011

Adobe Creative Cloud is announced as a subscription and cloud-based model of distribution for its major software products. Adobe Acrobat, Illustrator, Dreamweaver, Photoshop, and others, could be subscribed to either as a complete package or individually to suit user needs. This model also allowed Adobe to begin releasing continuous updates to their products, shortening the development cycle and the time need to incorporate new features.

Facebook Acquires Instagram 2012

Instagram, an image-sharing and social networking application, is purchased by Facebook for nearly $1 billion. It was initially launched in October 2010 by founders Kevin Systrom and Mike Krieger and became an instant hit, with over 100 million active users by early 2013. Photos and videos (with 15 second maximum length) could be shared among users, who could then annotate these images with specific hash tags to enable them to be easily shared among other social media platforms such as Twitter and Facebook. Instagram also allowed users to manipulate their photos with a variety of digital filters such as “Slumber,” “Kelvin,” “1977,” “Sierra,” and “Inkwell.”

Apple Pay is Released 2014

The Apple Pay mobile payment system is introduced into Apple’s product ecosystem. Initially only available for the iPhone 6 and 6 Plus, iWatch, iPad Air 2, and iPad Mini 3, many major banks and credit card companies participated in the Apple Pay system. The device’s near field communications (NFC) interface, Passbook app, and Apple’s Touch ID system worked in tandem with point-of-sale systems in retail outlets to complete transactions. Apple Pay could also be used for online purchases.

HTML 5 is Announced 2014

HTML 5 is announced as the successor to HTML 4, which had become the standard for web markup languages in 1997. Markup languages describe how web pages will look and function. Work on HTML 5 had begun in 2004 under the auspices of the Web Hypertext Application Technology Working Group. It was simplified compared to its predecessors and was intended to be human-readable. HLTML 5 also offered a number of improvements for multimedia, such as simplifying the embedding of content such as streaming video and games into web pages.

Heartbleed Bug Discovered 2014

The Heartbleed bug is uncovered as a dangerous security flaw in the code base of the OpenSSL cryptographic software library. OpenSSL protected a significant portion of the world’s web servers, and nearly 20% of them were found to be vulnerable to attack from this particular security bug, which allowed hackers to eavesdrop on the communications of unsuspecting victims and steal sensitive information such as user names and passwords, emails, instant messages, and even confidential files and documents. Although it was a dangerous and widespread bug, installation of the “Fixed OpenSSL” library by service providers and users greatly reduced its effectiveness.

捧个钱场?