Семь языков за семь недель
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Тейт Брюс А.
Перевод:
Киселев Артём Николаевич
Год издания: 2014
Кол-во страниц: 384
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-94074-539-6
Артикул: 484359.02.99
К покупке доступен более свежий выпуск
Перейти
Вместе с семью языками программирования вы исследуете наиболее важные из современных моделей программирования. Вы познакомитесь с динамической типизацией, которая делает языки Ruby, Python и Perl такими гибкими. Постигнете систему прототипов, лежащую в основе языка JavaScript. Увидите, как сопоставление с образцом в языке Prolog сказалось на формировании языков Scala и Erlang. Узнаете, чем функциональное программирование на языке Haskell отличается от программирования на языках семейства Lisp, включая Clojure. Издание предназначено для программистов разной квалификации, в том числе выбирающих для изучения новый язык программирования.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.01: Математика и компьютерные науки
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Семь языков за семь недель • Вместе с семью языками программирования вы исследуете наиболее важные из современных моделей программирования. Вы познакомитесь с динамической типизацией, которая делает языки 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 Книга – почтой: email: orders@alians-kniga.ru Оптовая продажа: «Альянскнига» Тел./факс: (499) 7255409 email: 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
К покупке доступен более свежий выпуск
Перейти