Posted By: Михаил Черномордиков | Aug 24th @ 10:37 PM | 6,218 Views | 17 Comments

В пятнадцатом выпуске Петр Диденко и Михаил Черномордиков обсуждают Windows XP, с момента начала продаж которой прошло 8 лет, а также рассказывают про последние новости мира ИТ.

Ссылки:

Windows 7 Ferrari Theme - http://bit.ly/v00tG
Медиапортал Мариинского театра - http://media.mariinsky.ru
Человек на Silverlight - http://bit.ly/lYLup
Центр для начинающих разработчиков - http://bit.ly/34850B
FTH в Windows 7 - http://bit.ly/Wtjvu
Наше сообщество на ВсеВТеме - http://kip.ru/p9vv

Наши Твиттеры - http://twitter.com/mixen, http://twitter.com/pdidenko


Адрес нашего подкаста - http://podcast9.ru/  
RSS нашего подкаста - http://feeds2.feedburner.com/podcast9ru  
RSS блога Петра Диденко - http://feeds2.feedburner.com/pdidenko  
RSS блога Михаила Черномордикова - http://blogs.msdn.com/mikcher/rss.xml

Media Downloads:
Rating:
4
0

Дешевое и некачественное железо плохо! Новые интерфейсы это хорошо!

Слушал я подкаст 9 наскоками. Сначала первых выпусков пять за раз, ну и за последнюю неделю оставшиеся.

 

Уж очень вы хвалили ИЕ 8. До прослушивания подкастов я использовал хром, а там где он не работал, а я встречал ТОЛЬКО сайты так или иначе связанные с майкрософтом, юзал фф. Были коментаоры, несолидарны с вами в мнении, что ИЕ8 производителен как ничто, но вы здраво, мысляще отбивали такие нападения. Собсно, я и сам не люблю предвзятых отношений, мол все версии ИЕ - га%но.

Ну это все лирика. Решился я заменить фф, на ие в своем повседневном использовании.  Прошла неделя, возвращаюсь на фф. Да, конкретный урл я вам не дам, мол вот на этом сайте ие работает медленно, но имея параллельно запущенный хром и ие с дофига окнами, в конце рабочего дня хром все так же летает, а ие педалит жестко. Скролит рывками, таб открыть с контентом - так вооще молчу (да, в режиме с выключенными плагинами). Общее впечатление, ну медленней хрома в разы, не на 50%, а именно в разы.

 

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

 

Полный игнор хрома майкрософтом даже коментировать не хочется.

 

П.С. если захотите прокоментировать в духе: "фигня, где цифры или урл? Ах нету, ну тогда мы создали акселераторы и это производительно", то лучше не надо. И так уже смешно.

Здравствуйте. С большим интересом прослушал пять подкастов, на днях планирую прослушать остальные и после этого уже "оперативно" следить за новыми. У меня такой вопрос, возможно у вас получится ответить на него в 16-ом или 17-ом выпуске.

 

Сейчас есть некоторая активизация среди разработчиков по поводу функциональных языков программирования. Вот и в MS Visual Studio 2010 войдет F#. Эта тема меня заинтересовала и я попробовал разобраться. Оказывается, пользы от функционального программирования нет вообще. Разве что не совсем опытных программистов это может заинтересовать, из-за относительно низкого порога вхождения в функциональное программирование. Я обосновал свое мнение в своем блоге и уже участвовал в нескольких, подчас весьма жарких дискуссиях, в Интернете, по этому поводу. Свое мнение мне удалось отстоять, многих, возможно, убедить.

 

Сами понимаете, с кем-то поспорить в Интернете - это одно (пускай это и наверняка, часть, из них - топовые разработчики). А вот получить оценки архитекторов Microsoft или других, не менее известных компаний - несколько иное.

 

Можете вы посмотреть мое мнение по этому поводу, показать (перевести его на английский) для ваших ведущих архитекторов и рассказать в подкасте?

 

Почему любопытны мнения именно ваших ведущих архитекторов. Во-первых вот некоторые из вас, сейчас специалисты по связью с общественностью, или евангелисты - некоторые из вас были, например, раньше, проект-менеджерами, но за несколько лет квалификациия именно по программированию и проектированию - несколько теряется. А люди, которые каждый день пишут код, и обдумывают проектные решения - для них это основная работа, с каждым днем они не теряют квалификацию по этой части, а улучшают ее (знаю, что вы хотите сказать - вы немного пишите код, и все такое. - Извините, это не то. Посмотрите правде в глаза - вы - дисквалифицируетесь как программисты. С годами забывается и синтаксис, с годами ум начинает думать только в контексте презентаций - это немного другая специфика).

 

