SlideShare a Scribd company logo
1 of 34
PRINCIPLES OF PROGRAMMING LANGUAGES
GENERAL COMPARISON
Language C C++ Java UNIX Perl
Intended use Application,
system,general
purpose, low-
level operations
Application,
system
Application,
business, client-
side, general,
server-side, Web
File
manipulation,print
-ing text Application,
scripting, text
processing, Web
Imperative Yes Yes Yes No Yes
Object
oriented
No Yes Yes No Yes
Functional No Yes No No Yes
Procedural Yes Yes No No Yes
Standardized
?
1989, ANSI
C89,ISO
C90,ISO
C99,ISO C11
1998, ISO/IEC
1998, ISO/IEC
2003, ISO/IEC
2011
De facto
standard via
Java Language
Specification
Filesystem
Hierarchy
Standard,
POSIX standard
No
EVOLUTION
Language Developer Year Derived from
UNIX
Ken Thompson,
Dennis Ritchie,
Douglas McIlroy,
and Joe Ossanna.
1969 Multics
C Dennis Ritchie 1972 B
C++ Bjarne Stroustrup 1979 C
Perl Larry Wall 1987 C
Java James Gosling 1991 C++
LANGUAGE EVALUATION
CRITERIA
READABILITY
Language
Characteristic
SIMPLICITY
Illustration
C Feature multiplicity x++;
++x;
x = x+1;
x += 1;
C++ Feature multiplicity
Operator overloading
operator+
(addition & string
concatenation)
Java Feature multiplicity
x++;
++x;
x = x+1;
x += 1;Perl Feature multiplicity
UNIX feature multiplicity
No operator overloading
$x++;
$(++x)
x = $x+1
$x += 1
Language
Characteristic
ORTHOGONALITY
C Non orthogonal
C++ Non orthogonal
Java Non orthogonal
Perl Non orthogonal
UNIX Orthogonal
Language
Characteristic
CONCISE DATATYPES
Illustration
C Truth value by some other
data type
No boolean data type
int flag =1;
C++ Boolean data type bool flag =true;
Java Boolean data type boolean flag=false;
Perl No boolean data type $flag=1;
UNIX No boolean data type flag=1
Language Characteristic
SYNTAX DESIGN
Illustration
C
Compound statements
Curly braces used.
Form & meaning
Meaning of static depends
on context
C++ Understandable if C is
known
Java Understandable if C/C++is
known
Perl Compound statements
Curly braces used.
Form & meaning
Prior knowledge is required
Eg:split,shift,unshift etc
UNIX No curly braces
Prior knowledge is required
for var in 0 1 2 3 4 5 6 7 8
do
echo $var
done
Eg:grep
WRITABILITY
Language
Characteristic
SUPPORT FOR
ABSTRACTION
Illustration
C
Supports abstraction
Returntype
func_name(parameters)
{
}
C++ modifier returnType
nameOfMethod (Parameter
List)
{ // method body }
Java
Perl Supports abstraction sub fun_name
{
}
UNIX Supports abstraction function name( )
{
}
Language
Characteristic
EXPRESSIVITY
Illustration
C
Shorthand operators
Shortcircuit operators
Loops
+=
&&
for loop
C++
Java
Perl
UNIX Shorthand operators
Shortcircuit operators
Loops
++
&&
for loop
RELIABILITY
Language
Characteristic
TYPE CHECKING
Illustration
C Strongly typed int a=5;
C++ Strongly typed int a=5;
Java Strongly typed int a=5;
Perl Loosely typed
Runtime
$a=5;
$a=“hii”;
UNIX Loosely typed
Runtime
a=5;
Language Characteristic
EXCEPTION HANDLING
Illustration
C No exception handling
C++ Exception handling exists try
{
// protected code
}catch( ExceptionName e )
{
// code to handle
ExceptionName exception
}
Java Exception handling exists try { //Protected code }
catch(ExceptionType1 e1) {
//}
finally { //The finally block
always executes. }
Perl
Exception handling exists chdir('/etc') or warn "Can't
change directory";
chdir('/etc') or die "Can't
change directory";
UNIX No exception handling
Language
Characteristic
ALIASING
Illustration
C Aliasing using pointers int A[10];
int *p= A;
C++ Aliasing using reference
variables
float total=100;
float &sum=total;
Java
Aliasing using object
references
Square box1 = new Square
(0, 0, 100, 200);
Square box2 = box1;
Perl Aliasing using reference
variables
$r=@arr;
UNIX Giving a name for a
command
alias dir=ls
BINDING
Language Type binding Storage binding
C Static binding
int a;
Local variables are stack
dynamic by default.
Static variables are
declared using keyword
static
Explicit heap dynamic
variables using malloc()
C++ Static binding
int a;
Local variables are stack
dynamic by default.
Static variables are
declared using keyword
static
Explicit heap dynamic
variables using new
Java
language Type binding Storage Binding
Perl Dynamic binding
$a=5;
implicit declarations and
explicit declarations with
static scoping, lots of heap
bindings (for strings, arrays,
etc.), run-time memory
manager does garbage
collection, implicit allocation
and de-allocation
UNIX Dynamic binding
a=5
Local variables are stack
dynamic by default.
DATA TYPES
Language Primitive Derived User defined
C int, float, char,
double, void
pointer,function,
array,structure,
union
structure, union,
enum, typedef
C++ void,char,int,float,
double,bool
Array,
function,pointer,
reference
structure, union,
enum, typedef,
class
Java int, float, long,
double, char
,boolean,short,byte
Array,
function,pointer,
reference
structure, union,
enum, typedef,
class,sequence
Perl Scalar, hash, array function No user defined
datatypes
UNIX No primitive
datatypes
Array,function No user defined
datatypes
VARIABLES & CONSTANTS
VARIABLE & CONSTANT DECLARATION
LANGUAGE VARIABLE CONSTANT TYPE SYNONYM
C
type name «= initial
value»;
enum{ name = value }; typedef type synonym;
C++
type name «= initial
value»;
const type name = value;
typedef type synonym;
Java
type name
«= initial_value»;
final type name = value; NA
UNIX
name=initial_value NAME ="Zara Ali"
readonly NAME
NA
Perl
«my» $name
«= initial_value»;
use
constant name => value;
NA
SCOPE
LANGUAGE SCOPE
C Static scoping
C++ Static scoping
Java Static scoping
UNIX Static scoping
Perl Static scoping
ASSIGNMENT STATEMENTS
LANGUAGE ASSIGNMENT
C
c = a;
a = a + b;
a+ = b;
C++
Java
UNIX a=$b
Perl $a=$b;
ARITHMETIC EXPRESSIONS
LANGUAGE ARITHMETIC EXPRESSIONS
C
c = a + b;
c = a - b;
c = a * b;
c = a / b;
c = a % b;
c = a++;
c = a--;
C++
Java
UNIX
val=`expr $a + $b`
val=`expr $a - $b`
val=`expr $a * $b`
Perl
$c = $a + $b;
$c = $a - $b;
$c = $a * $b;
$c = $a / $b;
$c = $a % $b;
$c = $a ** $b;
CONTROL FLOW
CONDITIONAL STATEMENTS
Language if else if case conditional
operator
C if (condition)
{instructions}
«else
{instructions}»
if (condition)
{instructions}
else if
(condition)
{instructions}
...
«else
{instructions}»
switch
(variable)
{case case1: in
structions
«break;»
...
«default: instru
ctions»}
condition?
valueIfTrue :
valueIfFalse
C++
Java
UNIX if condition-
then
expression
«else
expression»
fi
if condition-
then
expression
elif condition-
then
expression
«else
expression»
fi
case "$variable
" in
"$condition1" )
command;;
"$condition2" )
command;;
esac
Language If Else if Case
Conditional
operator
Perl if (condition)
{instructions}
«else
{instructions}»
or
unless (not
condition)
{instructions}
«else
{instructions}»
if (condition)
{instructions}
elsif (condition)
{instructions}
...
«else
{instructions}»
or
unless
(notcondition)
{instructions}
elsif (condition)
{instructions}
...
«else
{instructions}»
use feature
"switch";
...
given (variable)
{when (case1)
{ instructions }
...
«default
{ instructions }»}
condition?
valueIfTrue :
valueIf-
False
LOOP STATEMENTS
Language while Do while For foreach
C
while
(condition) {instructi
ons }
do { instructions }
while (condition)
for («type»
i = first; i <= last;
++i) { instructions }
NA
C++ «std::»
for_each(start,end,f
unction)
Java for (type item : set)
{instructions }
UNIX while [condition
] do
Instructions
done
or
until [notconditi
on] do
Instructions
done
NA for
((i = first; i <= last;
++i))
do
Instructions
done
for item in set
do
Instructions
done
Language While Do while For foreach
Perl
while (condition)
{instructions }
or
until
(notcondition) {instru
ctions }
do { instructions }
while (condition)
or
do { instructions }
until (notcondition)
for«each»
«$i»(first ..last)
{instructions }
or
for ($i = first; $i
<= last; $i++)
{instructions }
for«each»
«$item» (set)
{instructions }
OTHER CONTROL FLOW STATEMENTS
Language Exit
block(break)
Continue Label Branch(goto)
C break; continue; label: goto label;
C++ break; continue; label:
goto label;
Java break «label»; continue «label»; label: NA
UNIX
break «levels»; continue «levels»; NA NA
Perl last «label»; next «label»; label: goto label;

More Related Content

What's hot

Programming basics
Programming basicsProgramming basics
Programming basics246paa
 
1 introduction to c program
1 introduction to c program1 introduction to c program
1 introduction to c programNishmaNJ
 
Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Ismar Silveira
 
Storage classes in c language
Storage classes in c languageStorage classes in c language
Storage classes in c languagetanmaymodi4
 
Extending Python - EuroPython 2014
Extending Python - EuroPython 2014Extending Python - EuroPython 2014
Extending Python - EuroPython 2014fcofdezc
 
lFuzzer - Learning Input Tokens for Effective Fuzzing
lFuzzer - Learning Input Tokens for Effective FuzzinglFuzzer - Learning Input Tokens for Effective Fuzzing
lFuzzer - Learning Input Tokens for Effective FuzzingBjörn Mathis
 
TDD in C - Recently Used List Kata
TDD in C - Recently Used List KataTDD in C - Recently Used List Kata
TDD in C - Recently Used List KataOlve Maudal
 
Ooabapnoteswithprogram good 78
Ooabapnoteswithprogram good 78Ooabapnoteswithprogram good 78
Ooabapnoteswithprogram good 78Yogesh Mehra
 
[C++ korea] effective modern c++ study item 3 understand decltype +이동우
[C++ korea] effective modern c++ study   item 3 understand decltype +이동우[C++ korea] effective modern c++ study   item 3 understand decltype +이동우
[C++ korea] effective modern c++ study item 3 understand decltype +이동우Seok-joon Yun
 
1 introducing c language
1  introducing c language1  introducing c language
1 introducing c languageMomenMostafa
 
Loops in c language
Loops in c languageLoops in c language
Loops in c languagetanmaymodi4
 

What's hot (20)

Programming basics
Programming basicsProgramming basics
Programming basics
 
Storage classes
Storage classesStorage classes
Storage classes
 
1 introduction to c program
1 introduction to c program1 introduction to c program
1 introduction to c program
 
RAII and ScopeGuard
RAII and ScopeGuardRAII and ScopeGuard
RAII and ScopeGuard
 
Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4
 
Storage classes in c language
Storage classes in c languageStorage classes in c language
Storage classes in c language
 
Extending Python - EuroPython 2014
Extending Python - EuroPython 2014Extending Python - EuroPython 2014
Extending Python - EuroPython 2014
 
Storage class in C Language
Storage class in C LanguageStorage class in C Language
Storage class in C Language
 
Storage classes
Storage classesStorage classes
Storage classes
 
lFuzzer - Learning Input Tokens for Effective Fuzzing
lFuzzer - Learning Input Tokens for Effective FuzzinglFuzzer - Learning Input Tokens for Effective Fuzzing
lFuzzer - Learning Input Tokens for Effective Fuzzing
 
TDD in C - Recently Used List Kata
TDD in C - Recently Used List KataTDD in C - Recently Used List Kata
TDD in C - Recently Used List Kata
 
Ooabapnoteswithprogram good 78
Ooabapnoteswithprogram good 78Ooabapnoteswithprogram good 78
Ooabapnoteswithprogram good 78
 
First c program
First c programFirst c program
First c program
 
[C++ korea] effective modern c++ study item 3 understand decltype +이동우
[C++ korea] effective modern c++ study   item 3 understand decltype +이동우[C++ korea] effective modern c++ study   item 3 understand decltype +이동우
[C++ korea] effective modern c++ study item 3 understand decltype +이동우
 
Storage classes
Storage classesStorage classes
Storage classes
 
1 introducing c language
1  introducing c language1  introducing c language
1 introducing c language
 
Lecture03
Lecture03Lecture03
Lecture03
 
Loops in c language
Loops in c languageLoops in c language
Loops in c language
 
Storage classes
Storage classesStorage classes
Storage classes
 
Cprogramcontrolifelseselection3
Cprogramcontrolifelseselection3Cprogramcontrolifelseselection3
Cprogramcontrolifelseselection3
 

Viewers also liked

Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming languageVasavi College of Engg
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notesVIKAS SINGH BHADOURIA
 
Object Oriented Programming Languages
Object Oriented Programming LanguagesObject Oriented Programming Languages
Object Oriented Programming LanguagesMannu Khani
 
Soho routers: swords and shields CyberCamp 2015
Soho routers: swords and shields   CyberCamp 2015Soho routers: swords and shields   CyberCamp 2015
Soho routers: swords and shields CyberCamp 2015Iván Sanz de Castro
 
Zero interest consumer goods purchase schemes
Zero interest consumer goods purchase schemesZero interest consumer goods purchase schemes
Zero interest consumer goods purchase schemesChinni Harshith
 
Adam Bolton - IDinLondon Conference slides
Adam Bolton - IDinLondon Conference slidesAdam Bolton - IDinLondon Conference slides
Adam Bolton - IDinLondon Conference slidesAdam Bolton
 
CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.
CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.
CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.Adam Bolton
 
Avon product analysis 2009
Avon product analysis 2009Avon product analysis 2009
Avon product analysis 2009adrifadhlihsuma
 
что это с точки зрения бухгалтеского учёта
что это с точки зрения бухгалтеского учётачто это с точки зрения бухгалтеского учёта
что это с точки зрения бухгалтеского учётаfeniks2007
 
Ica job guarantee institute of Accounting and Tally
Ica job guarantee institute of Accounting and TallyIca job guarantee institute of Accounting and Tally
Ica job guarantee institute of Accounting and Tallyjyotizaware1
 
Rakesh_Resume_July_2016
Rakesh_Resume_July_2016Rakesh_Resume_July_2016
Rakesh_Resume_July_2016pdrakesh
 

Viewers also liked (20)

Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notes
 
Object Oriented Programming Languages
Object Oriented Programming LanguagesObject Oriented Programming Languages
Object Oriented Programming Languages
 
Soho routers: swords and shields CyberCamp 2015
Soho routers: swords and shields   CyberCamp 2015Soho routers: swords and shields   CyberCamp 2015
Soho routers: swords and shields CyberCamp 2015
 
Zero interest consumer goods purchase schemes
Zero interest consumer goods purchase schemesZero interest consumer goods purchase schemes
Zero interest consumer goods purchase schemes
 
Adam Bolton - IDinLondon Conference slides
Adam Bolton - IDinLondon Conference slidesAdam Bolton - IDinLondon Conference slides
Adam Bolton - IDinLondon Conference slides
 
CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.
CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.
CV Workshop - IDinLondon - 11th November 2014, Adam Bolton.
 
Barack obama
Barack obamaBarack obama
Barack obama
 
cv
cvcv
cv
 
role model entrepreneur
role model entrepreneurrole model entrepreneur
role model entrepreneur
 
Avon product analysis 2009
Avon product analysis 2009Avon product analysis 2009
Avon product analysis 2009
 
что это с точки зрения бухгалтеского учёта
что это с точки зрения бухгалтеского учётачто это с точки зрения бухгалтеского учёта
что это с точки зрения бухгалтеского учёта
 
P (2)
P (2)P (2)
P (2)
 
P (2)
P (2)P (2)
P (2)
 
maths
mathsmaths
maths
 
Ica job guarantee institute of Accounting and Tally
Ica job guarantee institute of Accounting and TallyIca job guarantee institute of Accounting and Tally
Ica job guarantee institute of Accounting and Tally
 
Hacking Web: Attacks & Tips
Hacking Web: Attacks & TipsHacking Web: Attacks & Tips
Hacking Web: Attacks & Tips
 
Goyal_cv
Goyal_cvGoyal_cv
Goyal_cv
 
Satyanarayana g y
Satyanarayana g ySatyanarayana g y
Satyanarayana g y
 
Rakesh_Resume_July_2016
Rakesh_Resume_July_2016Rakesh_Resume_July_2016
Rakesh_Resume_July_2016
 

Similar to principles of programming languages

Reduce course notes class xii
Reduce course notes class xiiReduce course notes class xii
Reduce course notes class xiiSyed Zaid Irshad
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programmingAlpana Gupta
 
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]Chris Adamson
 
