Comparing C++ Java and C#
Comparing C++ Java and C#
Comparing C++ Java and C#
Java and C#
A Broad Perspective
Why learn a
language?
A language is not worth knowing
unless it teaches you to think
differently
– Larry wall & Randal Schwartz
What’s in a
language?
Just like a human being
it has its own characteristics
way of expression
strongholds and weaknesses
and more than everything
it has a lively spirit
Why do we need it?
‘it provides a vehicle for the
programmer to specify actions to be
executed and
it provides a set of concepts for the
programmer to use when thinking
about what can be done’
– Bjarne Stroustrup
Why C++, Java and
C#?
Most prominent languages
Very close relationship
Object oriented
Part of C language family
- a common ancestry
Why Comparative
Approach?
Represent different generations
Distinct languages
Their own specialties
How to learn a
Language?
Having a broad picture
Syntax, semantics and pragmatics
traps and pitfalls
Of course, practice/experience
A Broad Picture?
Compilation
Interpretation
A mix of both
A mix of both?
Intermediate Languages
Virtual Machine
Portability and Language
Interoperability
Intermediate
Languages?
The Approach:
No loss of significant info
Don’t keep any other info!
Examples?
Language Features -
As simple as possible but no
simpler! (Albert Einstein)
Neither can you have lots of
features nor less features
Why Conceptual
simplicity ?
Essential feature of any software
Many technically superior produces
fail as they lack this
Evolve or Build-
From-the-Scratch?
Pros and Cons
Conclusion? Neither
Ideally a mix-of-both
Is a ‘Revolutionary’
Language Possible?
No.
Because there can be ‘No Silver
Bullets’ – Fredrick P Brooks
‘No Silver Bullets’?