Мне бы хотелось - отдельно услышать мнения ваших ведущих архитекторов, и, совершенно отдельно - тех, кто "причастен" к популяризации функционального программирования у вас (понятно, что последние, как "авторы идей" и "вдохновители их" - будут защищать СВОЕ, и их мнение, можно сказать заранее - будет крайне ангажированным).

 

Если вам удобно - то может быть вы спросите по приватной переписке у ваших специалистов, и когда они пришлют мнения - обобщите (например компании Microsoft так просто удобнее, по каким-то соображениям)? Можно и с явным "обозначением" - какой именно специалист у вас - сказал такое-то мнение (очень желательно бы узнать и его должность - на сколько прислушиваться или нет к его мнению), и как он его обосновал.

 

Спасибо. Обещаю со временем еще придумать интересные вопросы для ваших обсуждений.

 

P.S. Да, а вот две части моей статьи по этому поводу - Часть 1 и Часть 2.

Video to ne sobiraetes' zovodit' ?

Пардон, случайно ответил не на то сообщение, теперь придётся тут что-то сказать... Да, да, мы тоже хотим видео!

Евгений, приветствую!

 

Я причастен к популяризации функционального программирования (читал соответствующий курс на ФИВТ МФТИ) и языка F# в частности. Хотел бы в корне не согласиться с Вашим мнением, что от функционального программирования нет пользы. Практика - использование того же языка F# во внутренне-майкрософтовских проектах - показывает обратное. Да и вне Майкрософт - на функциональных языках написаны такие крупные проекты, как AutoCAD, emacs, значительная часть Matlab/Mathematica и др.

 

Почему сейчас обращают повышенное внимание на функц.прогр. - потому что есть одна существенная проблема, которую непонятно, как решать. Непонятно, как научить подавляющее большинство программистов писать параллельный код. И тут одно из основных решений - функциональный подход. Элементы которого, кстати, появились в C# начиная c 3.0. LINQ - также пример функционального подмножества языка.

 

Кратко посмотрев Ваши заметки хотел бы отметить, что Вы зря сравниваете ФП и ООП. В функциональном подходе также есть объектная ориентированность, например CLOS (Common Lisp Object System), воистину объектная надстройка над ЛИСПом. Идеи ООП стали появлятся в функциональных языках раньше того времени, когда они дошли до промышленного программирования. Вообще говоря, многие идеи ООП пришли из функциональных языков! И уж совсем нельзя сравнивать ФП с ассемблером - ведь в ФП вообще нет понятия присваивания, и низкоуровневая модель выполнения там совсем другая.

 

Проблема ФП в том, что для его эффективного освоения требуется значительные усилия и развитое абстрактное мышление. Как первый язык программирования, в университетской программе, функциональный язык идёт хорошо (и в некоторых американских университетах так и преподаётся), но зачастую научить привыкшего к императивности "классического" программиста функциональному подходу нелегко. Поэтому и пытаются "незаметно" внедрить функциональный подход в существующие императивные языки. А понять и действительно оценить преимущества функциональных языков могут немногие.

 

В качестве саморекламы могу рекомендовать посмотреть мои заметки в блоге по функциональному программированию (http://blogs.msdn.com/sos/archive/tags/Functional+Programming/default.aspx), в частности, рассуждения о том, зачем нужен F# (http://blogs.msdn.com/sos/archive/2009/01/16/fsharp-lesson-0-why-another-programming-language.aspx), а также интервью с создателем языка Haskell Саймоном Пейтон-Джонсом (http://blogs.msdn.com/sos/archive/2009/07/23/Dmitri-Soshnikov-Interviews-Simon-Peyton-Jones-on-Functional-Programming-and-Haskell.aspx), который популярно рассказывает о том, зачем нужно функциональное программирование и как лучше его "почуствовать".

 

С уважением,

 

Дмитрий Сошников

координатор академических программ

департамента стратегических технологий Майкрософт Россия

к.ф.-м.н., доцент

Здравствуйте. Вы тут рассказывали про Snipping Tool - я согласен, что это замечательная утилита. Она даже позволяет выделять или отмечать интересующие фрагменты картинки с помошью "карандаша".

Вот только не хватает одной простой, но очень важной возможности - нет Undo/Redo. Т.е. если дернется мышка или линия будет проведена не так, как хочется, то скриншот будет безнадежно испорчен и придется делать новый. Намекните, пожалуйста, кому надо, чтобы приделали туда Undo/Redo.

 

P.S. Если не хватает ресурсов у Microsoft, я бы с удовольствием безвозмездно помог с написанием этой маленькой, но очень полезной фичи.

 

 

С уважением,

 

Николай Денисюк

Team Leader команды разработчиков

Materialise Dental Ukraine

Здравствуйте. Спасибо за комментарий.

По поводу параллельного программирования - в Викизнания вчера внес описание своей архитектуры Parallel-Ax (BSD Public Documentation License), там как раз рассказывается в чем плюсы, в этом плане, функционального программирования. За счет того, что нет переменных, сохраняющих состояние. Таким путем если пойти, что "урезанность" ФП позволяет это делать, так можно отказаться от компьютеров - тогда тоже не будет никаких проблем с параллельным программированием. Wink Урезать так (помимо классов, оставляя только функции-методы) - давайте идти дальше, зачем останавливаться! Smiley
 Лично я придумал способ - как без урезания функциональности языка - распараллеливать и не иметь никаких проблем.

Про объектную ориентированность (CLOS  - Common Lisp Object System). Я конечно не знаю всего-всего на свете, и, например, этого, но в попытке угадать - речь может идти про использование указателей на саму функцию, и такой шаблон проектирования  как Functor (это не GoF, в GoF есть паттерн проектирования Command, - именно эти два шаблона часто отождествляют вместе).

Другими словами - это всего лишь имтиация объектов. В "обычном" объекте есть:

1) Переменные (данные).
2) Методы манипулирования (изменения) этих данных.

