There are many types of programming languages. Examples of these include first, second, third, fourth and fifth generation languages. Other types of programming languages are sometimes referred to as visual languages or special purpose languages.
4th Generation Language (4GL)
Could be used, for example in a relational database system as a query/manipulation language. It is aimed at end-users, it is relatively close to natural language and requires less programming skill.
Visual Languages
Used for production of objects / buttons / icons / GUI / windows / graphics content / event driven environment. The reason why is because visual languages may be easier to learn / more intuitive because visual / tools available.
Special Purpose Language
Used for simulation, control applications, etc. It is suitable as they may have special features relevant to the application e.g. time analysis elements.
How to select a programming language
With so many different languages available, how do you know which one to choose for a project? There are many different factors and selecting a programming language is not always straightforward.
You might not have a choice. If you work for a company and all the expertise is in VB.net, it could be costly and time-consuming to learn and use a different language.
The budget may be tight so you use what you know and can do quickly.
If you have been trained and you have built up experience in a particular language, then you are most likely to choose that one if given a choice.
Some languages are more popular than others so you might select one that is widely used and supported. E.g. Fortran is not widely used commercially now but Python is increasingly being used for commercial applications.
Some languages, because they are popular, have a wide set of supporting software, including Integrated Development Environments (IDEs), debugging tools and so on.
Sometimes, you must build software that integrates with existing systems that use a particular language. It may make sense to continue to use the same language as the exist system uses.
If you need to manipulate the hardware inside a computer e.g. device drivers or the speed the program runs at is important e.g. in high-speed control applications then you would probably select an assembly language.
If you need the program to be portable, then you probably would be thinking about a High Level Language.
If you want to make use of extensive or existing libraries, that might affect your selection.
Some languages like Python are able to produce prototypes very quickly. Often, the need to be able to use Rapid Application Development and a language that is suited to that can influence a choice.
Sometimes, you are writing a web-based application so might select the common languages used (HTML, CSS, JavaScript, Perl, PHP) to allow easier future support from many different people and organisations.
Machine Language – Low Level
Assembly Language – Low Level
High Level Languages
e.g. VB, Pascal, Fortran
The fourth-generation language is also called a non – procedural language/ 4GL. It enables users to access the database. Examples: SQL, Foxpro, Focus, etc.
These languages are also human-friendly to understand.
Advantages :
1. Easy to understand & learn.
2. Less time required for application creation.
3. It is less prone to errors.
Disadvantages :
1. Memory consumption is high.
2. Has poor control over Hardware.
3. Less flexible.
The fifth-generation languages are also called 5GL.
It is based on the concept of artificial intelligence. It uses the concept that that rather than solving a problem algorithmically, an application can be built to solve it based on some constraints, i.e., we make computers learn to solve any problem.
Parallel Processing & superconductors are used for this type of language to make real artificial intelligence.
Example: PROLOG, LISP, etc.