ITC Lect 05 [Computer Software and Programming Languages]-REVISED
ITC Lect 05 [Computer Software and Programming Languages]-REVISED
Computer Programming
3GL, 4GL
HIGH-LEVEL
LANGUAGES
2GL ASSEMBLY
LANGUAGE LOW-LEVEL
LANGUAGES
1st Generation
Language [1GL] MACHINE LANGUAGE
HARDWARE
Assembly Language
Algorithm
A concept that pervades all areas of computer science.
Al-Khwarizmi Principle
• All complex problems can be broken into simpler
sub-problems.
• Solve a complex problem by breaking it down into
smaller sub-problems and then solve them (in a
specified order), one at a time.
• When all the steps are solved, the original problem
itself has also been solved.
• This process is called Algorithm.
Computer Programming
• Computer is a powerful tool
• It is not intelligent!
• In order to use computer to solve our problems, we
must tell it what we want done and the order in which
we want it done.
• These instructions are called computer program.
• This process is called computer programming.
• The person giving these instructions is called a
computer programmer.
• These applications are called native because they are written in the native
programming language for a specific platform.
• For Android OS, this android coding language is Java, while ios native
language is Objective-C or Swift Mobile web apps.
• Mobile web apps may not be mobile apps per se. These are rather websites
that look and feel a lot like native apps.
• The fact is that a web application is, by nature, a website that is adapted and
optimized for any smartphone.
• Like native apps, they may be loaded from within the app, and they can also
use various features of the device they’re installed on.
• Hybrid apps are a mix of web and native apps, which means their cross-
platform and have access to the functionality of a smartphone.
• These apps may be found exclusively on the markets like Google Play and
the App Store.
• Just like web applications, their platform is HTML5. They are processed
through the browser, which is built into the application itself.
Java
• Java is another popular, powerful, and effective programming language with
lots of demand for Job and career growth.
• While Java is primarily a server-side programming language and is used for
creating robust backend servers you can also use Java programming
language for creating Android apps.
SQL
• Structured Query Language (SQL) is a standardized programming language
that is used to manage relational databases and perform various operations
on the data in them.
Swift
• If you are thinking about iOS development, like making apps for
iPhone and iPad, then you should seriously consider learning Swift in
2022.
Kotlin
C / C ++
• C languages are positioned as high-performance languages, and this
is important, especially if we are talking about something heavy like a
mobile 3D game.
Ghulam Ishaq Khan Institute of Engineering Sciences and Technology, Topi
Lecture 05: Computer Software & Prog. CS 101: Introduction to Computing
https://www.devjobsscanner.com/blog/top-8-most-demanded-
languages-in-2022/
MUST VISIT
References
• Computer Concepts, by Parsons & Oja
[Chapters 3]
• https://fireart.studio/blog/top-most-popular-
programming-languages-for-mobile-app-development/