Ian Gorton, PhD and director of the graduate computer science programs at Northeastern University tels about the modern and popular programming languages.
Benefits: Python is widely regarded as a programming language that’s easy to learn, due to its simple syntax, a large library of standards and toolkits, and integration with other popular programming languages such as C and C++. In fact, it’s the first language that students learn in the Align program, Gorton says. “You can cover a lot of computer science concepts quickly, and it’s relatively easy to build on.” It is a popular programming language, especially among startups, and therefore Python skills are in high demand.
Drawbacks: Python is not suitable for mobile application development.
Common uses: Python is used in a wide variety of applications, including artificial intelligence, financial services, and data science. Social media sites such as Instagram and Pinterest are also built on Python.
Benefits: Java is the programming language most commonly associated with the development of client-server applications, which are used by large businesses around the world. Java is designed to be a loosely coupled programming language, meaning that an application written in Java can run on any platform that supports Java. As a result, Java is described as the “write once, run anywhere” programming language.
Drawbacks: Java is not ideal for applications that run on the cloud, as opposed to the server (which is common for business applications). In addition, the software company Oracle, which owns Java, charges a licensing fee to use the Java Development Kit.
Common uses: Along with business applications, Java is used extensively in the Android mobile operating system.
Benefits: Microsoft developed C# as a faster and more secure variant of C. It is fully integrated with Microsoft’s .NET software framework, which supports the development of applications for Windows, browser plug-ins, and mobile devices. C# offers shared codebases, a large code library, and a variety of data types.
Drawbacks: C# can have a steep learning curve, especially for resolving errors. It is less flexible than languages such as C++.
Common uses: C# is the go-to language for Microsoft ad Windows application development. It can also be used for mobile devices and video game consoles using an extension of the .NET Framework called Mono.
Benefits: Along with Python and Java, C forms a “good foundation” for learning how to program, Gorton says. As one of the first programming languages ever developed, C has served as the foundation for writing more modern languages such as Python, Ruby, and PHP. It is also an easy language to debug, test, and maintain.
Drawbacks: Since it’s an older programming language, C is not suitable for more modern use cases such as websites or mobile applications. C also has a complex syntax as compared to more modern languages.
Common uses: Because it can run on any type of device, C is often used to program hardware, such as embedded devices in automobiles and medical devices used in healthcare.
Benefits: C++ is an extension of C that works well for programming the systems that run applications, as opposed to the applications themselves. C++ also works well for multi-device and multi-platform systems. Over time, programmers have written a large set of libraries and compilers for C++. Being able to use these utilities effectively is just as important to understand a programming language as writing code, Gorton says.
Drawbacks: Like C, C++ has complex syntax and an abundance of features that can make it complicated for new programmers. C++ also does not support run-time checking, which is a method of detecting errors or defects while software is running.
Common uses: C++ has many uses and is the language behind everything from computer games to mathematical simulations.
Benefits: Also referred to as Golang, Go was developed by Google to be an efficient, readable, and secure language for system-level programming. It works well for distributed systems, in which systems are located on different networks and need to communicate by sending messages to each other. While it is a relatively new language, Go has a large standard library and extensive documentation.
Drawbacks: Go has not obtained widespread use outside of Silicon Valley. Go does not include a library for graphical user interfaces, which are the most common ways that end-users interact with any device that has a screen.
Common uses: Go is used primarily for applications that need to process a lot of data. In addition to Google, companies using Go for certain applications include Netflix, Twitch, and Uber.
Benefits: R is heavily used in statistical analytics and machine learning applications. The language is extensible and runs on many operating systems. Many large companies have adopted R in order to analyze their massive data sets, so programmers who know R are in great demand.
Drawbacks: R does not have the strict programming guidelines of older and more established languages.
Common uses: R is primarily used in statistical software products.
Benefits: Swift is Apple’s language for developing applications for Mac computers and Apple’s mobile devices, including the iPhone, iPad, and Apple Watch. Like many modern programming languages, Swift has a highly readable syntax, runs code quickly, and can be used for both client-side and server-side development.
Drawbacks: Swift can only be used on newer versions of iOS 7 and will not work with older applications. As a newer programming language, the code can be unstable at times, and there are fewer third-party resources available to programmers.
Common uses: Swift is used for iOS and MacOS applications.
Benefits: PHP is widely used for server-side web development, when a website frequently requests information from a server. As an older language, PHP benefits from a large ecosystem of users who have produced frameworks, libraries, and automation tools to make the programming language easier to use. The PHP code is also easy to debug.
Common uses: PHP is the code running content-oriented websites such as Facebook, WordPress, and Wikipedia.
Other programming language
The following programming languages aren’t quite as popular as the 10 listed above, but they are also worth considering if you’re looking to expand your programming options.
- The dart is optimized for programming applications that need to run on multiple platforms, such as Windows and iOS.
- Kotlin is used to develop applications for the Android OS.
- MATLAB is a proprietary language developed by MathWorks and used for scientific research and numerical computing.
- Perl got its start for programming text, which makes it easy to learn and popular for developing a proof of concept.
- Rust emphasizes high performance and security and is useful for applications where many things are happening concurrently.
- Scala, named as a play on scalable language, is compatible with Java and is useful for cloud-based applications.
Why is Python so popular?
And it's so unbelievable slow!
Python is one of the most widely used programming languages, and it has been around for more than 28 years now. One commonplace question that arises in the mind of most people, especially beginners, is why is Python is fashionable in mainstream despite being slow? Or why do programmers or developers not care about speed and performance snags in Python?
First, why is Python so slow?
- With Python, the code looks very close to how humans think. For this purpose, it must abstract the details of the computer from you: memory management, pointers,… Hence, it is slower than “lower-level language” like C.
- During the execution, Python code is interpreted at runtime instead of being compiled to native code at compile time.
- Unlike “statically-typed” languages like C, C++ or Java, you don’t have to declare the variable type like String, boolean or int. The less you do, the more your computer has to work. For each attribute access, tons of lookup is required. In addition, being very dynamic makes it incredibly hard to optimize Python.
- This GIL (Global Interpreter Lock) basically prevents multi-threading by mandating the interpreter only execute a single thread within a single process (an instance of the Python interpreter) at a time.
First and foremost reason why Python is much popular because it is highly productive as compared to other programming languages like C++ and Java. It is much more concise and expressive language and requires less time, effort, and lines of code to perform the same operations.
The Python features like one-liners and dynamic type system allow developers to write very fewer lines of code for tasks that require more lines of code in other languages. This makes Python a very easy-to-learn programming language even for beginners and beginners. For instance, Python programs are slower than Java, but they also take very less time to develop, as Python codes are 3 to 5 times shorter than Java codes.
Python is also very renowned for its simple programming syntax, code readability and English-like commands that make coding in Python a lot easier and more productive.
There were times when computer working time was the main issue and the most expensive resource. But now, things have changed. Computers, servers and other hardware have become much cheaper than ever and speed has become a less important factor. Today, development time matters more in most cases rather than execution speed in terms of cost as employee’s time has become one of the most, or even the most, expensive resource. Lowering the time needed for each project saves companies tons of money.
As far as the execution speed or performance of the program is concerned, we can actually manage it by horizontal scaling, which means getting more servers running to get that level of speed or performance. In this modern era, where we have very high computing power and multi-core processors that are becoming cheaper by the time, the speed and performance issues can quickly be resolved. But it is not the same story for human cost. It will just keep increasing and increasing over time.
In short, the amount of time you can save in the development process will possibly be more and profitable than whatever performance and execution speed in the application you get.
Not only does the shorter development process save money, but also improves your competitiveness. Faster prototype and delivery enable companies to innovate and get ahead of the competition.
As a CEO, which option would you choose? (1) completes a project in 6 months (2) completes exactly the same project in 4 months but you have to pay 20% more for the server. If execution speed is your most concern, then (1) is your choice. But if you focus on development speed and faster innovation, (2) should be your choice.
The best way to learn Python, is to get a version of Visual Studio. It cost nothing, you have the best programming environment and there are so many resources there to learn how to program.
That is where Python gains its reputation as the time required to build a program using Python is very short as compared to other programming languages.