Choosing the Right Language
- Programmers who are familiar with a language (3 yrs+) are 30% more productive
- Some studies even show this figure can be as high as 300%.
- Programmers are biased by what they know; will often try and force existing knowledge into a new language.
Expressiveness of Languages
||Relative to C
- Based on Pascal.
- Good for real-time and embedded systems.
- Used in military, space, avionics.
- Used for its type safety; strongly typed and strongly enforced.
- Developed by US DOD.
- Low level; each statement is one machine instruction.
- Different for each type of CPU architecture.
- Generally only used for high performance systems.
- Developed in 1970 at Bell Labs by Denis Ritchie.
- Mid-level language.
- Many languages derived from it; ie C++, Java, C#, Python, Objective-C, etc.
- OO language developed by Microsoft.
- Similar to C, C++, Java; sometimes called Java with pointers.
- Developed in 1959.
- English style syntax oriented at business.
- Developed in 1950s, first high level language.
- Introduced variables and loops.
- Used mostly for scientific and engineering applications.
- OO language similar to C and C++ in appearance.
- Developed by Sun Microsystems in the 90s as a general purpose language for web and embedded programs.
- Designed to run on any platform by converting source code to byte code which is to be run by the JVM.
- Scripting language which is not really related to Java.
- Client-side scripting to add functionality to web pages by directly manipulating the DOM.
- Allows functions and applications to be used on web pages.
- Primarily a string processing language.
- Commonly used in admin/ system management.
- Used to generate reports, create dynamic web content.
- Server-side scripting language used to create interactive web pages.
- OO oriented scripting language.
- general purpose, can be used for websites.
- Unique in that it uses white space as part of its syntax.
- ‘Structure Query Language’.
- The standard for database access.
- A declarative language; does not define sequence of operations, states desired result.
- High level, OO, visual programming language.
- Evolved from BASIC.