Programming language has different types. Hence, computer scientists use "generation" to divide those types. The first generation language is called machine language. These types of codes are composed by binary data, including operation codes and operands. It can be read only by computers so it's very efficient but very hard to write. The second generation of programming language is assembly language, which uses symbolic operations to instead the basic binary code. It got the name "assembly" since its program has to be "assembled" for the execution by the computer, thus its code is more easily to be written than the first generation code.
Most programming languages we learned are the third generation languages. In this generation, the code is much more closer to English with simple mathematics notations. Programs in this generation which are written in source code have to be translated into "object code", and there's a specific system to do this translation step which is known as "compiler". There are some common third generation languages such as C, C++, COBOL...
The fourth generation is a high level language(4GL) which could require fewer instructions than the third generation does. It's always used with databases. The fifth generation language mostly are declarative languages which based on logic and mathematical functions. The examples are Lisp and Prolog. There are also languages which beyond the fifth generation without a clear definition right now.
Programming languages could also be divided into two main "groups", which are known as traditional programming languages and object-oriented languages. The early traditional languages such as "FORTRAN", developed during 1950s, was used for the mathematical applications. Others like COBOL, was used in business. The C language could be recognized as the "ancestor" of java, since it provided control and efficiency with early techniques in third generations. The first object-oriented language is Simula, while the first purely oo language is known as SmallTalk. C++ is an essential language in the development of computer science, that it is widely used in software application and developing projects with advanced features. Then, java is the "evolution" type of C++ that eliminates many problematic features in C++. Since the appearing of java, "applets" can be used through a browser.
Reference:
1. http://www.slideshare.net/VarunGarg7/lect-1-introduction-to-programming-languages
2. https://en.wikipedia.org/wiki/Programming_language
Picture Reference:
1. https://www.google.com/search?q=programming+language&biw=1608&bih=893&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi84dHKvpDQAhXJbSYKHbiJBCEQ_AUIBigB#imgrc=ZNZigCs9q5GH-M%3A
2. https://www.google.com/search?q=programming+language&biw=1608&bih=893&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi84dHKvpDQAhXJbSYKHbiJBCEQ_AUIBigB#imgrc=u3NWXsi_lW2x_M%3A


There are different kinds of programming languages and I believe every single programming language has its advantages. As people enhance programming languages, the further generation of programming languages will become easier for people. Is it possible that in the future, there will be a programming language that contains all other languages' advantages.
ReplyDelete