Please note! This essay has been submitted by a student.
My major is applied technology, so I decided to dive into the coding aspect of it and selected the topic of programming languages. I wanted to learn the history of a few of the most popular programming languages and how they came to be. I wanted to understand the advantages and disadvantages of each one. I also wanted to determine the potential future of each one. I have only been exposed to a few of these coding languages over my educational career. I really wanted to know if there was one in particular I should focus on learning in much more detail because it would be the most beneficial for my future. During my investigation I found out there are many more languages than I had heard or knew about. I decided to research the most popular languages and understand where and how each one is used and how they are similar to each other and yet different.
The first programming language I chose to research is called C++, and was developed in the 1980’s by Bjarne Stroustrup. His intent on designing the languages was to merge the efficiency of C with the object oriented programming features of SIMULA-67. It was released commercially in 1985, and then a book called The Annotated C++ Reference Manual was released in 1990. This was helpful because there was no standardization at the time. It almost took twenty years to standardize the language which began in 1998 by a joint ANSI-ISO committee. Overall, C++ is considered to be a Mid-Level programming language because it is a combination of both low and high level programming language.
C++ has the ability to create system, application, and embedded software. Additionally, it also has the capability to create higher performance servers and client application entertainment software typically identified as video games. This language was modified from the original C language and is used by programs such as: MS Office, Adobe PDF Reader, and Firefox. According to Chen (2017) the C++ language built Adobe Systems, Amazon, PayPal, and Chrome. One of the biggest advantages of C++ it that it is powerful and fast. Furthermore, it provides performance and memory efficiency; and additionally it has modularity, which means dividing a program into smaller pieces. This gives the advantage of re-usability, where an individual can write code once and then use it multiple times afterwards. It also has portability which means you can develop the program regardless of operating system or hardware.
Unfortunately, one of the biggest disadvantages to C++ is that there is no security. It’s not secure because it has a pointer, friend function, and global variables. Another disadvantage of C++ is it highlights instructions but is not data focused. It is difficult to debug for web applications. One of the other downsides to C++ is that it is a harder programming language for individuals to learn, it can’t support electronic threads that are built into the program, and simple trash functions. In the future C++ will most likely continue to be relevant for a few more years for things that need high performance like gaming engines. It is still an intrical part of operating systems at Apple and Microsoft. A few other examples for operating system level work and low level work are device drivers and embedded devices.
C++ language continues to evolve with the release of C++ 17 which was debuted in 2017. However, there will probably be a decrease from using C++ language because it is financially taxing and time consuming when it comes to writing new code. Overall, it can take hundreds of lines of code to do what other languages can do with very little lines. There will probably be a demand for programmers to maintain and extend existing applications. However, with many colleges no longer teaching C++, it will decrease in popularity and as new languages are created it is likely to become a “dead” language in the future as no new programmers are learning the language and older programmers are retiring.
The second programming language I selected was Python, created in 1991 by Van Rossum. Python was notorious because it was named after a British comedy troupe: Monty Python’s Flying. Python was created by Rossum after the ABC language project he was working on was cancelled. The Amoeba system needed a scripting language and Rossum created Python for it. It was easy to extend and support multiple platforms. In the early nineties Python started to grow, people became concerned that the language was too dependent on Rossum. Because of the concern, BeOpen Python Labs team released Python 2.0 in the year 2000 and gave segway to a more community oriented program where it was easy to submit patchwork and report bugs that were in the program.
Python 3 was then released in 2008 on an unprecedented premise in which there was no backwards compatibility allowed. The key there was that there was only one way of doing things. To make the transition easier, a tool was created called ‘2to3’ that identified what Python 2 code needed to be changed to make it compatible in Python 3. The reason for the rise of Python language is because it is interconnected with the increasing interest of data science. It’s become the go to language for the field of data science.
There are over 125,000 third party libraries. This creates versatility. It has become a powerful tool to process, manipulate and visualize data. Python has several advantages. The biggest one is it’s an open source and is freely available, it’s also very stable, and no lines are needed for ending blocks which makes it compact. Another advantage is that it has integration with both Java and C programs. The design makes it easy for beginners to follow because it requires less code to be written. In the present time, higher educational institutions are now choosing to teach beginners Python.
A small disadvantage of Python to note is that it’s conventions are programmer specific, so in some instances it would be similar to forcing an unsaid list of rules on another programmer partner. Another disadvantage of Python is that it lacks multiprocessor support, and in some cases of incorrect indentation code will not work which can pose a multitude of problems. Even though it is an open source, there is no commercial support and solutions do not come pre packed into the Python program.
Despite these issues Python’s growth has been rapid in recent years which then created and built a strong following. It is being used in companies around the world for things like data mining, validation, and visualization. It can read, write and configure routers and switches securely. Additionally, it has become the popular language for future technologies like artificial intelligence (AI), big data, and machine learning. It has many libraries and tools that support each of the segments: AI, big data, and networking. As AI evolves- the language will become more relevant than ever before.
The third programming language I wanted to research was Java. It was developed in 1990 by James Gosling’s team at Sun Microsystems. The project was initially called Oak but Oak Technologies had the trademark “Oak” so the name was changed to Java in 1995. It was designed for interactive set top boxes for televisions but unfortunately the technology was too advanced for the digital television cable industry at the time. Fortunately the internet was just starting to take off and the team was able to integrate the Java technology into the Netscape Navigator Internet browser.
A couple goals they had for Java was: make it object-oriented, have the same program execute on multiple operating systems, and contain built in support. Java was the first to solve portability issues because it was a unique programming language. It was secure and its security was configurable which allowed for network and file access to be limited. Major web browsers have incorporated it into their standard configuration. A primary goal was to develop more generic objects so software could become more reusable between projects.
This helped the software industry build projects largely from existing and well tested pieces and reduce development times. The other major thing was to create platform independence. This means a program written in Java must run similarly on diverse hardware. To accomplish this they created a compiler that converts the code to the native code on the host hardware and it interprets and executes the Java bytecode.
One of the biggest advantages of Java is that it is secure. Security was in mind when Java was being developed. Java uses automatic memory allocation and garbage collection. It has the ability to move easily from one computer system to another. It helps data to be stored and restored easily. It also has the ability to perform several tasks in a program simultaneously. Java was created to write, compile and debug programs with ease. It is object-oriented which allows you to create programs and reusable code.
Some disadvantages of Java is performance which is significantly slower and more memory-consuming than natively compiled languages such as C or C++. The look and feel of applications written in Java is very different from native applications. “Java is commonly used as a server-side language for enterprise-level back-end development – 90 percent of the Fortune 500 companies use Java”. It is used by all sorts of companies from finance, healthcare, insurance, manufacturing, to the government. Many startups facing rapid growth use Java because of its speed and scalability. Android has been a huge boost to keep Java the most popular programming language. Oracle estimates that Java runs over billions of devices worldwide, more than any other language. Java will remain strong in the coming years.
I found C++ to be easy to pick up the basics. Further into C++ it became very difficult to pick up and debug programs. I’ve spent days trying to figure out what is wrong in a C++ code. Usually it turned out to be something minor. Its either a missing bracket, a closing parenthesis, or a missing endl;. I also had issues in Java. I got confused very fast and found it difficult to learn especially when dealing with colors. I have experienced Python tutorials online and on an app to learn the language. I found the tutorials easy to follow and type. I found it easy to pick up and understand. It requires less coding knowledge. Python is easy to read compared to other languages; and it takes less lines of code to type(See figure 1.4). Next time I do a report like this I will make sure I know a decent amount about my topic before I start. During this one I learned a lot of different skills and knowledge about programming languages that I had no idea about before I started this paper. Coding is becoming an important skill and I believe Python is the future of programming languages.