Автор Тема: MONO - "...объединяет Windows.Net и Linux..."  (Прочитано 8044 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lbvf

  • Постоялец
  • ***
  • Сообщений: 249
  • Карма: 3
  • Ubuntu, ALTLinux, Debian
Здравствуйте. Недавно прочитал статью про MONO - .NET в Linux. Хотел бы услышать мнения об этой штуке, как пользователей так и програмистов. Заранее спасибо.

Оффлайн MrStraker

  • Старейшина
  • Старожил
  • *****
  • Сообщений: 432
  • Карма: 21
  • Пол: Мужской
  • FreeBSD, Solaris 10 x86, Debian
Видел. Студенты сдавали курсовую написанную на .NET. Чесно скажу мне не очень понравилось.

Оффлайн Алексей Шоков

  • Постоялец
  • ***
  • Сообщений: 233
  • Карма: 11
  • Пол: Мужской
MrStraker, что именно не понравилось?

Меня интересует в Mono дела с поддержкой новых версий .NET и с переносимостью.

Оффлайн MrStraker

  • Старейшина
  • Старожил
  • *****
  • Сообщений: 432
  • Карма: 21
  • Пол: Мужской
  • FreeBSD, Solaris 10 x86, Debian
MrStraker, что именно не понравилось?

Меня интересует в Mono дела с поддержкой новых версий .NET и с переносимостью.

Ну чисто виндовые версии работать точно не будут. А если писать сразу что-то "кроссплатформенное" (что не обращается к реестру или к чисто виндовым функциям), то скорее всего работать будет. Не понравилось именно то что MONO это оболочка (эмуляция) .NET, а не реализация под Unix. Тем более MONO позволяет запускать на прямую скомпилированный exe файл.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
MrStraker, что именно не понравилось?

Меня интересует в Mono дела с поддержкой новых версий .NET и с переносимостью.

Ну чисто виндовые версии работать точно не будут. А если писать сразу что-то "кроссплатформенное" (что не обращается к реестру или к чисто виндовым функциям), то скорее всего работать будет. Не понравилось именно то что MONO это оболочка (эмуляция) .NET, а не реализация под Unix. Тем более MONO позволяет запускать на прямую скомпилированный exe файл.
тут http://c0d3rz.info/viewtopic.php?id=733 я постарался ответить. MONO полноценная реализация .NET под никсы. .NET не использует реестр. В MONO процесс компиляции точно такой же как и в родной реализации, за исключением меньшей производительности полученных программ.

Оффлайн MrStraker

  • Старейшина
  • Старожил
  • *****
  • Сообщений: 432
  • Карма: 21
  • Пол: Мужской
  • FreeBSD, Solaris 10 x86, Debian
MrStraker, что именно не понравилось?

Меня интересует в Mono дела с поддержкой новых версий .NET и с переносимостью.

Ну чисто виндовые версии работать точно не будут. А если писать сразу что-то "кроссплатформенное" (что не обращается к реестру или к чисто виндовым функциям), то скорее всего работать будет. Не понравилось именно то что MONO это оболочка (эмуляция) .NET, а не реализация под Unix. Тем более MONO позволяет запускать на прямую скомпилированный exe файл.
тут http://c0d3rz.info/viewtopic.php?id=733 я постарался ответить. MONO полноценная реализация .NET под никсы. .NET не использует реестр. В MONO процесс компиляции точно такой же как и в родной реализации, за исключением меньшей производительности полученных программ.
Про реализацию может и соглашусь. Но все равно MONO - это эмулятор, так как структура выполняемого файла соответствует структуре выполняемого файла windows. Если исходить что MONO - эмулятор, то отсюда следует что производительность будет меньше.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Про реализацию может и соглашусь. Но все равно MONO - это эмулятор, так как структура выполняемого файла соответствует структуре выполняемого файла windows. Если исходить что MONO - эмулятор, то отсюда следует что производительность будет меньше.

Я уже несколько раз писал про систему компиляции в .NET. Тот файл, который ты видиш не является исполняемым, он в IL коде, при его запуске, вернее при вызове каждого метода, этот медод компилируется в нативный код той системы на которой исполняется. Можно также целиком откомпилировать весь файл при установке программы, что несколько ускорит запуск.

Оффлайн user_anonymous

  • Старейшина
  • Общительный человек
  • *****
  • Сообщений: 1 136
  • Карма: 50
  • профессиональный параноик
ИМХО - .NET - это попытка Майкрософт уравть кусок пирога у Jav-ы. И причем попытка не самая удачная. Главный козырь Явы - это офигительная кроссплатформенность. И дотнет тут похвастаться нечем - до явы ему в этом плане как до луны. Есть гигантский пласт программ, которым не очень важна производительность (кстати, в последних версиях явы с этим все пучком, если у программиста руки не кривые). А вот кроссплатформенность им критична. А с появлением мобильных телефонов, поддерживающих виртуальные машины, такие программы стали плодится как кролики.
Я считаю, что яву ждет безоблачное будущее, и что дотнету такое будущее не светит.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
ИМХО - .NET - это попытка Майкрософт уравть кусок пирога у Jav-ы. И причем попытка не самая удачная. Главный козырь Явы - это офигительная кроссплатформенность. И дотнет тут похвастаться нечем - до явы ему в этом плане как до луны. Есть гигантский пласт программ, которым не очень важна производительность (кстати, в последних версиях явы с этим все пучком, если у программиста руки не кривые). А вот кроссплатформенность им критична. А с появлением мобильных телефонов, поддерживающих виртуальные машины, такие программы стали плодится как кролики.
Я считаю, что яву ждет безоблачное будущее, и что дотнету такое будущее не светит.
ИХМО субъективное мнение.
.NET стратегическая платформа Microsoft, в основе которой управляемый защищенный код, сборка мусора, огромное количество библиотек. Идеи не новы и были задолго до явы. Кросплатформенность явы - миф, и об этом лучше всего знают сами ява программисты. В рамках MONO и rotor .NET имеет некоторую кросплатформенность, но это не суть важно, большие и трудоемкие проекты в своей себестоимости имеют совсем маленький процент стоимости железа и необходимого ПО. Да не спорю, на яве пишут много и серьезно, но и на .NET пишут много и серьезно.
Веб фрамеворки на яве, такие как jsp или вебсфера так и не смогли занять сколь нибудь серьезную долю рынка, чего не скажешь об ASP.NET.
В .NET раньше чем в яве ввели шаблоны, причем в .NET они поддерживаются на уровне среды исполнения, в яве это только синтаксический сахар, который негативно влияет на производительность ПО.
Кстати для всяких мобильный устройств есть .NET Compact Framefork, так что программы на .NET можно встреритить в огромном количестве мобильных устройств.
В .NET 3.0 есть такие штуки, как Windows Presentation Fundation, Windows Workflow Foundation и Windows Communication Foundation, что чтонибудь подобное есть в яве я не слышал, причем бесплатное:)
Осенью этого года выйдет .NET 3.5, вот там будет например LINQ, вещь четкая, почитать доходчиво можно тут, такого в яве точно нет.

