Brief Summary of (Some) Programming Languages

When I first decided to approach the developing world last year, I remember being overwhelmed by the plethora of languages, frameworks, and career paths. To this day, I haven’t connected the dots among them. So, in this post, I’ll be briefly going over the characteristics, downsides, and upsides to various programming languages.

Before we go on, let’s clarify what a is. It is a broad term that can define many things, but in general provide that are usually customized to a specific language andIt can include programs, compilers, code libraries, and APIs

I am only familiar with Dart and JavaScript, so most of the information below is a paraphrased amalgamation of various sources on the internet. They are not written in any particular order.


One of the oldest programming languages, C came to life in the 70s and it is a general-purpose introduced for programs that make up the As such, it supports only .It is the backbone of many other programming languages such as C#, Java and JavaScript.

C is an programming language, which uses series of statements that change the program’s state and reach a particular goal. It is also a — memory allocation is done at compilation time (and developers need to declare type.

From what I know about C, it can be , but once you know what you’re doing,

  • - portable (can run on various platforms)
    - easy to learn
    - plethora of library functions
    - high control over the process in which your code runs
    - fastest compilation (it is machine language)
    - Dynamic Memory Allocation

  • - tedious requiring you to write code for many things that other languages automatically do for you
    - need to have some programming skills
    - lack of Object-Oriented Programing (OOP) concepts, hence no constructor or destructor
    - lack of exception handling

Although it is an extension of C, it is an andC++ is also a language that uses which holds the memory address of a particular object. It is used extensively for high-end programming such as games, desktop applications, operating systems, and embedded systems (smartwatches, medical machines etc).

  • - As an extension of C, the advantage of C apply
    - Big big community and job market
  • - Pointers are difficult to learn
    - No garbage collection
    - less flexible regarding syntax
    - no built-in threads

C# was developed by Microsoft as an object-oriented programming language in 1979.

JavaScript(JS) was originally used to (and still is) develop (along with HTML and CSS), but now, its usage has extended to deployments (Node.js) and non-web browser applications. JS has been around since 1995, and therefore, one of the most popular languages, and it is an open-source language maintained by non-profit organizations.

It is a language (explicit declaration of variables is NOT required and memory allocation is done at run-time); it is NOT an Object-Oriented, but it is which does not support proper inheritance and rather, it is based. JavaScript is actually a (And hence, it is viewed as a multiple programming paradigm language).

  • - relatively simple to learn and implement
    - very popular language and hence big job market
    - speed (“interpreted language”)
    - interoperability — works well with other languages (e.g. embed it on webpage, inside script of another language)
    - rich interface for web pages
    - versatility (front-end and back-end)
  • - client-side security — code is viewable to user without extra support
    - browser support — browsers interpret JS differently
    - single inheritance
    - errors are displayed at runtime

Node.js,AnguarJs, ReactJS, Vue.js, Ember.js, Mithril, Polymer, Backbone.js etc.

TypeScript(TS) is by Microsoft in 2012, which fills in some gaps of JavaScript. It is a language and used only for web(?).

  • - classes and interfaces
    - better OOP procedures
    - errors are displayed while developing
    - well suited for large code bases
  • - cannot be rendered or run in a browser or server — must be transpiled to JS

Do not get confused with Java and JavaScript has the two are distinct languages. Unlike the independent JavaScript, Java is owned by Oracle. It is an that is used for many industries, including web and mobile applications, and big data. These are some companies that use Java for their server-side code: Google, Amazon, Twitter, and YouTube.

  • - portable language (WORA — Write Once, Run Anywhere)
    - can access and manipulate computer functions (e.g. file system, graphics, sound)
    - extensive online community
    - automatic garbage collection
    - no pointers
  • - memory-consuming, slow
    - verbose and complex code

Spring, Struts, Hibernate

Python is a and language. It is popularly used for -related programming, 2D imaging, 3D animation, and games; it runs on web and desktop.

  • - easy for beginners to learn (good readability)
    - supports multiple programming paradigm
    - extensive community and library; great official documentation and tutorials
  • - not as easy to use with other programming languages
    - low execution speed
    - not suited for memory-intensive programs and mobile applications
    - errors only shown at run-time

Developed by Google, Go, also known as Golang, seems to be gaining popularity these days due to its , much like Dart. Many companies already seem to be using Go, such as Google (obviously), YoutTube, Facebook, BBC, Apple, Docker, Dropbox etc. It is a language that allows for object-oriented design, mainly used for desktop (although it is cross-platform).

  • - easy to learn; minimalist language
    - garbage collect
    - extensive community and library; great official documentation and tutorials
    - compiled directly to machine code — fast!
  • - is it possibly too simple?
    - not completely OOP — no type hierarchy
    - no generics
    - young language — not a lot of library support

A relatively recent language as well, Kotlin a developed by JetBrains, mainly to combat disadvantages of Java. It is used mainly to develop , , and server-side application development. It is a genera

  • - interoperability with Java (but not compatible with Java)
    - large ecosystem of IDEs and SDK tools
    - less buggy-easier to maintain code and compile-time error handling
  • - slower compilation speed
    - less support

Similar to JavaScript, PHP is an open-source language created in 1990. It is currently mainly used for web development, and can be used to write scripts and to develop It’s syntax is analogous to C

  • - flexible with database connectivity; has built-in database connection modules
    - easy to develop
    - open-source
    - platform-independent
    - easily integrated with different programming languages and tools
  • - open-source-not secure
    - not suitable for large applications
    - lacks debugging tools

Another recently developed language, Swift was developed by Apple in 2014 for Linux and Mac applications. It is used mainly used to develop .

  • - easy to learn
    - clean syntax; less code
    - open source
    - comparatively fast development process
  • - young language — not as much support
    - poor interoperability with third-party tools
    - lack of support for earlier iOS version

Ruby is a language. It has various uses, such as and data processing.

  • - multi-paradigm programming — object-oriented, functional, imperative
    - portable language
    - plethora of libraries and plugins
    - good testing infrastructure
    - better code readability; minimizes code lines
  • - not as widely used as some other languages
    - slow performance
    - strict guidelines and design paradigms

Ruby on Rails

Dart was developed by Google in 2011 to develop such as Android, iOS, web, Mac and Linux. It is an that supports inheritance, interfaces, and optional typing features.

  • - easy to learn
    - good official documentation
    - high performance and speed
    - easy to practice code with DartPad
    - uses AoT (Ahead-of-Time) and JiT (Just-in-Time) compilation simultaneously, which no other language does
  • - fairly new language — less support, less job market demand, and still in development
    - no native support




Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store