ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Business and Employment»
  • Small Businesses & Entrepreneurs

OOEL (Object Oriented Easy Language)

Updated on September 10, 2014

OOEL (Object Oriented Easy Language) Learning Resource

Learn about TradeStation OOEL (Object Oriented Easy Language)

What was our experience using OOEL.

Well, when we started our first indicator, we truly did not know what to expect. We started with a very complex indicator called Time Based Volume that was already built using standard EasyLanguage code. The end result was a program that went from over 8,800 lines of code, to less than 300, and a processing time more than 200% faster.

I. All About TradeStation OOEL

OOEL Learning Center

Welcome To Our Blog All About TradeStation OOEL !

Our objectives for this blog are:

1. To learn Object Oriented (OO) concepts such that one is able to place themselves in a position in which they can harness OO powers to the max.

2. To learn OOEL (Object Oriented EasyLanguage) concepts such that one is able to place themselves in a position in which they can harness OOEL's powers to the max.

3. The difference between a language being full blown object oriented, to a language that is simply Object based (like EasyLanguage OOEL currently is).

4. To provide great resources about OO and OOEL. As they say, give a man/woman a fish and they have diner. Teach them to fish and they can have as many diners as they wish.

5. Most Importantly: To break down any walls of anxiety or fear of what OO is and how to use it. Especially when you have mastered a non OO language like EasyLanguage OOEL, but is slowly headed down the road to becoming a full blown Object Oriented language. This can be frustrating for many. So if you are a master of EasyLanguage, but know next to nothing about Object Oriented programming and design, I hope this blog will help you feel you can learn and master the new EasyLanguage OOEL abilities.

6. To provide a free single point of contact for everything about OO and about TradeStation's OOEL.

Here is the link to the Main TradeStation OOEL Blog.

Understanding Object Oriented Programming - This will be very useful to understand TradeStation OOEL

Code Complete: A Practical Handbook of Software Construction, Second Edition
Code Complete: A Practical Handbook of Software Construction, Second Edition

This is simply the best book on software construction that I've ever read. Written by Steve McConnell who does a fantastic job of making this a practical handbook to understand and use object oriented programming.

 

II. Object Oriented Programming and Design

TradeStation OOEL

II. An Introduction to Object Oriented Programming and Design, and TradeStation OOEL (Object Oriented Easy Language)

A. The Beginning of Object Oriented Programming

The first language to use the concept of Objects was Simula 67. It was created in the early 1960s by Kristen Nygrad and Ole-Johan Dahl in Norway. As the name suggests, it was created to make simulations easier to program and maintain. Simula was the first to introduce the concept of a class**.

However, the first language to be considered full blown Object Oriented was Smalltalk. Smalltalk was somewhat of a spin-off of Simula 67, but was the first language to introduce the concept of inheritance**. It was this feature that allowed Smalltalk to surpass Simula 67 in both commercial and experimental use. It was created by Alan Kay from the University of Utah, and was later sold to Xerox Parc. Interestingly, Smalltalk still exists today but is used very little in the commercial world.

B. The Results of the Object Oriented Movement

The idea of using objects as the basis for a language caught on fire in the 1970s and early 1980s. As a result, Bjorn Stroustrup, the Chairman of Computer Science at Texas A&M University, took the language C and integrated object oriented capabilities. The experiment resulted into the creation of the OO programming language C++, which would quickly became the most widely commercially used language in the world. To this day, C++ is still one of the most commonly used languages and Stroustrup is considered one of the most distinguished software engineers ever.

C. The Influence of C++ on Modern Object Oriented Programming

In the Early 1990s, a software engineer from SUN Microsystems, named James Gosling, a PHD from Carnegie Mellon, along with Patrick Naughton and Mike Sheridan set out to create a new technology that could take advantage of the internet boom. The group would eventually end up calling their endeavor the Green Project. It was a 2+ year project that resulted in to a new programming language called Java.

Why another object oriented programming language?

Java was a spin-off of C++ but was meant to remove all of the weaknesses of C++ and to make it easier for programmers to write internet based programs. Along with that, the second aspect of Java, and many world argue the most important, Java is platform independent**. At the time, a language that was platform independent was considered an extremely novel idea. This means that a Java program could be run on a windows platform, Macintosh platform, UNIX, and such, without having to change the code.

