Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm surprised there isn't something pseudorandom thrown in for good measure – like a few digits of a hash of the source file.


The trick with using characters which by definition are not allowed inside variable names, "<" and ">", should be sufficient no?


To prevent easy Reflection? It would make debugging harder and make writing a debugger harder, for maybe a small gain of avoiding some user code breaking an encapsulation boundary here or there. (But those serious about using reflection to break encapsulation boundaries would likely build complex workarounds anyway.)

It is the compiler's job to guard encapsulation boundaries in most situations, but it's also not necessarily the compiler's job to guard encapsulation boundaries in all situations. There are a lot of good reasons code may want to marshall/serialize raw data. There are a lot of good reasons where cross-cutting is desirous (logging, debugging, meta-programming), which is a part of why .NET has such rich runtime reflection tools.


I believe the reason for this is that it would break deterministic builds.


dotnet build is’t deterministic as default. Never has been.


Except deterministic builds have been the default since 2015?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: