SEN308 Lecture 2
SEN308 Lecture 2
SEN308 Lecture 2
.
Object-Oriented Programming: Simula, Smalltalk, C++, Java, C#
Scripting Languages: Perl, Python, JavaScript, PHP
Functional Programming: LISP, Scheme, Haskell
Logic Programming: Prolog
Languages of the Future
.
• Computers only understand binary instructions (0s and 1s)
• Machine code is a direct representation of these instructions
• Incredibly difficult for humans to read and write
• Assembly uses mnemonics (e.g., ADD, SUB, MOV) instead of raw binary
• One-to-one correspondence with machine instructions
• Still very low-level and tied to specific hardware
.
Charles Babbage: The Analytical Engine (1830s - 1840s)
• A proposed mechanical computer, designed for complex calculations
• Never fully constructed
Ada Lovelace: The First Programmer
• Published notes on the Analytical Engine
• Created an algorithm for calculating Bernoulli numbers
Plankalkül: A Theoretical Blueprint
.
• Designed by Konrad Zuse in Germany (1942-1945)
• Created with engineering problems in mind
• High-level language features: variables, arrays, conditional statements
• Not implemented during its time due to limitations of the era
PROCEDURAL PROGRAMMING LANGUAGES
•
.
that work with different data types.
Simplifies writing asynchronous code that doesn't block threads, improving application
responsiveness
• Provides a unified syntax to query data from various sources (databases, XML, objects) in a
functional style.
• Versatile language used for web development, desktop applications, game development
(especially with Unity), and more.
• With .NET Core and later versions, C# is now cross-platform!
SCRIPTING PROGRAMMING LANGUAGES
•
.
faster but potentially increasing the risk of errors.
Open-Source: Freely available and widely supported, contributing to its huge developer
community.
• Cross-Platform: PHP applications can generally run on Windows, Linux, macOS, and other
operating systems with compatible web servers.
• Features:
• Dynamic content generation
• Database interaction
• Form handling
• Session management
JavaScript Programming Language
• Created by Brendan Eich in 1995 (originally named LiveScript)
• Runs in every modern web browser, making it highly accessible.
• Client-side scripting language for web browsers:
• Adds interactivity to web pages (animations, user interactions)
• Became a general-purpose language:
• Server-side development with Node.js
.
• Mobile app development, desktop applications, etc.
• Dynamically typed, interpreted language
• Web Frameworks: React, Angular, Vue.js provide structure and tools for large-scale,
dynamic web applications.
• Powerful API to interact with the structure and content of web pages in real-time.
FUNCTIONAL PROGRAMMING LANGUAGES