Chapter 3 - Basics of Programming
- Authors
- Ms. Samavi Salman
- Dr. Rao Muhammad Adeel Nawab
Quick Recap
- Quick Recap – Basics of Computer
- In previous Chapter, I presented the following main concepts:
- A Real-world Task is defined as a piece of work to be done or undertaken with an intention to please Allah
- Three main approaches to perform a Real-world Task are
- Manual Approach
- Automatic Approach
- Semi-automatic Approach
- To perform a Real-world Task, we need four main components
- Input
- Data
- Instruction(s)
- Storage
- Processing
- Output
- A Human may use following Steps to perform a Real-world Task
- Step 1: Identify Most Suitable Hardware (Human Organs) for your Real-world Task
- Step 1.1: Identify Most Suitable Hardware (Human Organs) for Input
- Data
- Instruction(s)
- Step 1.2: Identify Most Suitable Hardware (Human Organs) for Storage
- Step 1.3: Identify Most Suitable Hardware (Human Organs) for Processing
- Step 1.4: Identify Most Suitable Hardware (Human Organs) for Output
- Step 2: Use Software (Human Soul) for communication and co-ordination of various Hardware Components (Human Organs)
- Step 2.1: Take Input from Real-world User
- Step 2.2: Store Input (Data and Instructions)
- Step 2.3: Process the Data according to Instructions
- Step 2.4: Produce the Output
- Step 2.5: Store the Output
- Step 3: Present the Output to the Real-world User(s)
- A Machine may use following steps to perform a Real-world Task
- Step 1: Identify most suitable Hardware (Electronic Devices) for your Real-world Task
- Step 2: Identify most suitable Software for your Real-world Task
- Step 3: Use Software for communication and co-ordination of various Hardware Components (Human Organs)
- Step 4: Present the Output to the Real-world User(s)
- A Computer is a machine, which takes Data and Instructions as Input and Processes the Data according to Instructions to generate the Output
- Based on usage, we may categorize computers into two main categories
- Computers for Individual Users
- Computers for Organizations
- A Computer System mainly comprises of four parts
- Hardware
- Software
- Data
- Users
- The four main types of Hardware Devices are
- Two main types of Software are
- System Software
- Application Software
- The main job of a Computer System it to process Data in such a way, that it converts to useful Information
- Four main units of a Computer System are
- Input Unit
- Processing Unit
- Output Unit
- Storage Unit
- The following Steps describe how a Real-world Task is performed by a Computer System
- Step 1: Input Unit accepts Data and Instructions form User (or another Computer System) using Input Devices
- Step 1.1: Input Unit sends Data and Instructions to Storage Unit
- Step 2: Storage Unit stores Data and Instructions in the Storage Device
- Step 3: Processing Unit fetches Data and Instructions from Storage Device
- Step 3.1: Processor processes Data according to Instructions to generate Results
- Step 3.2: Processing Unit sends Results to Storage Unit
- Step 4: Storage Unit stores Results in Storage Devices
- Step 5: Output Unit fetches Results from Storage Unit
- Step 5.1: Output Unit displays Results to the User using Output Devices
3 Ps of Programming
- Programming
- Definition
- Programming is defined as the process of writing Programs
- 3 Ps of Programming
- The 3 Ps of Programming are
- Program
- Programmer
- Programming Language
- Program
- Definition
- A Program Processes the Data according to a Set of Instructions to produce Output
- In the form of an Equation
Program = Process (Data + Instruction)
- Note
- A Program is a.k.a.
- Computer Program
- Software
- Computer Software
- Programming Code
- Main Characteristics of a Program
- A Program is planned, designed and developed to perform a specific Real-world Task
- Purpose
- The main purpose of a Program is to assist Humans in performing various specific Real-world Tasks with semi-automation / full automation
- Importance
- Without Programs, it is not possible to automatically / semi-automatically perform a range of specific Real-world Tasks
- Applications
- Programs have potential applications in a range of areas including
- Business
- Education
- Medicine
- Entertainment
- Agriculture
- Defense
- Communication
- And many more 😊
- Strengths
- Programs developed to perform various specific Real-world Tasks help us to
- Improve the quality of Real-world Task
- Reduce cost, time and effort
- Easily process large amount of Data
- Weakness
- Planning, designing, developing, testing and executing a Program to perform a specific Real-world Task requires a lot of effort from Domain Experts
- Ensuring the security of Programs is a challenging task
- Programs maintenance requires resources and continuous effort
- Program – Task
- Given
- Data
- Instructions
- Computational Resources for Processing
- Task
- Automatically Process the Data according to Set of Instructions to generate Output
- Program - Input and Output
- Input
- Data
- Instructions
- Output
- Result(s)
- Note
- Results(s) are obtained after processing the Input (Data + Instructions)
- Example 1 – Program (Input and Output)
- Input
- Data
- Number 1 = 7
- Number 2 = 10
- Instructions
- Add (+) the Two Numbers
- Output
- 17
- Example 2 – Program (Input and Output)
- Input
- Data
- Number 1 = 7
- Number 2 = 10
- Instructions
- Which Number is Greater?
- Output
- 10
- Comparing Example 1 and Example 2
- Question:
- In both Examples i.e., Example 1 and Example 2
- Input is Same but Output is Different
- Answer:
- Instructions in Example 1 and Example 2 are different
- Conclusion:
- Instructions have a significant effect on Processing of Data
- Example 3 – Program (Input and Output)
- Input
- Data
- Number 1 = 7
- Instructions
- Is Number Odd or Even?
- Output
- Odd
- Programmer
- Definition
- A Programmer is a Man of Character and (s)he should safeguard his Character
- Formal Definition in Programming
- A Programmer is a person who writes Programs
- Main Tasks of a Programmer
- Recall the Equation
Life = Technical Skill (15%) + Human Engineering (85%)
- The two main tasks of a Programmer are
- Achieve Excellence in Technical Skill
- Achieve Excellence in Human Engineering
- Excellence in Technical Skill
- The first main task of a Programmer is to achieve Excellence in Technical Skille.
- Become an authority in the world in
- Planning a Program
- Designing a Program
- Implementing (or Developing) a Program
- Testing a Program
- Deploying a Program in the Real-world to be used by End Users
- Maintaining a Program
- Training End Users
- Become an authority in the world in
- Excellence in Human Engineering
- The second main task of a Programmer is to achieve Excellence in Human Engineering.
- Keep putting 100% Effort with Sincerity on daily basis (till death) to
- achieve Excellence in Truth, Honesty, and Justice
- Keep putting 100% Effort with Sincerity on daily basis (till death) to
- Programming Language
- Definition
- A Programming Language is defined as a formal language comprising of rules to instruct a Computer to perform a specific Set of Operations to produce Output
- Purpose
- The main purpose of a Programming Language is to write a Set of Instructions to automatically perform a specific Real-world Task
- Importance
- Problem
- Computer is an electronic Machine and can only understand the Machine Language
- Human cannot understand the Machine Language
- Question
- How to give Instructions to Computer to perform a specific Real-world Task?
- A Possible Answer
- Follow a Two Step Process
- Step 1: Write Program (Set of Instructions) in a Programming Language, which a Human can easily understand
- Step 2: Translate the Program (Set of Instructions) written in Programming Language into Machine Language
- Follow a Two Step Process
- Problem
- Applications
- Nowadays, Programming is one of the largest industries of the world
- Programming is a very good profession / career
- A good Programmer earns very high salary
- Job opportunities are very high in Programming
- Strengths
- Programming Language enables a Human to easily and efficiently communicate the Instructions to a Computer
- Instructions given to a Computer using a Programming Language enables us to control the behavior of Computer
- Programming Languages are simple and easy to learn
- Programming Language enables us to perform a complex Real-world Task in few Instructions
- Programming Language enables us to develop automatic solutions for a range of Real-world Tasks
- Weaknesses
- Programming Languages are updated very rapid and it is a challenging task to keep up pace with all the updates
- Sitting for long hours and doing Programming is not good for health
- Sometimes, it becomes very difficult and annoying to identify and fix bugs, particularly in large and complex Programs
- Top 10 Programming Languages
- Nowadays, the top 10 Programming Languages of the world are as follows
- Java
- C
- Python
- C++
- C#
- NET
- JavaScript
- PHP
- Swift
- SQL
TODO and Your Turn
TODO Task 1
- Task
- Consider the following three Real-world Tasks and answer the questions given below
- Task 1
- Calculate Zakat on Rs. 1000
- Note
- Amount of Zakat is 2.5% of the total wealth
- Task 2
- If you give sadqa (صدقہ) Rs. 10 in the path of Allah, Allah will give you at least ten times (and there is no upper bound). How much you will get in return from Allah (considering reward of 10 times)”
- Task 3
- Ms. Samavi read Durrod Sharif 1000 times daily. How much will she read in 30 days?
- Note
- Your answers should be
- Well Justified
- Your answers should be
- Questions
- Write the Input and Output for the above-mentioned Real-world Tasks?
- What technical skills a Programmer will need to perform the above- mentioned Real-world Tasks?
- What Human Engineering skills a Programmer will need to perform the above-mentioned Real-world Tasks?
- Task 1
- Consider the following three Real-world Tasks and answer the questions given below
SLIDE
Your Turn Task 1
- Task
- Select any three Real-world Tasks and answer the questions given below
- Note
- Your answers should be
- Well Justified
- Questions
- Write the Input and Output for the selected Real-world Tasks?
- What Technical Skills a Programmer will need to perform the selected Real-world Tasks?
- What Human Engineering skills a Programmer will need to perform the selected Real-world Tasks?
- Your answers should be
Types of Programming Languages
- Types of Programming Languages
- Programming Languages can be broadly categorized into
- Low-level Programming Languages
- High-level Programming Languages
- Low-level Programming Languages
- Definition
- A Programming Language that corresponds directly to a specific Machine
- Note
- Low-level Programming Languages are either
- Machine Codes or
- Close to Machine Codes
- Low-level Programming Languages are either
- Purpose
- Low-level Programming Languages are used to write Programs that relate to the specific architecture and hardware of a particular type of Computer
- Importance
- Without Low-level Programming Language (i.e., Machine Language), it will not be possible for a Computer to understand the Instructions to perform a specific Real-world Task
- Applications
- Low-level Programming Language are useful
- When we want to develop extremely performance critical software
- When we want to build some new hardware
- For example, implementing an Operating System for a new Machine
- When we have an extremely constrained hardware environment
- For example, an embedded processor with very limited resources
- Low-level Programming Language are useful
- Strengths
- Programs developed using Low-level Programming Languages
- Can directly communicate with hardware devices
- Are fast and memory efficient
- Can better utilize Processor and Memory
- Do not require any Compiler or Interpreter to translate the Source Code into Machine Code (saves Compilation / Interpretation time)
- Programs developed using Low-level Programming Languages
- Weaknesses
- Programs developed using Low-level Programming Languages are Machine dependent (i.e. they are not portable)
- It is difficult to implement, debug and maintain Programs in Low-level Programming Languages
- Programs developed using Low-level Programming Languages normally results in poor Programming productivity
- Types of Low-level Programming Languages
- Two main types of Low-level Programming Languages are
- Machine Language
- Assembly Language
- Computer Can Understand Only One Language
- A manufacturer designs a Computer to understand only one language
- Machine Language
- Question
- How is Machine Language represented inside a Computer?
- Answer
- Machine Language is represented inside a Computer
- by a string of Binary Digits (Bits): 0 and 1
- Symbol 0 means
- absence of an electric pulse
- Symbol 1 means
- presence of an electric pulse
- Remember
- A Computer is composed of electronics components
- Electronic is the use of electricity to create logical circuit to perform different Real-world Tasks
- A Computer is composed of electronics components
- Machine Language is represented inside a Computer
- Machine Language
- Definition
- A Computer Programming Language consisting of Binary or Hexadecimal instructions which a Computer can respond to directly
- Purpose
- Give Instructions to a Computer to perform different Real-world Tasks
- Importance
- Machine Language is the only language which a Computer can understand
- Applications
- Machine Language is useful
- When we want to develop extremely performance critical software
- When we want to build some new hardware
- For example, implementing an operating system for a new Machine
- When we have an extremely constrained hardware environment
- For example, an embedded processor with very limited resources
- Machine Language is useful
- Strengths
- Machine Language
- makes fast and efficient use of a Computer
- is directly understood by a Computer
- Machine Language
- Weaknesses
- It is very hard to develop, debug and maintain Programs in Machine Language
- Need to remember all Operation Codes
- Need to remember all Memory Addresses
- It is very hard to develop, debug and maintain Programs in Machine Language
- Mnemonic Code
- Definition
- A code that can be remembered comparatively easily and that aids its user in recalling the information it represents
- Example 1
- MPY is Mnemonic Code for
- Multiply
- Example 2
- ADD is Mnemonic Code for
- Addition
- ADD is Mnemonic Code for
- Example 3
- SUB is Mnemonic Code for
- Subtraction
- SUB is Mnemonic Code for
- Example 4
- NOTAM is Mnemonic Code for
- Notice to Airmen
- NOTAM is Mnemonic Code for
- MPY is Mnemonic Code for
- Assembly Language
- Definition
- A Programming Language that consists of Instructions that are Mnemonic Codes for corresponding Machine Language Instructions
- Note
- We need a Translator (called Assembler) to convert
- Assembly Code into Machine Code
- We need a Translator (called Assembler) to convert
- Purpose
- The main purpose of Assembly Language is to
- directly manipulate hardware using a slightly more user-friendly language then Machine Language
- The main purpose of Assembly Language is to
- Importance
- Assembly Language made it easier to directly talk to hardware using Mnemonic Codes (which are easily readable and understandable by Humans)
- Applications
- Assembly Language is useful
- When we want to develop extremely performance critical software
- When we want to build some new hardware
- For example, implementing an operating system for a new Machine
- When we have an extremely constrained hardware environment
- For example, an embedded processor with very limited resources
- Assembly Language is useful
- Strengths
- Assembly Language is easier to understand and use as compared to Machine Language
- It is easier to develop, debug and maintain Programs in Assembly Language as compared to Machine Language
- Weaknesses
- Like Machine Language, the Assembly Language is also Machine dependent / specific
- It requires a lot of effort to develop Programs using Assembly Language because we need to have strong understanding of the hardware
- High-level Programming Languages
- Definition
- A Programming Language that is independent of the Machine
- Purpose
- The main purpose of developing High-level Programming Languages is to enable Programmers to write Programs easily, in their own native language environment (e.g., English)
- Importance
- High-level Programming Languages allow the Programmers to write Programs for all types of Computers
- Applications
- Nowadays, High-level Programming Languages are widely and commonly used to build automatic solutions for a range of areas including
- Business
- Sports
- Medicine
- Defense
- Entertainment
- Education
- Agriculture
- And many more 😊
- Nowadays, High-level Programming Languages are widely and commonly used to build automatic solutions for a range of areas including
- Strengths
- High-level Programming Languages
- are Machine independent
- Program written in a High-level Programming Language can be run on any Computer
- Are easy to learn because they are very similar to English language
- Enable a Programmer to easily develop, debug and maintain Programs
- are Machine independent
- High-level Programming Languages
- Weaknesses
- Machine cannot understand the Instructions written in High-level Programming Languages
- Therefore, we need a Translator to convert (translate) Instructions written in High-level Programming Language into Machine Language and the translation takes time
- High-level Programming Languages cannot directly communicate with the hardware
- High-level Programming Languages are generally less memory efficient
- High-level Programming Languages are slower compared to Low-level Programming Languages
- Machine cannot understand the Instructions written in High-level Programming Languages
- Top 10 High-level Programming Languages
- Nowadays, the top 10 High-level Programming Languages of the world are as follows
- Java
- C
- Python
- C++
- C#
- NET
- JavaScript
- PHP
- Swift
- SQL
- Nowadays, the top 10 High-level Programming Languages of the world are as follows
TODO and Your Turn
TODO Task 1
- Task
- Consider the following three Programs and answer the questions given below
Python Program |
# This main purpose of the Program is to add two Integer Numbers number1 = 15 number2 = 60 # Add two numbers sum = number1 + number2 # Display the sum print(‘Sum of ‘,number1, ‘and’, number2, ‘=’, sum) |
Java Program |
// The main purpose of the Program is to add two Integer Numbers public static void main(String[] args) { int number1 = 5, number2 = 15, sum; // Add two numbers sum = number1 + number2; // Display the sum System.out. println(‘Sum of ‘,number1, ‘and’, number2, ‘=’ + sum) } |
Assembly Program |
.model small .data opr1 dw 1234h opr2 dw 0002h result dw 01 dup(?),\’$\’ .code mov ax,@data mov ds,ax mov ax,opr1 mov bx,opr2 clc add ax,bx mov di,offset result mov [di], ax mov ah,09h mov dx,offset result int 21h mov ah,4ch int 21h end |
- Note
- Your answers should be
- Well Justified
- Your answers should be
- Questions
- In which category the above Programs fall and why?
- Low level Programming Languages
- High level Programming Languages
- How can we make Programs written in High level Programming Languages understandable by Computer?
- In which category the above Programs fall and why?
Your Turn Task 1
- Task
- Select any four Programs and answer the questions given below
- Two Programs should be in High level Programming Language
- Two Programs should be in Low level Programming Language
- Select any four Programs and answer the questions given below
- Note
- Your answers should be
- Well Justified
- Your answers should be
- Questions
- How will you convert the Programs written in High level Programming Languages in Machine Language?
Approaches to Convert Source Code into Machine Code
- Source Code vs Machine Code
- Source Code
- Source Code is defined as a Program written in High Level Programming Language
- Machine Code
- Machine Code is defined as a Program written in Machine Language Instructions that can be executed directly by a Computer
- Problem
- Programmers write Programs in High Level Programming Language (Source Code) which a Computer cannot directly understand. How to enable Computers to understand the Source Code?
- A Possible Solution
- Use a Translator, which automatically translates (converts) the Source Code into Machine After Translation, Computer can directly execute the Machine Code
- Approaches to Convert Source Code into Machine Code
- The three main types of Translators, which convert (translate) Source Code into Machine Code are
- Interpreter
- Compiler
- Assembler
- Interpreter
- Definition
- An Interpreter converts (translates) a Source Code into Machine Code line-by-line
- Popular Programming Languages that use an Interpreter to convert (translate) Source Code into Machine Code
- Perl
- Python
- Matlab
- Javascript
- Ruby
- PHP
- Compiler
- Definition
- A Compiler converts (translates) a Source Code into Mahcine Code all at once
- Popular Programming Languages that use a Compiler to convert (translate) Source Code into Machine Code
- C
- C++
- C#
- COBOL
- Visual Basic
- PASCAL
- FORTAN
- Assembler
- Definition
- An Assembler converts (translates) is a Program written in Assembly Language (Source Code) into Machine Code
- Examples of Assembler
- Fortran Assembly Program (FAP)
- Macro Assembly Program (MAP)
- Symbolic Optimal Assembly Program (SOAP)
TODO and Your Turn
SLIDE
TODO Task 1
- Task
- Consider the following three Programs and answer the questions given below
Python Program |
# The main purpose of the Program is to add two Integer Numbers
number1 = 15 number2 = 60
# Add two numbers sum = number1 + number2
# Display the sum print(‘Sum of ‘,number1, ‘and’, number2, ‘=’, sum) |
Java Program |
// The main purpose of the Program is to add two Integer Numbers
public static void main(String[] args) { int number1 = 5, number2 = 15, sum;
// Add two numbers sum = number1 + number2;
// Display the sum System.out. println(‘Sum of ‘,number1, ‘and’, number2, ‘=’ + sum) } |
Assembly Program |
.model small .data opr1 dw 1234h opr2 dw 0002h result dw 01 dup(?),\’$\’ .code mov ax,@data mov ds,ax mov ax,opr1 mov bx,opr2 clc add ax,bx mov di,offset result mov [di], ax
mov ah,09h mov dx,offset result int 21h
mov ah,4ch int 21h end |
- Note
- Your answers should be
- Well Justified
- Questions
- Which approach will be more suitable to translate the above Programs into Machine Language and why?
- Interpreter
- Compiler
- Assembler
- Which approach will be more suitable to translate the above Programs into Machine Language and why?
- Your answers should be
SLIDE
Your Turn Task 1
- Task
- Select any six Programs and answer the questions given below
- Two Programs should be translated into Machine Language using a Compiler
- Two Programs should be translated into Machine Language using an Interpreter
- Two Programs should be translated into Machine Language using an Assembler
- Note
- Your answers should be
- Well Justified
- Questions
- Write the name of the Assembler / Compiler / Interpreter that you will use to translate selected Programs into Machine Language?
- Your answers should be
- Select any six Programs and answer the questions given below
IDEs of Programming Languages
- Integrated Development Environment (IDE)
- Definition
- An Integrated Development Environment (IDE) is a Software Application that provides comprehensive facilities to Programmers for Software / Program development
- Basic Components of an IDE
- An IDE normally consists of at least a
- Source Code Editor
- Compiler / Interpreter / Assembler
- Debugger
- An IDE normally consists of at least a
- Note
- A Debugger is a Program that assists in the detection and correction of errors in other Programs
- Purpose
- The main purpose of an IDE is to provide a user-friendly environment to Programmers to easily, quickly and efficienlty develop and debug Programs
- Popular IDEs
- Insha Allah, in the next Slides, I will present some of the popular and widely used IDEs for different High Level Programming Languages
- IDEs for Python Programming Language
- Some of the popular and widely used IDEs for Python Programming Language are as follows
- Online Compiler from Programiz
- Download Link
- Sublime Text 3
- Download Links
- Atom
- Download Links
- Thonny
- Download Links
- PyCharm
- Online Compiler from Programiz
- IDEs for Java Programming Language
- Some of the popular and widely used IDEs for Java Programming Language are as follows
- Eclipse
- Download Links
- Netbeans
- Download Links
- IntelliJ IDEA Community Edition
- Download Links
- Android Studio
- Download Links
- Eclipse
- IDEs for C/CPP Programming Language
- Some of the popular and widely used IDEs for C Programming Language are as follows
- Eclipse
- Download Links
- Code Blocks
- Download Links
- Visual Studio Code
- Download Links
- Eclipse
- IDEs for C# Programming Language
- Some of the popular and widely used IDEs for C# Programming Language are as follows
- MonoDevelop
- Download Links
- Visual Studio Code
- Download Links
- MonoDevelop
- IDEs for PHP Programming Language
- Some of the popular and widely used IDEs for PHP Programming Language are as follows
- PHPStorm
- Download Links
- NetBeans
- Aptana Studio
- Download Links
- Eclipse
- Download Links
- ZendStudio
- Download Links
- Visual Studio Code (with Xamarin)
- Download Links
- PHPStorm
- IDEs for Swift Programming Language
- Some of the popular and widely used IDEs for Swift Programming Language are as follows
- Atom
- Download Links
- AppCode
- Download Links
- Code Runner
- Download Links
- Sublime Text
- Download Links
- Visual Studio Code
- Download Links
- Atom
- IDEs for Ruby Programming Language
- Some of the popular and widely used IDEs for Ruby Programming Language are as follows
- aAptana Studio
- Download Links
- NetBeans
- Jet Brains RubyMine
- Download Links
- Sublime Text 3
- Download Links
- aAptana Studio
Chapter Summary
- Chapter Summary
In this Chapter, I presented the following main concepts:
- Programming
- Programming is defined as the process of writing Programs
- Program
- A Program Processes the Data according to a Set of Instructions to produce Output
- Programmer
- A Programmer is a person who writes Programs
- Programming Language
- A Programming Language is defined as a formal language comprising of rules to instruct a Computer to perform a specific Set of Operations to produce Output
- Types of Programming Languages
- Programming Languages can be broadly categorized into
- Low-level Programming Languages
- High-level Programming Languages
- Low-level Programming Language
- A Programming Language that corresponds directly to a specific Machine
- Types of Low-level Programming Languages
- Two main types of Low-level Programming Languages are
- Machine Language
- Assembly Language
- Machine Language
- A Computer Programming Language consisting of Binary or Hexadecimal instructions which a Computer can respond to directly
- Mnemonic Code
- A code that can be remembered comparatively easily and that aids its user in recalling the information it represents
- Assembly Language
- A Programming Language that consists of Instructions that are Mnemonic Codes for corresponding Machine Language Instructions
- Two main types of Low-level Programming Languages are
- High-level Programming Languages
- A Programming Language that is independent of the Machine
- Source Code vs Machine Code
- Source Code
- Source Code is defined as a Program written in High Level Programming Language
- Machine Code
- Machine Code is defined as a Program written in Machine Language Instructions that can be executed directly by a Computer
- Source Code
- Interpreter
- An Interpreter converts (translates) a Source Code into Machine Code line-by-line
- Compiler
- Compiler converts (translates) a Source Code into Machine Code all at once
- Assembler
- An Assembler converts (translates) is a Program written in Assembly Language (Source Code) into Machine Code
- Integrated Development Environment (IDE)
- An Integrated Development Environment (IDE) is a Software Application that provides comprehensive facilities to Programmers for Software / Program development
- Programming Languages can be broadly categorized into
In Next Chapter
- In Next Chapter
- In Sha Allah, in the next Chapter, I will present a detailed discussion on
- Basics of Python Programming Language