ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

A guide to programming languages

Updated on February 24, 2014
jim.sheng profile image

RanjuRanju was born in India but has spent most of his life in 's favourite topics are about travelling, education and socio-economics.

Computers have taken over our workplaces and our homes, they are everywhere. Most people know just enough to navigate through slick professionally conceived programmes which. This is merely skimming the surface in terms of what can be done with computers. Yes, it is great to make use of a clever programme to solve a problem but you can often do much better if you know how to write your own program and tailor the design for your needs.

Programming is a big world with a lot of jargon and I will try to keep this simple guide jargon free but retain the content.

Programming is the art of writing commands which the computer interprets and completes the actions specified. Broadly there are two categories which programming languages are split into.

Low level

This is where there is no abstraction from the typed language and what the machine can understand. This usually means machine code or assembly language. There is no need for a compiler (a program which converts your code to code which the electronics in the computer can act upon). These programs can be run very fast and require very little memory. The down side is the level of complexity needed, where even basic tasks may take many lines of code. There are also a high number of technical details which need to be remembered while coding. Not many people start off with this type of programming.


High level

There is a strong abstraction from what is typed and what the machine needs. This type of program needs a compiler as an intermediary between you and the electronics. Requiring more memory and not running as fast, the advantage of high level is the ease of coding for the programmer. There are varying levels of abstraction such as the language “C” which is seen almost as low level. It is the language of choice for handling electronics and other tasks directly controlling hardware. “Java” on the other hand is a very high level language and is also something called “object oriented” it is less efficient but offers other advantages.


There are also more specific programming languages available for example “MATLAB” is something used solely by scientists, engineers and mathematicians. It is very high level and is almost like writing mathematical algebra which the compiler will translate for you.


There are four programming paradigms which are in use today; they are object oriented (56.0% of total use), procedural (37.3%), functional (3.7%), and logical (3.0%).

Object oriented – Where the program is made up of interacting objects which contain data as well as methods which act upon the data. It is not a long list of commands which are carried out by the computer. This type means that the different parts are encapsulated and so modularised. This approach keeps routines separate and so it is less prone to conflict. Inheritance allows information to be passed which reduces the coding required. An example of this type of language is Java.


Imperative (procedural) – It is a series of statements which changes the state of the computer. It is the fore runner to object oriented languages, the emphasis is on data and a definition of the sequence of commands for the computer to perform.

It was the first type to develop block structure where a group of statements are treated as one statement. This makes reading, understanding and changing what the program does much more simple.

An example of this type of language is “C” currently the most popular language in use.


Functional – Emphasizes on functions of the mathematical kind which depend only upon inputs and not the current state of the machine. This type of language has a minority use and is found mainly in academia. An example language would be Mathematica.


Logical – It is programming based on first order logic. Logical statements are used as commands which lead to action. An example language is Prolog, it is the most obscure of the 4 paradigms.

Programming offers a whole new world of possibilities but is closed off to those who are illiterate in coding. Now is one of the best times to get into it as all you need is right in front of you. Personal computers have become so powerful that you can run most programs conceived on your very lap. The only thing left to do is to learn how to code. There are a number of ways of going about this; buy a “how to program Java…” book or use online resources which tend to be free but sometimes the reliability can be poor. I find the books to be somewhat expensive and it is important to experiment by yourself if going down this route. Online resources are plentiful, many guides can be found on YouTube but there are numerous websites dedicated to teaching people how to learn to program. Here are a few that I found to be especially useful:

Codeacademy: codecademy.com/learn

A very slick website which offers a short list of languages you can learn. I found as you progress further not all of the lessons are complete so it’s important to be patient. Offers email reminders to make sure you keep up with the lessons despite other factors tugging at your time.


Coursea: coursera.org/

This is not just for programming but does offer a number of courses which last around seven weeks. There are lectures and assignments you need to complete. It is like university almost, some courses even offer completion certificates if you finish all of the requirements to a satisfactory level.

working

This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://corp.maven.io/privacy-policy

Show Details
Necessary
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
Features
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Marketing
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Statistics
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
ClickscoThis is a data management platform studying reader behavior (Privacy Policy)