In this report, we provide a brief comparison of the
five programming languages used in this unit (Closure, Pharo, Haskell, Ruby,
them and concluded with a brief comparison between them in term of readability, writability,
and reliability. Chapter three provides an
evaluation and reflection for each of the programming language. Chapter four is
a discussion about the added values of learning these programming languages how
they help to get into the industry.
of programming languages
2.1 Closure: is a general purpose and
dynamic programming language, which glues the accessibility and interactiveness
of script languages. It is a dialect of Lisp, which can be seen as functional programming
language supporting immutable persistent data structures.
2.2 Pharo: its an OO language and an
environment. It is very simple and provide quick feedback. Its type safe and
constructors are not a must for the classes and its very simple to use. Easy to
debug and integration is also very easy to do. Pharo comes with a debugger to
go through the code and remove any issues. 3.
2.3 Haskell: A general programming
language for any use case, best for data analysis and for building quick
mockups. The performance of the code written in this programming language is
good and scalability is easy in this language. The programs are written in form
of general functions and everything else is handled by the lower layers. 4, 5.
2.4 Ruby: An open source, dynamic
programming language which is now a days used vastly to develop web based
system. Ruby has a great way of creating applicatoni in a really quick way,
creating prototypes is very easy in Ruby. The syntax of this language is like
reading english i.e. very easy understood and manage. Ruby’s community has
grown greatly over time. In Ruby the instance variables are called properties
and the functions are called methods. It supported and can run on famouse
framework on Rails. This programming language has case sensitive keywords e.g.
the keyword ‘end’ is different from the keyword ‘END’. A very easy to learn
programming language which can run on all major platforms.
client/server side programming language, its very light weight, object oriented
framework like React, Node, and Angular which are top of the line tools being
browsers as client side lagnuage also and it originally provided a way to interact
with users on the client side e.g. making sure that user is filling in the form
correctly and making sure that users has entered all the required fields before
submiting the form etc. 7.
2.6 Languages Comparison: among the five programming
similar in some way to the object-oriented
programming languages like Java, it is syntax is easy to understand. However,
Haskell is the less readable one, it is syntax is not like any other
programming language, and the logic is completely different. In terms of reliability,
all the five languages are reliable but for Haskell,
we need to understand the underlining functions before using and relying on
ones, they are used in wide range of applications, mainly for web development.
a) The usual approach used you followed to perform the exercises: Mainly,
reading the language documentation on the
internet, then searching for real good implemented examples which clearly show
the language power.
b) Most difficult/easier language to learn and implement: the easier one
Unlike Haskell, it is syntax is completely different from any other language,
not much documentation, and its logic is
different from the rest.
popularity, simplicity, and productivity.
For Pharo, it is simplicity and immediate feedback. For Haskell, the good thing
was in few line you can write a logic which needed tens of lines in any another
language. For closure, it was easy to learn. The
aspect I did not like was mainly for Pharo in which I it is environment is not easy to setup, and
Haskell which was not easy to learn.
d) Useful functionalities in the languages: This is was mainly for Haskell
which has many already implemented functions that can be used by only importing
them. The difficult thing was to find those functions.
and weaknesses that were revealed across
the languages: Personal strength was in research and
learn areas, I easily found the documentation
and already implemented examples for the languages
and learned from them. The weakness was
mainly in learning one language which was Haskell, as it is logic is much
different than other languages.
Ruby, and some are much difficult like Haskell. Domain knowledge is very
Only good understanding of the domain requirements, power, and weakness of each of them can help in the better decision to which one to use.
Most of the jobs listed in the tech industry require programming skills.
In this unit we covered five different programming languages, each of them is
almost used in one area. So we will have better coverage and understate of what
industry needs and can focus on it. However, technology is emerging at an
unprecedented pace, with new coding languages created every year to keep up
with this rapid innovation. Most of companies are using more than one language
to develop their products, we can find teams working on Node.js, Java and
Python. Learning more than one language will give the ability to have more
tools to get the job done, and allows us to get the job we really love, and
also it gives the ability to increase the salary potential.
Through my studies and research, I found the Java is the most
programming language used these days, it is a cross platform languages, used in
Windows applications development, web developments, Games programming, and
services. I would like to learn it in deep.