The promises of Java created a massive amount of attention. But that was the very thing that hurt Java when it was first launched. It was a language that had many promises but failed to live up to those novel ideas. It was extremely slow and creating a GUI for the internet or a simple application was a quite a project.

However, from its launch in 1995, version 1.0, to the modern Java, version 6, the majority of those who have used Java would probably say it has met its promises and went way above and beyond. It is now one of the most, if not the very most commercially used language in the world. There are companies and internet sites, such as www.devtopics.com, that measure the commercial uses of programming languages. Java is ranked the highest according to most sources. However, determining the most commercially used language is without question not a science. And many would argue that C++ is still the most popular.

From a commercial standpoint, whether its C++, Java, or Visual Basic, Java has without question brought to the world of software engineering a very flexible and easy to use object oriented language.

D. In Conclusion

As mentioned above, C++ and Java, by most measures, are the most popular languages for creating commercial and IT programs. However, the number of Object Oriented languages since the turn of the millennium, has exploded. To even begin to touch on them is way beyond the scope, and point, of this brief introduction.

Further, what has also occurred, is that languages that have existed for years, that were not Object Oriented, have implemented OO abilities in to their language. From Cobalt to Turbo Pascal, to Microsoft's Visual Basic. And for those who use Easy Language, they are well aware of this movement. In other sections of this Blog, we will examine why OO abilities seems to be a natural part of the evolution of most languages. Then, how to deal with this evolution if one is not familiar with Object Oriented Programming and Design.

_______________________________________________________________

Note1:

For an extensive look at the origins of Object Oriented programming, you can find it at: Wikipedia

It goes into great details, but somewhat assumes the reader already has a strong background in Object Oriented Programming.

Note2:

Any topic marked with a double asterisk ( "**"), will be disguised in great detail in future blogs. However, for those that are curious, using Google will provide more information that you could ever need. But you can be sure future blogs will provide an enormous amount of information and examples in a well organized manor.

The three topics marked with a double asterisk are:

1. Classes

2. Inheritance

3. Platform Independent.

I searched multiple web sites, and for those who do not want to wait until this blog covers those topics, you may be interested in the following sites:

1. Classes -

a. http://en.wikipedia.org/wiki/Object-oriented_programming

2. Inheritance -

b. http://download.oracle.com/javase/tutorial/java/concepts/inheritance.html

Platform Independent -

a. http://wiki.answers.com/Q/What_is_platform_independent

b. http://www.geekinterview.com/question_details/36273

_________________

BLOG Resources:

1. The Java Handbook by Patrick Naugton

2. The Java Class Libraries by Patrick Chan and Rosanna Lee

3. Patterns in Java by Mark Grand

4. Sun Certified Programmer and Developer for Java 4 by Kathy Sierra and Bert Bates

5. http://www.exforsys.com/tutorials/oops/the-history-of-object-oriented-programming.html



III. What Is a Full Blown Object Oriented Programming Language Versus an Object Based Only Language

OOEL Article

III. Introduction - What Is a Full Blown Object Oriented Programming Language Versus an Object Based Only Language

To examine the differences between a full blown Object Oriented (OO) language, versus an object based only language, we must first define a full blown Object Oriented language. Then, define an Object Based language and investigate the differences.

A full blown Object Oriented language is one that supports the following four features, or you could say functionalities. To be consistent, lets refer to them as features throughout this blog (Also, because there are languages termed "functional", that have different characteristics than an Object Oriented language, we will stick with the term "features").

The four features that make a language full blown Object Oriented are:

1. Abstraction

2. Encapsulation

3. Inheritance

4. Polymorphism

Now, this is the hard part to teaching those not familiar with OO languages. In order to define these four features, you must give examples. So, I could give examples in Java, C++, or any full blown Object Oriented language. But because my reader base are mostly easy language developers, that would defeat the point. I cannot assume my reader base knows any one particular language except Easy Language.

So, then naturally that begs the question "why not use EasyLanguage OOEL (Object Oriented Easy Language) to create examples." Well, because OOEL is not yet a full blown OO language, it of course is not possible to create 4 original examples. So now what? Well, thankfully, OOEL does provide a full blown OO library that we can use for examples. Again, I would prefer to create my own examples, because it makes learning these four features easier, however, again, because OOEL is not yet full blow Object Oriented, the libraries will have to do the job.

