The other "big thing" for me is that C# takes care of memory management... b advantage in my opinion. Call me a futurist, but manual garbage collection belongs... well... in the garbage!
Personally, I think C# is easier to learn than C++. It is higher level, so i you are doing a lot of abstracting, C# is definitely my poison of choice. If you are relying on a lot of low-level code, C++ may be better. C is only goo if you are compiling for your 286... well that's just my opinion anyways... I'll warn you all that I'm an extreme OOPer... :)
Agreed. I would like to see more activity on DeveloperNet, but I'd definitel prefer to read 5 quality posts a week, rather than wade through 5000 message of junk to find 5 to read... let's hope the quality and spirit of DeveloperN
The other "big thing" for me is that C# takes care of memorymanagement... b
I'm not sure if I'm a masochist about some things, but sometimes I like the manual memory management.. It feels similar to driving a car with a manual vs.
an automatic transmission - The automatic is nice, but sometimes I like
full control. There are times when I appreciate that C++ puts the memory
:) I think C# is really nice, but I still think the good thing about
C++ is that if you can learn C++, it should be fairly easy to learn other languages, since C++ has so many features. C# has a lot of features too though.. different features, too. One thing that does bug me a little
C# is that it lacks multiple inheritance. That can be useful in some situations.
I wonder if I could post more on DeveloperNet to get more activity going..
I'm not sure if I'm a masochist about some things, but sometimes I like the manual memory management.. It feels similar to driving a car with a manual vs.
an automatic transmission - The automatic is nice, but sometimes I like full control. There are times when I appreciate that C++ puts the
memory
That's a really good point. By that same token, you should be coding in
ASM, no? ;)
All jokes aside, I do agree with you, and that was my argument about 10 years ago when I was developing in Java. However, there has been a paradigm shift in the past decades from "I need to control exactly what the computer does" to something closer to "The computer can be trusted to do X, Y, Z".
In that token, my stance is that (at least for .NET C#), I can trust it to collect garbage in a better way than I could--both in terms of reliability and human error.
Multiple inheritance: I hear that. I read a very lengthy and technical justification for why this route was rejected by MSDN a few months ago... I'll try to dig it up later. I have only needed this once in my life with C#, and that time I followed some article to get the same functionality as multiple inheritance: http://www.codingday.com/multiple-inheritance-in-c-using-dynamic-features/ Essentially the gist of it is that coding by contract is ultra important
for the .NET folks, and various languages do not align how they deal with multiple inheritance (Python does it differently than C++), which breaks
the CLR model. Without going into nitty gritties, when you inherit from multiple sources it becomes a real mess as to who is authoritative/gets first dibs, etc, and without the languages themselves aligning this strategy, I fear CLR languages may never support multiple inheritance.
I wonder if I could post more on DeveloperNet to get more activity going..
If you haven't noticed, that's my strategy too ;)
| Sysop: | KJ5EKH |
|---|---|
| Location: | Siloam Springs, Ar. |
| Users: | 4 |
| Nodes: | 4 (1 / 3) |
| Uptime: | 10:31:26 |
| Calls: | 3 |
| Files: | 127 |
| D/L today: |
2 files (15K bytes) |
| Messages: | 8,854 |