Introduction
Although we human beings have more than 6500 languages at present, which shows the diversity of our planet; some of them are near to extinction like Yiddish and Gondi. But to interact with machines like computers, we cannot simply use the same conversation; therefore, a team of mathematicians and scientists started to develop a way to talk with computer systems, which are widely known as programming languages.
Compiler Vs. Interpreter
To begin with, so, the question is how do programming languages exactly work? Well, here is just a brief explanation for the same. Like we have some rules and grammar for languages in speech and so the programming languages which is eventually known as a compiler or interpreter. Though both compiler and interpreter function almost, in the same way, there is a very slight difference between them. First of all, both read the code from left to right and top to bottom and convert the high-level languages code written by humans to low-level language code-like binary, which is easy for computers to understand. On the one hand, a compiler creates an extra file known as ‘obj’, analyzes each, and every line of code at once, and throws an error, if any, or it simply creates a machine code as well as an executable file to run the code. On the other hand, instead of translating the source code into a machine language, it creates an executable file first, and examines the program at runtime, one line at a time, resulting in it working slowly as compared to the compiler. Secondly, the major dissimilarity is that working with interpreters is easy, while in the case of a compiler it requires a more fundamental knowledge of coding. Furthermore, both have their pros and cons like it creates intermediate files which occupy less memory by optimizing the code and resources of the system, presents all the errors at once, resulting in it to a better performer whereby interpreter work slowly because of verifying lines on by one, also it exists the memory during interpretation. Finally, both have their own respective purposes
to use; for example, languages like C, C++, and Java use compilers for the production environment while web development highly depends on interpreters as PHP, Perl, and Ruby are few to mention.
A programming paradigm
The objective of all programming languages is the same; nevertheless, there are some ways in which all of them can be categorized into the two groups as per their features; these entire classifications are known as programming paradigms. Here are some of the examples of different programming paradigms like imperative and declarative. Further, the imperative can be specified as a procedural and object-oriented paradigm, whereas the declarative paradigm has sub-categories such as functional, logical, mathematical,
and reactive.
5 high-level programming languages
- The first programming language on our list today is Solidity. Primarily, back in 2014, British software developer Gavin Wood presented the idea and soon started to develop a high-level programming language along with other Ethereum pundits, including Christian Reitwiessner, Alex Beregszaszi, Liana Husikyan, and Yoichi Hirai. As a high-level programming language, Solidity has a compiler, “SOLC”, the Solidity command-line compiler with object-oriented paradigm. On top of that, as the world is now moving towards a decentralized paradigm, the use of Ethereum and solidity has increased significantly, as per the solidity developer survey, approximately 65% of developers have been using Solidity for more than a year, with more than 40% of them being real Solidity professionals with nearly 2 years of experience with the language. Similarly, in 2022 here are some real-life applications of solidity on the Ethereum platform, which are Etheria, EtherTweet, Raiden Network, Gnosis, TenX.
- The second on our list is the INTERCAL programming language; before moving in its history it is important to understand the term “Esoteric programming” which can be defined as a programming language without short form. Interestingly, it is just an imitation of FORTRAN and COBOL. As a result, INTERCAL has properties of both parent languages and it works on the general-purpose imperative, and procedural object-oriented programming paradigm. Withal, two students from Princeton University named Don Woods and James Lyon, created it in 1972, which has a present version of C-INTERCAL, maintained by Eric S. Raymond. Ultimately, the present application of INTERCAL can be found in the game name The Nitrome Enjoyment System designed and developed by Matthew Annal and Heather Stancliffe.
- Likewise, the INTERCAL here is another esoteric programming language known as Whitespace, which is just a use of whitespace characters in coding. In 2003, Edwin Brady and Chris Morris created it with only having only standard is an author’s description . The purpose of whitespace was to create fairness for whitespace characters in modern programming languages, although with not so practical value; as most of the programming languages ignore the whitespace characters because it is unseeable which gives birth to the Whitespace Programming language. The fun fact is that it ignores all other characters in the code and counts them as comments. Apart from this, it has both compiler and interpreter depending on an imperative stack-based language. In the end, there is no real-life application available at the current time.
- Next on the list is one of my favorite web development languages, which is none other than JavaScript(JS). Before moving on to its technical fundamentals, let’s get a deep dive into the history first, to make web-reachable to people with zero technical background, one of the biggest companies in the web browser at that time named “Netscape” built a browser name “Mosaic” which become more common in 1994 as a Netscape Navigator, during the same time to web pages used to be static which took way more time than present hence to master the same problem Netscape decided to implement JavaScript. Moreover, Netscape hired Brendan Eich to design database schemas along with a cooperation with Sun Microsystems. JS is a fully executed by an interpreter, prototype-based; multi-paradigm scripting language that is dynamic and supports object-oriented, imperative, and functional programming styles . In addition, it has extensive use on World wild Web, as of now almost every single website on the web directly or indirectly uses JS. It became a sensation at the beginning of the 21st century as many giant companies like Google, Facebook, Yahoo, eBay, and Amazon started to use it as a full-stack development platform due to its client-server methodology and speed.
- Last but not the least, here is one of the less popular Database implementation language named “Massachusetts General Hospital Utility Multi-Programming System” or MUMPS. To overcome the complex administrative and testing reporting cyclic problems, three people from the technical department of Massachusetts General Hospital (MGH) are Neil Pappalardo, Robert Greenes, and Curt Marble came up with the unique solution of backward-compatible database aimed programming language named MUMPS during 1996-67 at Dr. Octo Barnett’s lab in Boston. Originally the primary aim was to build a UNIX-like OS for health care, which ended up with more functional uses as compliable and interpretable. A hybrid of compilation and interpretation which at initial implementation used to interpret that in modern changes get partially compiled. Not only that, it is based on declarative programming Paradigm. Further, As the name suggests, it has a wide range of applications in the health and medical sector back in the mid-1990s in the USA, such as Commercial health information systems, Digital Equipment Corporation with DSM (Digital Standard MUMPS). InterSystems health is the example of the late ’80s which increased after time, and in the 90’s Greystone, Technology Corporation used a compiled version named GT.M. DataTree Inc., Micronetics Design Corporation, Computer Consultants M-global, and in the 21st century it is still in use with many operating systems-based application like Epic, MEDITECH, GE Healthcare, AmeriPath, Care Centric, Allscripts, Coventry Health Care, EMIS Health, Sunquest Information Systems (formerly Misys Healthcare, Netsmart, M21,YottaDB, MiniM.
Summary
- All in all, a programming language is a course of action required to interact with computers.
- A compiler is a computer code that translates the whole program from one language to another at once; on the contrary, an interpreter executes one line of code at a time.
- A programming paradigm is an approach to distinguishing between different programming languages.
- Solidity is a new generation compiler-based object-oriented programming language with a far reach for decentralized applications.
- INTERCAL is the general-purpose imperative, and procedural object-oriented programming with finite applications.
- Whitespace is both compiler and interpreter depending on an imperative stack-based language concept beyond any real-life application.
- JavaScript is an interpreter-based, prototype-based; multi-paradigm scripting language that is dynamic and supports object-oriented, imperative, and functional programming styles, and possesses a nearly infinite number of real-world applications.
- MUMPS is a compliable and interpretable declarative programming language with a variety of applications in database management systems.
Leave a Reply