|
Thank you
This is rare in these forums these days.
|
|
|
|
|
I've programmed in both, in fact, I cut my teeth on C++, programmed in it exclusively for over 15 years and I really like the language. But I also have, in more recent years, spent most of my time doing C#, it has much to offer. And I've grown used to they way things are done in C#, so now I find myself wishing C++ would do some things the C# way --sometimes-- and other times, I wish for C# to adopt some C++ isms. Almost sounds like I'm talking about "D". Maybe I should make a "D++" language. We could always use another...
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
C# sure is easier to write and maintain. Every time I've taken a short break from C++ and done only C#, the return to C++ had been a little difficult. Your brain just struggles for a day or two getting used to having to think more. The faster way more responsive apps make up for that though
|
|
|
|
|
Indeed.
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
|
Ew, just Ew.
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
To be honest here, Nish! Assuming the devs are just getting exposed to both the language at the same time. I'm sure C# attracts more. The simplicity of the language and robust .net framework behind the scene makes C# the preferred choice. Having said that, I truly loved every bit of C++ too. My first so many years of programming were only with C++. And I truly loved working with it. There were no complaints except for those unhumanly STL compiler error "messages". & some wired Syntaxes like the static variable "initialization" in Cpp files to name. I understand it's a language feature, but it's still not intuitive.
But once I got into C#, there was no compelling reason for me to try something in C++. And honestly, I never LEARNED C# by reading books or tutorials. One fine day, I simply started coding in C# . I find it's one of the most intuitive language. Only when we talk about performance constraints, I might look back at C++. When I say "C++" , I mean the platform-independant , standard , stroustrup's C++. Microsoft's implementation gives me creeps
Anybody wishing to learn C++ through MS implementation, I'm sure would run away. The arrow marks <^>^ pointing all directions makes the code less readable. To read it (Sample below!) like a love letter, you gotta be a bot like NISH!
emplate<typename Callback>
void ReadString(String^ fileName, Callback func)
{
StorageFolder^ item = KnownFolders::PicturesLibrary;
auto getFileOp = item->GetFileAsync(fileName);
getFileOp->Completed = ref new AsyncOperationCompletedHandler<StorageFile^>
([=](IAsyncOperation<StorageFile^>^ operation, AsyncStatus status)
{
auto storageFile = operation->GetResults();
auto openOp = storageFile->OpenAsync(FileAccessMode::Read);
openOp->Completed =
ref new AsyncOperationCompletedHandler <IRandomAccessStream^>
([=](IAsyncOperation<IRandomAccessStream^>^ operation, AsyncStatus status)
{
auto istream = operation->GetResults();
auto reader = ref new DataReader(istream);
auto loadOp = reader->LoadAsync(istream->Size);
loadOp->Completed = ref new AsyncOperationCompletedHandler<UINT>
([=](IAsyncOperation<UINT>^ operation, AsyncStatus status)
{
auto bytesRead = operation->GetResults();
auto str = reader->ReadString(bytesRead);
func(str);
});
});
});
}
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
To my eyes, that code looks more readable than the template/macro mess that is the stdlib header files on VS.
|
|
|
|
|
Well that was a quick n bad example. When you look at a real project, it seriously burns your eyes.
But like you said, nothing beats Macros & templates in C++ ^^
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
That would help, but it's also things like writing header files to define the class structure and the a separate cpp file for the implementation. Seems archaic.
And then of course, the huge issue -- having to remember to delete objects! Having automated garbage collection is just so nice.
Marc
|
|
|
|
|
Marc Clifton wrote: And then of course, the huge issue -- having to remember to delete objects! Having automated garbage collection is just so nice
Well, once you get used to unique_ptr and shared_ptr, that should take care of that issue
|
|
|
|
|
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
Nish Sivakumar wrote: Well, once you get used to unique_ptr and shared_ptr, that should take care of that issue
Definitely useful. While I sound like a curmudgeon, it's still a bandaid.
But...thank you for pointing (harhar) those out -- I'll make use of them, looks like gcc-linaro supports those constructs. Guess I should tool up on my knowledge of where C++ has gone since I last used it.
Marc
|
|
|
|
|
I prefer A well written header file over a single ASP .Net page with 1000+ lines JavaScript and 3500 lines code behind. The header can serve as a directory without all the details not only for the compiler, but even more for the developers.
I know that managing your memory is below most people's dignity now. In most cases it turns out that I just have to write 'delete oSomeStuff' instead of 'someStuff.Dispose()'. If that's all. Garbage collectorss make programmers ignorant and wasteful anyway. But if you must, why don't you get yourself a garbage collector for C++?
The language is JavaScript. that of Mordor, which I will not utter here
I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.
modified 26-Jul-14 10:21am.
|
|
|
|
|
CDP1802 wrote: I prefer A well written header file over a single ASP .Net page with 1000+ lines JavaScript and 3500 lines code behind.
have you ever seen the stdlib header files that come with VS?
CDP1802 wrote: In most cases it turns out that I just have to write 'delete oSomeStuff' instead of 'someStuff.Dispose()'. If that's all.
I was going to comment on that, turns out i'm not the only one who thinks that way
|
|
|
|
|
Anything that comes with the compiler is bound to look awkward. because of the "optimization" they apply on their code.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
Bah. I prefer the C++014X version, and am positively drooling at what is being investigated for 17X.
|
|
|
|
|
So then I can ask, "is your compiler 17?"
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
|
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
Marc Clifton wrote: give me back my first car in the same condition it was in when I gave it away. Functional, does the job, etc., but old and clunky.
I totalled mine. Then it turned out that it was insured for more than I paid for it, so I made money on the transaction. Plus cool scars that chicks dig.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
Nice way to take advantage of Marc's boring analogy and use it as a chance to tell us about your first car. Been dying to do that, haven't you?
|
|
|
|
|
and the chicks.
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
chicks are over rated; I got thousands of them, nothing special at all.
Within you lies the power for good - Use it!
|
|
|
|
|
Pfft, no. The scars!
You'll never get very far if all you do is follow instructions.
|
|
|
|