SlideShare a Scribd company logo
Computer Programming
Overview
Outline
● Overview
● Paradigms
● Languages
● Popular Languages
● Choosing a Language
● Learning Resources
● Summary
Programming Overview
What is programming?
● Instructing a computer to carry
out a task
● Creative process of turning
ideas into software
● Empowers you to make
computers do anything you
want...?
Why do we program?
● A natural, satisfying and creative experience
● Enables accomplishments previously possible.
● Opens new world of intellectual endeavor
● It is cool, fun and potentially very rewarding
● Anyone can do it!
Programming Paradigms
A programming paradigm is...
● A way of building the structure and elements
of computer programs
Procedural Languages
Structured Languages
Functional Languages
Object-oriented Languages
Multi-paradigm Languages
● Languages can support one or more
paradigms
More recently…
+
Programming Languages
Natural Language Examples
● Kids Make Nutritious Snacks
● Red Tape Holds Up New Bridge
● Police Squad Helps Dog Bite Victim
● Local High School Dropouts Cut in Half
[ real news paper headlines, compiled by Rich Pattis ]
Generations
● Machine Language (1GL)
o Very low level, tedious and error-prone
● Assembly Language (2GL)
o Usually specific to a particular processor family and
environment
● High-level Languages (3GL)
o Independent of a particular type of computer
hardware
● Fourth Generation Languages (4GL)
o Provides a higher level of abstraction than 3GLs
o Closer to natural human languages
● Natural Language
o Ambiguous and hard for computer to understand
Languages
Common Features
● Data Types & Structures
● Operators, Conditionals and Loops
● Functions and Procedures
● Exception Handling
Choosing a Language
Where do you begin?
● Depends on your problem domain
o High performance, low latency applications
o Complex computation and data analysis
o Embedded and control systems
o Enterprise applications
o Dynamic web applications, widgets and APIs
o Computer graphics and animation
o Computer and console games
o Mobile applications and games
Choose a language that is...
● Best suited to the problem you are trying to solve
● Widely available
o Runs on various hardware platforms
o Supports multiple operating systems
● Widely used
o Large, active community
o Readily available libraries and frameworks
Source: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Source: http://sogrady-media.redmonk.com/sogrady/files/2014/01/lang-rank-114-wm.png
Popular Languages
● Problem Domains
o High performance applications
o Complex computations
o Embedded systems
o Computer and console games
o Mobile applications and games
● Communities
o C - http://www.cprogramming.com
o C++ -
https://plus.google.com/communities/1
16007775542700637383
o Objective-C -
https://plus.google.com/communities/1
03997592872376747208
● Problem Domains
● Client/server applications and APIs
● Mobile applications and games
● Communities
o http://www.meetup.com/Londonjavaco
mmunity/
o http://www.csharpforums.net
o http://androidcommunity.com
● Problem Domains
o Dynamic web sites and applications
o Web Plugins and widgets
o Web based games
o Automation of system admin tasks
o Popular choices for learning
programming
● Communities
o http://phpcommunity.org
o https://www.python.org/community/
o https://www.ruby-
lang.org/en/community/
o https://plus.google.com/communities/1
00875929141897651837
Learning Resources
Learning Resources
● Intensive Courses
o http://www.makersacademy.com
o https://generalassemb.ly
● Online courses
o https://www.coursera.org/
o https://www.udacity.com/
o https://developers.google.com/university/
● Online tutorials
o https://www.khanacademy.org/
o http://www.codecademy.com
● Other online resources
o http://www.w3schools.com
o http://learncodethehardway.org/
Computer Programming Overview
Computer Programming Overview
Aim of this Meetup Group
● Help you to Learn Computer Programming
o Programming 101: Fundamentals
o Programming 201: Hands-on Workshops
o Coaching & Mentoring
● Build a fun and vibrant community of
passionate programmers
Recommended Approach
● Find an interesting problem to solve
● Choose a language and learn the
fundamentals and language features
● Practice, practice, practice…..
● Have fun!
● ...is really not just about learning a
language
● Computer Programming in general
involves a lot more…
In Summary...
Think Big, Work Smart and Have Fun!
Computer Programming Overview
Questions?

