Используется ли С# где-либо помимо .NET-программирования?
Я понимаю, что С#, хотя и созданный Microsoft, - это язык программирования, который можно использовать или реализовывать для других целей, помимо .NET-программирования. Например, я мог бы создать компилятор для С# для назначения собственных x86 или других процессоров или даже JVM. Непонятно ли мое понимание? Кто-нибудь знает, если С# используется для чего-либо помимо .NET?
Ответы
Ответ 1
Вы правы, что его можно использовать для других вещей. Это языковая спецификация... вы можете скомпилировать ее во все, что вам нравится, если вы потратите время, но это будет огромным усилием.
Я не знаю других применений, кроме Mono, как сказал jrcs3, но, надеюсь, Eric Lippert будет прослушивать и дать вам точку компилятора на С#/p >
Ответ 2
С# используется для экспериментальной операционной системы, называемой Singularity ', которая написана на управляемом уровне с нуля. Интересный проект для просмотра!
Изменить: Спасибо Jörg W Mittag за его комментарий - Helios на самом деле является модифицированной формой Singularity для поддержки ядер сателлитов, цитируя статью, которую я читаю прямо сейчас "Helios - это операционная система, предназначенная для упрощения задачи написания, развертывания и настройки приложений для гетерогенных платформ. Helios представляет собой ядра сателлитов, которые экспортируют единый набор абстракций ОС на процессорах разрозненных архитектур и характеристик производительности. Ядро Satellite позволяет разработчику писать приложения со знакомыми API-интерфейсами операционной системы и абстракциями."... интересно...
Надеюсь, это поможет,
С наилучшими пожеланиями,
Том.
Ответ 3
С# сама спецификация, указанная ECMA, которая "задает форму и устанавливает интерпретацию программ, написанных на языке программирования С#." как CLR. Наиболее популярная реализация этих программ в настоящее время предоставляется Microsoft, которая, как известно, является С#.net. С# и CLR являются открытыми стандартами, что означает, что каждый может реализовать их самостоятельно, отсюда формирование mono, компилятор С# для mac/linux. Сравните это с java, который только реализация обеспечивается солнцем. Это не открытый стандарт, поэтому вы не можете создавать свои собственные реализации.
из wikipedia:
Mono "Открытый исходный код, кросс-платформенный, реализация С# и CLR, совместимый с Microsoft.NET",
DotGNU "является частью проекта GNU, целью которого является предоставление бесплатной замены программного обеспечения для Microsoft.NET Framework"
Dot Net Anywhere является интерпретатором .net CIL для таргетинга встроенных систем.
Ответ 4
Насколько мне известно, все существующие в настоящее время реализации С# строятся на CIL и запускаются в .NET CLR или совместимой среде, и единственная альтернатива .NET CLR, о которой я знаю, - это Mono.
Другими словами, все текущие версии С# build выполняются в .NET или Mono.
.NET и Mono используют одни и те же "двоичные файлы", поэтому все текущие компиляторы С# имеют только одну цель.
Ответ 5
Еще одна область использования для разработки iPhone-приложений (и теперь я считаю iPad тоже) через MonoTouch.
Что такое MonoTouch?
MonoTouch позволяет разработчикам создавать приложения на базе С# и .NET, которые работают на устройствах Apple iPhone и Apple iPod Touch, используя при этом преимущества API iPhone и повторное использование как кода, так и библиотек, которые были созданы для .NET, а также существующих навыки.
Грубо говоря, это происходит следующим образом:
MonoTouch → MonoDevelop/С# → написать приложение iPhone → скомпилировано в собственный код → приложение для iPhone.
Соответствующие ссылки:
Ответ 6
Обратите внимание, что Unity 3D также позволяет " С# Scripts "и компилируется для работы с Mac, Windows, Web, Wii и iPhone (и, следовательно, iPad).
Ответ 7
Вы можете скомпилировать программу С# на Mono. Но это, вероятно, не считается.
Mono - это альтернативная реализация Common Language Infrastructure (CLI), которая работает в Linux и других операционных системах. Как упоминалось в других местах, как С#, так и CLI являются стандартами ECMA и могут быть реализованы любым, кто этого хочет.
Ротор - это другая реализация не .NET.
Ответ 8
Есть действительно инструменты для преобразования сборки .NET в автономный исполняемый файл или библиотеку, чтобы ваши клиенты не нуждались в платформе .NET. Это также дополнительно защищает ваш код от обратного проектирования до некоторой степени - вы не можете использовать Reflector, чтобы увидеть источник .NET в родной двоичной версии.
См. Remotesoft Salamander.NET Protector, например.
Но это не строго С# → native; Salamander преобразует MSIL в собственный код.
С другой стороны, существует хотя бы один академический проект по созданию С# → родного компилятора с использованием LLVM, называемого LLVM #.
Ответ 9
Вы можете использовать его в приложениях iPod, если используете MonoTouch.