Title: Interface with High-Level Programming Languages
Slide 2: High-Level Languages
Explore the world of high-level programming languages.
Discover how these languages simplify complex tasks.
Understand their role in modern software development.
Slide 3: Paradigms & Its Types
Dive into programming paradigms and their significance.
Explore different programming paradigms, such as procedural, object-oriented, functional, and more.
Learn how each paradigm shapes language design.
Slide 4: Compiling
Demystify the process of compilation in programming.
Discuss why compilation is a critical step in the software development cycle.
Provide an overview of how high-level code is transformed into machine code.
Slide 5: Steps of Compiling
Break down the compilation process into easy-to-understand steps.
Explain each step's role, from source code to executable program.
Highlight common compiler optimizations.
Slide 6: Interfaces
Introduce the concept of interfaces in programming.
Explain how interfaces act as contracts for classes or modules.
Emphasize the flexibility and modularity they bring to code.
Slide 7: Interfaces in OOP Languages (C++)
Explore how object-oriented languages like C++ handle interfaces.
Discuss the use of abstract base classes and pure virtual functions.
Show how C++ fosters interface-like structures.
Slide 8: Interfaces in Java
Transition to Java and its native support for interfaces.
Showcase how Java interfaces are defined and implemented.
Highlight the role of interfaces in Java's polymorphism.
Slide 9: Key points
Summarize the crucial takeaways from the presentation.
Highlight key concepts discussed in previous slides, including high-level languages, programming paradigms, compilation, and interfaces.
Reinforce the significance of these concepts in modern software development.
Encourage the audience to reflect on and remember the key points for future reference.
1. Click to edit Master title style
1
Interference with High
level language
S u b j e c t : C o m p u t e r A r c h i t e c t u r e & A s s e m b l y L a n g u a g e
B y : A r s l a n A h m a d
2. Click to edit Master title style
2
Basics
H i g h - l e v e l L a n g u a g e , P a r a d i g m & C o m p i l i n g
2
3. Click to edit Master title style
3
High Level Language
• It hides computer's inner working complexity.
• It is Simple as English.
• It’s simplification allows programmers to express their ideas in Code.
3
In programming, ‘High-level language' is a type of programming
language designed for easy human understanding.
High-level programming languages are like Python, JavaScript, Java, C#, Ruby, and more.
People use them in web development, data science, mobile apps, and science stuff.
4. Click to edit Master title style
4
Computer Language Paradigms
4
Programming paradigms are different ways or styles to write an
organized code.
Computer Language
Paradigms
Procedural
Programming
❑ C
❑ PHP
❑ Fortran
❑ Rust
❑ COBOL
❑ MATLAB
Functional
Programming
❑ Ruby
❑ Swift
❑ TypeScript
❑ Julia
❑ JavaScript
Object-Oriented
Programming (OOP)
❑ Java
❑ Kotlin
❑ Python
❑ C++
❑ PHP
❑ C#
5. Click to edit Master title style
5
Compiling
5
Compiling means converting computer program of one language
into instructions that computer understand.
Compiler is a program that does this job.
As, Computer is a machine It only understand Binary language (0,1).
Compiler
6. Click to edit Master title style
6
Compiling Steps
6
Actually, Compiling is Not a single step process. It contains 4 Steps.
Pre-Processing
Compiling
Assembling
Linking
It deals with things like #include and #define
commands. It brings in header files code.
Then Compiler convert preprocessed code into
Assembly Language.
Then Assembler changes assembly code into
machine code, designed for the particular
computer.
Then multiple code files are linked into a single
program, by linking libraries code.
7. Click to edit Master title style
7
Characteristics & Advantages
of High Level Language
7
Characteristics
❑ Simplicity
❑ Maintainability
❑ Rapid Development
❑ Error Handling
❑ Abstraction
Advantages
❑ Reduced Complexity
❑ Efficiency
❑ Community Support
❑ Code Reusability
❑ Scalability
8. Click to edit Master title style
8
Interface
I n t e r f a c e & I n t e r f a c e - b a s e d P r o g r a m m i n g
8
9. Click to edit Master title style
9
Interfaces
An interface is like a menu in a restaurant. It lists all the dishes
(methods) you can order (use) from the kitchen (class). But, it
doesn't tell you how the dish is prepared (the code inside the
method).
9
An interface is a set of rules that a class agrees, to perform
specific tasks (functions).
Interface-Based Programming
For programming using interface, Languages like Java, C#
has type reference “Interface”.
While in Other (OOP) Languages like: C++, Python etc. It is
done by Abstract Class & Pure Virtual Function.
10. Click to edit Master title style
10
Interface in OOP Language (C++)
10
• Parent class is an abstract class because it contains a pure
virtual function show().
• Child1 & Child2 Inherits Parent, They provide their own code for
show() function.
• Later, Create objects of both Child1 and Child2 and call their
show() functions.
This ensure principle of defining interface (in this case, show()) in an
abstract class and having derived classes implement that interface.
11. Click to edit Master title style
11
Interface in Java
11
• Printable defines Interface with function print().
• Class1 & Class2 Implement their code for print() function.
• Later, Create objects of both Class1 and Class2 and call their
print() functions.
This code shows how in Java, various classes can implement interface. So,
They can define unique behaviors for a common function.
12. Click to edit Master title style
12
Key points
12
• High-Level Language is programming language that is easy for human
understanding and difficult for Computer. Like: English etc.
• Paradigm is a style to write organized code.
• Compiling is process of converting human program into machine understandable
format. Compiler is used to does this task
• Compiling is 4 step process: Preprocessing, Compiling, Assembling & Linking.
• Interface is set of functions that a class can perform.
• In languages like: Java & C#, Interface is type reference. While in other
languages Abstract Class & Pure Virtual Function is used.