Quote from Masterchanger:
Hello All,
I'm a beginning EL coder without a formal programming background. I can create basic indicators and systems but when I look at more complicated code I have alot of difficulty figureing out what the code is actually doing.
I know that EL has alot of capability, I just feel a basic programming background would be very helpful in getting the most out of EL.
What programming language(s) would be recommended to learn good programming habits and provide a more structured programming approach that would serve me well in my EL programming tasks/DLL utilization/creation and should I move on to another platform serve me well in the future. eg. Java, C++, C#,VBA ????????
Please elaborate on why you recommend a particular language.
thanks for your input
I am not going to argue anything, this is opinion, I respect yours. I am sure you are a better programmer than I am and have forgotten more than I will ever know.
Me - I was a VC++ programmer for many years (since VC++ Ver. 1) before becoming a Java programmer. I used TradeStation many years ago and found EasyLanguage very frustrating. So much so that I am writing a proprietary trading platform in Java. I did agonizes over the C++, Java, C# question. For me it was the distributed computing solutions that pushed me toward Java. One of the first things I did was write a distributed compute engine (a grid computer).
You - First and most importantly for your case, I would recommend you concentrate on EL. Object oriented languages aren't a help, EL is not OO. Pointers don't help, EL doesn't have them. Etc. If you get to the point that you want to extend TradeStation with your own DLLs then you will want to go with a MicroSoft solution.
Now for general programming.
The big four are C, C++, Java, and C#. For new application programming; Java and C#. There are many smaller languages that have had their moment of hype and real work is being done in them, but very likely none of those mentioned so far is likely to become the next big thing.
If you decide you want to learn C# or Java, some things to consider:
Microsoft dominates the desktop and small business market.
C# copied and in some ways improved upon the Java language
Visual Studio is great
Microsoft builds most everything you need so there is little choice, but fewer choices simplifies your choice.
Microsoft dominates (compared to Java) the consumer stock charting/trading application market.
Do you use a Windows PC? Do you love Microsoft products?
Java dominates in large corporations, the server side (web development) and mobile phones
NetBeans and Eclipse are great IDEs and free
Java is open source
There are a huge number of open source libraries to do most anything
Java really is cross platform
There is a huge community of Java developers
Java dominates the corporate trading/analysis application market. I know that there is more in C++, but new development for many years now has been dominated by Java.
Do you use a Mac or Linux PC? Do you hate MicroSoft?
Compared to C/C++ Java (and I assume C#)
Java is slower to start up
Java takes more memory
When running, after the hot-spot compiler optimizes the code, Java is slightly faster in some cases and slightly slower in other cases. This continuously moves in Java's favor.
If you are going to do low level programming, use C
When I programmed in VC++ nothing was free or open source. In Java everything I have ever used was free and open source.
Good luck.