Programming Language

1. Software Outline 2. What is Software?/ What Is a Program?/ What Kind of Instructions?/ What is a Programming Language?/ What is Source Code?/ What is a Source File? 3. What Is an Operating System? 4. A Simple C Program 5. Some Basic Elements of a C Program 6. What Is a Comment? 7. A Simple C Program With Comments/ The Same Program Without Comments 8. Flowchart for hello world.c 9. A Less Simple C Program 10. A Less Simple C Program (continued) 11. Flowchart for my add.c 12. Languages/ What is a Language? 13. Kinds of Languages 14. Programming Language Hierarchy 15. Converting Between Languages 16. Our Old Friend hello world.c 17. Compiling 18. Compiler Details 19. Elements of a Compiler 20. Compiling a C Statement 21. Assembly Code for hello world.c on a Pentium4 Using gcc/ Assembly Code for hello world.c on an IBM POWER4 Using gcc 22. Assembly Code for hello world.c on a Pentium4 Using gcc/ Assembly Code for hello world.c on a Pentium4 Using icc 23. Machine Code for hello world.c/ How to Program in Machine Languages Directly 24. Why Not Do Everything in Machine Language?/ Why Not Do Everything in Assembly Language? 25. Algorithms 26. Algorithm Example: Eating a Bowl of Corn Flakes 27. Top-Down Design 28. The Programming Process

[1]  J. W. Backus,et al.  Can programming be liberated from the von Neumann style , 1977 .

[2]  Yves Lafont,et al.  The Linear Abstract Machine , 1988, Theor. Comput. Sci..

[3]  John Hughes,et al.  Why Functional Programming Matters , 1989, Comput. J..

[4]  Martin Odersky,et al.  How to make destructive updates less destructive , 1991, POPL '91.

[5]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[6]  Philip Wadler,et al.  Packrat parsing:: simple, powerful, lazy, linear time, functional pearl , 2002, ICFP '02.

[7]  Alexander Aiken,et al.  Program transformation in the presence of errors , 1989, POPL '90.

[8]  Philip Wadler,et al.  Linear Types can Change the World! , 1990, Programming Concepts and Methods.

[9]  Philip Wadler,et al.  Comprehending monads , 1990, LISP and Functional Programming.

[10]  Vipin Swarup,et al.  Assignments for Applicative Languages , 1991, FPCA.

[11]  Matthias Felleisen,et al.  On the Expressive Power of Programming Languages , 1990, European Symposium on Programming.