Computer Programming Languages - A General Guide
Programming languages have advanced exponentially since the first few notable ones were introduced in the late 1950's and throughout the 1960's.
Below indicates the chronology of the early languages:
1957 FORTRAN - used mainly for scientific computations
1958 LISP - a scripting language used to this day eg. AutoCAD
1959 COBOL - used mainly for business applications
1964 BASIC - general purpose language - evolved into Visual Basic
All of the above languages were referred to as 'Procedural' or 'Top-Down' languages, meaning that execution started at the first line of code and progressed to the next line from top to bottom. There were conditional statements which branched to applicable lines as needed, thus one could repeat or skip code.
In the 1970's, a new style of programming came into being, referred to as 'Object Orientated Programming (OOP), although precursors to OOP were already being developed in the 1960's.
Most modern languages have adopted the OOP strategy which uses the concept of 'Objects'. An object is an instance of a 'Class'. A class consists of 'Variables' and 'Procedures'. Variables and procedures, now known as 'Methods', and is code as found in 'Procedural Programming Languages'. Classes are a collection of different variables and procedures. Classes usually communicate with one another to manipulate data as is required.
Below is a list of the most popular programming languages in use today:
Visual Basic .NET
Object orientated PHP
Lets take a closer look at the strengths and weaknesses of each:
- Cross-platform compatible - can run on any operating system that has the 'Java Virtual Machine', or JVM installed.
- Flexible and modular, and can be used as a general purpose language.
- Has the largest collection of free re-usable code in the form of libraries and software components.
- Good for database and network support
- Complicated to install
- Historically, Java falls behind with respect to speed, as opposed to C++ for example.
- Extensive libraries that include string operations, Internet, web service tools, operating system interfaces and protocols, thus limiting the length of code that has to be written.
- Python has built-in integration for web services development, and can call directly via C, C++, or Java,addition to being able to process various mark-up languages.
- It's integration and control capabilities provide increased speed and productivity.
- Python differs from most other languages with it's syntax, making it difficult to change to other popular languages
- Ideal for desktop and server applications, but weak for mobile computing.
- It is fast for web applications, but slow in other areas since it executes using an interpreter instead of a compiler.
- Extensive testing is needed due to some errors showing up only when the application is run, thus increasing the development life-cycle.
- It's database features are basic, and is not advisable for use in database applications
- Suited for low level programming and efficient for general purposes
- High performance and memory efficient
- A mid-level language, offering the features of low level as well as high level languages
- It has the benefit of lower memory consumption
- Highly complex, and difficult to debug
- No support for Dynamic Memory Allocation (DMA)
- Less secure due to the use of pointers and global variables
- No built-in support for threads
- It's emphasis is on instructions, not data
4. VISUAL BASIC .NET:
- Syntax is simple, so easier to read and understand
- Combines a programming language with a development environment (IDE)
- Optimized for Rapid Application Development (RAD)
- Provides an interactive and context-sensitive online help system
- Propriety (Microsoft)
- Inherits strengths and weaknesses from .NET Framework
- Ideal for web appications
- Supports database connectivity, and can access a variety of different databases including MySQL, Oracle, and MS Access
- Supports sessions, simplifying applications such as Shopping Carts and user tracking
- Server-side scripting frees clients from software dependencies due to application execution at the server end
- Users cannot view source code, increasing security
- Stable and easy to use in comparison
- Fast execution
- Open source, with a multitude of support
- Cross-Platform. PHP is an application that can be run on several operating systems
- Extra burden on server with multiple clients since the server does most of the work
- Primitive error handling, relying on code to catch errors
- Not feasible for large applications
Choosing a language is dependent on the ultimate goal of the project. The language of choice should only be considered after the initial project outline has been drafted. The project can then be catagorized, and an appropriate language decided upon based on the strengths and weaknesses of each prospective language.
There is no hard-and-fast rule, but a combination of practicality and personal preferance. Researching similar projects by others and what language was used always helps with your decision.
This content is accurate and true to the best of the author’s knowledge and is not meant to substitute for formal and individualized advice from a qualified professional.
© 2019 Rubin Pillay