Esoft Metro Campus - Programming with C++
Esoft Metro Campus - Programming with C++Esoft Metro Campus - Programming with C++
Esoft Metro Campus - Programming with C++Rasan Samarasinghe
 
Storage classes in c++
Storage classes in c++Storage classes in c++
Storage classes in c++Jaspal Singh
 
Java Intro
Java IntroJava Intro
Java Introbackdoor
 
Best Practices for Quality Code
Best Practices for Quality CodeBest Practices for Quality Code
Best Practices for Quality CodeSercan Degirmenci
 
Perl training-in-navi mumbai
Perl training-in-navi mumbaiPerl training-in-navi mumbai
Perl training-in-navi mumbaivibrantuser
 
cppt-170218053903 (1).pptx
cppt-170218053903 (1).pptxcppt-170218053903 (1).pptx
cppt-170218053903 (1).pptxWatchDog13
 
Polyglot Programming in the JVM
Polyglot Programming in the JVMPolyglot Programming in the JVM
Polyglot Programming in the JVMAndres Almiray
 
CPP-overviews notes variable data types notes
CPP-overviews notes variable data types notesCPP-overviews notes variable data types notes
CPP-overviews notes variable data types notesSukhpreetSingh519414
 
C++ Programming Club-Lecture 1
C++ Programming Club-Lecture 1C++ Programming Club-Lecture 1
C++ Programming Club-Lecture 1Ammara Javed
 
