C is a better language than any language you care to name.
-
Discuss. I've just read The Unreasonable Effectiveness of C[^] and decided to outsource my ranting response to it
cheers Chris Maunder
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
-
Define "better". /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
Unfortunately, if you don't know it could never be explained to you.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
-
You bet.
Government is not reason; it is not eloquent; it is force. Like fire, it is a dangerous servant and a fearful master. ~ George Washington
Look, a Who tribute band. You better bet your life...
-
D language[^] is better. It combines the simplicity of C and avoids all the kludginess of C++ for the same elegance you see in C#. Plus...no *.H files or #defines !!!! :) Plus garbage collection!
DaveX86 wrote:
Plus garbage collection!
As Is Well Understood and Universally Accepted: "You don't need garbage collection if your code is not garbage!"
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
-
That article is all wrong. The guy assumes that just because a feature exists you are forced to use it. Most expercienced c++ programers are only using a small subset of the language.
And even then, there are 4 sub-languages to C++: - C backward compatibility - C++ - STL - Template meta-programming How you use C++ primarily depends on which one of the sub-languages you are using for that portion of the program.
-
How about
iC
instead? Apple inspired :laugh: -
Look, a Who tribute band. You better bet your life...
Who's next? /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
Unfortunately, if you don't know it could never be explained to you.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
So what's your definition of "better" (as applied to a programming language)? /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
So what's your definition of "better" (as applied to a programming language)? /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
-
Discuss. I've just read The Unreasonable Effectiveness of C[^] and decided to outsource my ranting response to it
cheers Chris Maunder
I agree. C is like a great macro assembler. These days, I prefer C with classes. In other words, mostly C, but using the C++ compiler and RAII and very light weight, thin classes. Above all, it's deterministic. This is the one thing I really dislike about C# and other garbage collected languages. I think it's often abused in C++, where being fancy all too often overrides elegant simplicity.
-
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
<sigh> We're all very impressed. /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
D language[^] is better. It combines the simplicity of C and avoids all the kludginess of C++ for the same elegance you see in C#. Plus...no *.H files or #defines !!!! :) Plus garbage collection!
Garbage collection is a flaw, not a feature. It not only sucks resources, it creates a huge unknown. Some of the most difficult problems I've dealt with were with garbage collection (in one recent case, we never did solve the problem--some the most brilliant engineers I know also failed to solve it. Around the same time, we tracked things back to a lesser known bug in the .NET 4.0 garbage collector.)
-
Discuss. I've just read The Unreasonable Effectiveness of C[^] and decided to outsource my ranting response to it
cheers Chris Maunder
Chris Maunder wrote:
Discuss.
Arrays decay into pointers.[^] X| Or, for more details: C's Biggest Mistake[^]
-
You can write large scale, maintainable code in any language - even assembler! Conversely, you can also write small scale unreadable cr@p in any language (look at QA if you don't believe me) But...as the scale increases, it becomes easier to produce better code in an OOPs language, and harder in a non-OOps languages. It's like designing a car: you need to use powerful tools on a computer these days just to fit everything into the engine bay - you couldn't do it in a reasonable time frame using clay and palette knives!
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
OriginalGriff wrote:
ut...as the scale increases, it becomes easier to produce better code in an OOPs language, and harder in a non-OOps languages
It should be easier, but I've found it often gets much more difficult. Relatively recently I worked on a massive code base in OOP. There was nothing wrong with any single class or even the design, but as a whole, it was almost impossible to follow the whole thing. However, the sections that were pure procedural code or extremely lightweight classes were very easy to follow.
-
Chris Maunder wrote:
Discuss.
Arrays decay into pointers.[^] X| Or, for more details: C's Biggest Mistake[^]
What else would they do? As the article essentially points out, this is known. It's documented. There is no mystery.
-
Discuss. I've just read The Unreasonable Effectiveness of C[^] and decided to outsource my ranting response to it
cheers Chris Maunder
-
OriginalGriff wrote:
ut...as the scale increases, it becomes easier to produce better code in an OOPs language, and harder in a non-OOps languages
It should be easier, but I've found it often gets much more difficult. Relatively recently I worked on a massive code base in OOP. There was nothing wrong with any single class or even the design, but as a whole, it was almost impossible to follow the whole thing. However, the sections that were pure procedural code or extremely lightweight classes were very easy to follow.
Joe Woodbury wrote:
However, the sections that were pure procedural code or extremely lightweight classes were very easy to follow.
I gotta agree with you there. OOP is nice, I like it. But on a massive scale it's like it almost adds too much complexity to track what goes where and really does what. Got nothing against OOP, it helps with clean code. But, I can still write a C program in large scale that's just as maintainable.
Jeremy Falcon
-
DaveX86 wrote:
Plus garbage collection!
As Is Well Understood and Universally Accepted: "You don't need garbage collection if your code is not garbage!"
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"As far as we know, our computer has never had an undetected error." - Weisert
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
W∴ Balboos wrote:
You don't need garbage collection if your code is not garbage!
Awesome!
Jeremy Falcon
-
Garbage collection is a flaw, not a feature. It not only sucks resources, it creates a huge unknown. Some of the most difficult problems I've dealt with were with garbage collection (in one recent case, we never did solve the problem--some the most brilliant engineers I know also failed to solve it. Around the same time, we tracked things back to a lesser known bug in the .NET 4.0 garbage collector.)
-
Discuss. I've just read The Unreasonable Effectiveness of C[^] and decided to outsource my ranting response to it
cheers Chris Maunder