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
•If you are thinking seriously about Android App development, then Kotlin
is the programming language to learn in 2022. It is probably the next big
thing happening in the Android world.
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.
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/