Автор Тема: Интервью++  (Прочитано 22784 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Интервью++
« : Апрель 03, 2011, 12:07:49 am »
Внезапно наткнулся на неизвестное мне интервью Бьерна Страуструпа:
http://msdn.microsoft.com/ru-ru/magazine/cc500572.aspx
Несколько цитат:
Цитировать
Говард Дайеркинг Почему языки программирования связаны с людьми на таком глубоком уровне — существуют целые сообщества приверженцев языка?

Бьерн Страуструп Вам лучше спросить психолога, социолога или даже экономиста, а не специалиста по компьютерам. Мне кажется, что языки, используемые нами для выражения своих идей, становятся частью нас самих, поэтому если вы знаете только один язык, может казаться, что сторонники других языков представляют опасность лично для вас. Представляется, что выходом из этой ситуации является изучение других языков. Я сомневаюсь, что можно быть профессионалом в области программного обеспечения и знать только один язык программирования. Может быть и экономическая причина: фундаментальные значения, в отличие от множества практических навыков, выходят за границы языка программирования. Поэтому если я знаю только язык X и его наборы инструментов, а вы являетесь сторонником языка Y и его набора инструментов, вы представляете угрозу для источника моего существования. И снова решением, как мне кажется, является знание нескольких языков и наборов инструментов (а также основных принципов). К сожалению, мои предлагаемые решения не учитывают, что у большинства людей остается совсем немного времени после выполнения всего, что они считают необходимым. Хотя это не оправдание для фанатизма.


ГД Что вы думаете о том, чтобы сделать основной функцией языка передачу сообщений, а не вызов методов?

БС Мне нравится явная передача сообщений, но я использовал ее последний раз уже давно и в контексте распределенных систем. В действительности, чтобы это работало повсеместно, необходимо проделать большую работу с языком и поддержкой инструментов для передачи сообщений. Не думаю, что это уже сделано, но я могу ошибаться. Множество проблем, связанных с общим доступом и блокированием, устраняется, если опираться на сообщения и очереди сообщений. Мне бы хотелось, чтобы это было реализовано с помощью стандартной библиотеки C++, и я в скором времени смогу получить ее (в течение нескольких лет).


ГД Не слишком ли большое значение мы придали архитектуре?

БС Нет, по крайней мере не ее определению. Напротив, архитектуре уделяется слишком мало внимания, и слишком много кода плохого качества с недостаточным пониманием структурных принципов. Я полагаю, что главная проблема архитектуры заключается в том, что многие программисты плохо представляют, что такое хороший код. Одной только способности распознать такой код недостаточно. Наличия правил, определяющих, чего не следует делать, недостаточно. Необходимы ясно сформулированные прескриптивные правила.


ГД Вы можете назвать какие-нибудь собственные практические правила для создания программного обеспечения?

БС Сосредоточьтесь на ключевых концепциях; сосредоточьтесь на их интерфейсе; сосредоточьтесь на управлении ресурсами (память, файлы, блокировки и т.д.); сосредоточьтесь на обработке ошибок. Создание успешных вариантов для классов и Получение ресурса есть инициализация (RAII) – ключевые методы.


ГД Видите ли вы метаданные языка в качестве основы будущих языков программирования?

БС Нет. Нетривиальное использование метаданных кажется мне слишком неудобным.

Ну и еще кусочек:
Цитировать
Но были и приятные сюрпризы. Наиболее яркий – широкое распространенное использование деструкторов в методах, относящихся к управлению ресурсами и обработке ошибок (с помощью исключений). Я знал, что деструкторы были хорошей идеей — в конце концов, приходится полностью менять эффект конструктора — но я не в полной мере осознавал их ключевую роль в успешном использовании C++.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Интервью++
« Ответ #1 : Апрель 03, 2011, 04:43:21 am »
Внезапно наткнулся на неизвестное мне интервью Бьерна Страуструпа:
http://msdn.microsoft.com/ru-ru/magazine/cc500572.aspx
Несколько цитат:
Цитировать
БС Мне нравится явная передача сообщений, но я использовал ее последний раз уже давно и в контексте распределенных систем. В действительности, чтобы это работало повсеместно, необходимо проделать большую работу с языком и поддержкой инструментов для передачи сообщений. Не думаю, что это уже сделано, но я могу ошибаться. Множество проблем, связанных с общим доступом и блокированием, устраняется, если опираться на сообщения и очереди сообщений. Мне бы хотелось, чтобы это было реализовано с помощью стандартной библиотеки C++, и я в скором времени смогу получить ее (в течение нескольких лет).

Страуструп не слышал про Эрланг?
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Валерий Лаптев

  • Jr. Member
  • **
  • Сообщений: 58
    • Просмотр профиля
Re:Интервью++
« Ответ #2 : Апрель 03, 2011, 06:17:13 am »
Цитировать
ГД Какой должна быть роль интегрированной среды разработки в сфере разработки программного обеспечения? Как среда IDE должна поддерживать язык?

БС Я не являюсь активным пользователем IDE. Я высоко ценю быстро реагирующий редактор IDE, который понимает язык, но для меня также необходима возможность работы без IDE. У меня было бы другое мнение, если бы существовала универсальная доступная удовлетворительная среда IDE — в действительности – часть языка или наоборот
Вот!!! Он опять говорит, что среда должна строится не вокруг текстового редактора, в на основе семантического! Первый раз я у него это прочитал в "Эволюции..."

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Интервью++
« Ответ #3 : Апрель 03, 2011, 08:59:17 am »
Страуструп не слышал про Эрланг?

Эрланг - только язык, а не служба сообщений. Но можно говорить, конечно, о том же AMQP и RabbitMQ (который на Эрланге как раз и написан).

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Интервью++
« Ответ #4 : Апрель 03, 2011, 09:02:04 am »
Цитировать
Но поскольку C++ создан на основе языка программирования C (и может компилировать существующие программы на C), он смог обеспечить широкое распространение абстракций объектно-ориентированного мышления.

Сегодня уже точно видно, что он смог обеспечить: продлить срок профессиональной жизни для программистов с "кашей в голове" лет эдак на 20, позволив им кое-как использовать ООП, кое-как обеспечивать архитектуру крупных систем... в общем, язык стал спасением для коекакеров :) Я не говорю, что сам язык "коекакерный", Страуструп вложил много труда и проектирования, чтобы сделать такой продукт... пригодный для "коекакерства" :) Поэтому и для серьёзных профессионалов он тоже всегда был пригоден... Когда у них не было возможности выбрать для работы что-нибудь другое.

Вот и сам Бьярн признаёт:
Цитировать
Универсальный язык ограничен не только необходимостью поддержки различных пользователей, но также и понятности для больших групп пользователей с различными допущениями и уровнем образования (основные принципы должны быть пригодными к использованию школьниками с плохим уровнем обучения).
« Последнее редактирование: Апрель 03, 2011, 09:06:26 am от Илья Ермаков »

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Интервью++
« Ответ #5 : Апрель 03, 2011, 09:17:42 am »
Вообще, интервью Страуструпа всегда любопытны.
Только перевод тут отвратный.

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Интервью++
« Ответ #6 : Апрель 03, 2011, 09:18:52 am »
Вот оно, в точку:

Цитировать
Меня беспокоит количество языков, которые создаются, реализуются и представляются невероятно помпезно, а затем они исчезают, не оказав какого-либо существенного влияния. В течение всего этого времени — обычно в течение длительного многолетнего процесса разработки — для нового языка требуются значительные ресурсы, тогда как результаты этого процесса практически отсутствуют. Я написал статью об этом явлении под названием "A Rationale for Semantically Enhanced Library Languages" (research.att.com/~bs/SELLrationale.pdf) (Разумное объяснение языков с семантически улучшенной библиотекой). Я отстаиваю использование библиотек, возможно, поддерживаемых инструментами, и универсального языка.

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Интервью++
« Ответ #7 : Апрель 03, 2011, 09:22:15 am »
Вообще, всегда, когда читаю Страуструпа, соглашаюсь со многими его положениями, и уже давно вижу, что отличная реализация этих положений - именно Компонентный Паскаль. За исключением этой обратки с Сями.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Интервью++
« Ответ #8 : Апрель 03, 2011, 05:28:49 pm »
Страуструп не слышал про Эрланг?

Эрланг - только язык, а не служба сообщений. Но можно говорить, конечно, о том же AMQP и RabbitMQ (который на Эрланге как раз и написан).
Не смог понять, что Вы имеете в виду.
Пересылка сообщений из процесса в процесс -- самая важная фишка Эрланга. При чём здесь софт, написанный на Эрланге?
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Интервью++
« Ответ #9 : Апрель 03, 2011, 05:36:26 pm »
Вообще, всегда, когда читаю Страуструпа, соглашаюсь со многими его положениями, и уже давно вижу, что отличная реализация этих положений - именно Компонентный Паскаль. За исключением этой обратки с Сями.
Так что же не даёт Страуструпу дойти до Компонентного Паскаля, раз он так подходит под его требования (ну кроме малокритичной совместимости с сями)?
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Интервью++
« Ответ #10 : Апрель 03, 2011, 05:56:31 pm »
Пардон, я при беглом прочтении заметил в Вашей цитате Страуструпа слово "распределённые" и высказался про этот случай.

А касательно КП - что тут непонятного. Страуструп живёт в другой экосистеме, и в рамках других инженерных подходов. Чтобы понять КП, надо на КП работать. Несколько лет. И не только в режиме "вместо Дельфи или Явы", а и для системных задач. Так же, как на С++ до сих пор народ пишет как на "Си с фичами", и немногие используют его в том стиле, как задумывал Страуструп.
Страуструп отлично чувствует требования и реалии некоторого класса задач, вот я про что. И учитывал эти реалии в своём языке он достаточно вдумчиво, просто... просто не упростил всё и слишком большой букет одновременно пытался обеспечить.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Интервью++
« Ответ #11 : Апрель 03, 2011, 06:26:50 pm »
Пардон, я при беглом прочтении заметил в Вашей цитате Страуструпа слово "распределённые" и высказался про этот случай.
В языке ерланг как раз в том числе и распределенная рассылка сообщений, и не надо для этого никаких кроликов изобретать, это все есть сразу и из каробки. Там же совершенно без разницы где получатель сообщения находится, здесь или за тысячу километров.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re:Интервью++
« Ответ #12 : Апрель 04, 2011, 03:56:28 am »
Как ИТ-специалист Бьерн Страуструп полностью дискредитировал себя в моих глазах.
Интервью я не читал.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Интервью++
« Ответ #13 : Апрель 04, 2011, 05:05:51 am »
Как ИТ-специалист Бьерн Страуструп полностью дискредитировал себя в моих глазах.
Интервью я не читал.
О! Классическое, стопроцентное "не читал, но осуждаю".
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Валерий Лаптев

  • Jr. Member
  • **
  • Сообщений: 58
    • Просмотр профиля
Re:Интервью++
« Ответ #14 : Апрель 04, 2011, 07:39:36 am »
Цитировать
Универсальный язык ограничен не только необходимостью поддержки различных пользователей, но также и понятности для больших групп пользователей с различными допущениями и уровнем образования (основные принципы должны быть пригодными к использованию школьниками с плохим уровнем обучения).
Вот тут большой вопрос.
ак и самолеты, языки бывают разными. Летчиков учат на учебных спмолетах, хотя принципы полета - одинаковые. И только опытные летчики летают на больших Боингах и/или боевых истребителях.
Поэтому использовать один и тот же "самолет" для школьников и для профи - БОЛЬШАЯ ошибка.