Vesa local bus was kind of like AGP in that people mostly used it for graphics cards. PCs back then still had ISA slots for everything else.
Since these couldn't autoconfigure back then you had to mess with IRQs and shit. I hated that after having come from the Amiga. Thank God they fixed that mess.
You're wrong of course. Most people used their names because they couldn't change them. The UNIX sysadmins picked them. But there were plenty of anonymous names back then like Kibo.
No. My point is if you can have that kind of bloat you are better off using a higher level language. C++ is a jack of all trades master of none.
Object-oriented programming is abused. Too often it is just a poor fit to the problem and you are better off using a procedural approach. So called state of the art object-oriented code is often full of anti-patterns and code obfuscation in an attempt to coat in objects something which was better off implemented without objects.
I'll give you an example. You want a single variable for something. You implement a singleton after reading some Design Patterns book. So why did you not use a static variable declaration instead? You could have used one line of code instead you used a steaming pile of dung to achieve the same.
C++'s object orientation features aren't even good either. They come from a time when the models weren't well established and its bloated like heck. Even Java's model is less than perfect. Java interfaces are a great idea and quite useful but object inheritance is a waste of time in 99% of cases. To do something like interfaces in C++ requires jumping through so many hoops you start wondering why you are using it to begin with.
I like macro programming and code generation but C++ templates are one of the worst implementations of it around. LISP macros are a lot better than C++ templates for example. Other languages have actual facilities for code generation. C++ templates offer little over what the rudimentary C preprocessor can do.
Uh... You are kind of overestimating Jewish contributions to those programs. While it is true that Edward Teller was Jewish and Enrico Fermi left Italy because his wife was Jewish a lot of the work was done by other people. As for the space programs in both the Soviet Union and the USA a lot of contributions came from former Nazi scientists rather than Jews.
In the end the war was unwinnable because the Nazis simply did not have neither the population nor the production capacity. Germany lost WWII before nuclear weapons were actually available. So they only were actually used in Japan. As for the Germans they had like three teams working in nuclear weapons problems and just because Heisenbergs, the most well funded, was crap does not mean all of them were. For example one of those other small German nuclear teams got shipped to the Soviet Union and finished the uranium centrifuge separation process there.
Great. So you think I'm a pure Python or high-level language programmer. The other guy thought I was a pure C programmer. You're both wrong. Plus I have probably programmed more C++ code than both of you combined.
When you use exceptions the compiler also disables a lot of optimizations it could use if you had used the standard C method of returning the error state on the function return value like inlining. With inlining and control-flow optimizations the jumps can be simplified and reduced dramatically. No such luck with the exceptions code which in addition will cause more code bloat and cache misses.
When you have hard real-time needs like in operating system design and drivers the last thing you want to add is code that takes a lot of cycles to process and even worse that can take an unknown amount of time to finish. That's exception handling for you.
You're actually wrong. I do most of my programming in Java since most of my work now is in server side parallel code. However I would never make the mistake of calling it a systems language nor would I add exceptions to a system language. I have some experience with compiler and JIT design and I have programmed in assembly enough to know that exceptions are slow. One of the guys here described it well enough. Most implementations use setjmp or the equivalent. The rest of you just don't have a clue.
I have programmed in Assembly, C, C++, C#, Caml, Java, LISP, Python, and a lot of languages you probably never heard about. I mostly use Java, C, and Python. Python when performance doesn't matter and I just need to get something working in a short amount of time. C when performance matters. Java when performance kind of matters but not enough to use C. C++ is kind of useful for game programming but for everything else it is a waste of time.
The central organizing idea is you keep piling more and more crap on C that you think might be useful for whatever 1% use case you are interested on but still does not cause enough of a performance hit for systems programming. C++ is the kitchen sink of programming languages. It is the Perl of systems programming.
Most of the sugar you're talking about is overrated and nearly all of it causes performance degradation. If performance does not matter why are you using C anyway?
Namespaces... Mostly useless. Just use longer names. Reflection requires extra storage space to store identifiers and type information. i.e. the things you strip from C binaries with debugging symbols on. All exceptions implementations cause a performance hit. You are better off just returning an error value on each function call and checking it.Objects are overrated. Except for some graphics programing I find that paradigm to be mostly useless for software development.
Vesa local bus was kind of like AGP in that people mostly used it for graphics cards. PCs back then still had ISA slots for everything else.
Since these couldn't autoconfigure back then you had to mess with IRQs and shit. I hated that after having come from the Amiga. Thank God they fixed that mess.
I just use sort of CMS pick some template and off I go.
They're the same e-mail address if you follow the RFC but Google, and some other services, allows both names to exist as separate users.
You're wrong of course. Most people used their names because they couldn't change them. The UNIX sysadmins picked them. But there were plenty of anonymous names back then like Kibo.
If Google asks for my mobile phone number again I'm going to hit them with a wet noodle.
Really? I thought you were named René Boot and that was your Unix lusername.
Depending on what you use MS Office for LibreOffice can be a viable replacement. I certainly know a lot of people who switched to it even in Windows.
No. My point is if you can have that kind of bloat you are better off using a higher level language. C++ is a jack of all trades master of none.
Object-oriented programming is abused. Too often it is just a poor fit to the problem and you are better off using a procedural approach. So called state of the art object-oriented code is often full of anti-patterns and code obfuscation in an attempt to coat in objects something which was better off implemented without objects.
I'll give you an example. You want a single variable for something. You implement a singleton after reading some Design Patterns book. So why did you not use a static variable declaration instead? You could have used one line of code instead you used a steaming pile of dung to achieve the same.
C++'s object orientation features aren't even good either. They come from a time when the models weren't well established and its bloated like heck. Even Java's model is less than perfect. Java interfaces are a great idea and quite useful but object inheritance is a waste of time in 99% of cases. To do something like interfaces in C++ requires jumping through so many hoops you start wondering why you are using it to begin with.
I like macro programming and code generation but C++ templates are one of the worst implementations of it around. LISP macros are a lot better than C++ templates for example. Other languages have actual facilities for code generation. C++ templates offer little over what the rudimentary C preprocessor can do.
C++ is crap.
I guess we should stop using hydroelectric dams as well because those are vulnerable to terrorist attacks too.
Uh... You are kind of overestimating Jewish contributions to those programs. While it is true that Edward Teller was Jewish and Enrico Fermi left Italy because his wife was Jewish a lot of the work was done by other people. As for the space programs in both the Soviet Union and the USA a lot of contributions came from former Nazi scientists rather than Jews.
In the end the war was unwinnable because the Nazis simply did not have neither the population nor the production capacity. Germany lost WWII before nuclear weapons were actually available. So they only were actually used in Japan. As for the Germans they had like three teams working in nuclear weapons problems and just because Heisenbergs, the most well funded, was crap does not mean all of them were. For example one of those other small German nuclear teams got shipped to the Soviet Union and finished the uranium centrifuge separation process there.
I see. You haven't read the Old Testament enough.
Well these Death Stars don't have the exhaust port design flaw.
Great. So you think I'm a pure Python or high-level language programmer. The other guy thought I was a pure C programmer. You're both wrong. Plus I have probably programmed more C++ code than both of you combined.
When you use exceptions the compiler also disables a lot of optimizations it could use if you had used the standard C method of returning the error state on the function return value like inlining. With inlining and control-flow optimizations the jumps can be simplified and reduced dramatically. No such luck with the exceptions code which in addition will cause more code bloat and cache misses.
Now get off of my lawn.
When you have hard real-time needs like in operating system design and drivers the last thing you want to add is code that takes a lot of cycles to process and even worse that can take an unknown amount of time to finish. That's exception handling for you.
You're actually wrong. I do most of my programming in Java since most of my work now is in server side parallel code. However I would never make the mistake of calling it a systems language nor would I add exceptions to a system language. I have some experience with compiler and JIT design and I have programmed in assembly enough to know that exceptions are slow. One of the guys here described it well enough. Most implementations use setjmp or the equivalent. The rest of you just don't have a clue.
I have programmed in Assembly, C, C++, C#, Caml, Java, LISP, Python, and a lot of languages you probably never heard about. I mostly use Java, C, and Python. Python when performance doesn't matter and I just need to get something working in a short amount of time. C when performance matters. Java when performance kind of matters but not enough to use C. C++ is kind of useful for game programming but for everything else it is a waste of time.
Most of the stuff Sophocles wrote isn't around anymore either. He supposedly wrote 123 plays of which 7 survived.
I guess the guy who downmodded me never tried programming in any other language. Try Python, LISP, Java, C# and then say what I wrote isn't true.
C compatibility is the least of C++s problems.
The central organizing idea is you keep piling more and more crap on C that you think might be useful for whatever 1% use case you are interested on but still does not cause enough of a performance hit for systems programming. C++ is the kitchen sink of programming languages. It is the Perl of systems programming.
Most of what's in the C++ spec is superfluous and what is even worse it is poorly implemented.
Most of the sugar you're talking about is overrated and nearly all of it causes performance degradation. If performance does not matter why are you using C anyway?
Namespaces... Mostly useless. Just use longer names. Reflection requires extra storage space to store identifiers and type information. i.e. the things you strip from C binaries with debugging symbols on. All exceptions implementations cause a performance hit. You are better off just returning an error value on each function call and checking it.Objects are overrated. Except for some graphics programing I find that paradigm to be mostly useless for software development.
Beyond Earth is trash. Avoid it like the plague.
You only need like one or two Death Stars to win the game though.
You're talking about Ryan Gordon I guess.