Kotlin fundamentals - By: Ipan Ardian
Kotlin fundamentals - By: Ipan ArdianKotlin fundamentals - By: Ipan Ardian
Kotlin fundamentals - By: Ipan ArdianRizal Khilman
 
Kotlin Fundamentals
Kotlin Fundamentals Kotlin Fundamentals
Kotlin Fundamentals Ipan Ardian
 
Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010Andres Almiray
 
Mastering Namespaces in PHP
Mastering Namespaces in PHPMastering Namespaces in PHP
Mastering Namespaces in PHPNick Belhomme
 

Similar to principles of programming languages (20)

Reduce course notes class xii
Reduce course notes class xiiReduce course notes class xii
Reduce course notes class xii
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
 
Esoft Metro Campus - Programming with C++
Esoft Metro Campus - Programming with C++Esoft Metro Campus - Programming with C++
Esoft Metro Campus - Programming with C++
 
Storage classes in c++
Storage classes in c++Storage classes in c++
Storage classes in c++
 
Java Intro
Java IntroJava Intro
Java Intro
 
Best Practices for Quality Code
Best Practices for Quality CodeBest Practices for Quality Code
Best Practices for Quality Code
 
Perl training-in-navi mumbai
Perl training-in-navi mumbaiPerl training-in-navi mumbai
Perl training-in-navi mumbai
 
