Pull to refresh

Comments 55

Вот вам и «некроссплатформенный» дотнет…
Ну тут не совсем .NET — а его open-source реализация. Но радует, радует.
В конце-концов, кого это волнует, если можно будет писать программы под все эти платформы на C# со всеми его преимуществами?
Волнует тех, кто уже давно привык к новшествам свежих версий .Net Framework, от которых покачто Mono отстаёт на год-два, поскольку разработчикам новелл нужно время чтобы повторить функциональность оригинального фреймфорка.
Тут еще тонкость, далеко не вся функциональность будет даже в принципе повторяться, к примеру, WPF, пока Мигель против даже попыток переноса на Моно ее.
Во-первых, Моно отстает от.НЕТ по спецификации. Говорят, писать универсальные приложения пока еще тяжело; то есть надо писать именно для него.

Во-вторых, я никак не могу понять, чем же таким великим отличается.НЕТ от Джавы, которая уже есть и всегда был кроссплатформенной!

В третьих… Мигель де Иказа всегда славился страстью к копированию чужых технологий :) Никто не слышал, как его прозвали в оупенсорс-тусовке? Miguel Copycat Ikaza :)
Во-первых — вы правы, отстает. Но тут МС задает такой темп в выходе новых версий .NET которые привносят кучу всего нового — что Моно просто не успевает =)

Во-вторых — no holywar, plz. ".NET лучше, чем Java. Да чем, чем лучше то???? Чем Java"

В-третьих, хм… т.е. делать по спецификациям платформы ее опен-сорс реализацию — это копипаст? Ну может, я о Мигеле чего-то и не знаю. И вобще он на Декстера похож =)
Дело даже не в новом.
Фиг с ними, с WPF и WCF.
Но в Моно, например, до сих пор почему-то не реализованы некоторые базовые вещи, вроде WaitHandle-ов, которые были с самых первых версий фреймворка.
Не знаю.

Знаю, что:
* dev-lang/mono
Latest version available: 2.0.1
Latest version installed: 2.0.1
Size of files: 18,931 kB
Homepage: www.go-mono.com
Description: Mono runtime and class libraries, a C# compiler/interpreter
License: || ( GPL-2 LGPL-2 X11 )
и что у ManualResetEvent-а, к примеру, оверлоад WaitOne(int) вообще отсутствует, а вызов WaitOne() приводит к сегфолту.
А, пардон, сегфолтит у него вообще конструктор, до WaitOne() там дело даже не доходит.

Где-то там еще в похожем сценарии было FIXME: NotImplemented, только уже не вспомню, где именно.
.net отличается от Java хотя бы тем, что там никто вам не навязыывает java, пишите хоть на pascal
JVM тоже не заставляет писать на Java.
* Ruby, with JRuby
* JavaScript, with Rhino
* Python, with Jython
* Common Lisp, with Armed Bear Common Lisp
* Groovy
* Scala
* Ioke
* Forth, with Misty Beach Forth
* Clojure
хм, что ж надеюсь, хоть один из них используется более широко чем просто ограниченным кругом лиц
у .net дела несколько получше
www.dotnetpowered.com/languages.aspx
Ммм… процентов 90 этих языков неюзабельна. В принципе в дотнете C# и VB используется в большинстве проектов. Я ещё вижу применение динамических языков (питон, руби), но остальные это всёже эксперементальные.
VB,C,C++,Java,Lua,Pascal,Cobol,Asm
те самый 10%? =)
.net отличается тем что библиотека скомпелированная на IronPython будет работаеть со всеми другими языками.
Ну, я смотрю ты асс.

Ты прочитай описание, допустим JRuby. И потом уже пиши.

# A 1.8.6 compatible Ruby interpreter written in 100% pure Java
# Most builtin Ruby classes provided
# Support for interacting with and defining java classes from within ruby
Забыл про них. Наврное есть ещё.
Вот с этим как раз проблем нет. Для JVM написано огромное количество компиляторов самых разных языков. Вот подробности: www.is-research.de/info/vmlanguages/
И таки да, среди этих языков есть весьма популярные. Я например в своих проектах активно использую groovy.
Забавная ситуация mono отстает от .net, а .net от mono=) Про compiler as a service, реализованный в mono писали уже дважды: раз и два, а в .net'е эта возможность появиться только через версию.

В Java были совершены ошибки, которых нет в .net, одна из них это checked exception, другая их версия generic.
Ага, а благодаря wine теперь можно и кроссплатформенным .exe назвать :-)
UFO just landed and posted this here
Ну пока ещё нет такой кроссплатформенности как в Java. Обычно приложения для .NET пишутся от приложений для Mono.
это уже интересно!
хотя mono не идеален, это лучше чем ничего.
особенно учитвая что с iphone и java пока ничего хорошего не вышло
Скоро можно будет написать проект на си шарпе в визуал студии, потом собрать его в моно, и запускать на любых виндовсках без дот нет)
А это давно можно.
Через моно? или как?
В смысле статически собрать .net екзешник, чтобы сам .net не требовался.
Хм, а можно по подробней, мини инструкцию как это можно сделать?
Потому что на сколько я знаю, это было не возможно, по крайней мере 4 месяца назад)
Это было возможно уже примерно лет пять минимум ;) Пример: www.xenocode.com/Products/Postbuild-for-NET/ И это только один пример, на самом деле таких тулзей сонм.
Нифигасе, я как то искал как это можно сделать, раздвигал на готДотНет целую дискуссию по этому поводу, и все пришли к выводу, что си шарпа без дот нет нету)

