| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Может ли C# работать без .NET? |
| Автор: Dims 31.12.2008, 13:52 |
| На одной флиланс-бирже столкнулся с заданием: написать две версии программы, одну -- на C#, другую -- под платформу .NET. Я только что начал освавивать C# и написал на разъяснительной доске, что C# не может работать без .NET, за что сразу же был исключён за недостаточность квалификации. Так ли это? Действительно ли C# может работать без .NET? |
| Автор: Partizan 31.12.2008, 13:55 |
| А можете текст задания дословно скинуть или дать ссылку? |
| Автор: Dims 31.12.2008, 14:08 |
| Вот: http://www.odesk.com/jobs/Application-Developer-NET_~~40128ea75acf8af4 |
| Автор: Drabuna 31.12.2008, 14:08 |
| С# без .NET-а не бывает. |
| Автор: Dims 31.12.2008, 14:12 | ||
Может, я понял что-то неправильно? |
| Автор: Drabuna 31.12.2008, 14:21 |
| Перечитал задание 3 раза, автор хочет чего то невозможного только потому что не хочет заставлять юзверей устанавливать .NET. Есть ли смысл тогда использовать C# а не С++? И не проще будет установить .NET framework вместо того чтобы писать 2 различных программы которые будут выполнять одинаковое действие? Погуглил и по мсднил ничего подобного не нашел) |
| Автор: Dims 31.12.2008, 14:24 |
| Я как раз ему и написал, что, возможно, он имел в виду C++, а не C#. |
| Автор: Drabuna 31.12.2008, 14:42 |
| http://forum.vingrad.ru/topic-110895.html разве что как вариант сделать как в теме. Иначе не представляю) |
| Автор: Partizan 31.12.2008, 14:55 |
| Да....тут как раз у заказчика недостаток квалификации =) |
| Автор: nerezus 31.12.2008, 16:48 |
| Dims, увереннее в себе надо быть. |
| Автор: source777 31.12.2008, 18:00 |
| Действительно может без .NET, но на Mono, да можешь хоть сам виртуальную машину написать... ну это так, полуоффтоп в данном случае, т.к. заказчик вряд ли захочет устанавливать Mono... А вообще не надо забывать, что C# - это язык программирования, и теоретически можно для него создать(а может уже кто и создал...), как компилятор в native-код, так и интерпретатор. В любом случае к .NET он жёстко не привязан, просто он популярен в рамках .NET. |
| Автор: Hades 2.1.2009, 00:56 |
| http://ru.wikipedia.org/wiki/DotGNU http://ru.wikipedia.org/wiki/Mono |
| Автор: Djinn 2.1.2009, 02:36 |
| сенкс, вроде пол |
| Автор: source777 3.1.2009, 16:26 |
Я имел в виду, что ничто не мешает сделать компилятор C# в нативный код, если его ещё нет. Не надо отождествлять язык и платформу... А то получаются глупости типа "Программы на C++ невозможны без gcc" или "Программы на C# невозможны без .NET"... Язык не привязан ни к компилятору или ни к фреймворку, если очень захотеть, то можно писать на Java под .NET, а на C# под JVM. |
| Автор: archeg 3.1.2009, 17:24 |
| Все, не могу C# - это язык. Который компилируеться всегда в мсил код, который запускает платформа .нет. Значит, упрощенно говоря, C# не умеет работать без платформы .Net. Конечно же, в теории можно было бы написать какой-то нейтивный шарп, который сразу же компилировал бы в нейтив (так же как С++ есть нейтив и не нейтив, я так понял что это имел ввиду source777)- но тогда это уже будет не тот шарп, про который все привыкли говорить. В основном когда говорят Си шарп - имееться ввиду сам язык + платформа .нет, по скольку языка без платформы не существует. Как появиться - семантика "Си шарп" измениться На счет моно. Моно - это есть платформа .Нет пол Линукс. То есть моно - это та же платформа .Net (только написана другими разработчиками и с ориентированостью на никсы) На счет нейтив кода. Существуют компиляторы, которые вкомпиливают в екзешники всю платформу .нет и на выходе мы получаем екзешники, которые будтобы запускаються без платформы .нет. На самом деле, они запускаються с ней, просто она влита в тот пакет и запускаеться при запуске екзешника. Конечно же там куча ограничений и думаю очень много приложений так не скомпилишь. Да и весит такой пакет 40 метров. |
| Автор: Hades 3.1.2009, 17:37 |
ну почему же, что мне мешает сделать свой компилятор, взять какой-то код на C# и скомпилировать его моим компилятором и получить что-то другое чем мсил код. |
| Автор: source777 3.1.2009, 18:45 | ||||||||||
Да, про это я и говорю и я не считаю, что это был бы какой-то другой C#, была бы просто другая библиотека классов...
Вот Mono как раз одна из таких виртуальных машин, частично совместимая с .NET, есть какие-то фичи .NET которых нет под Mono, есть какие-то фичи Mono, которых нет под .NET, и это вполне нормально.
|
| Автор: archeg 3.1.2009, 19:47 | ||||||
Прочитай внимательно то что я написал
Ну, в идеале - ты прав. Шарп это только язык. В реалии понятия немного смешались - особенно для тех кто не очень в этом шарит или просто не разбирался
Не согласен, но это скорее всего конфилкт понятий. Для меня .Net - это любая платформа, которая умеет запускать мсил. Microsoft .Net - это реализация .Net от майкрософта. Никто никому не мешает написать свою реализацию .Net под другую систему. Как пример можно взять JVM. Они были когда-то в виде двух вариантов реализаций - от майкрософта и от сан. Отличались довольно серйозно. При том и то и то было JVM. В контексте данного вопроса это неважно, по-скольку заказчик (или кто там?) сказал что ему не подходит .Net потому что его нужно устанавливать. Моно тоже нужно устанавливать |
| Автор: Partizan 4.1.2009, 00:05 |
| archeg, source777, тролли Заканчивайте =) Просто достаточно сказать автору, что заголовок темы несколько странный =) C# - это язык...то есть он содержит ключевые слова, алфавит, "предложения" и другие языковые конструкции... То есть это тупо - то, какие правила мы используем при написании кода... Во что этот код превращается - дело второе...то есть действительно ничто не мешает(помимо сложности задачи) нафигачить компилятор, который это всё будет в native компилять...в этом source777 безусловно прав... archeg, тоже прав, ибо C# действительно настолько сросся с .NET в отсутствии native-компиляторов, что действительно воспринимается как часть .NET (хотя идеологически верно всё-таки будет воспринимать C# и .NET как разные и независимые вещи) з.ы. а вообще автор спрашивал правильно ли он указал работодателю, что ТЗ неверно, ибо "две версии проги: одна под C#, другая под .NET" - это вообще Сомнения автора мы развеяли и он понял, что он был прав... Так что имхо топик можно помечать решённым |
| Автор: Dims 4.1.2009, 00:27 |
| Ребята, большое спасибо за инфу. Про Моно не знал. Но особенно спасибо, конечно, вот за эти подсказки: Всех с наступившим Новым Годом! |
| Автор: unicuum 7.1.2009, 15:45 |
![]() http://www.mono-project.com/Main_Page Ха, ха и ещё раз ха |
| Автор: Partizan 7.1.2009, 15:47 | ||
Чего смешного? |
| Автор: Dims 7.1.2009, 17:42 | ||
Читаем с сайта:
То есть, MONO -- это опенсорсный .NET. |