9/7/15 ¡ CSCI 2325 Principles of Programming Languages Introduction Mohammad T . Irfan mirfan@bowdoin.edu www.bowdoin.edu/~mirfan Office Hours: Mon 2:30—4:30 Tue 4—6 Course Information u Syllabus u Grading, etc. u www.bowdoin.edu/~mirfan/CSCI-2325.html 1 ¡
9/7/15 ¡ How to ace this course? u Stay organized u Conceptualize theory with examples u Start early with the assignments u Set aside a lot of time for debugging u Ask lots of questions! What is a programming language? u Beginning of computer programs https://www.youtube.com/watch? v=uBbVbqRvqTM u Natural language vs. programming language u 2 key differences 2 ¡
9/7/15 ¡ Why this course? u Express ideas better u Learn new language fast u Tiobe index http://bit.ly/19fhRoL u Better use of known languages u Choose an “appropriate” language u Emergence of data science http://bit.ly/1wb97wH u Better understanding of implementation What will be covered? u Two parts u Principles u Paradigms 3 ¡
9/7/15 ¡ Principles (~8 weeks) u Syntax u Semantics u Names and types u Functions u Memory management Paradigms (~5 weeks) u Imperative u Object-oriented programming (OOP) u Web u Logic 4 ¡
9/7/15 ¡ Art of language design u Architecture u Technical setting u Standards u Legacy systems Goals of language design u Simplicity and readability u Clarity about binding u Reliability u Good support u Good library base u Orthogonality u Efficient implementation 5 ¡
9/7/15 ¡ Designed a language; what’s next? Compilers vs. interpreters 6 ¡
Recommend
More recommend