However, before we start that, I must assume the curious reader. For the curious reader, I am going to provide some links. I apologize the constant use of Wikipedia, but to be honest, and I have taken my time in finding resources, and Wikipedia provides not only some of the best definitions, but other resources. Thus, before I move forward, let me provide some resource links.

And again, we are going to go over each one in depth, so my reader is familiar with each feature. But there is always the eager reader that does not have time to wait for me:)

One more thing, I will be using pseudo code in order to generate what a future class in OOEL may look like. So what is pseudo code? Pseudo code is basically a way to express code that could apply to any language. Pseudo code could never be compiled, because, well it's not an actual language. It's a high level description of a computer program, or lines of a program, that expresses any language, but reads like English (assuming on speaks and writes in the English language). Feel free to Google on "pseudo code" for those not familiar with the term. I will take actual code in Easy Language and express it in pseudo code so one gets an idea of how and why pseudo code is used.

Here are some resources, on the four features mentioned above, for the curious reader that will assist them understand what exactly makes a language Full Blow Object Oriented.

1. Abstraction -

a. Wikipedia

b. http://www.mymindleaks.com/blog/article/object-oriented-programming-abstraction.html

2. Encapsulation

a. Wikipedia

3. Inheritance

a. Wikipedia

4. Polymorphism

a. Wikipedia

b. http://www.inf.ufsc.br/poo/smalltalk/ibm/tutorial/oop.html#poly





A. What is an Object?

Before we dive in to the four features mentioned in III. Introduction

, to discuss Object Oriented Programming we must define what exactly is an "Object".

An object can be considered a group of code, related to one another, to represent an "object or concept in the real world". Most only use the word Object. However, as you read more, I will explain why I mention the term "concept" also.

An object my be a person, car, house, a Tradestation chart, or an MS excel sheet. A concept could be a Vector, a TradeStation Strategy, Indicator, and the such. However, to be consistent with Object Oriented language we will group everything in to an Object. Although as someone's "thought" is not an actual object, it is more of a concept, in the Object Oriented world it would be considered an Object. If a programmer started to design a program to represent people's thoughts, they would design it such that their thoughts are objects. Which is why it's not called Object Concept Oriented Programming. It of course is only called Object Oriented Programming

The actual code implementation, and an actual instance of the object, is created using a "class". Thus, a class simply represents the object in terms of actual lines of code. Whether that code be in Java, C++, C sharp, and OOEL. An example of a class in OOEL is a Vector. To actually use that object, we "instantiate" the class that represents the object.

Lets look at this in TradeStation OOEL. Vector is an Object in programming, the code behind the vector is a class. To create an instance of the Object, we declare a variable to the class, and use the EasyLanguage OOEL key words "new".

Vars:

Vector LastNames(null).

LastNames = newVector;

{This creates an instance of the class Vector. The class vector has been created for us by TradeStation to represent the concept, or should we say object - Vector. In this situation we create an instance to hold Last Names}



What area would you like more information in regards to TradeStation OOEL

    0 of 8192 characters used
    Post Comment

    • profile image

      bernadettebrett 6 years ago

      We do like this stuff, good work guys.

    • profile image

      robertrupert66 6 years ago

      Looking forward for the great result.

    • profile image

      robertrupert66 6 years ago

      Get involved in a language standardization effort.

    • profile image

      shellybenelli 6 years ago

      This is more important than any book or training course.

    • profile image

      ianjulian09 6 years ago

      The important thing is knowing where to find reference material. Great site.

    • profile image

      loiusereese 6 years ago

      Don't be ashamed if you don't remember everything by heart; that comes with time. Nice lens.

    • profile image

      carlyharley01 6 years ago

      For most people, programming something that interests them or that they can use is more interesting than textbook examples.

    • profile image

      alexandergrinder 6 years ago

      Make sure you understand the concept. Good job guys.

    • profile image

      staceytracey01 6 years ago

      Experienced programmer for recommendations before dumping money on what may be very well-hyped fluff. Good lens.

    • profile image

      giodale91 6 years ago

      Browse and join message boards so you can be exposed to the techniques and discussions of a dynamic programming community. Good lens.

    • profile image

      richmonddiamond 6 years ago

      Tutorials of any sort are not sufficient to learn a language well.