cppt-170218053903 (1).pptx
cppt-170218053903 (1).pptxcppt-170218053903 (1).pptx
cppt-170218053903 (1).pptx
 
Polyglot Programming in the JVM
Polyglot Programming in the JVMPolyglot Programming in the JVM
Polyglot Programming in the JVM
 
C++ theory
C++ theoryC++ theory
C++ theory
 
C notes.pdf
C notes.pdfC notes.pdf
C notes.pdf
 
CPP-overviews notes variable data types notes
CPP-overviews notes variable data types notesCPP-overviews notes variable data types notes
CPP-overviews notes variable data types notes
 
C Basics
C BasicsC Basics
C Basics
 
C++ Programming Club-Lecture 1
C++ Programming Club-Lecture 1C++ Programming Club-Lecture 1
C++ Programming Club-Lecture 1
 
C Tutorials
C TutorialsC Tutorials
C Tutorials
 
Kotlin fundamentals - By: Ipan Ardian
Kotlin fundamentals - By: Ipan ArdianKotlin fundamentals - By: Ipan Ardian
Kotlin fundamentals - By: Ipan Ardian
 
Kotlin Fundamentals
Kotlin Fundamentals Kotlin Fundamentals
Kotlin Fundamentals
 
Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010
 
Mastering Namespaces in PHP
Mastering Namespaces in PHPMastering Namespaces in PHP
Mastering Namespaces in PHP
 

