Компиляция в машинный код уже есть, но она не универсальна. Ищи IL2CPP и NET Native.
Убрать сборку мусора нельзя, это нарушит совместимость. Но поскольку в C# есть обычные указатели, в принципе возможно самому выделять и освобождать память.
C#
Возможно ли, чтобы у C# убрали виртуальную машину и сборку мусора в будущем?
Виртуальную машину - реально ( достаточно сконструировать процессор, который будет выполнять "команды" .NET )
Конечно!
Чтобы это случилось, нужны революционные изменения в архитектуре компьютерного железа и операционных систем.
Разве что, такие изменения пока никому не нужны =)
Чтобы это случилось, нужны революционные изменения в архитектуре компьютерного железа и операционных систем.
Разве что, такие изменения пока никому не нужны =)
Куаныш Узакбаев
можно же просто скомпилировать код в натив... включая все библиотеки... System.Reflection реализовать через автоматический добавлятель метаданных в компиляторе... (к слову, некоторые компиляторы от любителей опенсорса и так добавляют имена классов, функций в выходной код)... а что еще придется сделать?
и слабо ли написать код на C#, который таким образом точно не переделать?
и слабо ли написать код на C#, который таким образом точно не переделать?
вопрос не простой.
ведь механизм, аналогичный сборке мусора, есть в C++ и в чистом Си. он работает не в реальном времени, а на этапе компиляции, жестко добавляя очистку памяти в определенные места. просто, блджад, надо нормально разобраться с языком, а не тыкать везде ручной аллок, истекая случайно забытой памятью, как студентота тупая.
значит, слегка подпилить C++ и это уже будет похоже.
я например не возьмусь написать код на C#, который точно не получится скомпилировать подобным образом, и не получится допилить C++ под него.
а уж System.Reflection, DllImport и прочие мелочи вообще не проблема добавить в C++, так чтобы компилятор автоматически генерировал нужную метадату (или не мета-) по коду.
такие вещи можно добавить в LLVM SDK, причем не влезая глубоко.
гораздо очевиднее другая сторона: то, что C# тупо устарел (как и винда, потесненная мобайлом и вебом) и слишком вяло развивается, чтобы кто-то настолько заморочился с нативом или чем-то еще.
ведь механизм, аналогичный сборке мусора, есть в C++ и в чистом Си. он работает не в реальном времени, а на этапе компиляции, жестко добавляя очистку памяти в определенные места. просто, блджад, надо нормально разобраться с языком, а не тыкать везде ручной аллок, истекая случайно забытой памятью, как студентота тупая.
значит, слегка подпилить C++ и это уже будет похоже.
я например не возьмусь написать код на C#, который точно не получится скомпилировать подобным образом, и не получится допилить C++ под него.
а уж System.Reflection, DllImport и прочие мелочи вообще не проблема добавить в C++, так чтобы компилятор автоматически генерировал нужную метадату (или не мета-) по коду.
такие вещи можно добавить в LLVM SDK, причем не влезая глубоко.
гораздо очевиднее другая сторона: то, что C# тупо устарел (как и винда, потесненная мобайлом и вебом) и слишком вяло развивается, чтобы кто-то настолько заморочился с нативом или чем-то еще.
Александр Комков
Что ты мелешь? В Си нет ничего похожего на сборку мусора.
Похожие вопросы
- Стоит ли дальше учить C#?
- Программирование на C Sharp (C#)
- Сегодня начал учить c#, решил сделать калькулятор простой и столкнулся с такой ошибкой при компиляции, хелпуйте.
- Что лучше C# или C++?
- Зачем разбивать код в C# на отдельные классы?
- Помогите пожалуйста. Написать на C#
- Python, C, C++, C#, Что выбрать-то?
- Помогите разобраться с заданием! C#
- Стоит ли изучать c# в 13 лет?
- Нужна помощь с задачей C#
открою секрет: существует язык, и не один, где компилятор, увидев }, способен сам очистить все переменные, которые были после последней {.
грубо говоря - та же сборка мусора - но заложенная этапе компиляции.