Click here to Skip to main content
15,908,675 members
Home / Discussions / C#
   

C#

 
QuestionC# versus C++, null references and protecting against them Pin
bob1697214-Jan-11 8:48
bob1697214-Jan-11 8:48 
AnswerRe: C# versus C++, null references and protecting against them Pin
Pete O'Hanlon14-Jan-11 9:14
mvePete O'Hanlon14-Jan-11 9:14 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697214-Jan-11 9:58
bob1697214-Jan-11 9:58 
GeneralRe: C# versus C++, null references and protecting against them Pin
Pete O'Hanlon14-Jan-11 10:55
mvePete O'Hanlon14-Jan-11 10:55 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697214-Jan-11 10:48
bob1697214-Jan-11 10:48 
AnswerRe: C# versus C++, null references and protecting against them Pin
jschell14-Jan-11 9:46
jschell14-Jan-11 9:46 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697214-Jan-11 10:23
bob1697214-Jan-11 10:23 
GeneralRe: C# versus C++, null references and protecting against them Pin
jschell15-Jan-11 9:44
jschell15-Jan-11 9:44 
bob16972 wrote:
Good luck with that.


Been programming 40 years myself. And my delivered software tends to have much lower bug counts compared to peers.

It has nothing to do with luck and everything to do with attention to detail. Assertions "all over the place" would not help with that.

Should note as well that I can't recall the last time I had to deal with a null pointer reference in my code. I can however remember dealing with them in other peoples code.

bob16972 wrote:
That's assuming your debug sessions will take a particular code path


Code coverage tools. Great investment.

bob16972 wrote:
unit tests can get stale as code changes.


That is a process problem not a technology problem.
And the unit tests on the code that I maintain do not get stale.

bob16972 wrote:
Since this might not be reliable, the runtime checks are usually the last stand to prevent runtime errors and replace them with graceful hickups or alternative behavior.


The behavior of asserts do not fall into that categorization.

You can write a class easily in C# and C++ for that matter that provides a rudimentary Aspect programming context for checking a modest number rules including null pointers.

bob16972 wrote:
This coding style is MFC 101 and can be applied where ever pointers are sold.


Pointer bugs which occur in C++ do not apply to C# (nor to java for that matter). A system OS exception is only one possibility that might occur due to a C++ pointer bug and is actually one of the easiest to locate and fix.

Other than that having written C++ for 20 years I got by quite comfortably without scattering asserts all over my code - and again with a much lower bug rate for my code base that others.

bob16972 wrote:
Since the C# references can be null, this approach almost appears mandatory but that is the question at hand.


And perhaps you would be better off with an Aspect type language. A quick google suggests that that exists in some form for C# from different sources. Java has AspectJ which is a full Aspect language. Something similar might exist for C#.
AnswerRe: C# versus C++, null references and protecting against them Pin
Paul Michalik15-Jan-11 2:23
Paul Michalik15-Jan-11 2:23 
AnswerRe: C# versus C++, null references and protecting against them Pin
PIEBALDconsult15-Jan-11 4:12
mvePIEBALDconsult15-Jan-11 4:12 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697215-Jan-11 5:00
bob1697215-Jan-11 5:00 
AnswerRe: C# versus C++, null references and protecting against them Pin
Chuck O'Toole15-Jan-11 17:14
Chuck O'Toole15-Jan-11 17:14 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697215-Jan-11 19:23
bob1697215-Jan-11 19:23 
GeneralRe: C# versus C++, null references and protecting against them Pin
Chuck O'Toole15-Jan-11 20:56
Chuck O'Toole15-Jan-11 20:56 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697216-Jan-11 5:24
bob1697216-Jan-11 5:24 
GeneralRe: C# versus C++, null references and protecting against them Pin
Chuck O'Toole16-Jan-11 6:00
Chuck O'Toole16-Jan-11 6:00 
GeneralRe: C# versus C++, null references and protecting against them Pin
Paul Michalik16-Jan-11 7:39
Paul Michalik16-Jan-11 7:39 
GeneralRe: C# versus C++, null references and protecting against them Pin
Chuck O'Toole16-Jan-11 7:57
Chuck O'Toole16-Jan-11 7:57 
GeneralRe: C# versus C++, null references and protecting against them Pin
Chuck O'Toole16-Jan-11 8:30
Chuck O'Toole16-Jan-11 8:30 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697216-Jan-11 12:29
bob1697216-Jan-11 12:29 
GeneralRe: C# versus C++, null references and protecting against them Pin
Paul Michalik16-Jan-11 20:35
Paul Michalik16-Jan-11 20:35 
GeneralRe: C# versus C++, null references and protecting against them Pin
Paul Michalik15-Jan-11 23:04
Paul Michalik15-Jan-11 23:04 
GeneralRe: C# versus C++, null references and protecting against them Pin
bob1697216-Jan-11 4:57
bob1697216-Jan-11 4:57 
QuestionCOM error [modified] Pin
polycom12314-Jan-11 8:05
polycom12314-Jan-11 8:05 
QuestionDynamic assembly information Pin
Helfdane14-Jan-11 2:32
Helfdane14-Jan-11 2:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.