ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Computer Programming Languages - A General Guide

Updated on May 3, 2019

Introduction

Programming languages have advanced exponentially since the first few notable ones were introduced in the late 1950's and throughout the 1960's.

Below indicates the chronology of the early languages:

1957 FORTRAN - used mainly for scientific computations
1958 LISP - a scripting language used to this day eg. AutoCAD
1959 COBOL - used mainly for business applications
1964 BASIC - general purpose language - evolved into Visual Basic

All of the above languages were referred to as 'Procedural' or 'Top-Down' languages, meaning that execution started at the first line of code and progressed to the next line from top to bottom. There were conditional statements which branched to applicable lines as needed, thus one could repeat or skip code.

In the 1970's, a new style of programming came into being, referred to as 'Object Orientated Programming (OOP), although precursors to OOP were already being developed in the 1960's.

Most modern languages have adopted the OOP strategy which uses the concept of 'Objects'. An object is an instance of a 'Class'. A class consists of 'Variables' and 'Procedures'. Variables and procedures, now known as 'Methods', and is code as found in 'Procedural Programming Languages'. Classes are a collection of different variables and procedures. Classes usually communicate with one another to manipulate data as is required.

Below is a list of the most popular programming languages in use today:

Java (including JavaScript and JQuery)
Python
C++
C#
Visual Basic .NET
Objective-C
Object orientated PHP

Lets take a closer look at the strengths and weaknesses of each:


1. JAVA:
Strengths

  • Cross-platform compatible - can run on any operating system that has the 'Java Virtual Machine', or JVM installed.
  • Flexible and modular, and can be used as a general purpose language.
  • Has the largest collection of free re-usable code in the form of libraries and software components.
  • Good for database and network support

Weaknesses

  • Complicated to install
  • Historically, Java falls behind with respect to speed, as opposed to C++ for example.


2. PYTHON:
Strengths

  • Extensive libraries that include string operations, Internet, web service tools, operating system interfaces and protocols, thus limiting the length of code that has to be written.
  • Python has built-in integration for web services development, and can call directly via C, C++, or Java,addition to being able to process various mark-up languages.
  • It's integration and control capabilities provide increased speed and productivity.

Weaknesses

  • Python differs from most other languages with it's syntax, making it difficult to change to other popular languages
  • Ideal for desktop and server applications, but weak for mobile computing.
  • It is fast for web applications, but slow in other areas since it executes using an interpreter instead of a compiler.
  • Extensive testing is needed due to some errors showing up only when the application is run, thus increasing the development life-cycle.
  • It's database features are basic, and is not advisable for use in database applications


3. C++:
Strengths

  • Suited for low level programming and efficient for general purposes
  • High performance and memory efficient
  • A mid-level language, offering the features of low level as well as high level languages
  • Re-usable
  • It has the benefit of lower memory consumption

Weaknesses

  • Highly complex, and difficult to debug
  • No support for Dynamic Memory Allocation (DMA)
  • Less secure due to the use of pointers and global variables
  • No built-in support for threads
  • It's emphasis is on instructions, not data


4. VISUAL BASIC .NET:

Strengths

  • Syntax is simple, so easier to read and understand
  • Combines a programming language with a development environment (IDE)
  • Optimized for Rapid Application Development (RAD)
  • Provides an interactive and context-sensitive online help system

Weaknesses

  • Propriety (Microsoft)
  • Inherits strengths and weaknesses from .NET Framework

5. PHP:
Strengths

  • Ideal for web appications
  • Supports database connectivity, and can access a variety of different databases including MySQL, Oracle, and MS Access
  • Supports sessions, simplifying applications such as Shopping Carts and user tracking
  • Server-side scripting frees clients from software dependencies due to application execution at the server end
  • Users cannot view source code, increasing security
  • Stable and easy to use in comparison
  • Fast execution
  • Open source, with a multitude of support
  • Cross-Platform. PHP is an application that can be run on several operating systems

Weaknesses

  • Extra burden on server with multiple clients since the server does most of the work
  • Primitive error handling, relying on code to catch errors
  • Not feasible for large applications


Conclusion

Choosing a language is dependent on the ultimate goal of the project. The language of choice should only be considered after the initial project outline has been drafted. The project can then be catagorized, and an appropriate language decided upon based on the strengths and weaknesses of each prospective language.
There is no hard-and-fast rule, but a combination of practicality and personal preferance. Researching similar projects by others and what language was used always helps with your decision.


This content is accurate and true to the best of the author’s knowledge and is not meant to substitute for formal and individualized advice from a qualified professional.

© 2019 Rubin Pillay

Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.

    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://maven.io/company/pages/privacy

    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)