More Related Content

PPTX
Programming Fundamentals lecture 2
REHAN IJAZ
 
PPT
An overview of computers and programming languages
Ahmad Idrees
 
PPSX
Programming languages
vito_carleone
 
PPTX
Programming Fundamentals lecture 1
REHAN IJAZ
 
PPTX
Lecture 1 introduction to vb.net
MUKALU STEVEN
 
PPTX
Introduction to Programming Languages
educationfront
 
PPTX
introduction to programming languages
NaqashAhmad14
 
PPTX
Algorithm and flowchart
Rabin BK
 
Programming Fundamentals lecture 2
REHAN IJAZ
 
An overview of computers and programming languages
Ahmad Idrees
 
Programming languages
vito_carleone
 
Programming Fundamentals lecture 1
REHAN IJAZ
 
Lecture 1 introduction to vb.net
MUKALU STEVEN
 
Introduction to Programming Languages
educationfront
 
introduction to programming languages
NaqashAhmad14
 
Algorithm and flowchart
Rabin BK
 

What's hot (20)

PPSX
Programming Fundamental Presentation
fazli khaliq
 
PPT
C by balaguruswami - e.balagurusamy
Srichandan Sobhanayak
 
PPTX
Graphical User Interface
Bivek Pakuwal
 
PPT
4 evolution-of-programming-languages
Rohit Shrivastava
 
PPTX
Compiler vs interpreter
Paras Patel
 
PPT
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
 
PPTX
Introduction to programming
Neeru Mittal
 
PDF
lecture 1 (Introduction to Operating System.)
WajeehaBaig
 
PPTX
Programming paradigm
busyking03
 
PPT
Lecture 5 - Structured Programming Language
Md. Imran Hossain Showrov
 
PPT
Programming fundamentals lecture 1&2
Raja Hamid
 
PPT
Intro To Programming Concepts
Jussi Pohjolainen
 
PPTX
Basic programming concepts
salmankhan570
 
PPT
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
PDF
Lecture-1: Introduction to web engineering - course overview and grading scheme
Mubashir Ali
 
PDF
Computer Programming
Syed Zaid Irshad
 
PPT
Chapter 1 - An Introduction to Programming
mshellman
 
PPTX
Algorithm Design & Implementation
Gaditek
 
PPTX
Our presentation on algorithm design
Nahid Hasan
 
PPTX
Part I:Introduction to assembly language
Ahmed M. Abed
 
Programming Fundamental Presentation
fazli khaliq
 
C by balaguruswami - e.balagurusamy
Srichandan Sobhanayak
 
Graphical User Interface
Bivek Pakuwal
 
4 evolution-of-programming-languages
Rohit Shrivastava
 
Compiler vs interpreter
Paras Patel
 
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
 
Introduction to programming
Neeru Mittal
 
lecture 1 (Introduction to Operating System.)
WajeehaBaig
 
Programming paradigm
busyking03
 
Lecture 5 - Structured Programming Language
Md. Imran Hossain Showrov
 
Programming fundamentals lecture 1&2
Raja Hamid
 
Intro To Programming Concepts
Jussi Pohjolainen
 
Basic programming concepts
salmankhan570
 
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Lecture-1: Introduction to web engineering - course overview and grading scheme
Mubashir Ali
 
Computer Programming
Syed Zaid Irshad
 
Chapter 1 - An Introduction to Programming
mshellman
 
Algorithm Design & Implementation
Gaditek
 
Our presentation on algorithm design
Nahid Hasan
 
Part I:Introduction to assembly language
Ahmed M. Abed
 
Ad

Viewers also liked (20)

PPT
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
joegilbert
 
PPTX
Java 102 intro to object-oriented programming in java - exercises
agorolabs
 
