Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Literate Programming (Center for the Study of Language and Information - Lecture Notes)

Buy

Computer programs arc fun to write, and well-written computer pro grams are fun to read. One of life's greatest pleasures can be the composition of a computer program that you know will be a pleasure for other people to read, and for yourself to read.

Computer programs can also do useful work. One of life's greatest sources of satisfaction is the knowledge that something you have created is contributing to the progress or welfare of society.

Some people even get paid for writing computer programs! Program ming can therefore be triply rewarding—on aesthetic, humanitarian, and economic grounds.

Of course I don't mean to imply that programming is easy. Easy things are often amusing and relaxing, but their value soon fades. Greater plea sure, deeper satisfaction, and higher wages are associated with genuine accomplishments, with the successful fulfillment of a challenging task.

I have spent a good deal of my life trying to help make computer pro gramming as rewarding as possible, in all three senses. At first, I thought programming was primarily analogous to musical composition—to the creation of intricate patterns, which are meant to be performed. But lately I have come to realize that a far better analogy is available: Pro gramming is best regarded as the process of creating works of literature, which are meant to be read.

Literature of the program genre is performable by machines, but that is not its main purpose. The computer programs that are truly beau tiful, useful, and profitable must be readable by people. So we ought to address them to people, not to machines. All of the major problems associated with computer programming issues of reliability, portabil ity, learnability, maintainability, and efficiency—arc ameliorated when programs and their dialogs with users become more literate.

(HTML tags aren't allowed.)

The Network Security Test Lab: A Step-by-Step Guide
The Network Security Test Lab: A Step-by-Step Guide

The ultimate hands-on guide to IT security and proactivedefense

The Network Security Test Lab is a hands-on, step-by-stepguide to ultimate IT security implementation. Covering the fullcomplement of malware, viruses, and other attack technologies, thisessential guide walks you through the security assessment...

Data Streams: Algorithms and Applications (Foundations and Trends in Theoretical Computer Science)
Data Streams: Algorithms and Applications (Foundations and Trends in Theoretical Computer Science)
Data stream algorithms as an active research agenda emerged only over the past few years, even though the concept of making few passes over the data for performing computations has been around since the early days of Automata Theory. The data stream agenda now pervades many branches of Computer Science including databases, networking, knowledge...
Data Structures and Algorithms Using Visual Basic.NET
Data Structures and Algorithms Using Visual Basic.NET
The Visual Basic.NET (VB.NET) programming language is not usually associated
with the study of data structures and algorithms. The primary reason for
this must be because most university and college computer science departments
don’t consider VB.NET to be a “serious” programming language that
can be used to
...

Protocols for High-Efficiency Wireless Networks
Protocols for High-Efficiency Wireless Networks
The book, Protocols for High-Efficiency Wireless Networks, focuses on the air interface of mobile networks at different layers according to the OSI Reference Model. The authors provide an overview of several wireless communication systems including GPRS, 3G (in particular, W-CDMA and UTRA-TDD), HIPERLAN/2-type as well as mobile satellite systems....
Sams Teach Yourself Google SketchUp 8 in 10 Minutes (Sams Teach Yourself -- Minutes)
Sams Teach Yourself Google SketchUp 8 in 10 Minutes (Sams Teach Yourself -- Minutes)

Welcome to SketchUp! This book is all about Google’s fantastically popular 3D modeling program, ready for you to create 3D drawings with.

SketchUp is ultrapowerful, and lets you draw models with ease. Need to draw a new engine? SketchUp can do it. Need to lay out your back yard plantings? SketchUp can help. Want to plan...

iPhone SDK Programming, A Beginner's Guide
iPhone SDK Programming, A Beginner's Guide
Develop your own iPhone applications

Ideal for non-Mac programmers, this introductory guide shows developers how to create applications for the world's most popular smart phone. You will learn how to use a modified version of the Mac development environment, the Objective-C programming...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy