Generic'и в C# работают лучше, чем в Java и вот почему. Covariance/Contravariance и WinDBG

Просмотров: 6, 476   |   Загружено: 2 год.
icon
Dev Jungles - Andrii Podkolzin
icon
318
icon
Скачать
iconПодробнее о видео
#DevJungles #CSharp #ityoutubers

Telegram канал Dev Jungles -
Поддержать канал можно:
- Спонсорством на YouTube
- Переводом на карту или пополнением банки монобанка:
Dev Jungles YouTube Channel Fund


Номер карты банки:
5375 4112 0230 1466

- Или криптой:
BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy
ETH - 0x2903f63ba9009732272e91a299053b9d7b623216

USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T

LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2

DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216
Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd

Полный стрим тут:



Сейчас Microsoft штампует версии C# одна за другой, я, если честно, уже даже не успеваю за ними следить. А вот CLR развивается не столь агрессивно. А ведь раньше они были тесно связанны.
Для того что бы такое могло происходить команда разработки делает хитрый трюк: новые языковые фишки компилируются в IL код, который поддерживается старыми версиями runtime.
Что бы понять это нам нужна были самые крутые инструменты отладки. Их сейчас редко используют, но они все еще круты: это WinDBG и SOS. Ну и Disassembly никуда не делся. Он нам сегодня тоже будет нужен.
Generic'и - это мощный инструмент для обобщения кода и повышения его гибкости и повторного использования. Однако, существует ряд проблем, связанных с использованием Generic'ов, таких как производительность, безопасность типов и работа с Covariance/Contravariance.

В C# реализация Generic'ов осуществляется через JIT-компилятор, который генерирует код для каждого типа во время выполнения программы. Это позволяет существенно повысить производительность и избежать накладных расходов на дополнительные проверки типов во время работы программы.

Кроме того, в C# доступны функции Covariance/Contravariance, которые позволяют передавать более общие типы, чем ожидается. Это улучшает гибкость и повторное использование кода, что не так явно поддерживается в Java.

Для улучшения работы с Generic'ами в C# также можно использовать инструменты, такие как WinDBG, которые помогают оптимизировать производительность и отлаживать ошибки.

В целом, использование Generic'ов в C# дает множество преимуществ и является более эффективным, чем в Java. Если вы хотите улучшить производительность и гибкость вашего кода, то использование Generic'ов и Covariance/Contravariance в C# может быть отличным решением.


Тайм-коды:
00:00 - Тизер
00:43 - generic
04:39 - Пример
14:33 - Интересный момент
18:02 - generic method

Похожие видео

Добавлено: 55 год.
Добавил:
  © 2019-2021
  Generic'и в C# работают лучше, чем в Java и вот почему. Covariance/Contravariance и WinDBG - RusLar.Me