LINUX.ORG.RU

Ответ на: комментарий от anonymous

Я думаю одна из проблема - это отсутствие гарантий что C# будет продолжать существовать под linux. Потому что как только MS взбредёт в голову (а скорее как только наберётся некоторое кол-во линуксового народу подвязанного на ДО-диез) то они просто запретят моно и перетащат всех на windows.
Очень хороший вариант - прямо-таки ловля на блесну - дурик её хап, а она тебя на берег^H^H в windows.

vahvarh ★★★
()

посмотрят как пошла в федоре, тогда и подумают надо ли

vadiml ★★★★★
()
Ответ на: комментарий от vahvarh

> Я думаю одна из проблема - это отсутствие гарантий что C# будет продолжать существовать под linux.

Слово думаю в этой фразе надо было взять в кавычки, поскольку одна из проблем это идиоты, считающие, что мокрософт способна что-либо сделать с языком, на который есть международный стандарт.
Это вам не жаба, здесь такие фокусы невозможны в принципе.

anonymous
()
Ответ на: комментарий от anonymous

Кто-нибудь может разбяснить, в чём преимущества C# перед C/C++ ? Зачем еще один велосипед? Какой смысл переходить на микрософтовское поделие, если есть много всего разного и вкусного?

anonymous
()
Ответ на: комментарий от anonymous

Емнип MONO - это реализация не C#, а .NET в первую очередь, так что мимо тазика.

PartyZan ★★★
()
Ответ на: комментарий от anonymous

> поскольку одна из проблем это идиоты, считающие, что мокрософт способна что-либо сделать с языком, на который есть международный стандарт. Это вам не жаба, здесь такие фокусы невозможны в принципе.

1. Поясни про международный стандарт? Это MicroSoft-овский что-ли? До-диез - это детище микрософт, и с ним она может делать что угодно. C# 2.0 отличается от C# 1.1 - так же круто, как Java 1.4 от JAVA 5.0

2. А вот изменения, вносимые в Java наоборот тщательно взвешиваются, прежде чем пойти в релиз. Внесение изменений в язык осуществляется при помощи JSR, которые обсуждаются чуть ли не всенародно.

P.S. А на Java что, нет международного стандарта?

Licvidator
()

Не нужен Си-Шарп под линукс. И под вындовуз тоже не нужен. Visual Studio 6 с нестандартным Це++ и так хватало для мастдайских поделок.

"Джава с указателями" и лишними сущностями типа структур идет в БИОРЕАКТОР! Не знаю даже, нужно ли было в сам язычок делегаты на уровне синтаксиса включать.

Bioreactor ★★★★★
()
Ответ на: комментарий от anonymous

Сраснивать С# c C/C++ смешно и нелепо.

С# - управляемый интерпретируемый язык а ля ruby/python/java

Это не велосипед, а общая тенденция загрузить новые выч. мощности и снизить эффективность, но облегчить быстрое программирование.

AVL2 ★★★★★
()

сравнивать java и с# можно только теоретически, поскольку второй интегрирован и в среду линукс и в среду windows, а первый что там что, там накладным горбом (если не брать в расчет gcj, им мало что компиляется...).

AVL2 ★★★★★
()

МОНО - нормальная независимая реализация. Точно также, как и самба, она будет существовать, хотелось бы этого МС или нет...

AVL2 ★★★★★
()

>Кто-нибудь может разбяснить, в чём преимущества C# перед C/C++ ? В том же, в чём и преидущества Java. Если уж C# и сравнивать, то с джавой.

>C# 2.0 отличается от C# 1.1 - так же круто, как Java 1.4 от JAVA 5.0 Гораздо круче. Дженекири человеческие, а не бантик для красоты, как в Java. Впрочем, обратная совместимость языка полная.

>"Джава с указателями" и лишними сущностями типа структур Ты где в С# указатели увидел, чудо? Разберись сначала, чем ссылки от указателей отличаются.

Eugene_Korobko
()
Ответ на: комментарий от AVL2

> сравнивать java и с# можно только теоретически, поскольку второй интегрирован и в среду линукс и в среду windows, а первый что там что, там накладным горбом (если не брать в расчет gcj, им мало что компиляется...).

Э-э-э... объясни мне, как это C# встроен в Linux и в Windows? Вместе с Windows ставится .NET FRAMEWORK (по сути - тот же JVM). Если бы SUN JRE не был бы выкинут из Windows - ты бы тоже говорил о том, что java встроена в windows и linux?

