| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > C#/.net IDE для ubuntu |
| Автор: godvinn 18.2.2009, 20:02 |
| Подскажите C# IDE ubuntu. Знаю есть MonoDevelop. и вообще писать на C# под *никс это идея не бредовая? |
| Автор: diadiavova 18.2.2009, 20:25 |
| Боюсь, что MonoDevelop - это всё, что есть. Дело в том, что писать можно в студии, под виндой, а запускать где угодно, так что: идея на столько же бредовая, как и писать на шарпе под винду. |
| Автор: Partizan 18.2.2009, 20:51 | ||
diadiavova, эхх...если бы всё обстояло так радужно.... |
| Автор: godvinn 18.2.2009, 21:47 |
| Partizan, а что же не так радужно ? Разясни новичку в С# что нет так? может Лучше пока не поздно перейти на java для кросплатформенного программирования? |
| Автор: Partizan 18.2.2009, 21:49 |
| godvinn, а не радужно то, что далекооооо не каждый проект написанный под виндой скорвертится нормально под mono... |
| Автор: godvinn 18.2.2009, 21:50 |
| Partizan, а дело в этом, а в какой тогда ИДЕ под виндой перекомпилировать проекты на моно ? |
| Автор: Partizan 18.2.2009, 21:54 |
| вот, кстати, родственный топик... http://forum.vingrad.ru/forum/topic-208176/kw-sharpdevelop-%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D1%8B%D0%B5-ide/view-all.html Добавлено через 33 секунды godvinn, а MonoDevelop и под винду есть.. |
| Автор: diadiavova 18.2.2009, 22:25 |
| Partizan, Я как бы и не писал, что каждый проект можно запустить. Обычно не запускаются те проекты, в которых используются вызовы виндовских API, ком компонетов, обращения к реестру виндоус итд. Но если проект пишется с расчётом, что он будет использоваться не только под виндой, то всё это надо учитывать. Я вообще за линух недавно взялся, но для меня было приятным сюрпризом, что оттуда я запустил свою прогу, ничего не делая с ней предварительно. Хотя...монодевелоп мне не нравится и я попробовал запустить оттуда шарпдевелоп, и хрен там(хоть он и на сишарпе написан). |
| Автор: awers 18.2.2009, 22:33 |
| Я програмал на шарпах под моно. Нифига хорошего. Вопервых обратной совместимости нет человеческой (Что написано в винде - 50% работает под никсами, а то что написано под никсами - увы. Пишется всё под конкретный оконный менеджер). Во вторых всё-таки ява лучше (по крайней мере с точки зрения кросс-платформенности). Ну это моё имхо такое. |
| Автор: Partizan 18.2.2009, 22:33 |
| diadiavova, угу...Console Applications дело не столько в использовании Win-specific, хотя и в этом тоже... 1. Мono запаздывает - это раз... 2. WinForms уж больно некрасив там - эт два...я уже не говорю про ADO.NET и иже с ним... 3. в MonoDevelop всё-таки больше используют с биндингами к Gtk в виде Gtk# |
| Автор: awers 18.2.2009, 23:22 | ||
А что значит не угодили? Есть готовый оконный менеджер — под него и затачиваются. А втаскивание сделаных на моно софтин в винду — это точно превращается в извращение. |
| Автор: source777 18.2.2009, 23:30 | ||||
Естественно, чтобы написать кроссплатформенную программу, надо писать кроссплатформенную программу, а не надеяться, что она автоматически станет таковой, это касается и Java в том числе. Если надеться на то, что любая программа на Java станет кроссплатформенной, то на выходе получишь продукт в соответствии с принципом: "Написано однажды, не работает нигде". ты не поверишь, но большинство крупных софтверных компаний до сих пор пишут под .NET 2.0, а 3.x применяют только в небольших пилотных проектах, причём поддержка популярных фич которого есть и в Mono. Так что аргумент этот сильно надуман, и не имеет практического смысла.
Для эстетсвующих интерфейс можно и переделать, всё равно на проектирование и конструирование в 10 раз больше времени уйдёт чем на поддержку хоть пяти GUI Toolkit`ов, всё лучше, чем в Java, в которой виджеты одинаково уродливо на всех платформах выглядят... Добавлено через 3 минуты и 14 секунд Зря, Stetic вообще конфетка, даже MS оттуда идею модели компоновки для WPF позаимствовала. Скажи прощай ручному выравниванию и pixel-hunting`у, их время ушло... |
| Автор: diadiavova 18.2.2009, 23:52 | ||||
Ну если под запаздыванием это подразумевается, то, на сколько я знаю, сейчас в моно не поддерживаются только фичи из последнего сервиспака(и то, возможно эта инфа устарела уже)
Я не знаком со всем этим достаточно близко, то, что я писал касается скорее общего впечатления от монодивелоп, и то, что там нельзя обычную форму состряпать в дизайнере, а Gtk# ещё изучать надо (и непонятно надо ли мне это), только усугубило это впечатление. Наверно это не зря придумали, только почему дизайнера обычных форм нет - непонятно. |
| Автор: Partizan 19.2.2009, 00:08 | ||||||
Если Mono позиционируется как нечто типа .NET-порта под Linux, то логично ожидать, что .NET-проект заработает и под Mono...а по факту - в половине случаев(если не больше...зависит от типа ваших проектов) получаем фигу с маслом
Угу...Охотно верю
1. Не знаю про большинство...скажу про свою...проект, в котором я участвую пишется под 3.5 sp1 2. Вообще про то, что большинство до сих пор пишут под 2.0 - странный аргумент...голословный по крайней мере...большинство где? в мире? в вашей области? в вашем городе? З.Ы. Вообще кроссплатформенность у меня чётко ассоциируется с Qt....и никак не с .NET...ну признайтесь...рано ещё называть его кроссплатформенным....не обманывайте себя и других... |
| Автор: unicuum 19.2.2009, 02:57 | ||||||
Если писать под .NET 2.0 то на сайте написано надо ставить Mono 1.9, не меньше, причём в Mono 2.2 они пофиксили кучу ошибок в System.Windows.Forms, так что делай выводы. В MacOSX обещают исправить глюки к версии Mono 2.6, то есть ещё пол года ждать.
Будут глюки с реализациями Моно разных версий и для разных ОС. Правильно они там на их сайте говорили, надо подставлять собственные реализации Моно имитирующие .NET Framework, во время отладки естественно.
Популярные опенсорс проекты во всяком случае, они все имеют реализации под вторую версию. Наверное это связано с тем, что вместо того, чтобы дописать фреймворки, майкрософт делает новые несовместимые форматы. Так и жду в ближайшем будущем .NET Framework 15.1. Главное в начале они хвастались, что сделали лаконичный язык C#, а теперь уже такого наворотили. |
| Автор: Любитель 19.2.2009, 05:12 | ||||||||
Тебя обманули :(
Угу. У нас 3.5. Библиотеки - конечно, должны ориентироваться на 2.0 (ну, если это не библиотека контролов для WPF или какой-нить провайдер для LINQ-а). А проекты - зависит от направлению. Небольшие приложения - конечно, должны ориентироваться на 2.0, а полномасштабные системы - не вижу причин не использовать свежий фреймворк.
Тоже интересно
Тебя тоже обманули |
| Автор: unicuum 19.2.2009, 07:26 | ||
Причём здесь CLR фреймворка |
| Автор: Любитель 19.2.2009, 12:59 |
| Ещё раз какие ещё "несовместимые форматы"? Между чем и чем? И форматы чего? PS. Подправил случайную ошибку в предыдущем посте - речь про 3.5 фреймворк, а не 3.0 |
| Автор: source777 19.2.2009, 13:23 | ||||||||||||
большая часть статистики собрана по Epam Systems, и это не смотря на то, что Epam - один из основных золотых партнеров MS, подумай об этом...
Всё, что не входит в ECMA - в общем случае идёт лесом. Что именно туда идёт поможет узнать MoMA, так что написать кроссплатформенное приложение на .NET не составит труда при желании.
У тебя "ассоциируется с Qt" и ладно, я не против Это ты про что? Что тебе мешает указать минимальную версию Mono, необходимую твоему приложению? |
| Автор: Amp 19.2.2009, 13:44 | ||
Просто программисты любят обходиться стандартными средствами, в случае с java это не очень приятный внешне swing. В любом случае, было бы желание, то стоило бы использовать замечательную QtJambi или SWT на крайний случай. У меня очень небольшой опыт программирования на C#, но после WinForms, упоминаемый выше GTK# с полноценным layout manager-ом, показался более удачным для личных нужд. Если когда-нибудь взбредет в голову написать что-нибудь just for fun под платформу Mono, то для разработки думаю буду глядеть на связку nant + текстовый редактор (например kate). Ибо MonoDevelop светлых чувств не вызывает. |
| Автор: Partizan 19.2.2009, 13:52 | ||||||
source777,
У меня такое чувство, что вы всё смешиваете в кучу - Язык C# вместе с его синтаксисом и т.д. и .NET как библиотеку классов Запросто можно написать приложение, которое полностью будет соответствовать ECMA, но всё равно не сконвертится под Mono...
Сколько из этих "полномасштабных" реально кросс-платформенны? |
| Автор: source777 19.2.2009, 14:35 | ||||||
|
| Автор: Любитель 19.2.2009, 14:49 | ||
Нисколько не покажется странным. Если говорить про энтерпрайз, то (для .Net-а) это ещё и обычно IIS, MS SQL Server (в том числе Reporting/Analysis services), интеграция с ActiveDirectory, MTS и пр. Моно на это не претендует. WCF в моно нет (по крайней мере, когда я глядел, даже в планах не было). Веб-сервисы даже в не супер состоянии. Ну какой тут энтерпрайз?! |
| Автор: Partizan 19.2.2009, 15:10 | ||
source777, 1. А я не говорил, что .NET - это одна только библиотека классов ;) Но говорил именно об этой части .NET... 2. Полное соблюдение ECMA не мешает мне случайно использовать то, что в Mono ещё не реализовано...Вы что...предлагаете мне после изменения каждой строки кода и вообще после каждого чиха прогонять сборку через MoMA? )) |
| Автор: unicuum 19.2.2009, 15:35 | ||||
Главным образом плохо то, что Mono отстаёт от .NET Framework'ов. Следовательно несовместимость на уровне операционных систем. Ещё им вменяется в вину изменение существующих спецификаций языков, и создание новых ненужных возможностей. Вот на кой им понадобилось вводить лямбда-выражения. Был себе язык как язык, а такими темпами последняя версия C# скоро C++ обгонит по уровню избыточного программирования.
А зачем, напишешь часть функционала, тогда и прогонишь через MoMA. |
| Автор: Partizan 19.2.2009, 15:43 | ||
Это не Ъ |
| Автор: Любитель 19.2.2009, 15:44 |
Это типа "не видел, но осуждаю". Почему это "избыточная возможность"?! И причём "форматы"? |
| Автор: source777 19.2.2009, 15:57 | ||||
Что касается WCF, то её частичная поддержка есть в Mono (в рамках подпроекта Olive) с самого момента появления WCF, можешь почитать статью http://www.youcannoteatbits.org/Files/Documents/Mono%20Olive%20Notebook%20-%2018-09-07.pdf от сентября 2007 года... или о текущем статусе http://www.mono-project.com/WCF. |
| Автор: Partizan 19.2.2009, 16:01 | ||
source777, вот именно... |
| Автор: Любитель 19.2.2009, 16:14 |
Ну вот посмотрел текущий статус. Да, молодцы что пытаются что-то сделать. Но это явно не ready to use. Это только начинания. Пока не более того. При всём моём уважении к моно - на этерпрайз оно никак не тянет. И не будет тянуть. И не надо |
| Автор: source777 19.2.2009, 16:46 | ||
|
| Автор: Partizan 19.2.2009, 17:19 |
| source777, ну так тут же речи были о том, что за счёт Mono достигается кроссплатформенность .NET приложений То есть выходит как: 1) Есть множество возможностей в .NET.... 2) Есть множество возможностей в Mono.... 3) Эти два множества пересекаются, но не перекрываются...в итоге чтобы написать что-то реально кроссплатформенное разработчик должен всё время следить за тем, чтобы его код не выходил за рамки этих пересекающихся множеств...И выходит что хорошие фичи и того и другого остаются не удел |
| Автор: Любитель 19.2.2009, 17:25 |
| Лично я вижу Моно, как проект .Net-платформы под не-винду. Платформы, не претендующей на совместимость с MS .Net FX. |
| Автор: Partizan 19.2.2009, 17:27 |
| Любитель, +1 у меня аналогичное видение... |
| Автор: Lite 19.2.2009, 17:41 |
| Можна писать на среде Mono под Windows и будет каждая прога идти под линукс. Mono есть под линукс, и под виндовс. И будет вам кроссплатформеность почти такая как в Java. А лучше пиши в Visual Studio, а на виртуальной машине постав Linux, и сразу можеш тестировать. Java - мультиплатформенная. .NET - мультиязыковая, но скоро станет мультиплатформенная, не забывай IL - код уже стал стандартом ISO. Если я не прав, то подправте. Лично я не пробивал(Я новичок). |
| Автор: source777 19.2.2009, 22:41 | ||||||
|
| Автор: source777 19.2.2009, 22:57 | ||||
я лично сразу уточнил, что
Подытожить тему можно вкратце так: - На .NET можно написать кроссплатформенное приложение? - Да, без проблем, если задаться такой целью. - Любое .NET приложение кроссплатформенно за счёт Mono? - Конечно нет! |
| Автор: Lazin 19.2.2009, 23:49 |
| Зачем все это нужно, если есть абсолютно кроссплатфроменный, компилируемый в нативный код, позволяющий исполнять программы как скрипты без компиляции, более безопасный чем .NET и Java, позволяющий легко писать многопоточные приложения, единственный язык программирования в котором можно использовать STM вместо локов и к тому-же обеспечивающий более высокую производительность (чем что угодно кроме разве что Си и С++), имеющий одну из самых продвинутых систем типов на основе теории категорий, позволяющую писать более качественный код, язык программирования? раздел "Религиозные войны" в последнее время стал какой-то скучный =) |
| Автор: source777 20.2.2009, 00:11 |
| Lazin, харе питон пиарить, давай хоть про IronPython, аль про Boo, а то совсем не в тему... |
| Автор: Lazin 20.2.2009, 09:20 | ||
даже и не думал, это все не о питоне |
| Автор: Любитель 20.2.2009, 16:08 |
| По-моему, это нечто страшное - вроде ERlang-а, Hascell-а или OCamla ) |
| Автор: nerezus 2.3.2009, 12:32 | ||
| Многих вещей нет даже из FW 1.0 Например HtmlElement не реализован.
|
| Автор: source777 2.3.2009, 13:25 |
| ибо это уже к разговору о Moonlight, хотя HtmlElement там реализован кстати, хоть и без метода RemoveStyleAttribute. |
| Автор: Любитель 2.3.2009, 13:45 |
Разве? По-моему, сейчас есть, только на базе Gecko, а не IE. |
| Автор: nerezus 2.3.2009, 14:28 | ||
| Любитель, хм, полгода назад не было ) Сейчас скачаю и проверю. P.S. а сайт их работает сейчас? у меня не грузит.
|
| Автор: source777 2.3.2009, 14:57 |
| Да я понял, что ты всё к ActiveX-элементу, представляющему IE, ведёшь, только нафиг он нужен IE этот? А к Moonlight это потому, что в других местах HtmlElement не нужен... |
| Автор: nerezus 2.3.2009, 15:01 | ||||
|
| Автор: SoulKeeper 2.3.2009, 18:19 |
| Вставлю и свои 5 копеек. Писал на днях малюсенькую .net утилитку, должна была импортить сертификаты. На .net 2.0 работала отлично, решил ее проверить с Mono. Программа отработала без каких-либо ошибок, но сертификат не заимпортился. Собственно говоря, в очередной раз убедился что нет смысла использовать не родные продукты, будь то Mono вместо .net или GCJ вметсто полноценной JVM (тут вообще мистика, но это уже другая история...) |
| Автор: Любитель 2.3.2009, 18:23 |
| Ну.. с сертификатами очевидно, что не будет работать. Все АПИ, связанные с этим, я думаю, вообще не реализованы ещё - ни в каком виде. |