Лектор: Денис Гладкий
Та самая байка про «the ultimate in garbage collection»: https://groups.google.com/forum/message/raw?msg=comp.lang.ada/E9bNCvDQ12k/1tezW24ZxdAJ
Формально, в C# указатели есть (https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/unsafe-code-pointers/pointer-types). Но для их использования нужно пометить блок кода, функцию или класс, как unsafe (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/unsafe). При этом наша программа будет требовать соответствующих разрешений от виртуальной машины (т.н. full trust mode (https://docs.microsoft.com/en-us/dotnet/framework/app-domains/running-intranet-applications-in-full-trust)) и указания флага -unsafe у компилятора. То есть, ситуация здесь примерно как в C++ с ассемблерными вставками: по умолчанию код мы пишем на высокоуровневом языке, не предполагая каких-то «артефактов древности», но при крайней необходимости можем к ним обратиться, жертвуя при этом безопасностью.
Playlist: https://dailymotion.com/playlist/x6k8pr
Та самая байка про «the ultimate in garbage collection»: https://groups.google.com/forum/message/raw?msg=comp.lang.ada/E9bNCvDQ12k/1tezW24ZxdAJ
Формально, в C# указатели есть (https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/unsafe-code-pointers/pointer-types). Но для их использования нужно пометить блок кода, функцию или класс, как unsafe (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/unsafe). При этом наша программа будет требовать соответствующих разрешений от виртуальной машины (т.н. full trust mode (https://docs.microsoft.com/en-us/dotnet/framework/app-domains/running-intranet-applications-in-full-trust)) и указания флага -unsafe у компилятора. То есть, ситуация здесь примерно как в C++ с ассемблерными вставками: по умолчанию код мы пишем на высокоуровневом языке, не предполагая каких-то «артефактов древности», но при крайней необходимости можем к ним обратиться, жертвуя при этом безопасностью.
Playlist: https://dailymotion.com/playlist/x6k8pr
Category
📚
Learning