Overview of Programming Languages

573 views

Published on

High level overview of languages to provide context for Object Oriented Programming and C#

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
573
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Overview of Programming Languages

  1. 1. Overview of Programming Languages Or ‘WHERE DOES C# FIT IN?’
  2. 2. A Brief History of Languages 1st Generation Languages - Original Machine Languages 2nd Generation Languages – 1940s Assembly Languages 4th Generation Languages – 1970s Packages of Languages + Tools 5th Generation Languages – 1980s Artificial Intelligence Future Generations? What’s next? 1GL 3rd Generation Languages – 1950s Compiled Languages 2GL 3GL 4GL 5GL ….?
  3. 3. • 1GL – direct input • 1s and 0s • Panels of Switches • Punch Cards • Ran very fast... very slow to "write" • 2GL – Assembled • Code can be read and written by humans... must be assembled to be machine readable MOV EAX, [EBX] MOV [ESI+EAX], CL • 3GL - Compiled • This is where we will spend our time 3 generations From machine to human readable
  4. 4. Next Generations • 4GL • Language + Tools • Focused on a single problem • 5GL • Describe limits, allow machine to define solution These definitions are widely debated Takeaway: programming languages evolved around human capacity to instruct a machine. Hiding Complexity
  5. 5. Programming Paradigms Another View A more useful taxonomy of languages may be to look at how each one approaches solving the problem.
  6. 6. Procedural Paradigm • Structured programming • Breaks down a problem into parts • Imperative programming • Tell the computer how to solve the problem • Name comes from Procedures • Examples • C, C++, Pascal Breaks down the problem into procedures
  7. 7. Functional Paradigm • Declarative programming • Express logic of solution without controlling the flow of execution • Name comes from Functions – mathematical expressions of the problem • Examples • Common Lisp, Erlang, Clojure, Scala, F# Breaks down the problem into functions
  8. 8. Object Oriented Paradigm • Structured programming • Breaks down a problem into parts • Imperative programming • Tell the computer how to solve the problem • Name comes from Objects • Fields – Data • Methods – Procedures that act on the data • Examples • Objective C, Smalltalk, Java, C# Breaks down the problem into objects
  9. 9. C# • Part of the .NET framework • Object oriented with some functional elements • Compiles into MSIL • Microsoft Intermediate Language • MSIL is interpreted by the CLR • Common Language Runtime • Syntactically similar to Java
  10. 10. C# is our language of choice Object oriented principles carry across languages

×