30.12.2013 Views

Introduction

Introduction

Introduction

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2 PROGRAMMING LANGUAGE<br />

Definition 2.1 A programming language is a language that is capable of expressing all computations.<br />

For example, Scheme and C++ are programming languages.<br />

Exercise 2.1<br />

What are other programming languages?<br />

Definition 2.2 A general-purpose langauge is one that is not tailored to some particular application area.<br />

Examples: AspectJ, Eos, Ruby, Python, Java, Ada, PL/I, BASIC, COBOL, Pascal, Ptolemy, SNOBOL,<br />

Icon, Algol W, Algol 60, Algol 68, C, Haskall, Edison, ... (literally thousands)<br />

But the techniques we’ll study aren’t just limited to general-purpose programming langauges.<br />

Definition 2.3 A special-purpose language is a language that is designed to support some particular application.<br />

These don’t have to be able to compute all computable functions.<br />

Examples: Lotus 1-2-3 macros, the MFC class library, MUMPS, JavaScript, VBA, Cold Fusion<br />

Exercise 2.2<br />

What are other formal languages?<br />

Formal languages are also used in a variety of settings: music, knitting, mathematics, engineering, ...<br />

3 THE COURSE IN A NUTSHELL<br />

• The journey to the mountain:<br />

– functional programming techniques<br />

• The mountain climb:<br />

– using functional techniques to write interpreters<br />

• Our equipment:<br />

– Scheme, a Lisp dialect<br />

• Our guides:<br />

– the textbook authors<br />

4 Com S 342 ESSENTIAL OBJECTIVES<br />

You should be able to:<br />

1. Write and modify programs in functional style<br />

2. Make effective use of data abstraction<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!