PDF
Introduction to Agile
agorolabs
 
PPTX
Java 101 Intro to Java Programming
agorolabs
 
PPTX
Java 201 Intro to Test Driven Development in Java
agorolabs
 
PPTX
Java 102 intro to object-oriented programming in java
agorolabs
 
PPTX
Java 103 intro to java data structures
agorolabs
 
PPTX
Java 101 Intro to Java Programming - Exercises
agorolabs
 
PPTX
The next 2500 days
Kevin Feenan
 
PPS
Paradigm 1218656614474137 8
Daniel Mielke, CPIM
 
PPTX
C# programming language
swarnapatil
 
PPTX
Programming Paradigm
SabahtHussein
 
PPTX
Standard Algorithms
SabahtHussein
 
PDF
Enum Report
enumplatform
 
PDF
Java Day-7
People Strategists
 
PDF
Java Day-2
People Strategists
 
PPTX
Data structures and algorithms lab5
Bianca Teşilă
 
PPSX
data structure(tree operations)
Waheed Khalid
 
PPTX
Prgramming paradigms
Anirudh Chauhan
 
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
joegilbert
 
Java 102 intro to object-oriented programming in java - exercises
agorolabs
 
Introduction to Agile
agorolabs
 
Java 101 Intro to Java Programming
agorolabs
 
Java 201 Intro to Test Driven Development in Java
agorolabs
 
Java 102 intro to object-oriented programming in java
agorolabs
 
Java 103 intro to java data structures
agorolabs
 
Java 101 Intro to Java Programming - Exercises
agorolabs
 
The next 2500 days
Kevin Feenan
 
Paradigm 1218656614474137 8
Daniel Mielke, CPIM
 
C# programming language
swarnapatil
 
Programming Paradigm
SabahtHussein
 
Standard Algorithms
SabahtHussein
 
Enum Report
enumplatform
 
Java Day-7
People Strategists
 
Java Day-2
People Strategists
 
Data structures and algorithms lab5
Bianca Teşilă
 
data structure(tree operations)
Waheed Khalid
 
Prgramming paradigms
Anirudh Chauhan
 
Ad

Similar to Computer Programming Overview (20)

PPTX
Intro to software development
Hawkman Academy
 
PPTX
Introduction to the Software Development world
Tutti Quintella
 
PPTX
Generation of Computer language by arya dutta (1).pptx
AryaDutta4
 
PDF
IT Career Planning v2
Ibrahim Abdel Fattah Mohamed
 
PDF
Computer programming programming_langugages
eShikshak
 
PPTX
GDSC career guide presentation.pptx
AryanSharma853911
 
PPTX
GDSC career guide presentation.pptx
DishaSharma737984
 
PPTX
Lecture1.Introduction to Computer programming.pptx
devi96742
 
PDF
Learning to code in 2020
Nicholas Sterling
 
PDF
12 best programming languages for web & app development
Biztech Consulting & Solutions
 
PPTX
Flutter not yet another mobile cross-platform framework - i ox-kl19
oradoe
 
PDF
The Ring programming language version 1.9 book - Part 6 of 210
Mahmoud Samir Fayed
 
PPTX
Introduction to python
Jaya Kumari
 
PPTX
Introduction to programming languages
Sayed Mahmoud AbdEl Rahman
 
PPTX
Career potentials and opportunities in ICT
Osahon Gino Ediagbonya
 
PPTX
Introductions to Design Logic.pptx IT level
gadisaadamu101
 
PPTX
RK_Presentation_Science_current technology.pptx
koodalcsc
 
PPTX
1 Intorduction to Computers and Python.pptx
muhammadzeeshanhaide15
 
PDF
Software development, mobile platforms, cloud services - Lean Development and...
Francesco Mapelli
 
PPTX
Presentation of the Computer language.pptx
aalfakeah02
 
Intro to software development
Hawkman Academy
 
Introduction to the Software Development world
Tutti Quintella
 
