Moths in the Machine: The Power and Perils of Programming
For better or worse, computers are not literally running our lives. They are extraordinarily helpful in all aspects of our daily routines, from banking to transportation, shopping to surgery. On the other hand, a "bug" in a computer program can now lead to dire consequences, making the rule of the computer programmer more valuable than ever before.
In one fo the most unique yet necessary books ever to appear, Daniel Kohanski, a seasoned programmer and systems consultant, provides a breezy and insightful overview of the fascinating craft of computer programming. With topics ranging from history to aesthetics, from subroutines to ethics, Moths in the Machine will leave even the most inexperienced reader with a deep understanding of the critical role programmers play in the modern world.
What people are saying - Write a review
We haven't found any reviews in the usual places.
A PHILOSOPHICAL INTRODUCTION
BEYOND THE CUCKOO CLOCK
IS THERE AN AESTHETIC OF PROGRAMMING?
THE ETHICAL QUOTIENT
THE STRUCTURE OF THE COMPUTER
TYPES OF COMPUTERS
THE PARTS OF A COMPUTER
CLASSES AND TYPES OF STATEMENTS
THE FUNCTIONAL PROGRAM
A SHORT COMMENTARY
ALGORITHMS AND OBJECTS
THE PROGRAMMERS TRADE
THE MOTH IN THE MACHINE
THE REAL WORLD OUT THERE
THE LIMITATIONS OF DESIGN
THE CONSTRUCTION OF MEMORY
ON A CLEAR DISK YOU CAN SEEK FOREVER
A BRIEF INTERRUPTION
FUNDAMENTAL TOOLS OF PROGRAMMING
THE LANGUAGE OF THE MACHINE
FORMS OF DATA DEFINITION
PROGRAMMING AS ABSTRACTION AND REFLECTION
Selected Bibliography and Suggestions for Further Reading
aesthetic algorithm arithmetic ARPAnet array ASCII assembly language assign binary number bits block byte characters circuits COBOL compiler complex computer program contains control statement convert cuckoo clock data space data structure defined describe digits disk EBCDIC EDVAC element ENIAC equal sign errors example execution floating point number FORTRAN function call fuzzy logic gram hardware high-level languages human I/O device input integer Internet keyboard longword loop lowercase machine code machine instructions machine language mainframe means monitor Neumann object object-oriented object-oriented programming octal op code operand operating system operation statement output parameter perform personal computer printer problem processing programmer's puter real numbers result return value section of code sector source code stack stored string structured programming subroutine tape techniques terminal tion unit of memory uppercase vacuum tube variable name word write zero
Page ix - As far as the laws of mathematics refer to reality, they are not certain ; and as far as they are certain, they do not refer to reality.
Page ix - In the design of programming languages one can let oneself be guided primarily by considering "what the machine can do." Considering, however, that the programming language is the bridge between the user and the machine — that it can, in fact, be regarded as his tool — it seems just as important to take into consideration "what Man can think." It is in this vein that we shall continue our investigations. ON THE STRUCTURE OF CONVINCING PROGRAMS The technique of mastering complexity has been known...