Abstracting Away the Machine PDF Download

Are you looking for read ebook online? Search for your book and save it on your Kindle device, PC, phones or tablets. Download Abstracting Away the Machine PDF full book. Access full book title Abstracting Away the Machine by Mark Jones Lorenzo. Download full books in PDF and EPUB format.

Abstracting Away the Machine

Abstracting Away the Machine PDF Author: Mark Jones Lorenzo
Publisher: Independently Published
ISBN: 9781082395949
Category :
Languages : en
Pages : 326

Book Description
At the dawn of the computer age, an elite development team at IBM built the most influential computer programming language in history: FORTRAN. Abstracting Away the Machine tells the epic story of how they did it--and what happened next. Over the past six decades, programming languages like ALGOL, BASIC, C/C++, COBOL, Java, LISP, LOGO, Pascal, PL/I, Python, Visual Basic, and many others opened up the field of computer science, and of computer programming in general, to the masses. But all of these high-level languages (HLLs)--computer languages that automate, hide, or otherwise abstract away the underlying operations of the machine--owe a huge debt of gratitude to FORTRAN (FORmula TRANslation), the first HLL to achieve widespread adoption. Many programming practices that we take for granted now came about as a result of FORTRAN. Created over a three-year period at IBM by a development team led by a brilliant but wayward mathematician named John W. Backus, FORTRAN was implemented initially on the IBM 704 mainframe computer in the mid-1950s, with dialects of the language quickly spreading thereafter to other platforms. FORTRAN's powerful compiler, which translated human-readable code into code a computer could understand, produced incredibly clean and optimized standalone executable programs, all of which could be run independently of the compiler, setting the standard for decades to come--and overcoming the doubts of many skeptics along the way, who thought the FORTRAN project would never succeed. In the 1960s the language was standardized, with machine-dependent commands excised, and many platform-independent implementations followed. With the language now portable, able to run on any computer (at least in theory), FORTRAN, almost by accident, secured a stranglehold in the fields of science and engineering. The language also came to dominate in the supercomputing industry. But FORTRAN, a blue-collar workhorse more concerned with results than with style, was a victim of its own success--the language sowed the seeds of its own demise. New high-level languages sprouted up, stealing the good bits from FORTRAN while simultaneously defining themselves in opposition to it. FORTRAN had become the foil. As these new languages pierced the cutting edge of the programming landscape, they redefined computing paradigms (e.g., with structured programming, object-oriented programming, and the like), and FORTRAN--though eventually (and repeatedly) modernized and formally renamed Fortran--struggled to keep up through multiple standardization efforts, finally ceding significant ground to its successors as it slowly withdrew from the spotlight. To add insult to injury, even John Backus eventually turned against his creation. This is not a book on how to program in FORTRAN, nor is it a technical manual. Rather, the focus in Abstracting Away the Machine, which chronicles the complete history and development of the FORTRAN programming language, is set squarely on telling three interlocking stories: (1) How an elite group of computing trailblazers built FORTRAN, (2) Why the conditions at the time were ripe for them to succeed, and (3) What happened after they did. Tracing the long arc of FORTRAN's development and maturation is integral to understanding not only the history of programming but also the state of computer science today. The birth of FORTRAN planted a seed that led to the full flowering of high-level languages, since FORTRAN overcame initial skepticism by demonstrating to the world that a well-made HLL really could abstract away the machine.

Abstracting Away the Machine

Abstracting Away the Machine PDF Author: Mark Jones Lorenzo
Publisher: Independently Published
ISBN: 9781082395949
Category :
Languages : en
Pages : 326