Generation of Computer language by arya dutta (1).pptx
AryaDutta4
 
IT Career Planning v2
Ibrahim Abdel Fattah Mohamed
 
Computer programming programming_langugages
eShikshak
 
GDSC career guide presentation.pptx
AryanSharma853911
 
GDSC career guide presentation.pptx
DishaSharma737984
 
Lecture1.Introduction to Computer programming.pptx
devi96742
 
Learning to code in 2020
Nicholas Sterling
 
12 best programming languages for web & app development
Biztech Consulting & Solutions
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
oradoe
 
The Ring programming language version 1.9 book - Part 6 of 210
Mahmoud Samir Fayed
 
Introduction to python
Jaya Kumari
 
Introduction to programming languages
Sayed Mahmoud AbdEl Rahman
 
Career potentials and opportunities in ICT
Osahon Gino Ediagbonya
 
Introductions to Design Logic.pptx IT level
gadisaadamu101
 
RK_Presentation_Science_current technology.pptx
koodalcsc
 
1 Intorduction to Computers and Python.pptx
muhammadzeeshanhaide15
 
Software development, mobile platforms, cloud services - Lean Development and...
Francesco Mapelli
 
Presentation of the Computer language.pptx
aalfakeah02
 

Recently uploaded (20)

PDF
Exploring AI Agents in Process Industries
amoreira6
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Why Use Open Source Reporting Tools for Business Intelligence.pptx
Varsha Nayak
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
PDF
Become an Agentblazer Champion Challenge
Dele Amefo
 
PDF
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
Exploring AI Agents in Process Industries
amoreira6
 
Presentation about variables and constant.pptx
kr2589474
 
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Why Use Open Source Reporting Tools for Business Intelligence.pptx
Varsha Nayak
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
Become an Agentblazer Champion Challenge
Dele Amefo
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
Presentation about variables and constant.pptx
safalsingh810
 

Computer Programming Overview

  • 2. Outline ● Overview ● Paradigms ● Languages ● Popular Languages ● Choosing a Language ● Learning Resources ● Summary
  • 4. What is programming? ● Instructing a computer to carry out a task ● Creative process of turning ideas into software ● Empowers you to make computers do anything you want...?
  • 5. Why do we program? ● A natural, satisfying and creative experience ● Enables accomplishments previously possible. ● Opens new world of intellectual endeavor ● It is cool, fun and potentially very rewarding ● Anyone can do it!
  • 7. A programming paradigm is... ● A way of building the structure and elements of computer programs
  • 12. Multi-paradigm Languages ● Languages can support one or more paradigms
  • 15. Natural Language Examples ● Kids Make Nutritious Snacks ● Red Tape Holds Up New Bridge ● Police Squad Helps Dog Bite Victim ● Local High School Dropouts Cut in Half [ real news paper headlines, compiled by Rich Pattis ]
  • 16. Generations ● Machine Language (1GL) o Very low level, tedious and error-prone ● Assembly Language (2GL) o Usually specific to a particular processor family and environment ● High-level Languages (3GL) o Independent of a particular type of computer hardware ● Fourth Generation Languages (4GL) o Provides a higher level of abstraction than 3GLs o Closer to natural human languages ● Natural Language o Ambiguous and hard for computer to understand
  • 18. Common Features ● Data Types & Structures ● Operators, Conditionals and Loops ● Functions and Procedures ● Exception Handling
  • 20. Where do you begin? ● Depends on your problem domain o High performance, low latency applications o Complex computation and data analysis o Embedded and control systems o Enterprise applications o Dynamic web applications, widgets and APIs o Computer graphics and animation o Computer and console games o Mobile applications and games
  • 21. Choose a language that is... ● Best suited to the problem you are trying to solve ● Widely available o Runs on various hardware platforms o Supports multiple operating systems ● Widely used o Large, active community o Readily available libraries and frameworks
  • 25. ● Problem Domains o High performance applications o Complex computations o Embedded systems o Computer and console games o Mobile applications and games ● Communities o C - http://www.cprogramming.com o C++ - https://plus.google.com/communities/1 16007775542700637383 o Objective-C - https://plus.google.com/communities/1 03997592872376747208
  • 26. ● Problem Domains ● Client/server applications and APIs ● Mobile applications and games ● Communities o http://www.meetup.com/Londonjavaco mmunity/ o http://www.csharpforums.net o http://androidcommunity.com
  • 27. ● Problem Domains o Dynamic web sites and applications o Web Plugins and widgets o Web based games o Automation of system admin tasks o Popular choices for learning programming ● Communities o http://phpcommunity.org o https://www.python.org/community/ o https://www.ruby- lang.org/en/community/ o https://plus.google.com/communities/1 00875929141897651837
  • 29. Learning Resources ● Intensive Courses o http://www.makersacademy.com o https://generalassemb.ly ● Online courses o https://www.coursera.org/ o https://www.udacity.com/ o https://developers.google.com/university/ ● Online tutorials o https://www.khanacademy.org/ o http://www.codecademy.com ● Other online resources o http://www.w3schools.com o http://learncodethehardway.org/
  • 32. Aim of this Meetup Group ● Help you to Learn Computer Programming o Programming 101: Fundamentals o Programming 201: Hands-on Workshops o Coaching & Mentoring ● Build a fun and vibrant community of passionate programmers
  • 33. Recommended Approach ● Find an interesting problem to solve ● Choose a language and learn the fundamentals and language features ● Practice, practice, practice….. ● Have fun!
  • 34. ● ...is really not just about learning a language ● Computer Programming in general involves a lot more… In Summary...
  • 35. Think Big, Work Smart and Have Fun!

