p.p1 were included because they are the two languages

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000; min-height: 15.0px}
span.s1 {text-decoration: underline ; font-kerning: none}
span.s2 {font-kerning: none}
span.Apple-tab-span {white-space:pre}

Assignment 1 Report, CSCE 314-500
Reid Jordan, UIN: 324003349
January 24, 2018
For this assignment, we were tasked with choosing and researching various programming languages, and each of the languages I chose were for different reasons. I chose C++ and C# because those are both common languages that are used in different industries and interviews today, as well as most of my experience in coding has been in C++. I chose Swift because it is the primary language used in iOS development and I have created iOS applications using this language. I chose Python because it is also a common language used in various industries and it was the first language that I learned. X10 was chosen because that is an IBM created language, so I thought it might be interesting to build some knowledge about. R and Matlab were chosen because I have to use R in my statistics class this year, and R and Matlab are somewhat similar so I picked both of those. JavaScript was chosen because I was aware that it is a very powerful language to know for web development. Finally, Java and Haskell were included because they are the two languages that we will be learning in this course.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

C++ is a object oriented language created by Bjarne Stroustrup in 1979 at Bell labs. C++ is an extension of the language C, which is one of two primary languages that we use in CSCE 312. However, C++ wasn’t always called as such, being called “C with classes” before adopting the title as C++ in 1983. Shortly after in 1985, Stroustrup released his book The C++ Programming Language, and with that came the implementation of the language as a commercial product. In 1998, the C++ standards committee published the first international standard known as C++98, with C++03 and then C++11 to follow. There have been several updates of C++ along the years, with the next planned standard being C++20.
With several updates, C++ has evolved over the years. Initially, C++ implemented classes, basic inheritance, strong type checking, and other functions along with all prior C functionalities. Later on, functionalities that we use in C++ coding every day such as virtual functions, function overloading, references with the & symbol, the const keyword, and single-line comments using two forward slashes were added.
The purpose for developing C++ was to create an object oriented language, that he found very useful for software development, that was much faster and had higher-level functionality than previous object oriented programming languages. Because of this desire, he looked to add the object oriented programming into the C language, and was very successful in doing so. 1

C#, or “C Sharp,” is a general purpose, object oriented language derived from C designed by Microsoft in 2000. At the beginning of C# creation, it’s first version or C# 1.0 was very similar to Java. This meaning that being like Java showed that C# was the simple, general purpose object oriented language that it sought to be. Later on in 2005, C# 2.0 was released as well as a popular Visual Studio update. From that time until now, there has been 5 other major version updates, having C# 7.0 being the latest of them. Over the time from its creation, C# has become prominent in the software development industry and has passed other popular languages such as Java in some areas.
The primary purpose of Microsoft creating C# was to create a general purpose, object oriented programming language with the same capabilities as Java. However, with updates and the furthering of technology, Microsoft aimed to create a truly influential and beneficial language. With the obvious recognizability of the language, Microsoft and the C# team accomplished and continue to accomplish their goals, and have continued to get more and more relevant. 2

Swift is an iOS, macOS, watchOS, tvOS, and Linux development programming language created and released by Apple in 2014, just 3 years ago. Swift is also an object oriented language and was primarily designed from the popular Objective-C, while also taking ideas from C#, Python, Ruby, Haskell, and many other languages. Since it’s release, we have gotten 3 main updates, the latest being Swift 4.0 released in September of 2017.
Swift was designed to completely replace Objective-C in apple OS development. Originally, Objective-C was the primary way to do things such as create iOS applications, but now Swift is the means of doing so. Swift is much more modern as well as a much easier language to learn than Objective-C, and with the fact that Objective-C is a fairly complex language to learn compared to it’s counterparts in C# and Java, Swift has been very successful since its very recent release. 3

Python is another object oriented programming languages created by Guido Van Rossum in 1989. Python funny enough got it’s name after it’s creator being a fan of Monty Python’s flying circus. Python was conceptualized and influenced by ABC, another general purpose programming language. In February of 1991, Rossum published the first version of Python code, which was version 0.9.0. A few years after in January of 1994, Python version 1.0 was released. Over six years later in 2000, Python 2.0 came out followed 8 years later in the latest major update in version 3.0.
Python was created influenced by the language ABC and looked to be an effective object oriented language without all the major flaws of ABC. Python today is used to do many things such as some web and game development, testing microchips at intel, powering Instagram, and many others. With the relevance of this programming language in Python, it has achieved its goals of being an effective programming language to use. 4

