Have you heard of CLU? It may lack the popularity of other languages like C+, Java and PHP, but CLU is still a widely used programming language. To learn more about CLU and its many feature, keep reading.
Origins of CLU
CLU is the brainchild of Massachusetts Institute of Technology (MIT) professor and computer scientist Barbara Liskov, who developed the language in the mid 1970s. Liskov wanted to produce a language that reflects modern programming concepts. So, she and her students embarked on a journey to accomplish this goal, with CLU being the final product.
Contrary to what some people may believe, CLU isn’t an object-oriented programming (OOP) language. While it’s often viewed as being a step towards OOP, it’s technically classified as an object-based language, largely because it lacks many of the characteristic features of OOP.
CLU Programming Features
So, what type of features does CLU offer? Arguably, its most important feature is the concept of a cluster. This type extension system corresponds to the concept of a class in OO languages, featuring similar syntax. Clusters are essentially modules that encapsulate all components except components that are listed in the “is” clause. They are global names, containing no namespace mechanism.
“The most important feature is the cluster. A cluster implements a data abstraction by defining an abstract type, its representation (in terms of lower level data types), and the operations which are possible on objects of this abstract type. The cluster heading gives the name of the new type and the set of operations which are allowed on that type. Then the representation of the type is defined, and a set of procedures given,” explained James Peterson.
Of course, there are other features to CLU worth mentioning, including exception handling. CLU allows for exceptions to be raised using “signals,” which are handled with “except.” However, this differs from other programming languages in the sense that exceptions are not resignaled up the calling chain. When a CLU exception is neither caught nor resignaled, it is converted into a failure exception that ends the program session.
CLU also features iterators. This function returns objects from a collection serially, offering an identical application programming interface regardless of the data being used or processed.
How CLU Programming has Influenced Other Programming Languages
You might be surprised to learn that CLU has influenced many other programming languages, some of the most notable being C++, Java, Python, C# and Ruby.
Thanks for reading, follow your passion by finding the perfect course, just for you over on www.stoneriverelearning.com.