0% found this document useful (0 votes)
14 views21 pages

Introduction to Programming Languages

The document introduces fundamental concepts of programming languages, including their definitions, differences from natural languages, and examples. It covers the history of programming languages, types of languages, and the relationship between algorithms and code. Additionally, it categorizes programming languages by abstraction level, execution method, and programming paradigm, providing insights into beginner-friendly and advanced languages.

Uploaded by

Diego Ferracini
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views21 pages

Introduction to Programming Languages

The document introduces fundamental concepts of programming languages, including their definitions, differences from natural languages, and examples. It covers the history of programming languages, types of languages, and the relationship between algorithms and code. Additionally, it categorizes programming languages by abstraction level, execution method, and programming paradigm, providing insights into beginner-friendly and advanced languages.

Uploaded by

Diego Ferracini
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

DIEGO FERRACINI FERREIRA

INTRODUCTION TO
PROGRAMMING
LANGUAGES
OBJECTIVES
General: Introduce fundamental concepts of programming and logical
thinking.
Specific:
Understand what a programming language is and what it is used for.
Differentiate programming languages from natural languages.
Learn examples of programming languages.
Apply basic concepts using a visual language (Scratch) or a simple textual
language (Python).
Develop logical reasoning through practical challenges.
CONTENT
What is a programming language.
Natural language vs. programming language.
Types of languages (visual and textual).
Basic commands (input, output, repetition,
condition).
Logical thinking and sequences of instructions.
HISTORY
The first work on programming
languages was created by Ada Lovelace, a
close friend of Charles Babbage. The
design for the first programmable
mechanical calculator was conceived by
Charles Babbage who, after spending a
fortune and many years, was unable to
complete the project. The ADA
programming language was named in
honor of this first programmer.
HISTORY
The first compiler was written by Grace
Hopper in 1952 for the A-0 programming
language. The first widely used high-level
programming language was Fortran, created
in 1954. In 1957, B-0 was created as the
successor to A-0, which later evolved into
Flow-Matic (1958), the direct predecessor of
COBOL (1959). COBOL became a widely
adopted language for commercial use. The
ALGOL language was developed between 1958
and 1960, and ALGOL-60 had a significant
influence on the design of many later
programming languages.
CONCEPT
A programming language is a standardized method, consisting of a set of syntactic
and semantic rules, for implementing source code — which can be compiled and
transformed into a computer program, or used as an interpreted script — that will
provide processing instructions to the computer. It allows a programmer to precisely
specify which data the computer will process, how this data will be stored or
transmitted, and which actions should be taken according to specific circumstances.
Programming languages can be used to express algorithms with precision.
SOURCE CODE
The source code (also called simply “source” or
“code”) is the version of software in the form it was
originally written (typed on a computer) by a human,
in plain text using human-readable alphanumeric
characters.
NATURAL LANGUAGE VS.
PROGRAMMING LANGUAGE

Natural Language
Definition: A language that evolves naturally among
humans for everyday communication.
Examples: English, Portuguese, Spanish, Mandarin.
Characteristics:
Flexible and often ambiguous.
Follows cultural and social conventions.
Can be understood in multiple ways depending on
context.
Grammar rules exist but are not strictly enforced in
informal use.
Purpose: To communicate ideas, emotions, and
information between people.
NATURAL LANGUAGE VS.
PROGRAMMING LANGUAGE

Programming Language
Definition: A formal, standardized language used to give
instructions to a computer.
Examples: Python, Java, C++, Scratch.
Characteristics:
Strict syntax and semantics that must be followed
exactly.
Designed to eliminate ambiguity.
Used to control computer operations and process data.
Expresses logic and algorithms with precision.
Purpose: To communicate unambiguous instructions
from a human to a computer.
TYPES OF PROGRAMMING
LANGUAGES
Programming languages can be classified
in various ways, but the most common
approach is grouping them by
abstraction level, execution method, or
programming paradigm.
BY ABSTRACTION LEVEL
Low-level languages
Closer to machine language.
Harder for humans to read.
Example: Assembly.
High-level languages
Closer to human language, with simpler syntax.
Independent from hardware.
Examples: Python, Java, C#, JavaScript.
BY EXECUTION METHOD
Compiled languages
Source code is translated (compiled) into machine language before
running.
Usually faster.
Examples: C, C++, Go, Rust.
Interpreted languages
Executed line by line by an interpreter.
Slower but easier to test and debug.
Examples: Python, JavaScript, PHP.
Hybrid languages
Combine compilation and interpretation.
Example: Java (compiled to bytecode, interpreted by the virtual machine).
BY PROGRAMMING
PARADIGM
Imperative
The programmer specifies step-by-step instructions.
Examples: C, Java.
Declarative
The programmer specifies what should be done, not how.
Examples: SQL, HTML.
Functional
Based on mathematical functions, avoiding direct variable changes.
Examples: Haskell, Elixir, Clojure.
BY PROGRAMMING
PARADIGM
Object-oriented
Organizes code into classes and objects that combine data and behavior.
Examples: Java, Python, C#.
Logic-based
Uses rules and facts; the computer deduces the answer.
Example: Prolog.
BY WRITING STYLE
Textual languages – Commands are written in code (Python, C,
JavaScript).
Visual languages – Programming is done through blocks or diagrams
(Scratch, Blockly).
BEGINNER-FRIENDLY (HIGH-
LEVEL, SIMPLE SYNTAX)
Scratch – visual, block-based, no typing code needed.
HTML & CSS – markup and styling (not programming in the strict sense,
but foundational).
Python – very readable syntax, great for beginners.
JavaScript – easy to start, runs in any browser.
Ruby – clean, human-readable code.
INTERMEDIATE (MORE RIGID
SYNTAX OR CONCEPTS)
Java – object-oriented, verbose syntax.
C# – similar to Java, popular for game and app development.
PHP – used for web backends.
Swift – Apple ecosystem apps, clear but requires understanding of object-
oriented concepts.
Go (Golang) – simple syntax but lower-level thinking.
ADVANCED (LOWER-LEVEL,
MORE COMPLEX CONCEPTS)
C – manual memory management, pointers.
C++ – combines low-level C with high-level features, complex syntax.
Rust – very strict rules for safety and performance.
Haskell – functional programming paradigm, steep learning curve.
Assembly – very low-level, writing directly for the CPU.
CODE AND
ALGORITHM
The link between an algorithm and a programming language is essentially
the relationship between logic and implementation:
Algorithm → A step-by-step, logical procedure for solving a problem. It’s
language-independent and can be written in plain language,
pseudocode, or diagrams.
Programming language → A formal set of rules and syntax that allows
you to translate that algorithm into a form the computer can execute.
In short:
[Link] algorithm is the plan (like a recipe).
[Link] programming language is the tool you use to turn that plan into
code the computer can run.
CODE AND
ALGORITHM
For example:
Algorithm: “Find the largest number in a list by comparing each
element to the current maximum.”
Code in Python:
[Link] = [4, 9, 1, 7]
2.max_number = numbers[0]
[Link] n in numbers:
4. if n > max_number:
5. max_number = n
[Link](max_number)
7.

You might also like