X10 is a computer programming language created by IBM at the Thomas J. Watson research center and released in 2004. X10 was primarily influenced by two well-known programming languages in C++ and Java. X10 is another object oriented language that is class-based, strongly-typed, garbage-collected. This means that in the language inheritance is achieved by defining classes of objects, types of the data are predefined, and the program attempts to reclaim garbage or unused objects in memory. 
Initially, the programming language was designed for supporting high performance and productivity computing on high-end computers. As well as this, the goal of X10 was to be simple and clear as well as be readily accessible to programmers, supporting a wide variety of programming tasks. While X10 is not necessarily the most popular language compared to Java and such, it implementing characteristics of the top object oriented programming languages makes it a very effective language to use for certain tasks. 5

R is a scripting programming language for statistical analysis such as statistical computing and graphics created by the R Core Team in August of 1993. R is a language that is very similar and often considered a different implementation to the language S, another high-level language designed for manipulating, analyzing and displaying data. Along with the programming language, R also is an environment made to run the language of it. This way, it is easy to input and analyze data all in one area.
The language R was designed to give statisticians a language to perform statistical analysis. As of recently, R has become more and more prominent in the mathematical field. It is used in all sorts of areas from statistics courses to developing statistical software, and continues to become more and more influential in the industry. 6

Matlab is another high-performance scripting language, used primarily for mathematical and technical computing that was created by Cleve Moler at the end of the 1970s. After development and release, Matlab quickly gained popularity among a wide variety of colleges and universities. In 1983 while visiting Stanford, an engineer known as Jack Little saw huge commercial potential in the language and got in contact with Moler and another engineer in Steve Bangert, and began rewriting Matlab in C. With some big updates later in the coming years, Matlab expanded to be one of the highly used languages in it’s field.
The purpose for the development of Matlab was for Moler to provides students simple access to other software libraries used for mathematical computing, otherwise known as EISPACK and LINPACK, without having to learn the language they were written in known as Fortran. Accomplishing this goal and with several updates later on, Matlab quickly became one of the most sought after languages used for mathematical computing and developing algorithms. Matlab originally was primarily used by practitioners and control engineers, but now is primarily used in education for Engineers and Mathematics majors. 7

JavaScript is a web development scripting language created by Brendan Eich in 1995. A company known as Netscape Communications Corporation, a very relevant company in the early stages the web, was looking to find a way to expand the web. By this, they wanted to make the web much more dynamic, supporting things such as animations and active interaction with the user. With this passion and desire to change the web, they looked to hire a computer scientist that could create a language to do such in Eich. After working on JavaScript from May to it’s final renaming and release in December, it quickly became an important language in the web.
JavaScript is now easily not only one of the most popular languages, but one of the most influential ones as well. JavaScript coming in at the beginning of the web, and making major improvements to it’s functionalities completely changed the web forever. JavaScript continues to work with others such as HTML and CSS to create elegant and intuitive web design as well as continue to influence the web in it’s rapid growth over the last thirty-ish years. 8

Haskell is functional language developed by Simon Peyton Jones, Paul Hudak, Philip Wadler, and many others and was released initially in 1990. Starting from 1930, Alonzo Church developed lambda calculus, which was the theory of functions. Using this theory, in the 1950s John McCarthy developed Lisp, which was the first functional language with some influence from lambda calculus but still retained variable assignments. Over some time thereafter, the creation of ISWIM, or the first pure functional language, and then other functional languages such as FP and ML led to the beginning of Haskell. An international committee started the development of Haskell, which is a standard lazy functional programming language. Then with some work in 2003, the committee published the Haskell Report, defining a stable version of the language. The latest primary stable release was Haskell 2010, with Haskell 2020 being the next anticipated preview release. 9
Haskell was designed to be a powerful, pure and lazy functional programming language for all types of uses. With the success of Haskell, it is commonly used in university studies, as well as in the industry for a wide variety of things such as backend data transformation and loading at Bank of America to Network Security at AT. 10

