бизнес и академия
На следующей неделе готовлю популярную лекцию по Unix, Linux сетям и т.д. Вчера делал слайды по истории Unix. Это, конечно, только одна из сюжетных линий, но разница в подходах между академией и бизнесом уже прослеживается.
Вот Multics. Создавался консорциумом MIT + Bell Labs + General Electric. Во главе был MIT (уже хотя-бы потому, что при развале консорциума проект остался там), академическая составляющая была сильна. Планку поставили заоблачную: много пользователей, защита, разделение времени. Проект получился сложным и невыполнимым. На его обломках возник упрощенный одно-пользовательский вариант -- Unix, ставший большим коммерческим успехом. Еще большим успехом стали CP/M и DOS, разработанные еще позже (а значит тоже с использованием опыта Multics и Unix), но только еще более упрощенные.
Такое положение дел мне кажется довольно универсальным. Люди в академии имеют тенденцию ставить себе запредельные цели. Эти цели (часто) не достигаются и (тоже часто) не достижимы вообще. Коммерчески успешные проэкты, по отношению к академическим, как правило, отличаются в сторону упрощения, снижения планок. С другой стороны, они строятся из академических обломков. Построенных, в свою очередь, на деньги бизнеса (как, например, в консорциуме, создававшем Multics).
Тоесть да, круговая порука. ;-) Но все-же стратегии постановки планок стабильно разные.
Вот Multics. Создавался консорциумом MIT + Bell Labs + General Electric. Во главе был MIT (уже хотя-бы потому, что при развале консорциума проект остался там), академическая составляющая была сильна. Планку поставили заоблачную: много пользователей, защита, разделение времени. Проект получился сложным и невыполнимым. На его обломках возник упрощенный одно-пользовательский вариант -- Unix, ставший большим коммерческим успехом. Еще большим успехом стали CP/M и DOS, разработанные еще позже (а значит тоже с использованием опыта Multics и Unix), но только еще более упрощенные.
Такое положение дел мне кажется довольно универсальным. Люди в академии имеют тенденцию ставить себе запредельные цели. Эти цели (часто) не достигаются и (тоже часто) не достижимы вообще. Коммерчески успешные проэкты, по отношению к академическим, как правило, отличаются в сторону упрощения, снижения планок. С другой стороны, они строятся из академических обломков. Построенных, в свою очередь, на деньги бизнеса (как, например, в консорциуме, создававшем Multics).
Тоесть да, круговая порука. ;-) Но все-же стратегии постановки планок стабильно разные.
no subject
2) Перечисленное Вами есть в Яве, и было, когда дотнета еще и в помине не было
---
нука-нука? Когда в жаве появились проперти? Когда в жаве появился foreach (1.5, я знаю, через сколько лет после выхода первого шарпа?), когда в жаве появится автоматический boxing/unboxing? когда в жаве появится type inference?
3а) вот-вот в Windows появятся -- уже появилось вообще-то. И я уже им пользуюсь. Да, униховый пайп -- одномерная штука. Да, можно говорить, что передача по пайпу объектов -- это синтаксический сахар и "видимость" (на самом деле нифига не видимость, ботать разницу между filter и function в PowerShell). Но то, что луниксоиды пишут между пайпами разнообразные грепы и не замечают этого -- это не аргумент против того, что не пиша таких грепов можно добиться повышенной продуктивности. Даже на контраргумент больше похоже, честно говоря. "Скрытый Парсинг", муахаха. Его _нет_. Вообще нет парсинга, поймите это. Очередной коммандлет выплёвывает объекты, другой коммандлет их принимает и смотрит на их поля, безо всякого парсинга. Say you want a revolution?
3b) у Вас немножко глаза перекосило, Вы отнесли павершелловский скрипт ко второму третьему пункту (сорри, попутал) и не прочитали сам второй третий пункт. Зря, перечитайте. Самоё в нём интересное это:
я вам забавный челлендж предлагаю: сформулируйте на Своём Любимом Языке (whatever it is) аналог следующей формулировки на ЭпплСкрипте: "set bar to messages of foo whose read status is false", предполагая, что всё, что нужно, дано (в разумных пределах). В терминах второго шарпа я это сформулировал без лишней семантики (и почти без синтасического мусора), но, кстати, не с первого раза, ибо моск довольно сильно отравлен сишной парадигмой.
no subject
2) Я не сказал, что есть ВСЕ из перечисленного. Многое есть. Остальное можно добавить, если бы оно было нужно. Да что Вы ко мне пристали с этим C# в конце концов ? Если бы в Java было _все_ как в C#, он был бы C#. Как я Вам говорил с самого начала, добавлять в язык все подряд -- путь заведомо порочный.
Но если хотите -- вот, пожалуйста: язык программирования D (http://www.xakep.ru/post/32779/default.asp). Там уже добавили практически все, что есть в C# и еще десять раз по столько. Нужно Вам это ? Тогда скачивайте (http://www.digitalmars.com/d/index.html) и программируйте на здоровье ! Есть и front end к компилятору gcc (http://dgcc.sourceforge.net/).
3) Ну, нет и нет. Какая разница. Особенностей реализации powershell я не знаю и знать не хочу. Но скажу Вам по секрету, что даже при выполнении RPC делается сериализация и парсинг, да еще (в некоторых протоколах) не просто парсинг, а парсинг XML.
Да, если пайпы в PowerShell работают только локально -- можно обойтись и без парсинга. Но в Unix, кстати, есть еще fifo и sockets, через последние можно точно также прозрачно общаться и с другими компьютерами (http://unixjunkie.blogspot.com/2006/01/two-cool-bash-tricks.html).
3) Это что флажки Вы хотите установить по какому-то критерию ? Это уже называется "формулировать" ! ;-)) Под "сишной парадигмой" Вы понимаете, что после ключевого слова if условие нужно писать в скобках ? :-)))
К.Л.М.
no subject
----
Между _сегодняшними_ сборщиками мусора в жаве и дотнете действительно разница очень туманная, АФАИК в жавовском можно задавать разные параметры, не знаю, правда, насколько это полезно. Но это опять же запутывание вопроса, извините, я всё-таки хочу прямо сказать, что
Жавовский GC на момент выхода дотнета СОСАЛ.
А, следовательно, сосала и вся жава, потому что язык с GC, который _так_ работает, сосёт.
2) Я видел язык программирования D. Я даже видел Nemerle. Не нужно меня пугать разными словами, я их и так знаю. И я знаю, что на шарпе я прогаю безумно эффективно по сравнению с С, на котором я тоже много прогал и под разные платформы, включая микропроцессоры. Исчо раз повторю: давайте вы вначале прочитаете описание, а потом будете критиковать его по пунктам, типа что данный пункт -- это "всё подряд, buzzword", его можно было бы и не добавлять. Общие слова сосут хуже жавы.
3) Гыгыгы. Что происходит с моим каналом -- меня не ебёт, извините. Я -- программист, меня волнует тот язык, на котором я общаюсь с ОСью. И в нём, поверьте, нет никаких сериализаций/десериализаций, в нём я прошу дать мне процесс с именем *explorer*, и получаю, во всей его процессной полноте. Могу ему приорити понизить, могу команду какую послать. Могу килл сделать.
3б) Я что-то не понимаю. Я Вам дал корректную строчку на ЭпплСкрипте. Вы её можете переписать на Своём Любимом Языке? Это прямой вопрос, возможные ответы: "Да, могу, вот так >...<" или "нет, не могу".
no subject
В Яве "сосал" (это чтобы Вам было понятно) только первый GC в версии 1.0. Потом в этой области произошли значительные улучшения.
Что касается Вашего эклипса... Вот мне интересно. Вы действительно думаете, что я должен ответить Вам за тот эклипс в каком-то там году ? В котором, как Вы говорите, Вы нажали на кнопку и он... Сколько там он собирал мусор ? Я уже почти запомнил... :-)))
Нет, мой друг. Я Вас таки забаню. Вам нужно остыть.
До свидания.
К.Л.М.