- если в ФП ввести такие полноценные объекты, с переменными в них, и методами - то это уже не будет ФП, да и с "многопоточностью" сразу все обрубится. Wink Нет, ну правда же?

Тогда вывод - в ФП не может быть полноценных объектов. А все имитации - это имитации и есть. И, следом не менее главное следствие - нет объектов, значит нет ООП. Значит можно использовать только процедурный подход. Или, второй подход - вообще отказаться от каких-либо подпрограмм, программировать "постоянным присваиванием", не использовать многократно код.

И какие бы не приводили абревиатуры из мира ФП и его библиотек - мы упираемся в фундаментальные принципы.

Еще одна альтернатива - в одном языке программирования - совмещать и ФП, и императивное. Но зачем хвостовые рекурсии в императивном программировании? Когда есть ООП, и его ВПОЛНЕ хватает. Smiley

Про Ассемблер я упомянул, потому что для него очень характерны операции присваивания, чуть ли не половина программы может состоять из операций присваивания. Такое характереное "свойство" программирования на Ассемблере - я и привел, выделил. Потому что у ФП есть всего две возможности - или программировать в процедурном стиле, или программировать в основном операциями присваиваниями. ООП там может быть только в небольшом виде имитировано.

> Проблема ФП в том, что для его эффективного освоения требуется значительные усилия и развитое абстрактное мышление.

- Как бы немного и нет. Для ООП тоже аналогичное требуется. Разница здесь только в том, что ФП - это чаще всего "write once", а ООП - позволяет создавать отличные фреймворки. Которые очень отличаются от библиотек, написанных в процедурном стиле.

> ведь в ФП вообще нет понятия присваивания, и низкоуровневая модель выполнения там совсем другая.

Как же нет? Идет "поток выполнение", в котором постоянно идут операции присваивания, а чтобы использовать циклы - используют хвостовую рекурсию.

У меня просто многолетний опыт программирования на ActionScript 1, в котором практически все программировали в процедурном стиле (классы там нужно было регистрировать, в общем мало удобно). И мы, флеш-программисты - активно использовали тогда рекурсии и прочее. Отличие только в том, ActionScript 1 - что там многомерность программирования - давало размещение кода в совершенно разных местах (в таймлайнах кнопок, клипов, на разных уровнях) - в этом программирование на нем было немного в плюсе, в отличии от чисто функциональных языков программирования.
Но потом появился ActionScript 2, где уже были нормальные классы и интерфейсы (с маленькими нюансами) - и программировать уже можно было "чисто" в Java-стиле. И использовать ООП.
 Сейчас Actioncript 1 - мертвая версия языка, в вакансиях пишут про знания 2-ой и 3-ей версии.
 Я не хочу дискутировать на счет флеша, лично мне SL 3 более симпатичне, но все это - была история, как все развивалось в этом языке программирования.

И за последние несколько лет, когда я уже программирую JEE - я ни разу, кажется, не использовал рекурсию, и никто из тех моих колег, код у которых я видел. - О чем это говорит? - Что хвостовые рекурсии - здесь уже не нужны. Они - именно, именно - для замены обычных циклов в ФП.

mykolad для этого там есть стирашка Smiley Она стирает как раз надписи, что ты сделал. Так что ничего писать не нужно Wink

Microsoft Communities