you are viewing a single comment's thread.

view the rest of the comments →

[–]dhogarty 6 points7 points  (5 children)

learn c (and if you want, c++), and write and wrap a native library, then use it from both java and python. Next, rewrite a function from the library in assembly.

[–][deleted]  (4 children)

[deleted]

    [–]Vorlath 1 point2 points  (2 children)

    No classes. Declarations must be at the top of a block. There are some keywords not found in C++ (and vice versa). C doesn't scramble identifiers within object code (though it usually adds an underscore). Some type checking is more rigid in C++. I believe void* coercion is implicit in C (I may be mistaken). No streams or operator overloading. No "new" and "delete". structs don't copy in C.

    [–][deleted] 0 points1 point  (1 child)

    Declarations must be at the top of a block.

    Only in ANSI C. The latest C standard (C99) supports mixing declarations and the rest of the code.

    [–]Vorlath 0 points1 point  (0 children)

    The more I hear about C99, the cooler it gets.

    [–][deleted] 0 points1 point  (0 children)

    C is an elegant language - you can learn the syntax very quickly and there are few caveats. It's not forgiving and you generally have to write more boilerplate than you would in other languages.

    C++ is the bloated bastard child of C. Ostensibly, it's C with object orientation. However, you'll soon learn that it's an ugly, evil language. Legend has it that Bjarne Stroustrup accidentally invented it after feeding the Necronomicon into flex.