![presentation on programming languages presentation on programming languages](https://images.ctfassets.net/wfutmusr1t3h/6z2nwPNKt4d23LDLfBNWES/84d4fa15451ef6b7a4b2263dbf129081/Productivity-DarkMode-2.webp?w=2560&q=75)
![](http://omraadeinfo.online/777/templates/cheerup1/res/banner1.gif)
What is a programming language?
At its core, a programming language is a set of instructions that enables humans to communicate with computers—using a series of symbols that serve as a bridge that allows humans to turn our ideas into instructions computers can understand. Like spoken languages, each language has its own unique syntax, structure, vocabulary, and even slang or shortcuts.
In the vast digital landscape, programming languages are the “lingua francas” of software development, facilitating global conversations between machines and developers, wherever they may be. Their importance extends far beyond lines of code—they empower us to use technology to innovate, automate, and bring our imagination to life.
If you've ever wondered how your favorite apps, websites, or software come to life, you're in the right place. In this article, we'll explore the not-so-basic basics of programming languages, their pivotal role in software development, and how they shape the technological landscape we navigate daily.
What is the role of programming languages in software development?
A computer "speaks" in a "language" using strings of the numerals "1" and "0"—known as binary code. A programming language allows us to translate the computer's binary code into something humans can understand and write.
These languages enable us to communicate with computers, build and organize code, specify functionality and behavior, automate and improve efficiency, collaborate and share code, and solve problems creatively.
Here are some examples of how specific programming languages can help you to:
Communicate with computers:
Example: Python
Python is widely used for writing scripts and programs to communicate instructions to computers. For instance, a Python script can automate file operations, manage system tasks, or control hardware components, allowing developers to interact with computers at a low level.
Build and organize code:
Example: Java
Java is known for its object-oriented programming paradigm, making it suitable for building large-scale enterprise applications. Developers use Java to organize code into classes and modules, promoting code reusability and maintainability. The language's structure helps in creating well-organized and structured software projects.
Specify functionality and behavior:
Example: JavaScript
JavaScript is commonly used to specify the functionality and behavior of web applications. It runs in web browsers, allowing developers to define how web pages interact with users. JavaScript is essential for client-side scripting, enabling dynamic and interactive web experiences.
Automate and boost efficiency:
Example: Bash (Bourne Again Shell)
Bash scripting is used for automating repetitive tasks in the Linux environment. Developers write bash scripts to automate system tasks, file operations, and other routine processes. This enhances efficiency by reducing manual intervention in day-to-day operations.
Collaborate and code share:
Example: Ruby
Ruby on Rails is a web development framework that facilitates collaboration and sharing of code. It follows the convention over configuration (CoC) and don't repeat yourself (DRY) principles, making it easier for developers to work together on a project. The framework's structure encourages uniformity, easing collaboration among team members.
Adaptability and flexibility:
Example: C++
C++ is known for its adaptability and flexibility, allowing developers to write both low-level and high-level code. It is used in a variety of applications, from system programming to game development. C++ balances performance and abstraction, making it adaptable to different domains and requirements.
Problem solving and creativity:
Example: Python (again)
Python is mentioned twice with good reason—not only one of the most popular languages for beginners to learn, but it's also used for problem-solving and creative tasks due to its clear syntax and extensive libraries. Whether it's data analysis, machine learning, or building web apps, Python's versatility allows developers to approach problem-solving in creative ways. Its readability and expressiveness contribute to a more intuitive and creative coding experience.
How do programming languages work?
Programming languages are used in all areas of the software development lifecycle (SDLC) , including:
Writing the code : Everything starts with code. Developers write lines of instructions, expressing their logic and intentions in a programming language, using a text editor or an integrated development environment (IDE).
Compilation vs. interpretation : Once code is written, it undergoes either compilation or interpretation, depending on the type of programming language used Compiled languages like C++ convert the entire code into machine-readable binary before execution. Interpreted languages like Python translate code line by line during runtime.
Execution : The compiled or interpreted code is executed by the computer, carrying out the specified instructions and producing the desired output. Code review helps to improve code quality and promote discussion among team members.
Runtime errors : During execution, some instructions may get "lost in translation." Runtime errors can range from logical mistakes in the code to unforeseen issues. Debugging becomes the detective work of identifying and fixing these errors.
Debugging : Debugging is the process of finding and resolving errors in code. Developers use code review tools and techniques to trace issues, ensuring the software behaves as intended, as well as to reduce security risks.
Types of programming languages
The most common types of programming languages can be broadly grouped into two families: paradigm-based and application-based.
Paradigm-based languages
Paradigm-based languages are classified based on their programming paradigm, which is a fundamental style of programming. Some examples of paradigm-based languages:
Imperative languages: are designed to express the sequence of steps required to solve a problem. They describe how a program operates using statements that change a program's state. Examples include C, C++, and Java.
Functional languages : Functional languages are designed to express computations as the evaluation of mathematical functions. They emphasize the use of functions and avoid changing state and mutable data. Examples include Haskell, Lisp, Scala, and ML.
Markup languages : Markup languages are designed to annotate text with metadata and are used often in web development to format and present text. Examples include HTML, XML, and LaTeX.
Application-based Languages
Application-based languages are classified based on their application domain. Some examples of application-based languages are:
Web development languages are vital for creating interactive and visually appealing websites and web applications. Examples include HTML, CSS, JavaScript, and PHP.
Mobile app development languages are tailored for building applications on mobile platforms. Examples include Java, Kotlin, and Swift.
Data science languages are designed for statistical analysis, machine learning, and data manipulation. Examples include Python, R, and SQL.
Popular programming languages
Programming languages may wax or wane in popularity—new languages are constantly being developed as new technologies emerge. If you're trying to decide which language to start your coding journey with or which one to use in a new project, check out the Popularity of Programming Language (PYPL) index which uses "collective wisdom" to indicate a language's current popularity by analyzing raw data from Google Trends.
Several programming languages are consistently found at the top of any popularity list:
Python : A high-level, general-purpose programming language widely used for web development, data science, artificial intelligence, and automation.
Strengths : Readability, versatility, and extensive libraries.
Weaknesses : Slower execution speed in comparison to lower-level languages.
JavaScript : JavaScript is known for its ability to enable interactive and dynamic content and user interfaces. It supports both client-side and server-side scripting.
Strengths : Ubiquitous in web development, asynchronous programming.
Weaknesses : Single-threaded nature, potential for browser compatibility issues.
Java : An object-oriented, statically typed, and compiled programming language renowned for its portability and platform independence. Java is particularly useful for apps in industries such as finance, healthcare, and entertainment and for Android, web, and enterprise application development .
Strengths : Platform independence, strong community support.
Weaknesses : Verbosity, slower execution compared to lower-level languages.
C++ : A high-performance, object-oriented language that is used in system programming and scientific computing as well as used to develop operating systems, browsers, and games.
Strengths : High performance, extensive library support.
Weaknesses : Steeper learning curve, manual memory management.
C# : An object-oriented programming language that is used to develop Windows apps and games.
Strengths : Versatile and integrates efficiently with Visual Studio, .NET framework, and Microsoft Azure.
Weaknesses : Steeper learning curve and community size not as large as other popular languages like Java or Python.
Go : A statically typed, compiled programming language that is designed for building scalable and efficient software.
Strengths : Simplicity, concurrency support, and fast compilation.
Weaknesses : Smaller ecosystem compared to established languages.
Other popular programming languages include C, PHP, TypeScript, HTML, and CSS. C is a general-purpose, procedural programming language that is used to develop operating systems, device drivers, and embedded systems. PHP is a server-side scripting language that is used to create dynamic web pages, while TypeScript is a superset of JavaScript that adds optional static typing and other features to the language. HTML and CSS are markup languages that are used to create web pages.
![presentation on programming languages](https://images.ctfassets.net/wfutmusr1t3h/7Rb5ZoUDOX41PpqAibLo9/344247765e0571d768e511fe686cea98/Productivity-DarkMode-1.webp?w=1280&q=75)
GitHub’s DevOps Solution
Learn why 90% of the Fortune 100 use GitHub to build, scale, and deliver secure software. Start your journey with GitHub
How to learn programming languages
With the rise of generative AI tools like GitHub Copilot and AI code generation , the language of coding has entered our common vocabulary—no matter your chosen profession or field. While large tech companies may seem like the pinnacle of coding achievement, they represent a small fraction of programming languages' impact. Many recruitment professionals predict that soon having a basic understanding of coding will be just as common and just as important as literacy or learning a foreign language. Learning a new programming language opens up numerous opportunities for career advancement.
Here are some steps to help you decide which programming language is best for you to learn:
1. Identify your purpose
Deciding which programming language to learn depends on what you want to do. Some languages, like Python or Java have huge communities of support, are easy to learn and use, and can be used for multiple applications. Others are more niche and designed to perform very specific tasks.
2. Choose a language
Based on your goals, select a language that aligns with your purpose. Python is often recommended for beginners due to its readability and versatility. Check out the resources with GitHub Learning Pathways to explore topics relevant to your goals.
3. Online courses and tutorials
Many platforms like Codecademy, Coursera, and Udacity offer interactive courses for various programming languages. Check out the video series, Python for Beginners , from Microsoft Learn
4. Ebooks and documentations
Explore well-regarded ebooks on programming languages and refer to official documentation and resources of industry leaders like GitHub and Microsoft Learn .
5. Practice and play around
Apply your knowledge by working on real-world projects. Platforms like GitHub provide a welcoming space to collaborate, showcase, and ask practical language questions.
6. Engage with communities of learners
Join online forums and communities to seek help, share experiences, and connect with other learners and experts. Get to know the community and learn what other developers are doing with your chosen language.
Get Started with programming languages
To sum up, programming languages allow us to instruct computers to build platforms for games and play, connect communities physically and virtually, and even create programs that provide life-saving medical interventions.
These languages are not only used by professional developers at big tech companies or Silicon Valley. Self-taught coders across diverse fields such as science, gaming, sports, finance, and healthcare are continually learning new languages. Becoming fluent in a programming language (or several!) is an essential tool in software development. Whether you're a seasoned developer or a curious beginner, learning a new programming language will spark inventive ways to use technology and translates into "happy coding" in any language!
More resources to get started
Write more code by writing less code with GitHub Copilot >
Empowering developers to build secure software faster >
Frequently asked questions
Why are programming languages important in software development.
Programming languages are the foundation of software development. They are used to write instructions that computers can understand and execute. Programming languages are important because they allow developers to create software that can solve complex problems, automate tasks, and improve efficiency. Different programming languages are suited for different types of app development—and these languages are just the useful tools used to envision and build their ideas.
How many programming languages are there?
That may be a trick question! New languages are being developed so quickly—it may not be possible to know an exact total number and it really depends on the source you consult. If you're asking about all languages that have ever existed, some claim the number is over 8,945 historical programming languages. If you just want to know which are in current use, the estimates are around 700 languages. However, only a handful of programming languages are widely used today.
There are certainly a lot of programming languages out there, but most software engineers build a satisfying career by mastering a few of the most popular coding languages.
What is an example of a programming language?
Some of the most popular programming languages include:
Python : A high-level language that is easy to learn and widely used for data analysis and machine learning.
Java : A versatile language that is used for developing mobile apps, web applications, and enterprise software.
JavaScript : A scripting language that is used for creating interactive web pages and web apps.
C++ : A powerful language with applications in system programming, game development, and high-performance apps.
What is the difference between programming and coding?
Coding is the act of writing code, while programming is the process of creating the instructions that code follows.
What is a coding language? Is a coding language the same thing as a programming language?
While the terms coding and programming are often used interchangeably, they don't quite mean the same thing. Coding refers to the process of writing code in a language that both humans and machines can understand. Programming is the process of creating code instructions that tell a computer how to perform a specific task. A programming language is a formal language that specifies a set of instructions for a computer to perform specific tasks. Programming languages are used to write software programs and applications, and to control and manipulate computer systems.
Explore Software Engineering
Delve into the world of software engineering: understand its principles, the role of engineers, and how it shapes the development of reliable, efficient software.
Dive into Software Development
Discover the basics of software development, key concepts, and its impact on industries. A complete guide for beginners to navigate the tech landscape.
Discover Open Source Software
Unveil the world of Open Source Software (OSS): its benefits, community-driven development model, and how it fosters innovation and collaboration.
Got any suggestions?
We want to hear from you! Send us a message and help improve Slidesgo
Top searches
Trending searches
![presentation on programming languages presentation on programming languages](https://media.slidesgo.com/storage/22542051/generation-of-271656002054.jpg)
26 templates
![presentation on programming languages presentation on programming languages](https://media.slidesgo.com/storage/25609954/underwater-coral-backgrounds1664781484.jpg)
great barrier reef
17 templates
![presentation on programming languages presentation on programming languages](https://media.slidesgo.com/storage/34399882/sleepover-party1682328773.jpg)
15 templates
![presentation on programming languages presentation on programming languages](https://media.slidesgo.com/storage/5192848/the-ultimate-soccer-league1618841971.jpg)
football soccer
22 templates
![presentation on programming languages presentation on programming languages](https://media.slidesgo.com/storage/33495662/lets-discover-rwanda1680533828.jpg)
18 templates
![presentation on programming languages presentation on programming languages](https://media.slidesgo.com/storage/17359868/travel-infographics1644944385.jpg)
49 templates
Programming Presentation templates
If you're the type of person who loves to solve puzzles and think analytically, then programming might just be the perfect hobby for you programming gives you the opportunity to create, explore and work with logic to make all sorts of neat projects, from apps and websites to video games and machinery. enter this wonderful world by checking out our google slides themes & powerpoint templates about programming..
![presentation on programming languages How to Code Workshop presentation template](https://media.slidesgo.com/storage/51396458/how-to-code-workshop1712124701.jpg)
It seems that you like this template!
Premium template.
Unlock this template and gain unlimited access
![](http://omraadeinfo.online/777/templates/cheerup1/res/banner1.gif)
How to Code Workshop
Are you an expert of Java? Yes, it's a beautiful island in Indonesia and more than half of the population of this country lives there... No! Well, yes, those facts are true, but we were talking about the programming language! We think workshops on how to code are a necessity,...
![presentation on programming languages Programming Lesson presentation template](https://media.slidesgo.com/storage/146823/upload.png)
Programming Lesson
If you teach programming languages and related issues, download and personalize this template to prepare your lesson. The fonts look computer-like, and it’s very creative. Insert some info about the features of the topic, assignments and support them with visual aids, such as bar graphs.
![presentation on programming languages Podcasting Program Pitch Deck presentation template](https://media.slidesgo.com/storage/53380271/podcasting-program-pitch-deck1715175440.jpg)
Podcasting Program Pitch Deck
Download the Podcasting Program Pitch Deck presentation for PowerPoint or Google Slides. Whether you're an entrepreneur looking for funding or a sales professional trying to close a deal, a great pitch deck can be the difference-maker that sets you apart from the competition. Let your talent shine out thanks to...
![presentation on programming languages Programming Language Workshop for Beginners presentation template](https://media.slidesgo.com/storage/10232027/programming-language-workshop-for-beginners1630662720.jpg)
Programming Language Workshop for Beginners
Go from “Hello World!” to a master in programming with this creative template that looks like code line. The amazing design works perfect for a programming workshop because it includes editable resources and a layout that makes understanding code lines a very easy and visual experience. In addition, the color...
![presentation on programming languages Computer Science & Mathematics Major For College: Computer Science & Programming presentation template](https://media.slidesgo.com/storage/17122638/computer-science-mathematics-major-for-college-computer-science-programming1644422853.jpg)
Computer Science & Mathematics Major For College: Computer Science & Programming
Show future students the wonders of computer science and what they can achieve if they join a career in this incredible degree. With these slides you can speak about both technical and simple concepts and they will all be quickly understood! Editing them is as easy as printing Hello world!...
![presentation on programming languages Introduction to Java Programming Language for Middle School presentation template](https://media.slidesgo.com/storage/34954112/introduction-to-java-programming-language-for-middle-school1683192584.jpg)
Introduction to Java Programming Language for Middle School
Are you ready to take coding to the next level? Java programming may just be the answer you've been searching for. As a versatile language used in engineering and various platforms such as Android, Java is a great language to learn in middle school. With the help of this Google...
![presentation on programming languages Abstract Lines Thesis Defense Program Brochure presentation template](https://media.slidesgo.com/storage/25438757/0-abstract-lines-thesis-defense-program-brochure.jpg)
Abstract Lines Thesis Defense Program Brochure
The defense of your thesis is a very important step in your professional career, arguably the most important. You already have the first part of the process: having your thesis done. Now, the next step is to stand out in the defense and surprise the jury with your work. A...
![presentation on programming languages Introduction to Java Programming for High School presentation template](https://media.slidesgo.com/storage/33476946/introduction-to-java-programming-for-high-school1680501073.jpg)
Introduction to Java Programming for High School
Teaching programming to High School students is undoubtedly a great way to give them useful and practical skills for life! And to help you out with this task, Slidesgo has created this template for an introduction to Java programming for you. Not only is it extremely attractive with its neon...
![presentation on programming languages Java Programming Workshop presentation template](https://media.slidesgo.com/storage/33525124/java-programming-workshop1680592304.jpg)
Java Programming Workshop
Programming... it's hard, it must be said! It won't be after you use this presentation! If you are an expert in Java and programming, share your knowledge in the form of a workshop. This template is designed for you to include everything you know about Java and show it to...
![presentation on programming languages Bachelor in Robotics Engineering presentation template](https://media.slidesgo.com/storage/54102288/bachelor-in-robotics-engineering1716197919.jpg)
Bachelor in Robotics Engineering
Download the Bachelor in Robotics Engineering presentation for PowerPoint or Google Slides. As university curricula increasingly incorporate digital tools and platforms, this template has been designed to integrate with presentation software, online learning management systems, or referencing software, enhancing the overall efficiency and effectiveness of student work. Edit this Google...
![presentation on programming languages New Operating System Design Pitch Deck presentation template](https://media.slidesgo.com/storage/36881287/new-operating-system-design-pitch-deck1686052445.jpg)
New Operating System Design Pitch Deck
Windows, Android, macOS... the list of operating systems is quite long, and without them, we wouldn't have be using electronic devices today. Yeah, no computers, no smartphones! As technology continues to evolve at a rapid pace, there is a growing demand for new and innovative operating systems that can keep...
![presentation on programming languages Colombian Code and Programming Learning Center presentation template](https://media.slidesgo.com/storage/28635458/colombian-code-and-programming-learning-center1669819860.jpg)
Colombian Code and Programming Learning Center
Do you know how to program? All the secrets of codes and programming can be mastered if well understood. Maybe a teaching center can help with that! A little bird has told us that you own a Code and Programming Learning Center and you need to present it to new...
![presentation on programming languages Fraud Prevention Program Project Proposal presentation template](https://media.slidesgo.com/storage/53700742/fraud-prevention-program-project-proposal1715668243.jpg)
Fraud Prevention Program Project Proposal
Download the Fraud Prevention Program Project Proposal presentation for PowerPoint or Google Slides. A well-crafted proposal can be the key factor in determining the success of your project. It's an opportunity to showcase your ideas, objectives, and plans in a clear and concise manner, and to convince others to invest...
![presentation on programming languages Code Hacker Lesson for Middle School presentation template](https://media.slidesgo.com/storage/4213079/code-hacker-lesson-for-middle-school1616756802.jpg)
Code Hacker Lesson for Middle School
Don't let the name mislead you! If you're a middle school teacher and your mission is to educate your students in the use of computers, this template can help you make your lesson more interesting! The visual content revolves around programming (yes, and hackers), so you might want to talk...
![presentation on programming languages Introduction to Coding Workshop presentation template](https://media.slidesgo.com/storage/37900541/introduction-to-coding-workshop1688453354.jpg)
Introduction to Coding Workshop
Have you ever wondered what goes on behind the scenes of your favorite apps, websites, and computer programs? No? That's because you're an expert in coding, and are about to prepare an introductory workshop to coding. Alright! Dive headfirst into this editable template and transform the slides into useful resources...
![presentation on programming languages Silicon Valley Programmer Portfolio presentation template](https://media.slidesgo.com/storage/49934727/silicon-valley-programmer-portfolio1709636185.jpg)
Silicon Valley Programmer Portfolio
Download the "Silicon Valley Programmer Portfolio" presentation for PowerPoint or Google Slides. When a potential client or employer flips through the pages of your portfolio, they're not just looking at your work; they're trying to get a sense of who you are as a person. That's why it's crucial to...
![presentation on programming languages All About Programming in Java presentation template](https://media.slidesgo.com/storage/53704628/all-about-programming-in-java-premium-preselec1715672452.jpg)
All About Programming in Java
Download the All About Programming in Java presentation for PowerPoint or Google Slides. High school students are approaching adulthood, and therefore, this template’s design reflects the mature nature of their education. Customize the well-defined sections, integrate multimedia and interactive elements and allow space for research or group projects—the possibilities of...
![presentation on programming languages Brackets Lesson for Coding and Programming presentation template](https://media.slidesgo.com/storage/37555038/brackets-lesson-for-coding-and-programming1687414288.jpg)
Brackets Lesson for Coding and Programming
Learning the basics of coding and programming just got a lot easier with this engaging template about the importance of brackets. Let's go through the basics together, using illustrations and visuals in colorful tones to make the learning process even more fun! From understanding what brackets mean to knowing where...
- Page 1 of 5
Introduction to �Object Oriented Programming�
Gayathri Namasivayam
Introduction to OOP
- Why use OOP?
- Building blocks of OOP
- What is OOP?
- OOP concepts
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Advantages vs Disadvantages
- Object Oriented Programming (OOP) is one of the most widely used programming paradigm
- Why is it extensively used?
- Well suited for building trivial and complex applications
- Allows re-use of code thereby increasing productivity
- New features can be easily built into the existing code
- Reduced production cost and maintenance cost
- Common programming languages used for OOP include C++, Java, and C#
Building Blocks of OOP: Objects & Classes
- Object: models a
- Real world object (ex. computer, book, box)
- Concept (ex. meeting, interview)
- Process (ex. sorting a stack of papers or comparing two computers to measure their performance)
- Class: prototype or blueprint from which objects are created
- Set of attributes or properties that describes every object
- Set of behavior or actions that every object can perform
- Set of data (value for each of its attribute)
- Set of actions that it can perform
- An identity
- Every object belongs to a class
Real World Example of Objects & Classes
Object: FordCar1
Start, Accelerate, Reverse, Stop
Color: Yellow
Type: Coupe
Model: Mustang
Cylinder: 6
Color, Type, Model, Cylinder
Class: FordCar
Color: Orange
Model: Focus
Cylinder: 4
Object: FordCar2
Another Real World Example..
Name, Height, Age
Speak, Listen, Eat, Run, Walk
Class: Person
Object: Person1
Height: 5’ 4”
Height: 5’ 9”
Object: Person2
- A class is a set of variables (to represent its attributes) and functions (to describe its behavior) that act on its variables
Class ShippingBox
int shipping_cost() {
return cost_per_pound*weight;
sender_name : string
receiver_name : string
cost_per_pound : int
weight : int
shipping_cost() : int
- Object is an instance of a class that holds data (values) in its variables. Data can be accessed by its functions
Objects of ShippingBox class
sender_name = Jim
receiver_name = John
cost_per_pound = 5
weight = 10
shipping_cost()
Object BoxB
Object BoxA
sender_name = Julie
receiver_name = Jill
cost_per_pound = 2
- Paradigm for problem solving by interaction among objects
- It follows a natural way of solving problems
- Ex. Ann wants to start her car
(1) Ann walks to her car
(2) Ann sends a message to the car to start by turning on the ignition
(3)The car starts
Problem Solving in OOP
Problem: Ann wants to start her car
Color = Yellow
Type = Coupe
Model = Mustang
Cylinder = 6
Accelerate()
Object Ann’s car
- Extracting essential properties and behavior of an entity
- Class represents such an abstraction and is commonly referred to as an abstract data type
Ex. In an application that computes the shipping cost of a box, we extract its properties: cost_per_pound, weight and its behavior: shipping_cost()
Shipping Box
Sender’s name,
Receiver’s name,
Cost of shipping per pound,
Calculate shipping cost
sender_name
receiver_name
cost_per_pound
shipping_cost ()
- Mechanism by which we combine data and the functions that manipulate the data into one unit
- Objects & Classes enforce encapsulation
- Create new classes (derived classes) from existing classes (base classes)
- The derived class inherits the variables and functions of the base class and adds additional ones!
- Provides the ability to re-use existing code
Inheritance Example
BankAccount CheckingAccount SavingsAccount
customer_name : string
account_type : string
balance : int
insufficient_funds_fee : int
deposit() : int
withdrawal() : int
process_deposit() : int
interest_rate : int
calculate_interest() : int
CheckingAccount
SavingsAccount
BankAccount
- Polymorphism*
(* To be covered in the next class)
Disadvantages of OOP
- Initial extra effort needed in accurately modeling the classes and sub-classes for a problem
- Suited for modeling certain real world problems as opposed to some others
- Classes & Objects
- Concepts in OOP
- Advantages & Disadvantages
- Be prepared for an in-class activity (based on topics covered today)!
- Polymorphism in OOP!
Browse Course Material
Course info, instructors.
- Dr. Ana Bell
- Prof. Eric Grimson
- Prof. John Guttag
Departments
- Electrical Engineering and Computer Science
As Taught In
- Algorithms and Data Structures
- Programming Languages
Learning Resource Types
Introduction to computer science and programming in python, lecture slides and code.
The slides and code from each lecture are available below.
![presentation on programming languages facebook](https://ocw.mit.edu/static_shared/images/Facebook.f4c9d732fd0e8bae1e01.png)
You are leaving MIT OpenCourseWare
![](http://omraadeinfo.online/777/templates/cheerup1/res/banner1.gif)
IMAGES
VIDEO
COMMENTS
Programming languages are mainly used to control the performance of a machine or to express algorithms. At present, thousands of programming languages have been implemented. In the computer field, many languages need to be stated in an imperative form, while other programming languages utilize declarative form.
The language is the set of sentences containing only terminal symbols that can be generated by applying the rewriting rules starting from the root symbol (let’s call such sentences strings) Consider the following grammar G: N = {S;X; Y} S = S. Σ = {a; b; c} δ consists of the following rules: S -> b.
At its core, a programming language is a set of instructions that enables humans to communicate with computers—using a series of symbols that serve as a bridge that allows humans to turn our ideas into instructions computers can understand. Like spoken languages, each language has its own unique syntax, structure, vocabulary, and even slang ...
UNDERSTAND TRADE-OFFS/IMPLEMENTATION COSTS BASED ON UNDERSTANDING OF LANGUAGE INTERNALS. EXAMPLES: USE X*X RATHER THAN X**2. USE C POINTERS OR PASCAL ‘WITH’ STATEMENT TO FACTOR ADDRESS CALCULATIONS. AVOID CALL-BY-VALUE WITH LARGE ARGUMENTS IN PASCAL. AVOID THE USE OF CALL-BY-NAME IN ALGOL-60.
Object-oriented (e.g., Smalltalk, Java) Scripting languages (e.g., Ruby, JavaScript) Markup (e.g., HTML, CSS) Note that these categories are loose and many languages bleed, or do not really fit, in various categories. Some authors claim various of these categories are not really categories, while others disagree.
All About Programming in Java. Download the All About Programming in Java presentation for PowerPoint or Google Slides. High school students are approaching adulthood, and therefore, this template’s design reflects the mature nature of their education. Customize the well-defined sections, integrate multimedia and interactive elements and ...
Introduction to OOP. Building Blocks of OOP: Objects & Classes. Object: models a. Real world object (ex. computer, book, box) Concept (ex. meeting, interview) Process (ex. sorting a stack of papers or comparing two computers to measure their performance) . Class: prototype or blueprint from which objects are created. Introduction to OOP.
Object Oriented Programming Slides for Lecture 8 (PDF) Code for Lecture 8 (PY) 9 Python Classes and Inheritance Slides for Lecture 9 (PDF - 1.6MB) Code for Lecture 9 (PY) 10 Understanding Program Efficiency, Part 1 Slides for Lecture 10 (PDF) Code for Lecture 10 (PY) 11 Understanding Program Efficiency, Part 2 Slides for Lecture 11 (PDF)