Which language to use (Novice Programmer)

Discussion in 'Automated Trading' started by H2O, Jan 16, 2006.

  1. Chadwick

    Chadwick



    Sorry, over the years I've learned that it really does little good to argue with those who regurgitate nonsense. I've wasted too much time pointing out the fallaciousness in the arguments. I'll go ahead and do the same to yours...

    Can't argue there, but as always, limiting your criteria for a platform is about as intelligent as using one indicator for a trading signal. I've worked with C, C++, Java, and now .NET for almost 15 years cumulatively, and I've not had to pay for anything Microsoft since I started.

    And since you don't seem to know anything about the .NET community let me share a little fact: You can download the .NET SDK for free. You can get IDEs, same as Eclipse, for free. You are NOT in any way shape or form limited to Visual Studio .NET. That is the *only* commercial aspect of .NET as a development platform; the runtime, SDK, etc. is absolutely free.

    http://msdn.microsoft.com/netframework/
    http://www.icsharpcode.net/OpenSource/SD/Default.aspx

    I've used SharpDevelop in the past, and it's a solid IDE. There are also many Open Source implementations of the .NET CLI specification if that interested you.

    The rest of the recommendations are just silly. The OP clearly stated he is a novice programmer, and you want to suggest he go pick up Linux and learn C++. As a professional developer I unfortunately have more to consider for a proposed solution than I own little silly affinities, and in this case such a suggest is as malformed as the solutions themselves. One has to always consider the context. Would I suggest a solution in C++ to a client that has 20 in-house VB developers? Be serious.

    The case is very clear: Learn .NET. If he said he wanted to be a professional developer I'd say learn as much C as possible, C++, Java, and .NET. Given that his aspirations are to build a trading platform and not to participate in forums talking about which language is superior it's quite clear the most important interest is time-to-market, reuse of existing knowledge, etc.

    Also, I wanted to apologize. I mean not to offend or attack anyone; rather, I just want to level the lack of objectivity in the replies. If you felt attacked then please accept my apologies.
     
    #31     Jan 18, 2006
  2. Currently MS has a free tutorial on the site for C#.
    http://msdn.microsoft.com/vstudio/express/default.aspx
    I just started going through it and it starts with the basics. It's done by a guy who has a site with all kinds of tutorials starting you from knowing nothing. MS is also giving Visual Studio Express free for a year so you can play with it while you learn.
     
    #32     Jan 18, 2006
  3. nitro

    nitro

    R,

    1) Do not program in any language but original C when you start out. Get the original version of K&R book and read it from cover to cover as many times as needed until you get it. My guess is it will take you one week.

    2) Do not use the MSFT visual environment at the beginning. First get a unix terminal and learn to build programs using the command line and "make". If you can, FROM THE VERY BEGINNING, learn to use a Unit Testing paradigm and software. But if you don't, since you are not planning on developing for a living, it is ok if you don't use a unit testing software. But definitely do not start with a GUI - use a text editor and "make" using just plain old C. If you can, FROM THE VERY BEGINNING, learn to use a source control program like CVS or SVN.

    3) Once you have those basics, go straight to C# on MSFT Visual Studio.

    You will have a decent foundation

    Best of luck,

    nitro
     
    #33     Jan 18, 2006
  4. Nitro,
    What is the K&R book? I'd be interested in starting at step one to learn this programming stuff.
    Thanks
     
    #34     Jan 18, 2006
  5. Chadwick

    Chadwick

    The actual title is The C Programming Language by Brian Kernighan and Dennis Ritchie. It's been called K&R by those in the C development community for many years, and it's widely regarded as one of the better texts on C. That said, it's a little terse for a lot of people, and I think C Primer Plus is actually a better book for those with little to no prior development experience.

    Nitro's advice is sound, and it's not unlike my start as well; however, if you are going to tackle C you need to have the mindset of a long-term investment in time. With VB, Java, .NET, and perhaps the likes of Python you can see your results fairly quickly. It's more so when you couple Java or .NET with IDEs like Eclipse or Visual Studio .NET. With C you'll not likely produce anything of personal value for quite some time, and to get to the point where you have an actual understanding of C will require many months, if not years.

    So, again, if your goal is to be a solid developer and potentially build professional level understanding, then definitely spend at least *some* time learning C. You don't even need to have a profound understanding of it for it to benefit you greatly later. A background in C is becoming far less common these days, but you can never get away from the benefit of its knowledge.

    Good luck.
     
    #35     Jan 18, 2006
  6. #36     Jan 18, 2006
  7. Thanks guys!
     
    #37     Jan 18, 2006
  8. No actually in my 27 years of programming experience including 5 in .Net I have had to pay $soft continuously - the development ools are not free, only the crippled ones are free and the OS and servers are very expensive. Its much like a drug dealer - the first one is free but the rest is not.

    The choice really is clear: if you run a business then you need to consider the risk of vendor lockin and with $soft that risk is extremely high once you start developing systems that require either their OS or their frameworks to run.

    The poster first said they wanted to leverage their Vb knowledge then said no, they were interested in other options. If you have other options then consider the option of not being locked into any particular vendor. I dont know how you achieve this using $softs frameworks and server platforms.

    If you want to leverage you knowledge just use VB . net rather than C#.

    If you have something larger in mind - like the beginnings of a business platform then you need to think and research a bit more about your choices rather than listen to a lot of vacuous claims.
     
    #38     Jan 18, 2006
  9. Very wise, nitro!

    K&R is probably the best book ever written about programming.
    If you need more than a week to read it over a couple of times, it's still OK.
    It strongly depends on what you mean by 'getting it'.
     
    #39     Jan 18, 2006
  10. Chadwick,

    I don't mean to offend or attack you rather, I just want to level the lack of objectivity in your replies. If you feel attacked then please accept my apologies.
    Over the years, you don't seem to have learned anything but regurgitate nonsense.

    If you truly had any experience in these matters you should have learned that anything you touch of M$ puts you on the lazy road of planned obsolescence.
    Making money with using X, Y or Z's language on behalf of a boss or customers is an entirely diffrerent matter.

    If you have to use software to make money in the markets, better get yourself the BEST tools money can buy. To find these, this takes REAL experience.

    Hope this helps,
    nononsense
     
    #40     Jan 18, 2006