Меня не интересует Windows в целом, и убогий Windows Mobile в частности, поэтому о портабельности подобного плана я рассказывать не буду. Естественно, что полная портабельность может быть только при использовании аналогичных платформ. А то, что вас интересует, аналогично сравнению J2SE и J2ME. ;)
И вообще, лучше бы вы матчасть поучили, и нашли десять отличий между Windows и WM хотя бы на уровне ядра.
Покажите мне десяток популярных приложений с хорошим интерфейсом на Swing/SWT?.. ;) Вы, вообще, когда-нибудь пробовали эту "прозрачную" Swing-овскую кросс-платформенность? ;) GTK# - более низкоуровневое решение, поэтому хороший интерфейс на нём реализовать проще, и выглядеть он будет лучше. ;)
Судя по всему винда способна поддерживать совместимость с текущей и прошлой версиях. нет третий работает только в ХР, 2003 сервере, висте, 2008 сервере.
Ну, с такими претензиями - это уже не ко мне. :) Причина здесь в том, что MS больше не хочет поддерживать ОС 1999-го года и вынуждает пользователей переходить на более новые версии. Цель, пожалуй, вы знаете сами. ;)
Я - нет. От микрософта удобных вещей не дождёшься.
> .NET ведь так и задумывался, если вы не в курсе.
А linux задумывался как эмулятор терминала :)
Мне режет слух, когда кто-то говорить про кроссплатформенный (dot)net. Потому что надо ставить *, знак сноски и объяснять, что это "кроссплатформенность под текущей и предыдущей версиями винды на intel-совместимых процессорах"
хотя является хорошим показателем различия. При условии _принциапиальной_ разницы аппаратной платформы вообще сложно говорить о совместимости. Это как сравнить калькулятор и денди.
> Мне режет слух, когда кто-то говорить про кроссплатформенный (dot)net.
Ещё раз. Кросс-платформенным в истинном смысле слова я называю C#. Кросс-платформенность же .NET заканчивается на Windows, и это одинаково понимаем как я, так и вы.
> "Хм", - сказал я, запуская полноценный abiword на наладоннике.
Откомпилированный, соответственно, под платформу этого самого наладонника, ага? ;) Байт-код интерпретируемый и байт-код исполняемый, всё-же, несколько отличаются... ;)
может он через эмуль работает. Запуская полноценный софтины. Просто для смартов надо принципиально интерфейс менять. там концепция управления другая...
> Покажите мне десяток популярных приложений с хорошим интерфейсом на Swing/SWT?.. ;)
А под GTK# назовете?
Мы говорим о кросс-платформенности, т.е. о переносимости на другую платформу не только в рамках виндовс-виндовс или линукс-виндовс, но и в рамках архитектур. Как с этим у mono/.NET ? ^^
> GTK# - более низкоуровневое решение, поэтому хороший интерфейс на нём реализовать проще, и выглядеть он будет лучше. ;)
какая связь между "уровневостью" решения и качеством интерфейса? %)
>А вот всякие IDEA, Netbeans - это в Linux просто кошмар...
Интерфейс у NetBeans 6.0 вполне Гномий. Причем именно с темой Nodoka которая у меня сейчас стоит. Пока этот релиз не ковырял и не разбирался как они этого добились.
> может он через эмуль работает. Запуская полноценный софтины.
Нет, просто там стоит полноценная система, не нуждающаяся в эмуляторах для запуска полноценного софта.
> Просто для смартов надо принципиально интерфейс менять. там концепция управления другая...
Ну вот маководам к однокнопочной мыши(которой является стилус с точки зрения системы) не привыкать :) Мне иногда(особенно в xterm) не хватает правой/средней кнопок. А в том же abiword действия по правой кнопке продублированы в меню, так что проблем нет.
Ну Вы же понимаете, что при желании можно назвать N приложений на том или ином популярном ЯП, которыми пользуется называющий :) Я, например, постоянно пользуюсь тремя приложениями на моно (Banshee, F-Spot, Incollector) и ещё парой (Tomboy, GIMP#) время от времени. Дальше можно долго спорить о том, являются они популярными или нет :) Только зачем? :)
>Дальше можно долго спорить о том, являются они популярными или нет :) Только зачем? :)
В этом-то и дело. Лично я вообще не пользуюсь никакими приложениям на моно или дотнет. И вообще не считаю C# за язык достойный белого человека (это не расизм, а крылатая фраза :). Предложив назвать в ответ 10 популярных приложений на GTK#, надеялся утихомирить собеседника и, наконец, вернуться к теме о файловом менеджере с кричащим названием Codename Nemo, который, имхо, ужасен ;)
Десяток - неа, чуть меньше. Beagle-search, Tomboy, F-Spot, BLAM!, Muine, iFolder (не путать с сервисом закачки файлов), собственно MonoDevelop.
> Мы говорим о кросс-платформенности, т.е. о переносимости на другую платформу не только в рамках виндовс-виндовс или линукс-виндовс, но и в рамках архитектур. Как с этим у mono/.NET ?
> какая связь между "уровневостью" решения и качеством интерфейса? %)
Неужели я должен объяснять элементарные вещи?.. ;) Одно дело - использовать GTK для интерфейса, другое - использовать какие-то собственные методы, рисующие интерфейс а-ля GTK.
Вероятно, вы не поняли, о чём речь. Кросс-платформенность на уровне исполняемого кода - это дело #ifdef в исходниках. Кросс-платформенность на уровне байт-кода - это несколько другое.
> У меня там и tkabber имеется. безо всякой компиляции.
> наконец, вернуться к теме о файловом менеджере с кричащим названием Codename Nemo
Если Вы в детстве читали Жюль Верна (читай: родились в СССР), то знаете, что nemo означает "никто". Итого программа называется <<Кодовое имя "Никто">>. Я бы сказал, что это не кричащее, а очень, очень скромное название. Самобичующее даже.
> Интерфейс у NetBeans 6.0 вполне Гномий. Причем именно с темой Nodoka которая у меня сейчас стоит.
Hehe, у меня тоже Netbeans 6.0, тоже Nodoka, и тоже всё красиво (за исключением комбо-боксов). Но всё-же интересно, сколько индусов пострадало при создании такого интерфейса... :)
>Неужели я должен объяснять элементарные вещи?.. ;) Одно дело - использовать GTK для интерфейса, другое - использовать какие-то собственные методы, рисующие интерфейс а-ля GTK.
Ну так это получается более высокий уровень, Вы абстрагируетесь от низкоуровщины. А Вы что написали?
> GTK# - более низкоуровневое решение, поэтому хороший интерфейс на нём реализовать проще, и выглядеть он будет лучше. ;)
> Если Вы в детстве читали Жюль Верна (читай: родились в СССР), то знаете, что nemo означает "никто". Итого программа называется <<Кодовое имя "Никто">>. Я бы сказал, что это не кричащее, а очень, очень скромное название. Самобичующее даже.
Жюля Верна, естественно, читал. А насчет самобичевания не соглашусь. Чувствую связь между названиями Codename Nemo и Nautilus ;)
> Вероятно, вы не поняли, о чём речь. Кросс-платформенность на уровне исполняемого кода - это дело #ifdef в исходниках. Кросс-платформенность на уровне байт-кода - это несколько другое.
Не совсем понимаю, чем выделяется байт-код.
>> У меня там и tkabber имеется. безо всякой компиляции.
> Код на Tcl - это не байт-код, ЕМНИП.
И? В чём будет принципиальная разница между интерпретируемым кодом и байт-кодом? Кстати, в gcj байт-код java именно интерпретируется.
> Ну так это получается более высокий уровень, Вы абстрагируетесь от низкоуровщины. А Вы что написали?
Вот именно, что я написал? Прочитайте ещё раз. ;) Методы, рисующие виджеты а-ля GTK, реализованы в Java, вам остаётся сделать только UIManager.setLookAndFeel(), и дальше использовать ужасный Swing. В GTK#-же, интерфейс реализовывается с помощью собственно библиотеки GTK. Поучить немного матчасть вам не повредит... :)
>В GTK#-же, интерфейс реализовывается с помощью собственно библиотеки GTK
Вы сказали, что GTK# позволяет _проще_ конструировать интерфейс. Каким образом переход на более низкий уровень позволит реализовать что-либо _проще_? Эффективнее - да, проще - сомнительно.
> Чем принципиально отличается виртуальная машина от интерпретатора?
> A process VM, sometimes called an application virtual machine, runs as a normal application inside an OS and supports a single process. It is created when that process is started and destroyed when it exits. Its purpose is to provide a platform-independent programming environment that abstracts away details of the underlying hardware or operating system, and allows a program to execute in the same way on any platform.
> In computer science, an interpreter is a computer program that executes, or performs, instructions written in a computer programming language, statement by statement. Interpretation is one of the two major ways in which a programming language can be implemented, the other being compilation.
(c) Wikipedia.
Байт-код является более низкоуровневым по сравнению со скриптами на интерпретируемом языке.
Может вы ещё скажете, что Swing-овские события обрабатываются одинаково в Windows и Linux?.. ;) И что реализация Swing очень качественная, и что он не глючит?.. Если так, то я вам не поверю. :))
> Каким образом переход на более низкий уровень позволит реализовать что-либо _проще_?
Вас не заставляют переходить на низкий уровень. За вас уже поработали разработчики mono/GTK#. ;)
> Воздержусь от совета в ответ ;)
В ответ на мои личные наблюдения давать совет?.. Зачем? ;)
>различий можно хоть миллион привести, ввиду различной разрядности ядер (wm - 16разрядная). А про полную портабельность - false
Гм. А я тут видел fedora под PDA. Патчей для программ не слишком много. И не нужно даже заморачиваться написанием софта на .NET/java. Вот это портабельность.
> Кросс-платформенным в истинном смысле слова я называю C#. Кросс-платформенность же .NET заканчивается на Windows, и это одинаково понимаем как я, так и вы.
Ну так и Pascal кроссплатформенен. Но любой язык общего назначения безе библиотек - ничто. А библиотеки под сишарп водятся в основном под window$. И не важно, что они написаны на c#, достаточно ввести один платформенно-зависимый биндинг и кроссплатформенность умирает. Например, написать обратный слеш в пути к файлу или заюзать что-то через COM.