Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCE 343 – Programming Language Concepts Welcome!.

Similar presentations


Presentation on theme: "CSCE 343 – Programming Language Concepts Welcome!."— Presentation transcript:

1 CSCE 343 – Programming Language Concepts Welcome!

2 Introductions name where you’re from your major (if you know it) one other fact: favorite hobby, movie, book, TV show, what you did over summer

3 Syllabus http://www.cs.plu.edu/courses/csce343/fall11

4 What programming languages do you know?

5 Why is it important to study programming languages?

6 Textbook’s reasons

7 1. Increased capacity to express ideas for (int count = 1; count <= 8; count=count+2) System.out.println("count = " + count); 40 65 32 2436 30 25470 75 root 20 return address n value 33 * fact(2) 7 return address n value 22 * fact(1) 7 return address n value 11 * fact(0) 7 return address n value 01

8

9 2. Improved background for choosing languages ? RubyPHP

10 3. Increased ability to learn new languages Java PythonSchemeC/C++

11 4. Understanding significance of implementation Text editor Source code (.java ) Java compiler Byte code (.class ) Java Virtual Machine Is interpreted by Program Execution Results in Text editor Source code (.cpp ) C++ compiler Machine code (.exe ) Java C++

12 5. Increased ability to design new languages

13 6. Overall advancement of computing

14 How do we know a language is good?

15 Language Evaluation Criteria readability (make maintenance easy) writability (make programming easy) reliability (make debugging easy) cost (making paying for everything easy)

16 Lots of tradeoffs/interrelationships more features (writability) harder to learn (cost)

17 Lots of tradeoffs/interrelationships strong type checking (reliability) limits flexibility (writability)

18 Costs learning costs coding costs compilation costs runtime overhead maintenance costs portability costs

19 What we’ll be doing

20 Design Issues Language influences Language processors The History of programming languages How programming languages are described formal languages parsing data types -- strong typing, dynamic type binding operators – operator overloading (e.g., C++) control structures subprograms – parameters, scope, implementation abstract data types – user defined, information hiding Programming paradigms Object-Oriented – Java, C++, Smalltalk Functional – LISP, Scheme Logic – Prolog Scripting Languages – Perl, Python Language Projects

21 For next time: Get book, read chapter 1 Reactivate Curly account


Download ppt "CSCE 343 – Programming Language Concepts Welcome!."

Similar presentations


Ads by Google