Book Description
At the dawn of the computer age, an elite development team at IBM built the most influential computer programming language in history: FORTRAN. Abstracting Away the Machine tells the epic story of how they did it--and what happened next. Over the past six decades, programming languages like ALGOL, BASIC, C/C++, COBOL, Java, LISP, LOGO, Pascal, PL/I, Python, Visual Basic, and many others opened up the field of computer science, and of computer programming in general, to the masses. But all of these high-level languages (HLLs)--computer languages that automate, hide, or otherwise abstract away the underlying operations of the machine--owe a huge debt of gratitude to FORTRAN (FORmula TRANslation), the first HLL to achieve widespread adoption. Many programming practices that we take for granted now came about as a result of FORTRAN. Created over a three-year period at IBM by a development team led by a brilliant but wayward mathematician named John W. Backus, FORTRAN was implemented initially on the IBM 704 mainframe computer in the mid-1950s, with dialects of the language quickly spreading thereafter to other platforms. FORTRAN's powerful compiler, which translated human-readable code into code a computer could understand, produced incredibly clean and optimized standalone executable programs, all of which could be run independently of the compiler, setting the standard for decades to come--and overcoming the doubts of many skeptics along the way, who thought the FORTRAN project would never succeed. In the 1960s the language was standardized, with machine-dependent commands excised, and many platform-independent implementations followed. With the language now portable, able to run on any computer (at least in theory), FORTRAN, almost by accident, secured a stranglehold in the fields of science and engineering. The language also came to dominate in the supercomputing industry. But FORTRAN, a blue-collar workhorse more concerned with results than with style, was a victim of its own success--the language sowed the seeds of its own demise. New high-level languages sprouted up, stealing the good bits from FORTRAN while simultaneously defining themselves in opposition to it. FORTRAN had become the foil. As these new languages pierced the cutting edge of the programming landscape, they redefined computing paradigms (e.g., with structured programming, object-oriented programming, and the like), and FORTRAN--though eventually (and repeatedly) modernized and formally renamed Fortran--struggled to keep up through multiple standardization efforts, finally ceding significant ground to its successors as it slowly withdrew from the spotlight. To add insult to injury, even John Backus eventually turned against his creation. This is not a book on how to program in FORTRAN, nor is it a technical manual. Rather, the focus in Abstracting Away the Machine, which chronicles the complete history and development of the FORTRAN programming language, is set squarely on telling three interlocking stories: (1) How an elite group of computing trailblazers built FORTRAN, (2) Why the conditions at the time were ripe for them to succeed, and (3) What happened after they did. Tracing the long arc of FORTRAN's development and maturation is integral to understanding not only the history of programming but also the state of computer science today. The birth of FORTRAN planted a seed that led to the full flowering of high-level languages, since FORTRAN overcame initial skepticism by demonstrating to the world that a well-made HLL really could abstract away the machine.

IBM's 360 and Early 370 Systems

IBM's 360 and Early 370 Systems PDF Author: Emerson W. Pugh
Publisher: MIT Press
ISBN: 9780262161237
Category : Computers
Languages : en
Pages : 860

Book Description
No product offering has had greater impact on the computer industry than the IBM System/360. This book describes the creation of this remarkable system and the developments it spawned, including its successor, System/370.

Endless Loop

Endless Loop PDF Author: Mark Jones Lorenzo
Publisher:
ISBN: 9781974277070
Category :
Languages : en
Pages : 190

Book Description
"Endless Loop" chronicles the complete history of the BASIC programming language--from its humble beginnings at Dartmouth College, to its widespread adoption and dominance in education, to its decline and subsequent modern rebirth.In the early morning hours of May 1, 1964, Dartmouth College birthed fraternal twins: BASIC, the Beginner's All-purpose Symbolic Instruction Code programming language, and, simultaneously, the Dartmouth Time-Sharing System (DTSS). It hadn't been an easy birth, and the gestation period was likewise difficult. BASIC was primarily the idea of one man, mathematics professor John Kemeny, a brilliant Hungarian mathematician who had once been an assistant to Albert Einstein, while the DTSS satisfied the vision of another, mathematics and statistics professor Thomas Kurtz, who had brought a democratizing spirit to Dartmouth's campus in the form of free computing for all.BASIC and DTSS caught on at Dartmouth quickly, with a vast majority of undergraduates (and faculty) making use of the computer system via teletypewriters only several years after its inception. But by the early 1970s, with the personal computer revolution fast approaching, Kemeny and Kurtz began to lose control over BASIC as it achieved widespread popularity outside of Dartmouth. The language was being adapted to run on a wide variety of computers, some much too short of memory to contain the full set of Dartmouth BASIC features. Most notably, Microsoft built its business on the back of ROM-based BASIC interpreters for a variety of microcomputers. Although the language was ubiquitous in schools by the early 1980s, it came under attack by such notables as computer scientist Edsger W. Dijkstra for its lack of structure as well as by Kemeny and Kurtz themselves, who viewed non-Dartmouth "Street BASIC" as blasphemous and saw it as their mission to right the ship through language standardization and the release of True BASIC. But by then it was too late: the era of BASIC's global dominance was over.In "Endless Loop," author Mark Jones Lorenzo documents the history and development of Dartmouth BASIC, True BASIC, Tiny BASIC, Microsoft BASIC--including Altair BASIC, Applesoft BASIC, Color BASIC, Commodore BASIC, TRS-80 Level II BASIC, TI BASIC, IBM BASICA/GW-BASIC, QuickBASIC/QBASIC, Visual Basic, and Small Basic--as well as 9845 BASIC, Atari BASIC, BBC BASIC, CBASIC, Locomotive BASIC, MacBASIC, QB64, Simons' BASIC, Sinclair BASIC, SuperBASIC, and Turbo Basic/PowerBASIC, among a number of other implementations.The ascendance of BASIC paralleled the emergence of the personal computer, so the story of BASIC is first and foremost a story--actually, many interlocking stories--about computers. But it is also a tale of talented people who built a language out of a set of primal ingredients: sweat, creativity, rivalry, jealousy, cooperation, and plain hard work, and then set the language loose in a world filled with unintended consequences. How those unintended consequences played out, leading to the demise of the most popular computer language the world has ever known, is the focus of "Endless Loop."

