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

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

Покупка
Артикул: 484359.02.99
К покупке доступен более свежий выпуск Перейти
Вместе с семью языками программирования вы исследуете наиболее важные из современных моделей программирования. Вы познакомитесь с динамической типизацией, которая делает языки Ruby, Python и Perl такими гибкими. Постигнете систему прототипов, лежащую в основе языка JavaScript. Увидите, как сопоставление с образцом в языке Prolog сказалось на формировании языков Scala и Erlang. Узнаете, чем функциональное программирование на языке Haskell отличается от программирования на языках семейства Lisp, включая Clojure. Издание предназначено для программистов разной квалификации, в том числе выбирающих для изучения новый язык программирования.
Тейт, Б. А. Брюс, Т. Семь языков за семь недель. Практическое руководство по изучению языков программирования / Тейт Брюс ; пер. с анг. А.Н. Киселева. - Москва : ДМК Пресс, 2014. - 384 с. - ISBN 978-5-94074-539-6. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1027802 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Семь языков за семь недель •

Вместе с семью языками программирования вы исследуете 
наиболее важные из современных моделей программирования. Вы познакомитесь с динамической типизацией, которая 
делает языки Ruby, Python и Perl такими гибкими. Постигните 
систему прототипов, лежащую в основе языка JavaScript. 
Увидите, как сопоставление с образцом в языке Prolog сказалось на формировании языков Scala и Erlang. Узнаете, 
чем функциональное  программирование на языке Haskell 
отличается от программирования на языках семейства  Lisp, 
включая Clojure. Исследуете приемы параллельных вычислений, ставшие основой для следующего поколения интернетприложений. Научитесь пользоваться философией Erlang 
«позвольте приложению потерпеть неудачу» для создания 
отказоустойчивых систем. Познакомитесь с моделью акторов, 
управляющих параллельными вычислениями в Io и Scala. 
Увидите, как в Clojure используется механизм контроля совпадений для решения некоторых из самых сложных проблем, 
сопутствующих параллельным вычислениям.

Все эти сведения вы найдете здесь, в одной книге. Применяйте 
концепции, подсмотренные в одном языке, для поиска новых 
решений в другом или просто откройте для себя новый язык, 
о котором не знали прежде. Как знать, может быть, он станет 
одним из ваших основных инструментов.

"Пристегните ремни, потому что поездка будет очень быстрой. Эта книга наполнена 
быстрыми переходами от одного языка программирования к другому. Брюсу удалось 
выстроить все в один ряд и в результате получить интереснейшую книгу, которая 
доставит немало удовольствий увлеченным программистам."
– Фредерик Дауд (Frederic Daoud), писатель

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

Тейт Брюс

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

Брюс Тейт (Bruce Tate) – владелец компании RapidRed в городе Остин, 
штат Техас (США), которая оказывает консалтинговые услуги по вопросам 
разработки на языке Ruby. Он известен по всему миру и является автором 
более десяти книг.

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

    The
Pragmatic
         Programmers

Internetмагазин:
www.dmkpress.com
Книга – почтой:
email: orders@alians-kniga.ru
Оптовая продажа: 
«Альянскнига»
Тел./факс: (499) 7255409
email: books@alians-kniga.ru
www.дмк.рф
9 785940 745396

ISBN 978-5-94074-539-6

*

Ruby

*

Io

*

Prolog

*

Scala

*

Erlang

*

Clojure

*

Haskell

*

Отзывы читателей книги «Семь языков за семь недель»
Знание множества парадигм оказывает существенное влияние на 
наши подходы к проектированию, поэтому я всегда нахожусь в поиске хороших книг, которые помогали бы мне в изучении этих парадигм. 
Данная книга объединяет в себе описание основных парадигм программирования. Брюс имеет богатый опыт изучения и использования 
множества языков. Теперь и вы сможете воспользоваться его опытом 
благодаря этой книге. Я настоятельно рекомендую прочитать ее.
– Доктор Венкат Субраманиам (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

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

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

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

Москва, 2014

Брюс Тейт

УДК 004.6
ББК 32.973.26
 
Т30

 
 
Тейт Брюс

Т30 
Семь языков за семь недель. Практическое руководство по 
изуче нию языков программирования / пер. с анг. А. Н. Киселева. – М.: ДМК Пресс, 2014. – 384 с.: ил. 

ISBN 978-5-94074-539-6

Вместе с семью языками программирования вы исследуете наиболее 

важные из современных моделей программирования. Вы познакомитесь 
с динамической типизацией, которая делает языки Ruby, Python и Perl 
такими гибкими. Постигнете систему прототипов, лежащую в основе 
языка JavaScript. Увидите, как сопоставление с образцом в языке 
Prolog сказалось на формировании языков Scala и Erlang. Узнаете, чем 
функциональное программирование на языке Haskell отличается от 
программирования на языках семейства Lisp, включая Clojure.

Издание предназначено для программистов разной квалификации, 

в том числе выбирающих для изучения новый язык программирования.

 
УДК  004.6

 
ББК 32.973.26

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

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

ISBN 978-1-934356-59-3 (анг.) 
©  2010 Pragmatic Programmers, LLC.

ISBN 978-5-94074-539-6 (рус.) 
©  Оформление, перевод, 

 
 
ДМК Пресс, 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

К покупке доступен более свежий выпуск Перейти