вот пост www.gotdotnet.ru/Forums/Common/543227.aspx#543402
Видать я его пропустил :)

Тут нужно понимать, что си за решёточкой без дотнету таки нету, тулзи просто собирают все зависимости (читай куски дотнета) в один файл с вашей программой, естественно соответствующего размера.
Если переложение серьезное, то все зависимости будут весить как дотНет, минус пару метров, а вот для каких то примитивов, эт не плохо)
Так это не для экономии на весе, а для экономии при внедрении.
Мне в свое время очень сильно попортила кровь установка софта под .NET 1.1 на 300 машин с win2k, до дальней из которых было почти 1000 километров и очень плохая модемная связь. Пришлось писать батник, который пытался сначала установить netfw, потом приложение. Из-за общей загаженности машин фреймворк не встал примерно в 20% случаев. Короче коммандировки обошлись в гораздо большую, чем 1500$ сумму…
Этот моно, судя по описанию, делает ровно так же.
А есть бесплатные аналоги?
Не знаю, но даже если и есть, я бы не стал их использовать без поддержки производителя. Поддержка по любому платная, так что то на то и выходит…
Как минимум пространства имен поменять будет нужно.
Ну наверно оно так и работает, все пространство именно System переделоно
Пространства имен Windows нету напирмер, и мне кажется были и другие изменения.
Вопрос только в том, зачем это нужно.
Рантайм придумали в том числе для того, чтобы каждая программа не таскала с собой чемодан компонентов, а могла повторно использовать существующие.
Ну есть машины с WinXP, на которых дотнет фрэймворк не стоит. Эт на висте и семерке он «из коробки» имеется, а вот на ХРюше его, возможно, прийдется поставить (что не всегда выходит с перового раза), вот тут-то и приходит на помощь программка, со всеми необходимостями (кусками .NET) внутри.
Если не ошибаюсь, в xp sp2 или 3 входит .net 2.
Фреймворк давно ставится через Windows Update как компонент системы.
В SP3, кажется, он уже включен (вторая версия, по крайней мере).
Еще всякие довольно распространенные вещи, вроде ATI Control Panel, ставят его вместе с собой.
Процент машин без фреймворка уменьшается.
Некоторый софт ставит вместе с собой .Net framework еще раз. (Хотя уже имеется установленный, а наглядный пример в 10 метрах от меня стоит) Просветите, пожалуйста, зачем оно это делает?
Во-первых, может отличаться требуемая версия / сервис-пак.
Во-вторых, установщик конкретного софта может быть глупым, и либо неправильно диагностировать наличие фреймворка, либо на самом деле ничего не устанавливать, хотя и писать что ставит.
UFO just landed and posted this here
Есть Bartok мсовский компилятор в х86 .net кода
Когда я только начинал писать под .NET я сразу же смирился с мыслью, что мне всё равно придётся писать под Майкрософт. Честно? Меня это не мучало. Но, студенты начали приносить мне программы на моно под мак, кто-то начал говорить про Iron питоны и руби, потом я увидел последний крик с погибающего корабля — Delphi.NET. Ещё были выкрики о Nemerle и F#. потом я увидел, что мой друг — вэб кодер перелез с ПХП на Асп.Нет. Да ещё и JQuery случайно появился в новой версии MVC. Тут из маминой из спальни VisualStudio стала бесплатной в минимальной комплектации. Тут и там проскакивают новости, в которых сказано, что .NET в очередной раз метит на определённую сертификацию открытого стандарта…

И тут мне стало не по себе от одной фразы: «Microsoft породила новый стандарт, который полюбился народу». Конечно, сам .NET является флагманом, на который ровняется Mono, но оно и понятно.

Круто. Просто шикарно. C# на айфоне — это не только хорошее достижение для кодеров, но и, как мне сдаётся, лучшая подлянка для Эплла, которую могли себе только представить разработчики .NET
В чем подлянка? Вы думаете для айфона что-то происходит против воли Эпл? :) С учетом, что софт под айфон распространяется только через эпловский ресурс, который эпл оооочень строго премоделирует…

ЗЫЖ не говоря о том, что майкрософт инвестировало в апл около 150 млн баксов (купив акции апла, в конце 90х)
ну и в каком месте тут подлянка? Что разработчики не используют SDK? Так 95% игр написано на C++ + OpenGL + 2 ObjC класса под инициализацию и мультитач/акселерометр.

Вот если бы они сделали так, что можно бы было интерпритировать код в рантайме, или писать приложения с плагинами, при этом не противоречя эгрименту — то да. А так — ничего особенного
Ну собственно подлянка в том, что по замыслу Эппл — писать можно только в предоставляемой ими же среде и с помощью их средств — т.е. опять же, контроль рынка.

А тут оказывается — можно на C# делать то же самое. Больших проблем для Эппл это не создаст, а разработчикам — все радость.
И чё? Вы видели как в Unity это устроено? Клепаете проект, потом делаете экспорт, все экспортируется iPhone проект для XCode, через который уже все и заливается на айфон.

Так что ничего пдобного. Вот если бы придумали способ загружать свои программы на не джеилбрейкнутый телефон для тестов, тогда было бы что-то
Sign up to leave a comment.

Articles