Так что поживем увидим, кому светит светлое будующие, а кому нет:)

Оффлайн Phake

  • Ph@ke
  • Старейшина
  • Ветеран
  • *****
  • Сообщений: 508
  • Карма: 7
  • Пол: Мужской
  • ArchLinux, Slackware, ну и Debian чтоб поржать...
    • Биржа нефтепродуктов OilTrend
Ну что вы спорите то ниачём ?!?!?!
Какой толк в этом споре ?
у одного на M$ свет клином сошёлся, естесно он будет утверждать что МОНА/НЕТ поимеют джаву, а винда съест линуха и всех всех всех...
а другие знают что это не так, но упорно продолжают лечить безнадёжного.......
оно надо ?

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Ну что вы спорите то ниачём ?!?!?!
Какой толк в этом споре ?
у одного на M$ свет клином сошёлся, естесно он будет утверждать что МОНА/НЕТ поимеют джаву, а винда съест линуха и всех всех всех...
а другие знают что это не так, но упорно продолжают лечить безнадёжного.......
оно надо ?
Против домыслов я оперирую фактами!

Оффлайн Lbvf

  • Постоялец
  • ***
  • Сообщений: 249
  • Карма: 3
  • Ubuntu, ALTLinux, Debian
Хоть Я и не очень сведущь в данной области но судя по тому что пишут о .Net - это удобная кросс-платформенная штука не зацикленная на одном языке в отличии от Java, и тот факт что linux сообщество заинтересовала эта технология и они занялись MONO говорит в пользу .Net, как говорится хорошие идеи витают в воздухе, вот только диктует условия Microsoft. Но в свете недавних событий (договор Novell с Microsoft) смотреть на MONO как на независимый инженерный анализ уже не просто

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Хоть и не очень сведущь в данной области но судя по тому что пишут о .Net - это удобная кросс-платформенная штука не зацикленная на одном языке в отличии от Java,
Я вообщето MVP ASP.NET https://mvp.support.microsoft.com/profile=dd4372c6-1c02-4640-a2aa-f847adb02770

