What Is Programming Languages?




Before we go into comparing programming languages, let’s first take a look at the languages we’re going to be covering.

Dynamic Languages
Dynamic languages are generally easier for total beginners to learn because they’re flexible and fun. You can quickly build an app from scratch with less lines of code, and there is no hard rule on how to write things to behave in the way you want them to. As dynamic languages are usually very high level languages, you'd spend less time trying to get the details right and more time learning programming concepts, which is another reason dynamically typed languages are popular with beginners who are motivated by being able to build things and see results quickly.
JavaScript


Not to be confused with Java, JavaScript is primarily a client-side scripting language used for front-end development. JavaScript is compatible across all browsers and is used to create interactive web apps, often through libraries such as jQuery and front-end frameworks such as AngularJS, Ember.js, React, and more.
JavaScript can also be used as a server-side language through the Node.js platform. Two years ago, Node.js was still quite young, but its community has grown a lot since then, and you can now find many resources here. You can also build hybrid mobile apps with JavaScript through using frameworks such as phonegap, while Facebook’s React Native allows you to build native mobile apps with JavaScript.
However, JavaScript is also known as a difficult language because it is untyped and, thus, difficult to debug. There are statically typed versions, such as Microsoft's TypeScript or the JSX, that React uses.
Ruby

Ruby was developed so developers can have fun and be productive at the same time. Ruby was made popular by the Ruby on Rails framework, a full-stack web framework optimized for programming happiness. As Ruby reads like English and Rails has tools that make common development tasks easier “out-of-the-box”, many would recommend learning Ruby as your first programming language.
Ruby is mostly used for back-end development, and popular sites such as Airbnb, Shopify, Bloomberg, Hulu, Slideshare, and more, were all built with Ruby on Rails.
Python

Python is another highly recommended language for beginners, and is the most popular introductory language at Top U.S. Universities.
Developers have used Python to build desktop apps and web apps alike, and it has great tools for data mining. In addition, Python is particularly popular in academic communities for scientific computing, data analysis, and bioinformatics.
Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV, and more, were built with Python.
PHP

PHP is a server-side scripting language and is usually considered beginner-friendly. It’s easy to conceptualize what the PHP code will do, which makes it easy to pick up. Most websites have been built with PHP because the language is heavily specialized for the web.
Facebook, Wikipedia, Yahoo!, Tumblr, Wordpress, and more, were built with PHP.
Statically Typed Languages
Apps built with statically typed languages are known to be more scalable, stable, and maintainable. Static languages are usually more strict in catching errors through type checking, and it takes more code to build a prototype. Game engines, mobile apps, and enterprise-level back-ends are usually built with statically typed languages.
Java

As a general-purpose language, Java is used to build Android apps, desktop apps, and games. Java is also commonly used as a server-side language for enterprise-level back-end development - 90 percent of Fortune 500 companies use Java.
Furthermore, Hadoop is a popular Java-based framework used for storing and processing big data, and is implemented by enterprises such as Yahoo, Facebook, and Amazon Web Services.
C
C is often used to program system software and is the lingua franca of Operating Systems.
C has influenced almost every programming language we’ll be examining in this article, especially Objective-C and C++. So, if you know C well, it'd probably be easier for you to pick up other popular languages. Since C takes more complex code to perform simple tasks, beginners may find it tough to stay motivated if this is their first language. However, knowledge of C will definitely help you as a programmer in the long run.
Objective-C / Swift (for iOS development)

Objective-C is a layer built on top of the C language, which makes it static. With that said, it can also be used for dynamic typing. Apple’s Swift is a static language designed to be compatible with Objective-C, but its static-typing makes it more resilient to errors.
Inspired by Python, Swift is designed for coding newbies to pick it up easily and is aimed at fixing some of the issues of Objective-C.
C++
C++ is a powerful language based on C. It is designed for programming systems software, but has also been used to build games/game engines, desktop apps, mobile apps, and web apps. C++ is powerful and fast — even Facebook has developed several high performance and high reliability components with it.
Many softwares have been built with C++, including Adobe Systems, Amazon, Paypal, Chrome, and more. Much like C, C++ is generally considered harder for beginners to learn on their own. So, if you decide to learn C++ as your first programming language, feel free to look for a mentor via Meetups or find a C++ Codementor.
C
C# ("C Sharp") is developed to be used for Microsoft’s .NET framework, which runs primarily on Microsoft Windows.
C# is used for web development, game development, and general Microsoft development. Although Microsoft has not been known for being cross-platform compatible in the past, Xamarin has been working on an open-source project called Mono, which aims to port C# to other platforms and bring better development tools to Linux developers. Recently, you can also use C# to build native mobile apps for iOS and Android through Xamarin.
Other
SQL

SQL ("Sequel"), or Structured Query Language, is a query language used to communicate with databases. Although SQL cannot be used to build apps, it is used to manage the data in apps that use relational database manage systems (RDMS).
You Might Also Want to Read: Become a Developer with these 20+ Resources


Comments