Editor's Notes

  • #5: Using pre-packaged software is not programming!
  • #9: Notes: Structural and Procedural paradigms were at the beginning of the computing era, and thereabouts also existed the Functional paradigm. Some languages are designed to support one particular paradigm (Smalltalk supports object-oriented programming, Haskell supports functional programming), while other programming languages support multiple paradigms (such as Object Pascal, C++, Java, C#, Scala,Visual Basic, Common Lisp, Scheme, Perl, Python, Ruby,Oz and F#). For example, programs written in C++ or Object Pascal can be purely procedural, purely object-oriented, or they can contain elements of both or other paradigms. Software designers and programmers decide how to use those paradigm elements. The next advance was the development of procedural languages. These third-generation languages (the first described as high-level languages) use vocabulary related to the problem being solved. For example, COBOL (COmmon Business Oriented Language) – uses terms like file, move and copy. FORTRAN (FORmula TRANslation) – using mathematical language terminology, it was developed mainly for scientific and engineering problems. ALGOL (ALGOrithmic Language) – focused on being an appropriate language to define algorithms, while using mathematical language terminology and targeting scientific and engineering problems just like FORTRAN. PL/I (Programming Language One) – a hybrid commercial/scientific general purpose language supporting pointers. BASIC (Beginners All purpose Symbolic Instruction Code) – it was developed to enable more people to write programs. C – a general-purpose programming language, initially developed by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs. All these languages follow the procedural paradigm. That is, they describe, step by step, exactly the procedure that should, according to the particular programmer at least, be followed to solve a specific problem. The efficacy and efficiency of any such solution are both therefore entirely subjective and highly dependent on that programmer's experience, inventiveness and ability.
  • #10: Notes: Structural and Procedural paradigms were at the beginning of the computing era, and thereabouts also existed the Functional paradigm. Some languages are designed to support one particular paradigm (Smalltalk supports object-oriented programming, Haskell supports functional programming), while other programming languages support multiple paradigms (such as Object Pascal, C++, Java, C#, Scala,Visual Basic, Common Lisp, Scheme, Perl, Python, Ruby,Oz and F#). For example, programs written in C++ or Object Pascal can be purely procedural, purely object-oriented, or they can contain elements of both or other paradigms. Software designers and programmers decide how to use those paradigm elements. The next advance was the development of procedural languages. These third-generation languages (the first described as high-level languages) use vocabulary related to the problem being solved. For example, COBOL (COmmon Business Oriented Language) – uses terms like file, move and copy. FORTRAN (FORmula TRANslation) – using mathematical language terminology, it was developed mainly for scientific and engineering problems. ALGOL (ALGOrithmic Language) – focused on being an appropriate language to define algorithms, while using mathematical language terminology and targeting scientific and engineering problems just like FORTRAN. PL/I (Programming Language One) – a hybrid commercial/scientific general purpose language supporting pointers. BASIC (Beginners All purpose Symbolic Instruction Code) – it was developed to enable more people to write programs. C – a general-purpose programming language, initially developed by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs. All these languages follow the procedural paradigm. That is, they describe, step by step, exactly the procedure that should, according to the particular programmer at least, be followed to solve a specific problem. The efficacy and efficiency of any such solution are both therefore entirely subjective and highly dependent on that programmer's experience, inventiveness and ability.
  • #11: Lisp Haskell Clojure
  • #12: Examples Java C++ Smalltalk Scala
  • #14: Examples Java Clojure Scala
  • #17: Natural Language Examples Kids Make Nutritious Snacks Red Tape Holds Up New Bridge Police Squad Helps Dog Bite Victim Local High School Dropouts Cut in Half [ real news paper headlines, compiled by Rich Pattis ]
  • #19: In computer science, primitive data type is either of the following:[citation needed] a basic type is a data type provided by a programming language as a basic building block. Most languages allow more complicated composite types to be recursively constructed starting from basic types. a built-in type is a data type for which the programming language provides built-in support. In most programming languages, all basic data types are built-in. In addition, many languages also provide a set of composite data types. Opinions vary as to whether a built-in type that is not basic should be considered "primitive".[citation needed] The actual range of primitive data types that is available is dependent upon the specific programming language that is being used. For example, in C, strings are a composite but built-in data type, whereas in modern dialects of BASIC and in JavaScript, they are assimilated to a primitive data type that is both basic and built-in. Classic basic primitive types may include: Character (character, char); Integer (integer, int, short, long, byte) with a variety of precisions; Floating-point number (float, double, real, double precision); Fixed-point number (fixed) with a variety of precisions and a programmer-selected scale. Boolean, logical values true and false. Reference (also called a pointer or handle), a small value referring to another object's address in memory, possibly a much larger one. More sophisticated types which can be built-in include: The Boolean type represents the values true and false. Although only two values are possible, they are rarely implemented as a single binary digit for efficiency reasons. Many programming languages do not have an explicit boolean type, instead interpreting (for instance) 0 as false and other values as true. Character and string types can store sequences of characters from a character set such as ASCII. Since most character sets include the digits, it is possible to have a numeric string, such as"1234". However, many languages would still treat these as belonging to a different type to the numeric value 1234 Any type that does not specify an implementation is an abstract data type. Abstract types can be handled by code that does not know or "care" what underlying types are contained in them. Programming that is agnostic about concrete data types is called generic programming. Arrays and records can also contain underlying types, but are considered concrete because they specify how their contents or elements are laid out in memory.
  • #21: High performance, complex computation - weather prediction, mathematical simulation, Embedded systems (e.g. cars, traffic lights, MRI scanners)
  • #25: http://norvig.com/21-days.html
  • #26: http://arihant427.blogspot.co.uk/2014/12/overview-of-c-language.html
  • #28: Python - great first language for beginners available on multiple platforms Ruby - “...focus on simplicity and productivity with an elegant syntax that is natural to read and easy to write” - www.ruby-lang.org PHP - Usually for web programming and “hackers” language of choice
  • #30: http://www.mooc-list.com/course/programming-everybody-coursera https://www.coursera.org/course/pythonlearn