IBM's Early Computers

IBM's Early Computers PDF Author: Charles J. Bashe
Publisher: Mit Press
ISBN: 9780262523936
Category : Computers
Languages : en
Pages : 735

Book Description
The challenges faced by IBM's research and development laboratories, the technological paths they chose, and how these choices affected the company and the computer industry.

Everlasting Code

Everlasting Code PDF Author: Mark Jones Lorenzo
Publisher: Independently Published
ISBN:
Category :
Languages : en
Pages : 512

Book Description
Grace Hopper's remarkable innovations in computing led to COBOL, which for decades was the most widely used programming language in the world. Everlasting Code offers an in-depth look at Hopper's work, while also chronicling the entire history of COBOL. The development of COBOL (COmmon Business-Oriented Language) was the strangest, wildest, and most dramatic story in the early history of computing. Everlasting Code covers it all, from Grace Hopper's pioneering work with compilers to the many contentious committee meetings that repeatedly put the birth of the language in jeopardy; from the race to build the world's first COBOL compiler to the numerous standardization efforts; and from the Y2K bug to the COVID-19 pandemic, times when public scapegoating of COBOL shifted into high gear. Even though it was the work of a committee and she was only indirectly involved in its creation, COBOL has Grace Hopper's fingerprints all over it. Therefore, since Everlasting Code tells two interrelated stories (that of Hopper's breakthroughs as well as the history of COBOL), the book is split into two parts. In the first part, we meet one of the most prolific computer scientists of the twentieth century and examine how Hopper's varied life experiences--as a student, professor, military officer, and programmer--led to her revolutionary ideas, setting the stage for the birth of COBOL. Hopper developed some of the earliest working compilers--programs that translated human-readable source code into machine code, a language computers could make sense of--including MATH-MATIC, for algebraic problems, and FLOW-MATIC, for data processing. Source code for Hopper's compilers had to be written in a form of everyday English, which proved eminently readable to some people and endlessly frustrating for others. FLOW-MATIC was the key influence for COBOL, as we discover in the second part of Everlasting Code. By the late 1950s, with the FORTRAN programming language dominating the engineering, scientific, and mathematical landscape, the need for a corresponding business data-processing language emerged. With Grace Hopper's full support, in early 1959 a programmer named Mary Hawes publicly suggested developing an industrywide common business language (CBL) capable of running the same programs on different computers. Thanks to Hopper's many government and military connections, the U.S. Department of Defense sponsored the CBL effort, taking the unprecedented step of bringing together many competing manufacturers and computer users for a high-stakes meeting at the Pentagon. Before long, subcommittees of CODASYL (the Committee on Data Systems Languages, which was formed to write the CBL) were at war with each other. Meanwhile, the chairman of CODASYL received a mysterious crated package. Inside was a tombstone with a reclining lamb statuette at the top and a single word engraved on the front: COBOL. Was this intended as a threat? Did someone want the language dead? Or was the tombstone merely delivering a warning: That if CODASYL couldn't get its act together, COBOL was sure to die an early death? Author Mark Jones Lorenzo takes you behind the scenes and inside the meeting rooms where the fate of a programming language hung in the balance. Filled with intrigue, conflict, suspense, drama, technical details, and the biographies of many larger-than-life personalities, Everlasting Code traces the precedents, the development, and the history of the COBOL programming language, which came to rule the world.

Concrete Abstractions

Concrete Abstractions PDF Author: Max Hailperin
Publisher: Max Hailperin
ISBN: 0534952119
Category : Abstract data types (Computer science).
Languages : en
Pages : 686

Book Description
CONCRETE ABSTRACTIONS offers students a hands-on, abstraction-based experience of thinking like a computer scientist. This text covers the basics of programming and data structures, and gives first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well. Students learn a variety of programming styles, including functional programming, assembly-language programming, and object-oriented programming (OOP). While most of the book uses the Scheme programming language, Java is introduced at the end as a second example of an OOP system and to demonstrate concepts of concurrent programming.

Understanding Machine Learning

Understanding Machine Learning PDF Author: Shai Shalev-Shwartz
Publisher: Cambridge University Press
ISBN: 1107057132
Category : Computers
Languages : en
Pages : 415