Оффлайн Viknet

  • Новичок
  • *
  • Сообщений: 40
  • Карма: 2
  • Пол: Мужской
ИМХО - .NET - это попытка Майкрософт уравть кусок пирога у Jav-ы. И причем попытка не самая удачная. Главный козырь Явы - это офигительная кроссплатформенность. И дотнет тут похвастаться нечем - до явы ему в этом плане как до луны. Есть гигантский пласт программ, которым не очень важна производительность (кстати, в последних версиях явы с этим все пучком, если у программиста руки не кривые). А вот кроссплатформенность им критична. А с появлением мобильных телефонов, поддерживающих виртуальные машины, такие программы стали плодится как кролики.
Я считаю, что яву ждет безоблачное будущее, и что дотнету такое будущее не светит.
ИХМО субъективное мнение.
.NET стратегическая платформа Microsoft, в основе которой управляемый защищенный код, сборка мусора, огромное количество библиотек. Идеи не новы и были задолго до явы. Кросплатформенность явы - миф, и об этом лучше всего знают сами ява программисты. В рамках MONO и rotor .NET имеет некоторую кросплатформенность, но это не суть важно, большие и трудоемкие проекты в своей себестоимости имеют совсем маленький процент стоимости железа и необходимого ПО. Да не спорю, на яве пишут много и серьезно, но и на .NET пишут много и серьезно.
Веб фрамеворки на яве, такие как jsp или вебсфера так и не смогли занять сколь нибудь серьезную долю рынка, чего не скажешь об ASP.NET.
В .NET раньше чем в яве ввели шаблоны, причем в .NET они поддерживаются на уровне среды исполнения, в яве это только синтаксический сахар, который негативно влияет на производительность ПО.
Кстати для всяких мобильный устройств есть .NET Compact Framefork, так что программы на .NET можно встреритить в огромном количестве мобильных устройств.
В .NET 3.0 есть такие штуки, как Windows Presentation Fundation, Windows Workflow Foundation и Windows Communication Foundation, что чтонибудь подобное есть в яве я не слышал, причем бесплатное:)
Осенью этого года выйдет .NET 3.5, вот там будет например LINQ, вещь четкая, почитать доходчиво можно тут, такого в яве точно нет.

Так что поживем увидим, кому светит светлое будующие, а кому нет:)

Идем по-порядку.

Java уже является в некотором смысле корпоративным стандартом. На нём пишут уже давно и много. На .NET же я пока не видел приличных приложений.

Java имеет кроссплатформенность. На родной машине правильно написанный код исполняется одинаково в Windows, Linux и Solaris как минимум.
У .NET нет реальной кроссплатформенности. Mono, как вы сами сказали, умеет даже не всё из .NET 1.1 и сумеет очень не скоро. А .NET 3 вообще получается глубоко заточенным под висту.

Насчет мобильных устройств не смешите! Сравните количество телефонов с J2ME и .NET Compact Framework. с учетом того, что на Windows Mobile спокойно ставится ява... А ведь те же .NET CF они тоже нескольких версий бывают... И несовместимы между собой...

.NET - красивая идея с убогой реализацией.

Против домыслов я оперирую фактами!

Вы оперируете рекламными слоганами и пытаетесь найти под них факты.
На данном форуме это практически бесполезно.
Да и на многих других, как я заметил...

Я вообщето MVP ASP.NET https://mvp.support.microsoft.com/profile=dd4372c6-1c02-4640-a2aa-f847adb02770

И, извините конечно, но это не очень красиво, тыкать всем о своём статусе. Тем более когда это не к месту. Тем более на сайте о линуксе. Тем более уже не первый раз.

Это ведь вы, Евгений Веприков? Вас сложно не узнать...

Оффлайн binary

  • 1101
  • Постоялец
  • ***
  • Сообщений: 150
  • Карма: 8
  • Пол: Мужской
  • OpenSuse 11.4
Называйте меня как хотите, но я не в упор не вижу реальных преимуществ дотнета. Для виндовса конечно очень крутой кажется докомпиляция программ с оптимизацией под конкретную машину. Но джентушнегу кажется, что винда просто изначально была построена на бинарниках, а это неправильно. В составе ос обязан быть компилятор, имхо! Для оптимизации хотя бы наиболее важных компонентов (отдельных программ или библиотек).