А насчет встраивания в linux java - это пока нет open-source реализации JVM. Хотя насколько я знаю ASF этим занимается - все спецификации открыты. Как только она появится - то и в linux будет встроен нормальный JVM, а не GCJ

Licvidator
()
Ответ на: комментарий от Eugene_Korobko

> Гораздо круче. Дженекири человеческие, а не бантик для красоты, как в Java. Впрочем, обратная совместимость языка полная.

А чем в джаве плохи дженерики?

Licvidator
()
Ответ на: комментарий от Eugene_Korobko

ананимус, понятно, сказал глупость.

Указателт в C# есть, но исключительно для совместимости с сишным кодом. см маршаллинг.

AVL2 ★★★★★
()
Ответ на: комментарий от Licvidator

1) Поставь JVM и попробуй запустить приложение простым щелчком по нему, как екзешник на C#

2) Виджеты в яве свои. Это убого и никак на интеграцию не тянет... SWT - костыль. Практически все явские приложения одинаково ужасны и инородны в любой среде

Насчет линукса - нет, значит нет. яве уже сколько лет по сравнению с c#, а открыт почему то моно...

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

>Это вам не жаба, здесь такие фокусы невозможны в принципе.

А ты почитай C# 2.7 lang spec. Ты увидишь как они делают с языком что хотят как хотят и когда хотят когда даже платформа для 2.0 еще не готова.

Фантазер.

r ★★★★★
()
Ответ на: комментарий от AVL2

Я чё-то не догоняю, какая может быть совместимость С# с с++ Кодом? И можно поинтересоваться, как выглядит синтаксис объявления указателя на С#?

Eugene_Korobko
()
Ответ на: комментарий от AVL2

>С# - управляемый интерпретируемый язык а ля ruby/python/java

Аффтар не пеши больше.

r ★★★★★
()
Ответ на: комментарий от Licvidator

В Java дженерики - не более чем косметический фантик. Только для автоприведения типа в коллекциях. Например, вот так: public class MyClass<E> { private E m_E; public MyClass() { m_E=new E(); } }

на Java 5 сделать нельзя, а в С#2 можно.

Eugene_Korobko
()
Ответ на: комментарий от AVL2

>1) Поставь JVM и попробуй запустить приложение простым щелчком по нему, как екзешник на C#

Гы - запустилось....

>2) Виджеты в яве свои.

В .NETте тоже свои.

> Практически все явские приложения одинаково ужасны и инородны в любой среде

Дай поставщика травы а?

r ★★★★★
()
Ответ на: комментарий от Eugene_Korobko

>Я чё-то не догоняю, какая может быть совместимость С# с с++ Кодом? И можно поинтересоваться, как выглядит синтаксис объявления указателя на С#?

Мне потребовалось передать указатель на строку с именем, чтобы в сислог писать.

Так просто не объявить. На память не помню. Есть набор функций в библиотеке marshall.

AVL2 ★★★★★
()
Ответ на: комментарий от Licvidator

> Поясни про международный стандарт?
http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36768

> А на Java что, нет международного стандарта?
нет, поскольку это проприетарнарная игрушка сантехников:
http://www.iso.org/iso/en/CombinedQueryResult.CombinedQueryResult?queryString...

anonymous
()
Ответ на: комментарий от AVL2

>в C# - теже самые недовиджеты, что и в mfc.

Наверное потому они в 1.1 выглядели совсем не так как окружающая действительность?

r ★★★★★
()
Ответ на: комментарий от anonymous

> нет, поскольку это проприетарнарная игрушка сантехников:

Ну и дальше то что? Сан без JCP процесса нихрена не меняет а JCP процесс он единолично не контролирует.

ECMA-стандартизированный C# микрософт меняет единолично как хочет и когда хочет.

Так что стандартнее, нестандартизированная java которую меняют учасники рынка в коллегиальном режиме, или стандартизированный C# который меняет как хочет одна корпорация?

r ★★★★★
()
Ответ на: комментарий от Licvidator

>А чем в джаве плохи дженерики?

Слышь, а чего ты тогда тут пену пускаешь мусоля о жабе, если даже незнаешь элементарных вещей?

anonymous
()
Ответ на: комментарий от anonymous

Ты разделяй c# и его реализацию в .net, которого хочет догнать mono, дурилка :-)

Будь c# сколь угодно каким международным стандартом, его реализация в .net запросто может не совпадать с твоей ссылкой. Ибо за .net стоит M$, которая вольна как угодно изменять твой продукт. А в пределах одной платформы(windows) всё будет работать нормально.

