Download presentation
Presentation is loading. Please wait.
Published byRoland Williamson Modified over 8 years ago
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
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.