Java is one of the most popular object oriented languages developed by James Gosling in 1995. Originally, Gosling was working at Sun Microsystems, but this has been acquired by Oracle Corporation, the current owner of the Java title. Java itself derived much of its syntax from C and C++ with fewer low-level functionalities. After it’s official release in 1995, there have been numerous updates, with the transition to Java 2 being the largest of the bunch.
Java was designed with the intent to create a code that could be written once and run in all Java supporting platforms without the need to recompile. To do this, Java is meant to be compiled to a byte-code, and then run by a Java Virtual Machine rather than be compiled to machine code or interpreted from source code at runtime as most other languages. The other goals in the creation of Java included the desire to allow programs to be run on different operating systems, contain built-in support for computer networks, and to execute code from remote sources securely all with ease of use. 11

All the languages researched can be divided into three main programming types: functional, object oriented, and scripting programming languages. Most of which were object oriented languages, and this included the following: Java, C++, C#, Swift, Python, and X10. These object oriented languages are all used in different levels of industry and are more commonly used then functional or scripting languages because of their versatility in coding. However, some of which are much more popular than others. For example, Java is one of the more popular all around languages with C++ and C# following close behind. Python is gaining more relevance because of it’s ease in syntax, but is still not at a level of those stated before. Swift is only used in appleOS development, and X10 is less commonly used being and IBM product. Still, compared to the other languages researched, these languages are more commonly used because it can be used in practically any back-end, front-end, or other software developing and engineering.

Haskell was the only functional language studied in this research paper. While Haskell is arguably the most popular functional language, it’s limited versatility keeps it on a lower scale in comparison to object oriented languages. However, even though it is not quite as popular as well known object oriented languages, it still is used in numerous parts the industry and can be very beneficial for the fact that functional languages can run more than one function at a single time because of the lack of interdependency between data. With this, it makes Haskell an excellent language to use in terms of saving or lowering time complexity.

Finally, there were three scripting languages researched: R, Matlab, and JavaScript. A scripting  language is a program that supports scripts, made for a specific environment and is often interpreted rather than compiled. R and Matlab support mathematical scripts within their own environments, and JavaScript is a scripting language that supports web scripting. While these languages can be very helpful for performing specialized tasks, they are the least versatile compared to both functional and object oriented languages. Because of this, R and Matlab are often used in academics to perform certain tasks and analyze data, with JavaScript strictly being used for web development and such.

This project has taught me a lot about not only a bunch of various languages, but also the importance of object oriented, functional, and scripting languages and their usefulness in various areas of the computer science industry. Through this, I know that I will be able to analyze and accommodate different tasks based on the best language to use in specific scenarios.

1 “History of C++.” Cplusplus.com, www.cplusplus.com/info/history/

2 Erikdietrich. “The history of C# – C# Guide.” C# Guide | Microsoft Docs, 

3 “The history and future of Swift – Analysis of Apple’s new programming language from an 
enterprise IT perspective.” The history and Future of Swift | Magenic, magenic.com/

4 “Python Course.” Python3 Tutorial: History and Philosophy of Python, www.python-

5 “X10.” X10 – IBM, 25 July 2016, researcher.watson.ibm.com/researcher/view_group.php? id=536.

6 “What is R?” R, www.r-project.org/about.html.

7 “MATLAB | Definition, Programming, History.” Cleverism, www.cleverism.com/skills-and- tools/matlab/.

8 Peyrott, Sebastián. “A Brief History of JavaScript.” Auth0 – Blog, 16 Jan. 2017, auth0.com/ blog/a-brief-history-of-javascript/.

9 Hudak, Paul, et al. “A History of Haskell: Being Lazy With Class.” A History of Haskell: Being Lazy With Class, haskell.cs.yale.edu/wp-content/uploads/2011/02/history.pdf.

10 “Haskell in industry.” Haskell in industry – HaskellWiki, wiki.haskell.org/

11 “History of Java programming language.” History of Java programming language,