Deleted
()
Ответ на: комментарий от Licvidator

Насчет стандарта - вообще-то нет, но по первым двум пунктам Вы абсолютно правы! Медленно, но верно начинают надоедать заклинания "они ничего не сделают со стандартом"! Неужели человек на самом деле не въезжает, что именно и какой версии было стандартизировано? Согласитесь, это что-то уже из области религиозных чувств? :)

prasthita
()
Ответ на: комментарий от r

>Ну и дальше то что? Сан без JCP процесса нихрена не меняет

И кто ему запретит?

>ECMA-стандартизированный C# микрософт меняет единолично как хочет и когда хочет.

Бред сивой кобылы. ECMA-стандартизированный C# (спеки версии 1.2) микрософт НЕ меняет. MS разрабатывает ДРУГУЮ версию (на данный момент 2.х). Это совершенно нормальный процесс, называемый эволюцией. Точно также эволюционирует язык С или любой другой. Да и не только язык - посмотри например на Posix.

anonymous
()
Ответ на: комментарий от AVL2

>Указателт в C# есть, но исключительно для совместимости с сишным кодом

Скорее для того, чтобы иметь возможность использовать нативные либы из программ на С#. Причем в С# это делать на порядок легче чем в жаба.

anonymous
()
Ответ на: комментарий от AVL2

>С# - управляемый интерпретируемый язык а ля ruby/python/java

Не совсем так. С# - НЕ ИНТЕРПРЕТИРУЕМЫЙ. Вообще .нет не имеет виртуальной машины. Промежуточный код, который хочет выполнится (метод например) предварительно компилится jit-ом до машинного кода или аот-ом полностью все приложение до машинного кода. Часто запускаемые приложения можно за аот-ить в глобальный кэш.

anonymous
()
Ответ на: комментарий от AVL2

>первый что там что, там накладным горбом (если не брать в расчет gcj, им мало что компиляется...).

Если принять во внимание распространенную практику custom ClassLoader-ов, модифицирующих байт-код, то о компиляции как и о шаринге кода между приложениями вообще говоря можно забыть. Не будет этого. Ибо ВООБЩЕ ГОВОРЯ при каждой новой загрузке одного и тогоже класса в жаба возникает (для тупых - может возникать) новый байт код.

anonymous
()
Ответ на: комментарий от AVL2

сравнивать java и с# можно только теоретически, поскольку второй интегрирован и в среду линукс и в среду windows

;-)

Куда C# интегрирован?

PS What do you smoke?

Yilativs ★★★★
() автор топика
Ответ на: комментарий от AVL2

>МОНО - нормальная независимая реализация. Точно также, как и самба, она будет существовать, хотелось бы этого МС или нет...

ключевое слово "патенты" ;)

AcidumIrae ★★★★★
()
Ответ на: комментарий от AVL2

>К .Net можно поставить GTK# и писать нормальные приложения.

Ты много написал? Покажи хоть одно пожалуйста.

PS Возьми 10 приложений написанных на JDK1.5 и они будут работать на
Linux,Solaris,Windows,MacOS X, Free BSD

возьми 10 приложений на C# и 9 (если не 10) из них будут работать только на windows.

Вопрос, а зачем тогда на linux нужен mono когда есть wine?

Yilativs ★★★★
() автор топика
Ответ на: комментарий от Eugene_Korobko

>Это какая же коллегия придумала такие убогие дженерики?

Да! СтОит посмотреть на эти их коллегиальные обсуждения! Одни только вопли "что хотите делайте только JVM не меняйте!" дорогого стоят! Видимо очень большой кровью им этот JVM достался. Да и любой нормальный, кто видел этот код наверняка согласится, что это редкая помойка. А как дженерики нормальные зделать не меняя JVM?

anonymous
()
Ответ на: комментарий от Yilativs

>Возьми 10 приложений написанных на JDK1.5 и они будут работать на Linux,Solaris,Windows,MacOS X, Free BSD

Я например написал достаточно. Не на С# конечно, а на славном старом С++. И чтобы вы думали, ни разу у нас небыло проблем с кроссплатформенностью, потому, что в 99.(9)% случаев она просто не нужна. Это в основном 2-х и 3-х (с CORBA) звенки в стандартном раскладе - апп-серевер и бд на соляре, морда на винде или апп-серевер на винде бд на соляре морда на винде или очень редко - все на винде. Ниразу небыло проблем перенести апп-сервер с винды на соляру или наоборот.

