To what end is your query? If you’re working in a finance job, learn what your employer uses. If you want to program for your own fun, pick up an interpreted language (Python is great for many reasons, in part because it’s also the only system scripting language mentioned above). If you’re trying to leverage knowledge of a programming language to get a job, well most employers will discount self-taught programming about 99% – so just skip the effort. If you want to make Excel sit and roll over and do neat tricks, learn VBA. If you want to learn programming principles, then any of the reasonable OO languages mentioned above (c++, c#, java) are equivalent – what’s more important is the nature of the text/instruction you receive in OOA and OOP. If you’re the noodling type, pick up Scheme. Python is a slightly twisted OO language, but I haven’t seen many good first-time-OO-programming texts built around it. The biggest mistake you could do here is try to learn programming principles from VBA – it’s the worst of many bad worlds. Etc … so what’s your goal?
R is free & good if you want to do statistical work, the only issue is that documentation is very spotty, so you can spend a lot of time getting very little accomplished. There are some books out there that might speed up the learning curve a bit (I wish I had taken the time to buy one when I used R a lot). There are also a huge number of libraries available for R - again, the main issue with them is lack of documentation. I’d recommend looking into scilab if you want something free though, as it would probably facilitate learning matlab the best & it seems like that is in demand these days. If you are looking at getting an MBA or other advanced degree down the road, knowing any of the above would probably help you out if you end up taking taking statistics or finance coursework past introductory levels. “C’mon - C++ is by definition object-oriented.” Actually, C# is slightly more “OO” than is C++. C++ simply supports OOP, but does not force it like a language such as smalltalk does, thus it is a hybrid. C# is more “OO” in that like java, it does not support global functions/variables which means you are forced to use “OO” concepts to at least a minimal degree (i.e. every function and variable must belong to an object). Also, C# has way more than 90% of the speed of C++…once you hit the jit, its all native code anyway, and performance will be dictated by the quality of the code & compiler, not the language used to create it.
C++ is a joke. 1) Barely any open source code. (Concurrent libraries anyone) 2) Memory leaks are VERY EASY to produce 3) VERY non portable (Takes a lot of effort to make your code both Linux and Windows compatible) 4) Performance only SLIGHTLY better than Java, and is insignificant for any serios computations as they are done on a grid anyway. Besides, any performance advantage is wiped out with a memory leak (which is almost a certainty, and please dont rave about quantify) C# needs a good Linux runtime before it will be taken seriosly. Delphi (Object oriented Pascal) is ummm VBA? Overall Java is by far the most superior language right now.
I got into Java because I wanted something platform independent, that I could write on my mac and run on windows, and maybe some handheld devices, and the last computer language I truly learned was Pascal, which was not Object Oriented (at least not when I learned it). The fact that it was free to get a compiler and an IDE, and I didn’t have to worry too much about the guts of the computer to do it, was a significant consideration too, when I made the decision, although the free part is not as unique to Java today as it was then. I figured I’d always get around to learning C++, but still haven’t. I do like how Java is pretty much entirely OO (with the possible exception of primitive numeric types, and that weird thing with strings being permanently stored).
comp_sci_kid Wrote: ------------------------------------------------------- > C++ is a joke. > > 1) Barely any open source code. (Concurrent > libraries anyone) > 2) Memory leaks are VERY EASY to produce > 3) VERY non portable (Takes a lot of effort to > make your code both Linux and Windows compatible) > 4) Performance only SLIGHTLY better than Java, and > is insignificant for any serios computations as > they are done on a grid anyway. Besides, any > performance advantage is wiped out with a memory > leak (which is almost a certainty, and please dont > rave about quantify) > > C# needs a good Linux runtime before it will be > taken seriosly. > > Delphi (Object oriented Pascal) is ummm VBA? > They aren’t close in any way. In particular, decent Delphi program is object oriented and VBA isn’t at all. The problem with Delphi now is that it was taken over by CodeSource who messed it up. Anyway, I can write any non-trivial program in Delphi to run significantly faster than you can with Java. > Overall Java is by far the most superior language > right now. Anyway, what fun is a language if it is useless for hacking, writing malicious code, etc.?
Oh, so Delphi is Pascal converted to OO? I’ll take a look. VBA has some OO add-ons (object modules), but it’s clearly a bit of a quick-n-dirty solution. The main advantage of VBA is that it can be used to extend MS Office applications quickly and easily, but it is sufficiently unstructured that one can develop bad programming habits easily.
I wouldn’t recommend that - I use Delphi because I like Pascal and have used Delphi since v.1 (it’s now like v 11 or something). But a decent installation of Delphi costs way more than all of Visual Studio and for that you get: a) A much smaller user community b) Many fewer references, books, etc c) Fewer employers using it d) A UI with some nasty bugs in it that CodeSource doesn’t seem to be able to fix. e) For some crazy reason, Win32 Delphi programming environment runs on the CLR which is disturbing to me. Java, yeah, yeah, Microsoft runs the world and programs in Visual Studio. Pretty much you should too.
Geeky Trivia to go in a geeky thread … somehow I got distracted into looking at chemistry and physics constants… Here it is: Avogadro’s number in binary starts out 11111111000011000011000… and is therefore closely approximated by a power of two, namely 2^79 = 6.0446 × 10^23, about 0.4% high. A random number has about a one-in-a-hundred chance of being that close to a power of two.
darn it, chad, secret to the next great trading algo wasted on AF
JoeyDVivre Wrote: ------------------------------------------------------- > Isura Wrote: > -------------------------------------------------- > ----- > > C/C++ doesn’t seem too useful to finance. I > guess > > it is more tradition. C# has about 90% of C++ > > speed and it is a lot cleaner and object > oriented. > > > C’mon - C++ is by definition object-oriented. C# > has 90% of C++ speed if you are doing high-level > stuff maybe but you have to deal with .NET which > totally, completely sucks and makes me feel > impotent and useless. I don’t know how anybody > lives with Java and C# programming. I spend my > life with those going, well, I could do this in > C++ or Delphi… It’s really a question of productivity. I’m a lot more productive with C#. What are some examples of finance apps that can be done in C++ but not as well in C#? Also it’s not really fair to compare C# to Java, C# has a more robust platform and library.
Isura Wrote: ------------------------------------------------------- > JoeyDVivre Wrote: > -------------------------------------------------- > ----- > > Isura Wrote: > > > -------------------------------------------------- > > > ----- > > > C/C++ doesn’t seem too useful to finance. I > > guess > > > it is more tradition. C# has about 90% of C++ > > > speed and it is a lot cleaner and object > > oriented. > > > > > > C’mon - C++ is by definition object-oriented. > C# > > has 90% of C++ speed if you are doing > high-level > > stuff maybe but you have to deal with .NET > which > > totally, completely sucks and makes me feel > > impotent and useless. I don’t know how anybody > > lives with Java and C# programming. I spend my > > life with those going, well, I could do this in > > C++ or Delphi… > > It’s really a question of productivity. I’m a lot > more productive with C#. What are some examples of > finance apps that can be done in C++ but not as > well in C#? Also it’s not really fair to compare > C# to Java, C# has a more robust platform and > library. C# has more robust platform and library then Java??? Are you kidding me? Yes, you are kidding. Case closed
comp_sci_kid Wrote: ------------------------------------------------------- > Isura Wrote: > -------------------------------------------------- > ----- > > JoeyDVivre Wrote: > > > -------------------------------------------------- > > > ----- > > > Isura Wrote: > > > > > > -------------------------------------------------- > > > > > > ----- > > > > C/C++ doesn’t seem too useful to finance. I > > > guess > > > > it is more tradition. C# has about 90% of > C++ > > > > speed and it is a lot cleaner and object > > > oriented. > > > > > > > > > C’mon - C++ is by definition object-oriented. > > > C# > > > has 90% of C++ speed if you are doing > > high-level > > > stuff maybe but you have to deal with .NET > > which > > > totally, completely sucks and makes me feel > > > impotent and useless. I don’t know how > anybody > > > lives with Java and C# programming. I spend > my > > > life with those going, well, I could do this > in > > > C++ or Delphi… > > > > It’s really a question of productivity. I’m a > lot > > more productive with C#. What are some examples > of > > finance apps that can be done in C++ but not as > > well in C#? Also it’s not really fair to > compare > > C# to Java, C# has a more robust platform and > > library. > > > C# has more robust platform and library then > Java??? Are you kidding me? > Yes, you are kidding. > > Case closed Seriously, the .net libraries are like a poor mans rip off of those available with java. For a pure programming environment, nothing is close to java right now. Its funny how visual studio has become more & more like eclipse with each release.
mh7 Wrote: ------------------------------------------------------- > R is free & good if you want to do statistical > work, the only issue is that documentation is very > spotty, so you can spend a lot of time getting > very little accomplished. There are some books > out there that might speed up the learning curve a > bit (I wish I had taken the time to buy one when I > used R a lot). There are also a huge number of > libraries available for R - again, the main issue > with them is lack of documentation. > You can download R from: http://www.r-project.org/ In the left pane, click on Other. On the displayed page, click on Contributed Documentation, where you will find many guides to R. I have started with The R Guide” (version 2.3) by Jason Owen to learn my way into R. http://cran.r-project.org/doc/contrib/Owen-TheRGuide.pdf