4 ms·
Ok -- but I don't think anyone legitimately holds on to C++ as an example of a great, well-designed language. C++ has existed for a long time, and the corporate
by exelius 11y ago
Ok -- but I don't think anyone legitimately holds on to C++ as an example of a great, well-designed language. C++ has existed for a long time, and the corporate world has increasingly moved away from C++ because it doesn't offer enough object-oriented goodness while tying you down to a certain memory management style with a difficult to use typing/inheritance system.
Pick any modern OO language: Java, Ruby, Swift, hell, even Python. They are all far easier languages to write in than C++, have much better library support, and don't make you dive into memory management hell.
IMO C++ is syntactically very difficult, and the language too far out of touch with the architecture patterns and styles used by programmers today.
- LanguageGamer 11y agoC++ is a mess, but Java, Ruby, Swift and Python aren't viable options if your software is performance sensitive.
- austinsharp 11y agoJava is pretty viable if you are performance sensitive but not HFT or video game performance sensitive. It's certainly far ahead of Ruby and Python, at least. It's not as fast as C++, but C++ isn't as fast as assembly, either. They're at different points on the tradeoff curve - HOW performance sensitive are you? It's not a binary choice.
- pkolaczk 11y agoThere are companies using Java for HFT now as well.
- rootlocus 11y agoI'm actually working for such a company. Peter Lawrey is a renowned advocate for efficient use of java in HFT.
- exelius 11y agoJava is totally viable for nearly anything; it just doesn't work well for games because they require low-level access to graphics hardware (which is definitely not something Java supports). Also, the state of the JVM on the desktop is kind of sad - also from the graphics perspective. But Java is probably the most performant server-side language out there at this point (if you exempt the masochists who write network code in C/C++).
- albinofrenchy 11y agoJava isn't viable for anything that requires low latencies and predictable throughput. Really, no GC language is.
- pkolaczk 11y agoFor high performance server-side software, Java is definitely a viable option nowadays.
- en4bz 11y ago> IMO C++ is syntactically very difficult Are you sure you don't mean semantically difficult. With the exception of a few dark corners (meta programming, function pointers) the syntax is basically the same as another language. Learning that && denotes an rvalue reference is easy. Trying to understand what that means though is a lot more difficult
- dfox 11y agoActually, C++ syntax is so complex that you cannot use parser generators to parse it as it's grammar is not context-free. There are even some informal proofs that C++'s syntax is undecidable (as is Perl's and Common Lisp's, where it's obvious). C++ semantics is completely another can of worms.
- rootlocus 11y agoVisual Studio has barely implemented a rename refactor into their flagship C++ IDE. Last time I checked, it was still in a sort of 'beta / try at your own risk' stage. Compared to this, IntelliJ IDEA is light years ahead.
- autoreleasepool 11y agoPick 2 - great idea - great design - great execution I think C++ was great idea that was masterfully executed, but suffers from a chaotic overall design.