anonymous
()
Ответ на: комментарий от Yilativs

>Вопрос, а зачем тогда на linux нужен mono когда есть wine?

Вопрос - а почему это вас так задевает? Вы ведь за это не платите. Делают люди, которым это интересно и которые считают, что это полезно. Правы они или нет - рассудит будующее. Два-три года всего то подождать.

anonymous
()
Ответ на: комментарий от anonymous

>Да! СтОит посмотреть на эти их коллегиальные обсуждения! Одни только вопли "что хотите делайте только JVM не меняйте!" дорогого стоят! Видимо очень большой кровью им этот JVM достался. Да и любой нормальный, кто видел этот код наверняка согласится, что это редкая помойка. А как дженерики нормальные зделать не меняя JVM?

Потому-что если ты изменишь JVM, то код, написанный для JDK 1.3 не будет работать в JDK 1.5. И потому-что нечего всякой ненужной чешуей язык замусоривать. Зачем мне что-то внесенное в язык, если я могу сделать то же самое при помощи внешней библиотеки?

На мой вопрос "А чем же плохи дженерики" меня грубо обозвали. Я не работал в Java с Generics, и просто спрашивал. Вопросы в этом форуме уже не приветствуются? Кстати, Анонимус, объясни пожалуйста, чем все же плохи дженерики, и где они используются?

Licvidator
()
Ответ на: комментарий от anonymous

re:Я например написал достаточно. Не на С# конечно, а на славном старом С++. И чтобы вы думали, ни разу у нас небыло проблем с кроссплатформенностью, потому, что в 99.(9)% случаев она просто не нужна. Не было проблем потому, что не нужна - это решение. ;-) Я говорил о классе приложений, в которых переносимость нужна или желательна. Учитывая текущую ситуацию - это касается почти всех приложений, за исключением системных утилит.

re:Ниразу небыло проблем перенести апп-сервер с винды на соляру или наоборот.

Ссылку на AppServer дайтие пожалуйста. Или хотя бы на одно написанное вами приложение, которое работает под Windows,Solaris.

Yilativs ★★★★
() автор топика
Ответ на: комментарий от Licvidator

>Потому-что если ты изменишь JVM, то код, написанный для JDK 1.3 не будет работать в JDK 1.5

У меня на машине установлено одновременно .NET 1.1 и .NET 2.0 оба вида приложений благополучно работают. Что мешает поступить с Java?

>На мой вопрос "А чем же плохи дженерики" меня грубо обозвали Я уже приводил пример - на Java нельзя в дженерик классе создать объект того класса, который используется как параметр. Посмотри тред - там есть пример.

Насчёт XP темы - курите доки: http://www.gotdotnet.ru/DotNet/FAQ/WindowsForms/Misc/312.aspx

Eugene_Korobko
()
Ответ на: комментарий от anonymous

>>Вопрос, а зачем тогда на linux нужен mono когда есть wine?

>Вопрос - а почему это вас так задевает?

Вопрос, а с чего вы взяли, что это меня задевает?
Мне интересно мнение людей.

Yilativs ★★★★
() автор топика
Ответ на: комментарий от anonymous

Вот, нашел:

> Слышь, а чего ты тогда тут пену пускаешь мусоля о жабе, если даже незнаешь элементарных вещей?

Я не пену пускаю, а ИМХО высказываю.

Licvidator
()
Ответ на: комментарий от Eugene_Korobko

>Это какая же коллегия придумала такие убогие дженерики?

Положим не колегия, а какието австралицы, и придумали они их чтобы выкрутиться без замены байткода и vm. Cовсем другой вопрос стоило ли держаться за JVM, хотя аргументы понятны. Но генерики в java такие не потому что ничего лучше не смогли придумать, а потому что не хотели менять JVM. Хотя даже в этом контексте могли бы многие вещи сделать...

r ★★★★★
()
Ответ на: комментарий от Eugene_Korobko

> В Java дженерики - не более чем косметический фантик. Только для автоприведения типа в коллекциях. Например, вот так: public class MyClass<E> { private E m_E; public MyClass() { m_E=new E(); } }
>на Java 5 сделать нельзя, а в С#2 можно.

Вот, нашел. А зачем так делать? Такие вещи должен делать паттерн Factory. Зачем вносить что-то подобное в язык?

А если E - это интерфейс? Как ты new для интерфейса вызывать будешь?

Что будет в C# если ты попытаешься сделать такое для класса, у которого нет пустого конструктора?

Licvidator
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.