В книге собраны 27 интервью с людьми, стоявшими у истоков создания различных языков программирования, с гуру, чьи имена на слуху в мире разработки ПО. Их размышления позволят читателю подняться на новый уровень осмысления проблем развития компьютерной отрасли, увидеть скрытые процессы, которые привели к тем или иным конструктивным решениям, узнать, какие цели ставили перед собой разработчики, на какие компромиссы им приходилось идти и какое влияние оказала их работа на современное программирование.
Судьбы языков складывались по-разному - одни, сыграв свою роль, уступили место новациям, другие смогли чудесно возродиться с появлением новых технологий, но все они оставили значительный след в истории информатики.
На каком уровне нужно заниматься безопасностью программ?
Бьерн: Прежде всего, безопасность - это системная проблема. Одними только местными или частичными мерами ее не решить. Не нужно забывать, что каким бы совершенным ни был ваш код, все ваши секреты могут быть раскрыты, если удастся украсть ваш компьютер или резервную копию данных. Во-вторых, уровень безопасности и затраты на его достижение взаимозависимы: идеальная защита большинству из нас окажется не по карману, но можно постараться защитить свою систему в достаточной мере, чтобы злоумышленники задумались, не лучше ли для них будет не тратить зря время, а попытать счастья в другом месте. На практике я предпочитаю не хранить важные секреты там, где они доступны по сети, а серьезные проблемы безопасности предоставляю решать экспертам в этом деле.
Но о безопасности мы говорим еще в связи с языками и технологиями программирования. Возникла порочная тенденция считать, что каждая строка кода должна быть «защищенной» (что бы под этим ни подразумевалось), вплоть до предположения, что некто с нехорошими намерениями получил доступ к какой-то другой части системы. Это очень опасная идея, которая приводит к засорению кода беспорядочными проверками для защиты от плохо сформулированных воображаемых угроз. Код становится уродливым, громоздким и медленным. Из-за «уродливости» в нем легко скрыться ошибкам, «громоздкость» усложняет тестирование, а «медлительность» приводит к созданию обходных путей и нечестных приемов, порождающих множество дыр в защите.
ОГЛАВЛЕНИЕ.
Предисловие.
Введение.
Глава 1. C++.
Проектные решения.
Применение языка.
ООП и параллелизм.
Будущее.
Преподавание.
Глава 2. Python.
Как это делается в Python.
Хороший программист.
Реализации Python.
Приемы и мастерство.
Глава 3. APL.
Бумага и карандаш.
Основные принципы.
Параллелизм.
Наследие.
Глава 4. Форт.
Язык Форт и языковое проектирование.
Аппаратное обеспечение.
Разработка приложений.
Глава 5. Бейсик.
Цели создания Бейсика.
Разработка компилятора.
Язык и практика программирования.
Разработка языка.
Рабочие задачи.
Глава 6. AWK.
Жизнь алгоритмов.
Разработка языка.
Культура UNIX.
Роль документации.
Компьютерные науки.
Разведение малых языков.
Разработка нового языка.
Культура наследования.
Трансформирующие технологии.
Мелочи, изменившие мир.
Теория и практика.
В ожидании прорыва.
Программирование по примерам.
Глава 7. Lua.
Мощь скриптов.
Опыт.
Разработка языка.
Глава 8. Haskell.
Функциональная команда.
Эволюция функционального программирования.
Язык Haskell.
Расширение (функционального) образования.
Формализм и развитие.
Глава 9. ML.
Доказательство теорем.
Теория смысла.
За рамками информатики.
Глава 10. SQL.
Основополагающая статья.
Язык.
Обратная связь и развитие.
XQuery и XML.
Глава 11. Objective-C.
Разработка Objective-C.
Развитие языка.
Образование и обучение.
Управление проектами и устаревшее ПО.
Objective-C и другие языки.
Компоненты, песок и кирпичи.
Качество как экономическое явление.
Образование.
Глава 12. Java.
Сила простоты.
Дело вкуса.
Параллелизм.
Разработка языка.
Обратная связь.
Глава 13. C#.
Язык и конструкция.
Развитие языка.
C#.
Будущее компьютерных наук.
Глава 14. UML.
Изучение и преподавание.
Роль человеческого фактора.
UML.
Знания.
Быть готовым к переменам.
Применение UML.
Уровни и языки.
Немного о многократном использовании.
Симметричные взаимоотношения.
UML.
Разработка языка.
Обучение разработчиков.
Творчество, изящество и шаблоны.
Глава 15. Perl.
Язык революции.
Язык.
Сообщество.
Эволюция и революция.
Глава 16. PostScript.
Проектирование на века.
Исследования и образование.
Интерфейсы для долголетия.
Обычные пожелания.
Глава 17. Eiffel.
День вдохновения.
Многократное использование и универсальность.
Проверка языков.
Управление ростом и развитием.
Послесловие.
Об авторах.
Участники интервью.
Алфавитный указатель.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Пионеры программирования, Диалоги с создателями наиболее популярных языков программирования, Бьянкуцци Ф., Уорден Ш., 2011 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать файл № 1 - pdf
Скачать файл № 2 - djvu
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - djvu - Яндекс.Диск.
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Бьянкуцци :: Уорден
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- Перспективные языки веб-разработки, Богданов М.Р., 2016
- Олимпиадное программирование, Антти Л., 2018
- Карьера программиста, Лакман М.Г., 2020
- Алгоритмы и программы, Решение олимпиадных задач, Порублев И.Н., Ставровский А.Б., 2007
Предыдущие статьи:
- Алгоритмы для задачи коммивояжёра, Куликов А., 2012
- Алгоритмические трюки для программистов, Уоррен Г.С., 2003
- Зимняя школа по программированию, 2010
- Зимняя школа по программированию, 2014