C++, Visual C++ 6, Visual C++.net, C#

Discussion in 'Trading Software' started by jerryz, Oct 1, 2005.

  1. Let me do a disambiguation, there is sufficient difference between Computere Science and Software Engineering, although they are often confused with each other. SE is focused on constructing ("engineering") flexible, scalable, extensible software systems. Computer Science, as an academic endeaver ("science"), is focused on improving or solving individual computer algorithm related problems. The central problem surrounding SE is a "system", the central problem surrounding CS is a "problem", not a system.

    There are plenty of computer scientists that don't know how to construct a system, and that's perfectly reasonable, no different from an organizational behavior research scientist in Business School have no idea how to parse a balance sheet. They would rather focuse on the mathematical properties of fuzzy logic theory, that's their focus, on their particular problem area (formal logic theories).

    What most high-end CS undergrad and especially grad programs teach a student is how to be a "computer scientist", which is why a graduate, while perfectly capable of proving NP-Completeness, and proving language semantic properties, does not know to construct a "scalable" system. Is that a flaw? I am not certain, since the Charter of the EECS program in MIT, CS in Stanford, etc, are not to produce "programmers", they are to produce "computer scientists". The hiring firms just need to be keenly aware of the type of talents they are hiring, that's all. Using a pure theorist in a pure-coding environment, of course it won't work out, leading to plenty of "snickering about graduates from MIT / Standard / etc can't program". But I have seen computer theorists make incredible quant modeler developers, being their formal, theoretical, and yet can translate models to prototype code.

    From a personal point of view, I like Lisp, I did AI (knowledge representation and formal reasoning). I was CS student council and then gradudate student union president, so this type of debate comes up very often. Usually there are plenty of freshmen (or women) comes in, expecting how to "program", instead faces a class in discrete mathematics, and wondering what is going on.

    Rufus
     
    #91     Oct 8, 2005
  2. In the purest sense, you are right that CS is specialized blend of mathematics, but that's no different from calling theoretical physical mathematics as well.

    I spent sometime in academia, went through the "publish or perish" crunch, etc. It is a trade-off between academic and industry, in my opinion. Academia enables one to work on their own interesting problems, with no deadlines, no significant progress reports (other than the occasional grant progress stuff). It is liberating, in my opinion, to be away from the daily grind. In the industry world, there are deadlines, constant monitoring, and substantially less freedom to work on just the "interesting problems".

    The other statistics is that around 60%+ of top CS program graduates ended up going to grad school, so from that perspective, having a good theoretical basis is critical, otherwise the whole concept of "research" will be lost on them, without theorem proving (which is what I did for 3 years of my life) background, it would be difficult.

    Yes, marketability will be a problem, but that's "on-the-job" training. I agree that there are times that the Top CS schools teachs too much theory, little practice. But when I tried to create an undergrad elective in "Software Architecture", I found it very difficult to teach concepts of large-system to completely "green" students, students that have not seen code more than 10k.
     
    #92     Oct 8, 2005
  3. Yes so did I: Frankly, it only proved to show me that academia really has a culture that is in many ways, anti-intellectual.

    Yes at theoretical centric schools most students do go to grad school but this is primarily because there is no employement otherwise. Hopefully the students at these places realize that they will need to pursue the applied aspects on their own, through employement, in order to demonstrate marketable skills - without a phd, postdoc, and large portolio of published papers.

    Few companies or projects offer on the job training - this may change over the next few years in the US due to demographics, or it may not dure to immigration/outsourcing.

    I think that there is a direct path towwards teaching anyone methods and concepts for dealing with large blocks of code: that is approach it simply as an automation project where the students are expected to automate as near to 100% of the entire code writing process as possible: there would be a large amount of science / research involved in this endeavor. If a car can be automated to run on the road - stanfords recent 500K effort - , then we are seconds away from automating out a huge number of software programmers, architects, and engineers.
     
    #93     Oct 10, 2005
  4. Hi. Could anyone here versed in VB.net help me out?

    I moved my project from vb6 to .net and can't solve this bug. I attached this vb system to the Genesis API and after starting the program and getting it to retrieve level 1 quotes for about 1.5 mintues, it then aborts and gives me this message.

    A first chance exception of type 'System.NullReferenceException' occurred in system.windows.forms.dll
    Additional information: Object reference not set to an instance of an object.


    In vb 6, it normally takes me to the offending line but in .net it just has a dialogue box showing above message. I tried to set the debug to take me to the bad line and it takes me to the first line of the program which is

    Public Class Form1

    Anyone ? Thanks in advance.
     
    #94     Oct 20, 2005
  5. missing constructor destructor logic .....
     
    #95     Oct 20, 2005
  6. Thanks for the heads up. I guess I have a lot more C++ related reading to do for I have no clue what constructor,destructor are. Sounds like Japanese robot cartoons.. LOL

    Can you explain to me though why the program loads, and works for 2 minutes then appends? i.e. retrieves level 1 quotes and puts it in an array?

    Most of the pgroams I do either works off the bat or does not even load.? Thanks again.

    BTW under the watch window the error said "Form1 is a type and can't be used in an expression. "

    I can't find anywhere in the code where form1 was used in an expression such as form1=....
     
    #96     Oct 20, 2005
  7. Typical problem: program loads, runs and then at some point bombs .... this usually happens when you hit the call to some type of object that was never properly instantiated . Usually the coder never tested for teh existance of the object before attempting to use it .... common problem and thats my guess on what is wrong. .... its just a guess.
     
    #97     Oct 20, 2005
  8. cmaxb

    cmaxb

    output a message to console at each stage of program execution. Keep drilling down till you find the exact line it bombs out. Debugging the old-fashioned way.
     
    #98     Oct 20, 2005
  9. bpatrick

    bpatrick

    Is C# dot net faster than VB dot net ?
     
    #99     Oct 21, 2005
  10. algoa456

    algoa456

    The speed is about the same: under the covers both languages are executed against a virtual engine called the Common Language Runtime (CLR). Very much in the same way that Java uses a Java Virtual Machine (JVM)

    Some of the underlying structures of C# are more efficient than the old VB model, but on the other hand VB has been optimized.

    So it would be difficult to say without a formal benchmark. And anyway that will vary depending on the problem the code is trying to solve.

    C++ being compiled has an edge, but the edge is less and less since these virtual machines use Just In Time (JIT) algorithms for execution.
     
    #100     Oct 22, 2005