Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Семь языков за семь недель. Практическое руководство по изучению языков программирования

Практическое руководство по изучению языков программирования
Покупка
Артикул: 484359.03.99
Доступ онлайн
519 ₽
В корзину
Вместе с семью языками программирования вы исследуете наиболее важные из современных моделей программирования. Вы познакомитесь с динамической типизацией, которая делает языки Ruby, Python и Perl такими гибкими. Постигнете систему прототипов, лежащую в основе языка JavaScript. Увидите, как сопоставление с образцом в языке Prolog сказалось на формировании языков Scala и Erlang. Узнаете, чем функциональное программирование на языке Haskell отличается от программирования на языках семейства Lisp, включая Clojure. Издание предназначено для программистов разной квалификации, в том числе выбирающих для изучения новый язык программирования.
Тейт, Б. Семь языков за семь недель. Практическое руководство по изучению языков программирования : практическое руководство / Б. Тейт ; пер. с англ. А. Н. Киселева. - 2-е изд., - Москва : ДМК Пресс, 2023. - 385 с. - ISBN 978-5-89818-315-8. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2102602 (дата обращения: 10.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Отзывы читателей книги «Семь языков за семь недель»
Знание множества парадигм оказывает существенное влияние на 
наши подходы к проектированию, поэтому я всегда нахожусь в поиске хороших книг, которые помогали бы мне в изучении этих парадигм. 
Данная книга объединяет в себе описание основных парадигм программирования. Брюс имеет богатый опыт изучения и использования 
множества языков. Теперь и вы сможете воспользоваться его опытом 
благодаря этой книге. Я настоятельно рекомендую прочитать ее.
– Доктор Венкат Субраманиам (Dr. Venkat Subramaniam)
Титулованный автор и основатель Agile Developer, Inc.

Важность изучения новых языков, парадигм и технологий программирования для программиста невозможно преувеличить. Эта книга 
решает задачу знакомства с семью языками программирования поразительно кратким и необычным способом, показывая сильные их 
стороны и обосновывая необходимость их изучения. Эта книга послужит отличным введением для всех программистов, желающих 
расширить свои горизонты или оценить новые для них языки программирования, прежде чем приступать к детальному изучению.
– Антонио Каньяно (Antonio Cangiano)
Программист и технический популяризатор, IBM

Пристегните ремни, потому что поездка будет очень быстрой. Эта 
книга наполнена быстрыми переходами от одного языка программирования к другому. Брюсу удалось выстроить все в один ряд и в результате получить интереснейшую книгу, которая доставит немало 
удовольствий увлеченным программистам. Если вы любите осваивать новые языки или любите блеснуть своей эрудицией, если вы 
хотите подняться на новый уровень – эта книга для вас. Она не разочарует вас.
– Фредерик Дауд (Frederic Daoud)
Автор книг «Stripes ...and Java Web Development Is Fun Again» 
и «Getting Started with Apache Click»

Хотите выбрать свой «язык года» из великолепной семерки? Хотите 
упорядочить свои представления о программировании в целом? Тогда 
вы уже нашли то, что вам нужно! Лично я на время чтения этой книги 
вернулся в свои студенческие годы, когда предпринимал первые попытки проложить курс через свои языки программирования и посто
янно натыкался на мели. Разница лишь в том, что Брюс не даст вам 
сбиться с верного курса! Эта книга не предполагает неторопливого 
чтения – вы вынуждены будете активно работать с ней. Я уверен, что 
вы найдете ее чрезвычайно увлекательной и весьма практичной.
– Мэтт Стайн (Matt Stine)
Руководитель отдела разработки программного обеспечения 
в детской больнице святого апостола Иуды Фаддея  
(St. Jude Children’s Research Hospital), США

На протяжении почти своей учебы в университете по направлению 
информатики я не хотел быть программистом, но так или иначе стал 
им. Книга «Семь языков за семь недель» изменила мои взгляды на 
многие проблемы и напомнила мне, что я все-таки люблю программировать.
– Трэвис Каспар (Travis Kaspar)
Программист в Northrop Grumman

Вот уже более 25 лет я занимаюсь созданием программ для разных аппаратных и программных платформ. После прочтения книги «Семь 
языков за семь недель» я начал понимать принципы оценки достоинств и недостатков языков программирования. Но самое важное, что 
я почувствовал, по каким критериям выбирать языки для решения 
разных задач.
– Крис Капплер (Chris Kappler)
Старший научный сотрудник, Raytheon BBN Technologies

Семь языков 
за семь недель

Практическое руководство 
по изучению языков программирования

Брюс Тейт

Edited by Jacquelyn Carter

The Pragmatic Bookshelf

Raleigh, North Carolina Dallas, Texas

Seven Languages 
in Seven Weeks

A Pragmatic Guide 
to Learning Programming Languages

Bruce A. Tate

Под редакцией Жаклин Картер

Семь языков 
за семь недель

Практическое руководство 
по изучению языков программирования

Москва, 2023

Брюс Тейт

2-е издание, электронное

УДК 004.6
ББК 32.973.26
Т30

Т30
Тейт, Брюс.
Семь языков за семь недель. Практическое руководство по изучению 
языков программирования / Б. А. Тейт ; пер. с англ. А. Н. Киселева. — 2-е 
изд., эл. — 1 файл pdf : 386 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст 
: электронный.
ISBN 978-5-89818-315-8
Вместе с семью языками программирования вы исследуете наиболее важные из 
современных моделей программирования. Вы познакомитесь с динамической типизацией, которая делает языки Ruby, Python и Perl такими гибкими. Постигнете 
систему прототипов, лежащую в основе языка JavaScript. Увидите, как сопоставление с образцом в языке Prolog сказалось на формировании языков Scala и Erlang. 
Узнаете, чем функциональное программирование на языке Haskell отличается от 
программирования на языках семейства Lisp, включая Clojure.
Издание предназначено для программистов разной квалификации, в том числе 
выбирающих для изучения новый язык программирования.

УДК 004.6 
ББК 32.973.26

Электронное издание на основе печатного издания: Семь языков за семь недель. Практическое 
руководство по изучению языков программирования / Б. А. Тейт ; пер. с англ. А. Н. Киселева. — 
Москва : ДМК Пресс, 2014. — 384 с. — ISBN 978-5-94074-539-6. — Текст : непосредственный.

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

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-315-8
©  2010 Pragmatic Programmers, LLC.
©  Оформление, перевод, ДМК Пресс, 
2014

Содержание

Посвящение .................................................... 16

Благодарности ................................................. 18

Предисловие ................................................... 22

Глава 1. Введение  ............................................ 25
1.1. Логика описания ..........................................................................................25
1.2. Языки ...............................................................................................................27
1.3. Купите эту книгу  .........................................................................................29
Учитесь учиться ...........................................................................................29
Где получить помощь в трудный момент ............................................30
1.4. Не покупайте эту книгу .............................................................................31
Здесь рассказывается не только о синтаксисе, но и о многом 
другом ..............................................................................................................31
Здесь не описывается порядок установки ..........................................32
Это не справочник по программированию .........................................32
Я буду постоянно подталкивать вас  ....................................................33
1.5. Заключительное замечание .....................................................................34

Глава 2. Ruby ................................................... 35
2.1. Краткая история ..........................................................................................36
Интервью с Юкихиро Мацумото (Мац) .............................................36
2.2. День 1: Поиск няни .....................................................................................38
Молниеносный тур .....................................................................................38
Использование Ruby в консоли .............................................................39
Модель программирования......................................................................39
Условные конструкции ..............................................................................40
«Утиная» типизация ...................................................................................44
Что мы узнали в первый день..................................................................46
День 1: задания для самостоятельного решения ..............................46
2.3. День 2: Спускаемся с небес ......................................................................47
Определение функций ...............................................................................47
Массивы ..........................................................................................................47
Хэши .................................................................................................................49
Блоки кода и инструкция yield ...............................................................51
Запуск файлов сценариев на Ruby  .......................................................53

 Содержание

Определение классов .................................................................................53
Подмешивание ..............................................................................................56
Модули, перечисления и множества ....................................................58
Что мы узнали во второй день ................................................................60
День 2: задания для самостоятельного решения ..............................60
2.4. День 3: Большие перемены ......................................................................61
Открытые классы ........................................................................................62
Применение метода method_missing ....................................................64
Модули ............................................................................................................65
Что мы узнали в третий день ...................................................................69
День 3: задания для самостоятельного решения ..............................69
2.5. В заключение о Ruby ..................................................................................70
Сильные стороны ........................................................................................70
Недостатки .....................................................................................................72
Заключительные замечания ....................................................................73

Io ................................................................... 75
3.1. Введение в Io .................................................................................................75
3.2. День 1: Пропустим школу и повеселимся ..........................................76
Ломаем лед .....................................................................................................77
Объекты, прототипы и наследование ...................................................79
Методы ............................................................................................................81
Списки и отображения ..............................................................................83
true, false, nil и одиночные объекты .......................................................85
Интервью со Стивом Декортом  .............................................................87
Что мы узнали в первый день..................................................................89
День 1: задания для самостоятельного решения ..............................89
3.3. День 2: Сосисочный король .....................................................................90
Условные конструкции и циклы ............................................................90
Операторы ......................................................................................................92
Сообщения .....................................................................................................94
Рефлексия ......................................................................................................97
Что мы узнали во второй день ................................................................99
День 2: задания для самостоятельного решения ..............................99
3.4. День 3: На параде и в других неожиданных местах ..................... 100
Предметно-ориентированные языки ................................................. 100
Аналог метода method_missing в языке Io ....................................... 103
Параллельные вычисления ................................................................... 105
Что мы узнали в третий день ................................................................ 109
День 3: задания для самостоятельного решения ........................... 109

Содержание  9

3.5. В заключение об Io ................................................................................... 110
Сильные стороны ..................................................................................... 110
Недостатки .................................................................................................. 111
Заключительные замечания ................................................................. 113

Prolog ........................................................... 114
4.1. О языке Prolog ........................................................................................... 115
4.2. День 1: Отличный водитель .................................................................. 116
Факты ........................................................................................................... 116
Простые выводы и переменные ........................................................... 118
Восполнение неполноты ........................................................................ 119
Раскрашивание карты ............................................................................. 121
А где сама программа? ............................................................................ 122
Унификация, часть 1 ................................................................................ 123
Практическое применение языка Prolog .......................................... 125
Что мы узнали в первый день............................................................... 129
День 1: задания для самостоятельного решения ........................... 129
4.3. День 2: Пятнадцать минут до «Народного суда» .......................... 130
Рекурсия ...................................................................................................... 130
Списки и кортежи .................................................................................... 132
Унификация, часть 2 ................................................................................ 132
Списки и математические операции .................................................. 135
Использование правил в обоих направлениях............................... 138
Что мы узнали во второй день ............................................................. 142
День 2: задания для самостоятельного решения ........................... 142
4.4. День 3: Взорвем Лас-Вегас .................................................................... 143
Решение судоку ......................................................................................... 143
Восемь ферзей ............................................................................................ 148
Что мы узнали в третий день ................................................................ 154
День 3: задания для самостоятельного решения ................................... 154
4.5. В заключение о Prolog ............................................................................ 155
Сильные стороны ..................................................................................... 156
Недостатки .................................................................................................. 157
Заключительные замечания ................................................................. 158

Scala ............................................................ 159
5.1. О языке Scala.............................................................................................. 159
Близость с Java... ....................................................................................... 160
Но без рабской преданности ................................................................. 160
Интервью с создателем Scala, Мартином Одерски....................... 161

 Содержание

Функциональное программирование и параллельные 
вычисления ................................................................................................. 163
5.2. День 1: Дом на холме ............................................................................... 164
Типы данных в Scala  ............................................................................... 164
Выражения и условные конструкции ............................................... 166
Циклы ........................................................................................................... 168
Диапазоны и кортежи ............................................................................. 171
Классы в Scala ............................................................................................ 173
Вспомогательные конструкторы ......................................................... 176
Расширение классов ................................................................................ 177
Что мы узнали в первый день............................................................... 179
День 1: задания для самостоятельного решения ........................... 181
5.3. День 2: Обрезка кустарников и другие новые хитрости ............. 181
var и val ......................................................................................................... 182
Коллекции ................................................................................................... 184
Типы Any и Nothing ................................................................................. 188
Коллекции и функции ............................................................................ 189
Что мы узнали во второй день ............................................................. 195
День 2: задания для самостоятельного решения ........................... 196
5.4. День 3: Художественная стрижка  ...................................................... 196
XML ............................................................................................................... 197
Сопоставление с образцом .................................................................... 198
Ограничители ............................................................................................ 199
Регулярные выражения .......................................................................... 199
Обработка XML и сопоставление с образцом ................................ 200
Параллельные вычисления ................................................................... 201
Параллельные вычисления в действии ............................................ 203
Что мы узнали в третий день ................................................................ 206
День 3: задания для самостоятельного решения ........................... 207
5.5. В заключение о Scala ............................................................................... 207
Основные сильные стороны ................................................................. 208
Недостатки .................................................................................................. 210
Заключительные замечания ................................................................. 212

Erlang ........................................................... 213
6.1. Введение в Erlang ..................................................................................... 213
Поддержка параллельных вычислений ............................................ 214
Интервью с доктором Джо Армстронгом ........................................ 216
6.2. День 1: Появление человека ................................................................. 218
Введение ...................................................................................................... 219

Доступ онлайн
519 ₽
В корзину