Best Programming Language

Discussion in 'Automated Trading' started by Masterchanger, Jun 12, 2009.

  1. Can you program in Jive?
     
    #11     Jun 12, 2009
  2. jprad

    jprad

    Then you should beg your differences with Microsoft:

    "C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework."

    http://msdn.microsoft.com/en-us/library/z1zx9t92.aspx
     
    #12     Jun 12, 2009
  3. MGB

    MGB

    Interesting... To me, Smalltalk is object-oriented while C# is not.

    Thanks for correcting me, according to Microsoft's viewpoint :)

    I would've said... "C# is an elegant and type-safe language that enables developers to build a variety of secure and robust applications that run on the .NET Framework."
     
    #13     Jun 12, 2009
  4. jprad

    jprad

    Not to be rude, but it sounds like you don't understand what an object-oriented language is...

    From the same web page:

    "As an object-oriented language, C# supports the concepts of encapsulation, inheritance, and polymorphism. All variables and methods, including the Main method, the application's entry point, are encapsulated within class definitions. A class may inherit directly from one parent class, but it may implement any number of interfaces. Methods that override virtual methods in a parent class require the override keyword as a way to avoid accidental redefinition. In C#, a struct is like a lightweight class; it is a stack-allocated type that can implement interfaces but does not support inheritance."
     
    #14     Jun 12, 2009
  5. MGB

    MGB

    No, you're not being rude. I just have a different idea of what object-oriented means. I don't always agree with everything Microsoft says.

    Although they say, "C# supports the concepts of encapsulation, inheritance, and polymorphism," and that is true. You're not FORCED to program using encapsulation, inheritance, and polymorphism. Whereas, with Smalltalk, no matter what you do, you'll end up with object-oriented code.

    Another example, Microsoft would say that DOS is an operating system whereas I do not. DOS is not an operating system. It is a fancy file loader.

    Nevertheless, C# is a great language and it is the language I use everyday. Microsoft's .NET Foundation Classes is 100x better than ATL or STL.

    Back to the original poster request... The key thing to learn is... Data structures (arrays, lists, etc.)... Conditional Control (For, While, If, etc.)... And the overall approach to organizing code that is readable and maintainable.

    You can download Visual Studio Express for free from Microsoft, http://www.microsoft.com/express/product/default.aspx
     
    #15     Jun 12, 2009
  6. nsideus

    nsideus

    I can't tell if you're being sarcastic or not.

    I meant VB and any derivations of VB. It may be good for a non-programmer to interface with certain applications, but I don't know of any formal programming educational programs that encourage the use of VB.

    I'm a programmer at my day job in a non-financial setting and I use C++ over any other language if I can on the platform I'm targeting. C# is too bloated and unportable and Java is too difficult to optimize.

    I'm not an expert on the automated trading scene but I don't know of any platforms that don't have a C/C++ API. That means less headaches if you want to run on different brokers/software.
     
    #16     Jun 12, 2009
  7. Craig66

    Craig66

    Isn't that like saying 'Bananas is 100x better than Tigers or Robots'?

    Anyway I use C++ to maintain portability, my code base will compile to a NT service or a UNIX daemon, with the only differences being the startup code (fork vs. NT service API garbage). C++ however has a steep learning curve, C# is probably better for the beginner.
     
    #17     Jun 12, 2009
  8. MGB

    MGB

    Sorta ;)
     
    #18     Jun 12, 2009
  9. Wulfrede

    Wulfrede

    I never post, but I had to this time.

    C# does not force you to program with polymorphism/inheritance/etc. and thus is not object-oriented?

    Uh. Practically every type that you use in C# is derived from a base class called "Object". Honest.

    QED.

    There are lots of other reasons why the poster is wrong. For example, the main program is in itself an object and, if he wants to use .Net libraries, then it's simply impossible to do so without using at least some sort of indirection like polymorphism, delegates, etc.

    At any rate, just my $2 worth for those who are confused whether C# is OO.

    /Wulfrede
     
    #19     Jun 12, 2009
  10. that's way to hard for a beginner, turkey.
     
    #20     Jun 12, 2009