programming languages
play

Programming Languages Janyl Jumadinova September 1-3, 2020 Janyl - PowerPoint PPT Presentation

Programming Languages Janyl Jumadinova September 1-3, 2020 Janyl Jumadinova Programming Languages September 1-3, 2020 1 / 10 What this course is NOT about Learning to program in [insert language here] - but this course should make it easier


  1. Programming Languages Janyl Jumadinova September 1-3, 2020 Janyl Jumadinova Programming Languages September 1-3, 2020 1 / 10

  2. What this course is NOT about Learning to program in [insert language here] - but this course should make it easier to learn new languages Janyl Jumadinova Programming Languages September 1-3, 2020 2 / 10

  3. What this course is NOT about Learning to program in [insert language here] - but this course should make it easier to learn new languages Learning tiny bits about lots of different languages - but we will use examples from many languages to examine more general principles Janyl Jumadinova Programming Languages September 1-3, 2020 2 / 10

  4. What this course is NOT about Learning to program in [insert language here] - but this course should make it easier to learn new languages Learning tiny bits about lots of different languages - but we will use examples from many languages to examine more general principles “Language wars” (“Which is better, Java or C++?”) - but you will learn about criteria that can be used to compare different languages Janyl Jumadinova Programming Languages September 1-3, 2020 2 / 10

  5. What this course is about How are languages designed and implemented? - Specifying syntax and semantics, compiled vs. interpreted, etc. Janyl Jumadinova Programming Languages September 1-3, 2020 3 / 10

  6. What this course is about How are languages designed and implemented? - Specifying syntax and semantics, compiled vs. interpreted, etc. How do such choices affect ease of use, efficiency, scalability, and other criteria? - Example: How should recursive calls be implemented? How does “garbage collection” work? Janyl Jumadinova Programming Languages September 1-3, 2020 3 / 10

  7. What this course is about How are languages designed and implemented? - Specifying syntax and semantics, compiled vs. interpreted, etc. How do such choices affect ease of use, efficiency, scalability, and other criteria? - Example: How should recursive calls be implemented? How does “garbage collection” work? What are the different programming paradigms? - Example: Why would anyone ever use a language like ML rather than C++ or Java? Janyl Jumadinova Programming Languages September 1-3, 2020 3 / 10

  8. Why Study Programming Languages? Janyl Jumadinova Programming Languages September 1-3, 2020 4 / 10

  9. Why Study Programming Languages? Help you choose a language. Janyl Jumadinova Programming Languages September 1-3, 2020 4 / 10

  10. Why Study Programming Languages? Help you choose a language. Make it easier to learn new languages. Janyl Jumadinova Programming Languages September 1-3, 2020 4 / 10

  11. Why Study Programming Languages? Help you choose a language. Make it easier to learn new languages. Help you make better use of whatever language you use. Image credit: https://pixabay.com Janyl Jumadinova Programming Languages September 1-3, 2020 4 / 10

  12. Programming Language Paradigms Janyl Jumadinova Programming Languages September 1-3, 2020 5 / 10

  13. Programming Language Paradigms Janyl Jumadinova Programming Languages September 1-3, 2020 5 / 10

  14. Programming Language Paradigms Image credits: https://thepafhelper.blogspot.com and PLP book Janyl Jumadinova Programming Languages September 1-3, 2020 5 / 10

  15. What makes a language successful? Janyl Jumadinova Programming Languages September 1-3, 2020 6 / 10

  16. Language Evaluation Criteria Readability : the ease with which programs can be read and understood Janyl Jumadinova Programming Languages September 1-3, 2020 7 / 10

  17. Language Evaluation Criteria Readability : the ease with which programs can be read and understood Writability : the ease with which a language can be used to create programs Janyl Jumadinova Programming Languages September 1-3, 2020 7 / 10

  18. Language Evaluation Criteria Readability : the ease with which programs can be read and understood Writability : the ease with which a language can be used to create programs Reliability : conformance to specifications Janyl Jumadinova Programming Languages September 1-3, 2020 7 / 10

  19. Language Evaluation Criteria Readability : the ease with which programs can be read and understood Writability : the ease with which a language can be used to create programs Reliability : conformance to specifications Cost : the ultimate total cost Janyl Jumadinova Programming Languages September 1-3, 2020 7 / 10

  20. Art of Programming Language Design Activity ”...design [is] the intentional creation of plans for a new kind of thing”. Parsons Janyl Jumadinova Programming Languages September 1-3, 2020 8 / 10

  21. Art of Programming Language Design Activity ”...design [is] the intentional creation of plans for a new kind of thing”. Parsons Choose one programming language Working in a group, investigate the following: Key characteristics of the language design . 1 Historical context (how it started, when, by whom, the first language, 2 etc.). The purpose/usage (why is it there). 3 Prepare to share your findings. Image credit: https://pixabay.com Janyl Jumadinova Programming Languages September 1-3, 2020 8 / 10

  22. Why So Many Programming Languages? Janyl Jumadinova Programming Languages September 1-3, 2020 9 / 10

  23. Why So Many Programming Languages? Evolution Janyl Jumadinova Programming Languages September 1-3, 2020 9 / 10

  24. Why So Many Programming Languages? Evolution Socio-economic factors Janyl Jumadinova Programming Languages September 1-3, 2020 9 / 10

  25. Why So Many Programming Languages? Evolution Socio-economic factors Special purposes Janyl Jumadinova Programming Languages September 1-3, 2020 9 / 10

  26. Why So Many Programming Languages? Evolution Socio-economic factors Special purposes Special hardware Janyl Jumadinova Programming Languages September 1-3, 2020 9 / 10

  27. Why So Many Programming Languages? Evolution Socio-economic factors Special purposes Special hardware Range of ideas Janyl Jumadinova Programming Languages September 1-3, 2020 9 / 10

  28. Homework Before our class next week, make sure you have Docker set up and working. Check out department’s video (on Slack) overviewing its setup. Janyl Jumadinova Programming Languages September 1-3, 2020 10 / 10

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend