`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Андрей Зубинский

Несколько "неожиданных открытий"

+1113
голосов

Началось всё с "разжёвывания" программки в несколько строк на Haskell, преобразующей запись заданного целого числа в римскую форму, например, - 9 в IX.

Собственно программка и её разжёвывание - здесь. Безусловно, можно и в каком-то смысле небесполезно (если есть свободное время) с этим примером повозиться. Но не суть и не обязательно. Билл Милл, мужчина головастый и профессиональный, в конце возни с Haskell-кодом тяжело выдохнул:

"Phew - that's an awful lot of information stuffed into a few pretty lines! I still have a hell of a time geting the types to match up so that I can write stuff like this, but that doesn't mean that I can't appreciate the beauty of how it all fits together." 

То есть, - фуххх, в этих нескольких строках столько информации! И весьма профессиональному и головастому специалисту по его же признанию требуется куча времени на освоение системы типов и приёмов программирования. Но, зато, кода красивый. С чем, в каком-то смысле, трудно не согласиться.

Немного погодя, Билл Милл попробовал сделать то же самое в том же самом функциональном стиле на Phyton - языке в общем и целом всё-таки более близком к императивным. Получилось по объёму примерно то же самое, а с учётом внесенных в обсуждении примера уточнений и модификации некоего nostrademons  - так и вообще очень изящно.

Но и это не суть на самом деле.

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

Вот это-то меня и смущает всё время.

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

Впрочем, практика покажет. В своё время Lisp был самым-самым, нынешние "функциональщики", предпочитающие языки новой волны, уже радостно его хоронят, Поглядим, что будет с новыми "самыми-самыми".

Ну а здесь покусились уже на святая святых объектного программирования - на наследование. И более чем разумно и обоснованно растолковали, почему оно "в большинстве случаев не исключительная возможность, а всего лишь упрощённый метод выражения подобия". Очень рекомендую почитать, весьма и весьма толково, и более чем очевидно, если, конечно, начинать об этом думать.

 Дальше - опять "неожиданное" открытие. Его сделал Департамент Национальной Безопасности США. С помощью созданного в Стенфордском университете сканера кода Prevent SQS и в результате масштабного сканирования (180 продуктов) выяснилось, что открытое программное обеспечение не менее "багливое", чем закрытое коммерческое.

А вывод может быть один. Ни ложки никакой нет, ни достойного  продолжения первой "Матрицы", ни серебряной пули, как её ни  называй.

Нет их.

И всё.

+1113
голосов

Напечатать Отправить другу

Читайте также

Департамент Национальной Безопасности США, надо думать, расположен в США. Как-то программисты из США не могли понять почему в Великобритании, один человек следит за работой другого человека, во время программирования. В США считали что такой подход увеличивает количество разработчиков в двое.

Тут как видим есть некоторый предложеный путь перезагрузки, матрицы.
(Которая вначале была матрицей транспьютеров).
И этот предложеный путь очевидно есть общим для многих вещей,
и не только для компьютеров.

--DawnON

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT