компьютерные дебаты
Jun. 16th, 2007 08:35 pmПрочитал две дискуссии, интересные (но только для любителей Линукса, open source итд.) и занимательные.
Вот этот баг отвественен за то, что в Файрфоксе (а до того в Мозилле) не показываются нормально длинные названия картинок (если навести мышку на картинку, ее название - атрибут TITLE - всплывает на несколько секунд, но слишком длинные названия обрезаются). Он оставался непочиненным больше шести лет, и комментарии к нему, часто смешные, наглядно демонстрируют тот бардак, который творится внутри Мозиллы, и ту монструозное никому не понятное чудовище, в которое превратился со временем ее код.
Длинный флейм в LKML с участием Линуса идр., о новой версии GPL (GPLv3) и о том, почему она Линусу не нравится и почему ядро Линукса на нее не перейдет. Очень интересно, и проясняет для меня то, почему Линус выбрал GPL для ядра 15 лет назад. Его философия - нечто среднее между идеологическим радикализмом Столлмена и полностью безвозмездной отдачей BSD - вполне консистентна и разумна, хоть мне все равно кажется, что не стоило для этого использовать GPL и ставить себя в положение определенной идеологической зависимости от FSF. На мой вкус BSD-лицензия почти всегда лучше, и на практике Линус получил бы от нее практически весь тот же код, что он получил от GPL; но я не могу этого доказать, и возможно не прав в этом.
no subject
Date: 2007-06-16 06:59 pm (UTC)Кстати, именно он (и растущая из него система extensions) есть killer feature мозилловых проектов, а не Gecko (достойный, но у оперы никак не хуже) или тем более тормозной js-движок rhino. И то, и другое можно смело выкинуть/заменить, imho :)
no subject
Date: 2007-06-16 07:55 pm (UTC)no subject
Date: 2007-06-16 08:04 pm (UTC)Но вообще .net (и C# в частности) превращается во всё более привлекательную штуку, куда интереснее java, хотя местами maturity не хватает.
no subject
Date: 2007-06-16 08:32 pm (UTC)Конкретно ядро дотнета всегда производило на меня очень сильное впечатление своей завершённостью. Сейчас даже начинает возникать ощущение, что у них там где-то есть Моск, который наваял все версии шарпа до десятой включительно ещё пять лет назад, а они их сейчас имплементят не напрягаясь. Либо это, либо там у них гениальные совершенно люди сидят, иначе никак не объяснить ту естественность, с которой они запихивают в шарп новые фичи.
Простой пример: в дотнете у IEnumerator есть всего два метода: Reset и MoveNext. Он даже не клонируемый. Ващеее ничего нет, кроме этого. И такой он с самого начала, уже лет семь наверное в целом. А тут оппаньки! В шарпе делают yield return/yield break в качестве синтаксического сахара для написания энумераторов. И внезапно обнаруживается, что такой подход позволяет получить только MoveNext, даже ресет сейчас кидает NotImplementedException (правда, и не используется нигде). Ну и как они тогда ещё могли знать, что не нужно брать STL-евские тяжёлые энумераторы, что надо быть проще, тогда дальше будет легче? Гении, ёпт.
no subject
Date: 2007-06-16 09:25 pm (UTC)no subject
Date: 2007-06-16 09:37 pm (UTC)На самом деле очень умные люди язык пишут. Я не помню, я давал у вас в журнале ссылку на описание новых фич третьего шарпа (link на всякий случай)? Красиво же, и естественно как-то. Я описание питона сейчас читаю, он какой-то весь неортогональный, какой-то заплаточный весь, а шарп -- красивый и стройный. Как будто в самом деле его с изначально спроектировали вот таким, но отрелизили только некоторое подмножество.
no subject
Date: 2007-06-17 08:23 am (UTC)То-то у них Sort() работает за O(n²) (http://forums.topcoder.com/?module=Thread&threadID=566349) в нескольких версиях подряд :-\
no subject
Date: 2007-06-17 05:15 pm (UTC)no subject
Date: 2007-06-16 09:32 pm (UTC)Как-то пару лет назад мне нужно было написать кусок кода, увязывающий mssql и oracle. Я был потрясён, увидев, что драйвера их не экспортируют какие-то общие интерфейсы, а выдают каждый своё. (Не, я понимаю, когда есть расширения -- но должен же быть общий интерфейс!) Переключаться между разными БД (в углу стоял ещё mysql) оказалось болезненным, в то время, как в случае явского jdbc, или питонового dbi, или перлового dbi/dbd переключение -- это смена URL базы и класса-драйвера. А уж как я ругался на недоделанность системы коллекций, сравнительно с java. Это я ещё не трогал GUI; когда-то
Но это, по справедливости, всё было года два, а то и три, назад, ещё на .net 1.1. А улучшаются они радующе быстро.
Про моск и коллекции. Моск там, похоже, есть -- судя по здравому и уверенному внесению идей, которые сначала воспринимаются сообществом в штыки, но потом оцениваются. (Вот как с closures.) Коллекции же, похоже, все, когда сообразят, начинают срисовавать со smalltalk :) Что, конечно, правильно, чего велосипед изобретать. (Вот в STL изобрели -- меня лично не так чтобы радует, хотя я, по чести, такой код разве что читаю, и то крайне редко.) В общем, меня это радует, как радует и срисовывание FP-вещей с, условно говоря, лиспа.
no subject
Date: 2007-06-18 04:49 am (UTC)no subject
Date: 2007-06-17 05:06 am (UTC)Теоретически препятствий для его переноса на тот же linux нет, а вот практически - думаю, что приличной реализации на немикрософтовских платформах не будет никогда.
no subject
Date: 2007-06-17 07:03 am (UTC)Удивительным образом, не только для i386. Хотя, разумеется, это касается в первую голову не GUI-библиотек -- так меня в этой роли и GTK вполне устраивает.
Аж прям вспоминаются времена ранней java.
no subject
Date: 2007-06-17 07:06 am (UTC)no subject
Date: 2007-06-17 10:20 am (UTC)no subject
Date: 2007-06-17 05:09 pm (UTC)