Book Description
Introduces machine learning and its algorithmic paradigms, explaining the principles behind automated learning approaches and the considerations underlying their usage.

How to Design Programs, second edition

How to Design Programs, second edition PDF Author: Matthias Felleisen
Publisher: MIT Press
ISBN: 0262344122
Category : Computers
Languages : en
Pages : 793

Book Description
A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting program design guidelines that show the reader how to analyze a problem statement, how to formulate concise goals, how to make up examples, how to develop an outline of the solution, how to finish the program, and how to test it. Because learning to design programs is about the study of principles and the acquisition of transferable skills, the text does not use an off-the-shelf industrial language but presents a tailor-made teaching language. For the same reason, it offers DrRacket, a programming environment for novices that supports playful, feedback-oriented learning. The environment grows with readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. This second edition has been completely revised. While the book continues to teach a systematic approach to program design, the second edition introduces different design recipes for interactive programs with graphical interfaces and batch programs. It also enriches its design recipes for functions with numerous new hints. Finally, the teaching languages and their IDE now come with support for images as plain values, testing, event-driven programming, and even distributed programming.

The Practice of Programming

The Practice of Programming PDF Author: Brian W. Kernighan
Publisher: Addison-Wesley Professional
ISBN: 0133133419
Category : Computers
Languages : en
Pages : 283

Book Description
With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming.

The Paper Computer Unfolded

The Paper Computer Unfolded PDF Author: Mark Jones Lorenzo
Publisher:
ISBN: 9781537421131
Category :
Languages : en
Pages : 256

Book Description
"The Paper Computer Unfolded" reveals the untold true story of three fully programmable computers that were made of nothing more than paper, cardboard, a bit of glue, and a lot of imagination.From transistors to lasers, from radio astronomy to the solar battery cell, and from the C programming language to information theory, through much of the twentieth century Bell Telephone Laboratories was the birthplace of the future. But just as important as what the scientists and mathematicians at Bell Labs invented were their clever promotional efforts describing the nature of their work. For instance, in the 1960s Bell distributed self-promotional "advertisements" in the form of free scientific and technology kits to teachers and students in middle and high schools nationwide. One kit focused on transistors; another, on solar energy; and yet another, on crystals and light. By the end of the sixties, many high school students received their first exposure to computers courtesy of the "Understanding Computers" Bell Labs kit. Inside was a strange-looking device constructed out of paper and die-cut cardboard: the CARDboard Illustrative Aid to Computation (CARDIAC), a fully programmable computer created by a visionary Bell mathematician. The single-address, single-accumulator-based CARDIAC needed (rather fittingly) just a single power source to run programs on its hardware: you. Hand-operated, no electricity required. With the relative scarcity of electronic computers and the expense of computer time, there was perhaps no better teaching tool than the CARDIAC.The story of the paper computer, however, doesn't end with the CARDIAC; in fact, it probably doesn't even begin with it. Several years before Bell Labs released their "Understanding Computers" kit, a young Massachusetts Institute of Technology doctoral student developed his own instructional model: the Little Man Computer (LMC). With a design and instruction set quite similar to the CARDIAC, the LMC--requiring nothing more than paper and pencil to run programs--quickly caught on at MIT, where it was taught to all undergraduates studying computers. Decades later, the LMC paradigm, in various incarnations, still persists in computer science curricula around the country.And improbably, despite the ascension and growing availability of cheap microcomputers by the late 1970s, a third paper computer, called the Instructo, was patented and released. If the CARDIAC was a product of the research lab and the LMC a product of the ivory tower, the Instructo was a true product of the classroom: it was developed by a prolific mathematics teacher who knew a thing or two about teaching computers to middle and high school students. Vastly different from the other two machines, the Instructo Paper Computer (IPC) has a large instruction set and multiple registers and switches "powering" its cardboard components. But like the CARDIAC and the LMC, the IPC models a von Neumann architecture, albeit also without the need for an electric power source.Tracing their origins to the early calculating machines of Pascal and Babbage, through the groundbreaking computational theories of Turing and von Neumann, to the first electromechanical and electronic computers, and finally to the influence of other instructional models like the TUTorial Automatic Computer (TUTAC) and the infamous paperclip computer, "The Paper Computer Unfolded" is the most thoroughly researched book available on the design and development of the CARDIAC, the LMC, and the IPC. Mark Jones Lorenzo's eminently readable book, which fuses the technical jargon of a computer manual with the prose of a true page-turner, also contains many example paper computer programs written in both machine and assembly language, code listings of emulators for all three machines, as well as cartoon illustrations paying homage to the innovative CARDIAC manual.