Recently uploaded

HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 

Recently uploaded (20)

HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

principles of programming languages

  • 3. Language C C++ Java UNIX Perl Intended use Application, system,general purpose, low- level operations Application, system Application, business, client- side, general, server-side, Web File manipulation,print -ing text Application, scripting, text processing, Web Imperative Yes Yes Yes No Yes Object oriented No Yes Yes No Yes Functional No Yes No No Yes Procedural Yes Yes No No Yes Standardized ? 1989, ANSI C89,ISO C90,ISO C99,ISO C11 1998, ISO/IEC 1998, ISO/IEC 2003, ISO/IEC 2011 De facto standard via Java Language Specification Filesystem Hierarchy Standard, POSIX standard No
  • 5. Language Developer Year Derived from UNIX Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna. 1969 Multics C Dennis Ritchie 1972 B C++ Bjarne Stroustrup 1979 C Perl Larry Wall 1987 C Java James Gosling 1991 C++
  • 7. READABILITY Language Characteristic SIMPLICITY Illustration C Feature multiplicity x++; ++x; x = x+1; x += 1; C++ Feature multiplicity Operator overloading operator+ (addition & string concatenation) Java Feature multiplicity x++; ++x; x = x+1; x += 1;Perl Feature multiplicity UNIX feature multiplicity No operator overloading $x++; $(++x) x = $x+1 $x += 1
  • 8. Language Characteristic ORTHOGONALITY C Non orthogonal C++ Non orthogonal Java Non orthogonal Perl Non orthogonal UNIX Orthogonal
  • 9. Language Characteristic CONCISE DATATYPES Illustration C Truth value by some other data type No boolean data type int flag =1; C++ Boolean data type bool flag =true; Java Boolean data type boolean flag=false; Perl No boolean data type $flag=1; UNIX No boolean data type flag=1
  • 10. Language Characteristic SYNTAX DESIGN Illustration C Compound statements Curly braces used. Form & meaning Meaning of static depends on context C++ Understandable if C is known Java Understandable if C/C++is known Perl Compound statements Curly braces used. Form & meaning Prior knowledge is required Eg:split,shift,unshift etc UNIX No curly braces Prior knowledge is required for var in 0 1 2 3 4 5 6 7 8 do echo $var done Eg:grep
  • 11. WRITABILITY Language Characteristic SUPPORT FOR ABSTRACTION Illustration C Supports abstraction Returntype func_name(parameters) { } C++ modifier returnType nameOfMethod (Parameter List) { // method body } Java Perl Supports abstraction sub fun_name { } UNIX Supports abstraction function name( ) { }
  • 12. Language Characteristic EXPRESSIVITY Illustration C Shorthand operators Shortcircuit operators Loops += && for loop C++ Java Perl UNIX Shorthand operators Shortcircuit operators Loops ++ && for loop
  • 13. RELIABILITY Language Characteristic TYPE CHECKING Illustration C Strongly typed int a=5; C++ Strongly typed int a=5; Java Strongly typed int a=5; Perl Loosely typed Runtime $a=5; $a=“hii”; UNIX Loosely typed Runtime a=5;
  • 14. Language Characteristic EXCEPTION HANDLING Illustration C No exception handling C++ Exception handling exists try { // protected code }catch( ExceptionName e ) { // code to handle ExceptionName exception } Java Exception handling exists try { //Protected code } catch(ExceptionType1 e1) { //} finally { //The finally block always executes. } Perl Exception handling exists chdir('/etc') or warn "Can't change directory"; chdir('/etc') or die "Can't change directory"; UNIX No exception handling
  • 15. Language Characteristic ALIASING Illustration C Aliasing using pointers int A[10]; int *p= A; C++ Aliasing using reference variables float total=100; float &sum=total; Java Aliasing using object references Square box1 = new Square (0, 0, 100, 200); Square box2 = box1; Perl Aliasing using reference variables $r=@arr; UNIX Giving a name for a command alias dir=ls
  • 17. Language Type binding Storage binding C Static binding int a; Local variables are stack dynamic by default. Static variables are declared using keyword static Explicit heap dynamic variables using malloc() C++ Static binding int a; Local variables are stack dynamic by default. Static variables are declared using keyword static Explicit heap dynamic variables using new Java
  • 18. language Type binding Storage Binding Perl Dynamic binding $a=5; implicit declarations and explicit declarations with static scoping, lots of heap bindings (for strings, arrays, etc.), run-time memory manager does garbage collection, implicit allocation and de-allocation UNIX Dynamic binding a=5 Local variables are stack dynamic by default.
  • 20. Language Primitive Derived User defined C int, float, char, double, void pointer,function, array,structure, union structure, union, enum, typedef C++ void,char,int,float, double,bool Array, function,pointer, reference structure, union, enum, typedef, class Java int, float, long, double, char ,boolean,short,byte Array, function,pointer, reference structure, union, enum, typedef, class,sequence Perl Scalar, hash, array function No user defined datatypes UNIX No primitive datatypes Array,function No user defined datatypes
  • 22. VARIABLE & CONSTANT DECLARATION LANGUAGE VARIABLE CONSTANT TYPE SYNONYM C type name «= initial value»; enum{ name = value }; typedef type synonym; C++ type name «= initial value»; const type name = value; typedef type synonym; Java type name «= initial_value»; final type name = value; NA UNIX name=initial_value NAME ="Zara Ali" readonly NAME NA Perl «my» $name «= initial_value»; use constant name => value; NA
  • 23. SCOPE
  • 24. LANGUAGE SCOPE C Static scoping C++ Static scoping Java Static scoping UNIX Static scoping Perl Static scoping
  • 26. LANGUAGE ASSIGNMENT C c = a; a = a + b; a+ = b; C++ Java UNIX a=$b Perl $a=$b;
  • 28. LANGUAGE ARITHMETIC EXPRESSIONS C c = a + b; c = a - b; c = a * b; c = a / b; c = a % b; c = a++; c = a--; C++ Java UNIX val=`expr $a + $b` val=`expr $a - $b` val=`expr $a * $b` Perl $c = $a + $b; $c = $a - $b; $c = $a * $b; $c = $a / $b; $c = $a % $b; $c = $a ** $b;
  • 30. CONDITIONAL STATEMENTS Language if else if case conditional operator C if (condition) {instructions} «else {instructions}» if (condition) {instructions} else if (condition) {instructions} ... «else {instructions}» switch (variable) {case case1: in structions «break;» ... «default: instru ctions»} condition? valueIfTrue : valueIfFalse C++ Java UNIX if condition- then expression «else expression» fi if condition- then expression elif condition- then expression «else expression» fi case "$variable " in "$condition1" ) command;; "$condition2" ) command;; esac
  • 31. Language If Else if Case Conditional operator Perl if (condition) {instructions} «else {instructions}» or unless (not condition) {instructions} «else {instructions}» if (condition) {instructions} elsif (condition) {instructions} ... «else {instructions}» or unless (notcondition) {instructions} elsif (condition) {instructions} ... «else {instructions}» use feature "switch"; ... given (variable) {when (case1) { instructions } ... «default { instructions }»} condition? valueIfTrue : valueIf- False
  • 32. LOOP STATEMENTS Language while Do while For foreach C while (condition) {instructi ons } do { instructions } while (condition) for («type» i = first; i <= last; ++i) { instructions } NA C++ «std::» for_each(start,end,f unction) Java for (type item : set) {instructions } UNIX while [condition ] do Instructions done or until [notconditi on] do Instructions done NA for ((i = first; i <= last; ++i)) do Instructions done for item in set do Instructions done
  • 33. Language While Do while For foreach Perl while (condition) {instructions } or until (notcondition) {instru ctions } do { instructions } while (condition) or do { instructions } until (notcondition) for«each» «$i»(first ..last) {instructions } or for ($i = first; $i <= last; $i++) {instructions } for«each» «$item» (set) {instructions }
  • 34. OTHER CONTROL FLOW STATEMENTS Language Exit block(break) Continue Label Branch(goto) C break; continue; label: goto label; C++ break; continue; label: goto label; Java break «label»; continue «label»; label: NA UNIX break «levels»; continue «levels»; NA NA Perl last «label»; next «label»; label: goto label;