Download presentation
Presentation is loading. Please wait.
Published byNickolas Carson Modified over 9 years ago
1
COSC 3127 Programming Languages Dave Goforth dgoforth@cs.laurentian.ca FA377
2
Topics of the course Understand current “state-of-the-art” Describe languages formally Understand implementation concepts Understand design concepts With what purpose? More skillful use of languages Evaluation of languages Learning to learn languages New languages
3
Organization Lectures (notes on my website) Textbook (Sebesta, 8/e) Reference materials on Sebesta website Evaluation 5 assignments20% 1 project20% 1 midterm exam20% 1 final exam40%
4
Why programming languages? Calculate my tax bill 0101010101101101000101010101 0110011000101010101101010101 0101010101101101000101010100 0110011000101010101101010101 1101010101101101000101010101 0110011000101010101101010101 0101010101101101000101010100 1110011000101010101101010101 if (n<0) x := x+1; else x := 2x; n++;
5
Computer processing Why programming languages? Human effort 1949 2007 ??? Calculate my tax bill 0101010101101101000101010101 0110011000101010101101010101 0101010101101101000101010100 0110011000101010101101010101 1101010101101101000101010101 0110011000101010101101010101 0101010101101101000101010100 1110011000101010101101010101
6
Computer processing Why programming languages? Human effort 1949
7
Computer processing Why programming languages? Human effort 2007
8
Language design Question 1 Domain specificORGeneral purpose? Maple Excel Photoshop awk JAVA C,C++,C# Pascal libraries
9
Calculate my tax bill 0101010101101101000101010101 0110011000101010101101010101 0101010101101101000101010100 0110011000101010101101010101 1101010101101101000101010101 0110011000101010101101010101 0101010101101101000101010100 1110011000101010101101010101 Language design - constraints Humans: Creative Intuitive Forgetful Prone to error Computers: Precise Logical von Neumann architecture
10
von Neumann Architecture (Sebesta)
11
Execution of Machine Code (Sebesta) Fetch-execute-cycle (on a von Neumann architecture) initialize the program counter repeat forever fetch the instruction pointed by the counter increment the counter decode the instruction execute the instruction end repeat
12
Move data I/O data Operate on data (test, compute) Reset program counter Instruction set Memory codes
13
Execution of Machine Code (Sebesta) Fetch-execute-cycle (on a von Neumann architecture) initialize the program counter repeat forever fetch the instruction pointed by the counter increment the counter decode the instruction execute the instruction end repeat Instruction set Move data Operate on data I/O data Reset program counter
14
Memory codes Primitive data types arrays records objects Reset program counter if switch counted recursion branch goto selection repetition logical subprogram Language Evolution from machine level Instruction set
15
Sample slide page Text
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.