Оффлайн binary

  • 1101
  • Постоялец
  • ***
  • Сообщений: 150
  • Карма: 8
  • Пол: Мужской
  • OpenSuse 11.4
Конечно, если заглянуть в далекие перспективы, то видно, что подход к разработке 'си & емакс' не вечен.  Когда нибудь понадобятся компиляторы, которые 'умнее' людей и всякие новые программные среды, код в которых будет существовать эволюционируя под воздействием каких то условий и самодописываясь. :) Некоторый консерватизм 'истиных' линукс-программистов в этом свете выглядит непрогрессивно. Хотя опасаться на мой взгляд пока нечего-если майкрософт и смотрит в этом направлении, то она пока ничего не добилась.

Оффлайн Viknet

  • Новичок
  • *
  • Сообщений: 40
  • Карма: 2
  • Пол: Мужской
Называйте меня как хотите, но я не в упор не вижу реальных преимуществ дотнета. Для виндовса конечно очень крутой кажется докомпиляция программ с оптимизацией под конкретную машину. Но джентушнегу кажется, что винда просто изначально была построена на бинарниках, а это неправильно. В составе ос обязан быть компилятор, имхо! Для оптимизации хотя бы наиболее важных компонентов (отдельных программ или библиотек).

Преимущества как раз у него есть, но только в теории.
В .NET приложениях идет не "докомпиляция", а самая кто ни на есть компиляция с оптимизацией под конкретную машину.

И, кстати говоря, Некоторые компиляторы уже давно намного умнее человека...

Забыл ещё упомянуть, что та же JVM уже давно работает не только с языком Java...

Din

  • Гость
И, кстати говоря, Некоторые компиляторы уже давно намного умнее человека...
Хотелось бы поправить: "...некоторого человека".  ;D

Ни один существующий компилятор не сможет оптимизировать лучше человека при неограниченном времени оптимизации. Примеры здесь же были.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Идем по-порядку.

Java уже является в некотором смысле корпоративным стандартом. На нём пишут уже давно и много. На .NET же я пока не видел приличных приложений.

Java имеет кроссплатформенность. На родной машине правильно написанный код исполняется одинаково в Windows, Linux и Solaris как минимум.
Что такое вообще корпоративный стандарт? Неспорю, на яве пишут давно и много, на .NET тоже пишут уже давольно двно и очень много. И что такое "приличное" приложение? Есть например почтовый сервер на яве? То что 50% сайтов компаний из топ 1000 журнала Fortune на ASP.NET это не показатель?
А вот самому приходилось пробовать "кросплатформенность" явы?
У .NET нет реальной кроссплатформенности. Mono, как вы сами сказали, умеет даже не всё из .NET 1.1 и сумеет очень не скоро. А .NET 3 вообще получается глубоко заточенным под висту.
Она и ненужна. .NET 3.0 прекрасно работает на XP и 2003 сервере.
Насчет мобильных устройств не смешите! Сравните количество телефонов с J2ME и .NET Compact Framework. с учетом того, что на Windows Mobile спокойно ставится ява...
явы больше, но не 99 к 1 это точно.
А ведь те же .NET CF они тоже нескольких версий бывают... И несовместимы между собой...
Имеется обратная совместимость, программа написанная под версию 1,0, будет работать под версией 2,0

.NET - красивая идея с убогой реализацией.
глупость, где факты?



И, извините конечно, но это не очень красиво, тыкать всем о своём статусе.
Это только ответ на упрек о моем незнании архитектуры .NET и ничего больше.

Оффлайн apprentice

  • Администратор
  • Старожил
  • ******
  • Сообщений: 281
  • Карма: 21
  • Пол: Мужской
  • Debian, Gentoo, Google Android
Цитировать
упрек о моем незнании архитектуры .NET и ничего больше.
Ткните пальцем. Не вижу.

UPD: Lbvf про себя говорил: "Хоть я и не очень сведущь в данной области"...

 

В быстром ответе можно использовать BB-теги и смайлы.

Предупреждение: в данной теме не было сообщений более 120 дней.
Если не уверены, что хотите ответить, то лучше создайте новую тему.

Имя: E-mail:
Визуальная проверка:
Какова 'длинная' версия аргумента '-n' утилиты ls в GNU fileutils 4.0 согласно man-странице?: