A brief Summary of Programming Languages, Frameworks and Libraries in Computing
It's almost two years now since I started my developer career(its been awesome by the way), I remember our first lesson when we were asked to mention a few programming languages we knew, this new guy screamed HTML, well this led to a very long argument by the older guys as the tutor didn't agree that HTML was a programming language but his colleague did. That's away from our topic but if he knew exactly what a programming language was, HTML would be the last thing he would mention except he was engaged in a game of slush and out of options.
We will be taking a peek at these web technologies to help you understand them more and about HTML being a programming language or not, you get to decide that after reading this post.
Programming Languages
A programming language is simply a set of instructions, commands and syntaxes that are used to create a software program. Languages used by programmers to write code are known as high-level languages that can be compiled into a low-level language (machine language and assembly language) that the computer hardware recognizes. On a general note, the term programming language refers to high-level programming languages. Just as natural languages allow humans to interact with one another, programming languages allow humans to interact with machines.
For computers to understand these languages, they must be converted to machine language either by compiling or interpreting the program which leads us to two types of high-level languages, compiled languages and interpreted languages. Thousands of programming languages have been created over time but these are a few examples, compiled languages include C++, C, Java, C# etc while examples of interpreted languages include Python, JavaScript, Perl and PHP.
However, languages such as HTML, XML generally known as markup languages which are not used for expressing computer programs are generally known as computer languages to buttress home the point that they are not meant to be used for programming.
The term syntax is used to refer to the form of a programming language while semantics refers to its meaning.
In the world of computing, it is common to find software programs built with three or more languages.
Frameworks
A few weeks ago I walked in on two rookie programmers arguing which language was the better language between PHP and Asp.net. I watched them take jabs at each other before breaking the news that Asp.net was a C# framework and not a programming language, this event is the sole reason I set out to write this post.
Software frameworks are reusable environments that provide certain functionality as part of a larger software platform to aid the development of applications. They are usually made up of tool sets, code libraries, support programs, compilers etc which aid the flow of data. Frameworks are usually written with programming languages and below I will pick a framework for each popular language giving a brief explanation of their functionality
Django: Django is arguably the most popular python framework that works well with relational databases designed for speedy development.
Ruby on Rails: This is a Ruby framework loaded with Ruby's code libraries used in developing data-driven applications.
CodeIgniter: This is the most popular MVC(Model-View-Controller) PHP framework developed for the e-commerce and travel industries packed with rich libraries.
AngularJs: A robust JavaScript framework that is MVC oriented developed specifically for building SPA(single page applications).
ASP.NET: A robust framework based on C# and VB.NET for developing web applications.
There are a host of other frameworks out there, a quick google search will get you up to speed with them.
Libraries
In computing, a library is a collection of precompiled implementations or routines that a program can use. These routines or modules are stored in object format and can be used by multiple independent programs. What does this mean? Library codes are written in a generic pattern and can be used by different programs that have no knowledge of each other's existence as opposed to program specific codes that can be used by the specific program it was created for.
The value of a library is in its reuse behaviour, every time a program invokes a library, it inherits its behaviour without implementing such behaviour. In Microsoft-windows environment, .dll extensions are library files and applications make calls to access behaviours through the system. Another example of a library is JQuery, a JavaScript library implemented on the front end of web applications and works across browsers.
Conclusion
So there you have it, in the process of software development, these three components are implemented to build software products and solutions, be it for the web, mobile or Pc. While one might choose to develop explicitly with just programming languages(this is hard), frameworks and libraries have made the job of a programmer a lot easier and more organized and even without your knowledge, they keep you in tune with development patterns and standards. I believe you know their differences now and can identify each one if need be.
As former US president Barack Obama said, "in the new economy, computer science isn't an optional skill. It's a basic skill, right along with the three Rs(reading, writing and arithmetics)".
Hello! I find your post valuable for the wafrica community! Thanks for the great post! @wafrica is now following you! ALWAYs follow @wafrica and use the wafrica tag!
Hello! I find your post valuable for the wafrica community! Thanks for the great post! @wafrica is now following you! ALWAYs follow @wafrica and use the wafrica tag!
Hi @davidekpin!
Your post was upvoted by utopian.io in cooperation with steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.
Contribute to Open Source with utopian.io
Learn how to contribute on our website and join the new open source economy.
Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV