Python, “bridge the gap between C and the shell.”

In 1989, Guido van Rossum began implementing a new project he called “Python,” referencing Monty Python’s Flying Circus. In 1982 Guido van Rossum started working straight out of university at CWI (Centre for Mathematics and Computer Science) located in Amsterdam, as a programmer in the “ABC” group. After 4 or 5 years, Rossum moved to the CWI’s “Amoeba” group due to lack of obvious success in the ABC group. As he recalls being in a slight irreverent mood, Rossum wanted to create a high-level language in the Amoeba operating system. He felt dissatisfied with what was available at the time and felt a need for a language that would “bridge the gap between C and the (Bourne) shell.” This became Python’s main catchphrase for a time. Rossum describes the spark of Python with, “ABC gave me the key inspiration for Python, Amoeba the immediate motivation, and the multimedia group fostered its growth.” Python has become known for its accessibility, making it easy for users to program with Python as compared to other languages like Java and C++. It is considered a dynamic and flexible language, that allows for more productivity and less “de-bugging.” As the cons for Python goes, many developers say that Python can run slow and have restrictions due to its dynamically typed nature. Overall, Python has come a long way since its early beginnings in the early 90s, companies like Google and Instagram have been among the many users of Python.

Piet – A Language That is Art

Piet is a programming language created by David Morgan-Mar. It is an esoteric language meaning that it was designed as an experiment to explore the boundaries of coding, and not as an actual useful language. Morgan-Mar first created Piet in Piet was named after Piet Mondrian, the creator and pioneer of geometric abstract art. This is because Piet is composed of ‘codels’ or blocks of 20 different colors instead of words or symbols like most codes. These ‘codels’ are then compiled into ‘color blocks’ which are the basic units of the code. The code runs front the top left to right and then down following each transition in codel color which depict commands, while other colors like black and white depict spaces where there is no code. What command is used is determined by changes in hue and or lightness of the codels. The program is read with an interpreter called the Direction Pointer which follows a set of rules as it reads the colors of the codels throughout the code. In the end, unlike Processing, a coding language that runs and turns into art, Piet code is art itself that can run a program.

An artistic version of the basic “Hello world!” program:

hw1-11

Other examples of programs can be found at:

http://www.dangermouse.net/esoteric/piet/samples.html

Sather 1.0

Sather 1.0 is an evolved and reworked version of the original Sather 0.1 coding language. Sather is often credited to Stephen Omohundro, Chu-Cheow Lim, and Heinz Schmidt as its creators and driving forces. Sather was a language hard-translated to C and based on the framework of Eiffel. While Sather 0.1 was a basic language, Sather 1.0 made some incredible strides forward with the addition of features such as run-time checks, proper code organization and line spacing, as well as  bound routines and iterators to name just a few more strides the upgraded version of the language brought upon the world of coding. The language was created mainly to be very hard to decode and decompile meaning that you had to understand the language itself in order to code in it, it was a very difficult language to pick apart and look at the inner workings of. That said the code itself was always very easy to understand and actually code in. The language is mainly used to create graphs, data charts and calculate mathematics at a fast rate. The code is also great for creating new GUI interfaces. While decompiling the language itself may be difficult actually compiling code itself in the language is very easy. Sather is a fantastic language for creating visual representations of mathematics, and analyzing and compiling disorganized code.

PROLOG

PROLOG, being produced out of research at the University of Aix-Marseielle, is a logic programming language that’s associated with artificial intelligence and symbolic computation created by Alain Colmerauer. It was created in the early 1970’s in Marseille, France. There are two computer languages that’s used in artificial intelligence work, which are LIPS(List Processing) and PROLOG. The first PROLOG system was produced in 1972 by Alain Colmerauer and Philippe Rouseel. This language was one of the first logic programming languages and is still the most popular out of most languages. PROLOG is created for theorem proving, expert systems, natural language processing. It is used for certain assignments such as voice control systems and searching databases. PROLOG has origins as the first order logic, and formal logic, interrupted by facts and rules. It being common in Japan, it was used in creating the ICOT Fifth Generation Computer System Initiative, for producing smart and intelligent computers. PROLOG uses three terms which are, constants, structure and variables. Although, PROLOG is an intelligent and strong programming language it has it’s pros and cons. An advantage of this program is that it allows you to look at the world in a different perspective, and alternating the way you would think or ask a question gives off a better solution. Also, using PROLOG is at it’s best when you have a problem that needs to be solved with backtracking. The disadvantages of using PROLOG is when it comes to mathematical computations, it’s much slower. It also has a various amount of compilers, and comes with difficulties within compilation.

Ruby – The Very Present Language

Ruby is a programming language created by Yukihiro Matsumoto. It is a blend of Perl, Lisp, Ada, Eiffel, and Smalltalk. It’s intentions? To be a crossover of a “balanced functional programming with imperative programming.” Ruby is often referred to as being “object oriented”.  The language focuses on what we are trying to control.  As opposed to focusing on the logic.
One of the biggest projects made with Ruby was Twitter. Yes, the Twitter we all know, love, and can’t stop using. The site was built with the 2005 version of the language ‘Ruby on Rails’. Unfortunately the $10 billion site swapped out Ruby. It now runs on a more efficiently scaled language called Scala.
Ruby being the innovative language it is has great strengths.  The language does not need as many lines of code as most. It is easier to read and has a supportive community of programmers.
Although, not every language will be perfect. Ruby has a tendency to be slow. And some defaults are not as comprehensible because  of its Japanese origin. Matsumoto himself admits the unavoidable faults with his language. He acknowledges that no language can ever be perfect. In an interview Yukihiro Matsumoto states “there are two ways to look at a language. One way is by looking at what can be done with that language. The other is by looking at how we feel using that language”

C#(C-sharp) by Albert Davis

C# is a programming company made by Microsoft and was originated by Anders Hejlsberg in 2000. It combined with C++ to interact with Microsoft’s NET, which give users access to the web. C# was meant to be simple, moderate, and able to durable. It is similar to Java in a sense that it has the same goal,  to provide language in programming. Some advantages of C# is that is adopted the easy-to-use mechanism rather than the complicated one. You do not have to have prior experience in programming to use C#. The language includes type checking, array bounds checking, and detection of uninitialized variables. These perks come in handy when performing codes so you don’t make mistakes. Some disadvantages of C# is its place on the timeline. Its dramatically behind programming companies and it needs to catch up. Another mix up is NET. Since it is based a lot on probability, NET puts it at a big disadvantage. Nonetheless, C# is an easy application that allows programmers to code.