Языковые книги / учебники для популярных языков

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

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

Общее программирование

Онлайновые учебные пособия
Основы программирования Карл Сегин - Из Codebetter, основанного на C #, но идеи звучат правдоподобно, не могу поверить, что никто еще не опубликовал это на самом деле.
Как написать не поддерживаемый код - это анти-руководство, которое научит вас, как писать код максимально ненадежным способом. Было бы забавно, если бы многие из этих предложений не звучали так правдоподобно.
Секция программирования вики-книг - предложенная Джимом Робертом как имеющая большое количество книг / учебных пособий по нескольким языкам на разных стадиях завершения.
Просто основы Чтобы почувствовать язык.

Книжный
кодекс завершен - эта книга, само собой разумеется, блестяще во многих отношениях.
Прагматичный программист - следующая лучшая вещь для работы с мастером кодирования, обучая вас всему, что они знают.
Освоение регулярных выражений - Регулярные выражения являются важным инструментом в наборе инструментов каждого программиста. Эта книга, рекомендованная Патриком Лоцци, является отличным способом узнать, на что они способны.
Алгоритмы на C , C ++ и Java - отличный способ изучить все классические алгоритмы, если вы найдете книги Кнута слишком глубокими.

С

Онлайновые учебные пособия
Этот учебник выглядит достаточно лаконичным и подробным, просматривает материал и выглядит довольно хорошо. Не уверен, насколько дружелюбно это будет для новых программистов.
Книги
K & R C - это классика точно. Можно утверждать, что все программисты должны читать это.
C Primer Plus - предложенный Имраном как лучшая книга на C для начинающих программистов.
C: Справочное руководство - отличный справочник, рекомендованный Патриком Лоцци.

C ++

Онлайновые
учебные пособия Учебное пособие на cplusplus.com представляется наиболее полным. Я нашел другое руководство здесь, но оно не включает такие темы, как полиморфизм, который я считаю необходимым. Если вы пришли из C, этот учебник может быть лучшим для вас.

Еще одно полезное руководство, аннотация C ++ . В семействе Ubuntu вы можете получить книгу в нескольких форматах (pdf, txt, Postscript и LaTex), установив c++-annotationпакет из Synaptic (установленный пакет можно найти в /usr/share/doc/c++-annotation/.

Книги
Язык программирования C ++ - критически важный для любого программиста C ++.
C ++ Primer Plus - изначально добавлен как опечатка, но обзоры amazon настолько хороши, что я буду держать его здесь, пока кто-то не скажет, что это глупость.
Эффективный C ++ - способы улучшить ваши программы на C ++.
Более эффективный C ++ - продолжение Effective C ++.
Эффективный STL - способы улучшить использование STL.
Мышление на С ++ - отличная книга, оба тома. Автор Брюс Экель и Чак Эллисон.
Программирование: принципы и практика использования C ++ - введение Страуструпа в C ++.
Ускоренный C ++ - Энди Кениг и Барбара Му - отличное введение в C ++, в котором C ++ не рассматривается как «C с дополнительными битами», на самом деле вы сразу же погрузитесь в него и начнете использовать STL на ранних этапах.

вперед

Книги
FORTH, текстовые и справочные. Махлон Дж. Келли и Николас Шпионы. ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986 Прентис-Холл. Книги Лео Броди хороши, но эта книга еще лучше. Например, он охватывает определение слов и переводчика в глубине.

Джава

Онлайн- уроки
Sun Java- уроки - официальный урок, который кажется вам интересным, но я не являюсь экспертом по Java. Ребята, вы знаете какие-нибудь лучшие?
Книги
Head First Java - Рекомендуется в качестве отличного вводного текста Патрика Лоцци.
Эффективная Java - рекомендуется pek как отличный промежуточный текст.
Core Java Volume 1 и Core Java Volume 2 - предложены FreeMemory как одни из лучших доступных ссылок на Java.
Java Concurrency in Practice - рекомендуется MDC как отличный ресурс для параллельного программирования на Java.

Язык программирования Java

питон

Онлайн-
уроки Python.org - онлайн-документация для этого языка довольно хорошая. Если вы знаете что-нибудь лучше, дайте мне знать.
Погружение в Python - предложено Николой. Кажется, это книга о питоне онлайн.

Perl

Онлайн-
уроки perldoc perl - это то, как я лично начал работать с языком, и я не думаю, что вы сможете победить его.
Книги для
изучения Perl - отличный способ познакомить себя с языком.
Программирование на Perl - в значительной степени упоминается как Библия Perl. Основные ссылки для любого серьезного программиста на Perl.
Perl Cookbook - отличная книга, в которой есть ответы на многие распространенные проблемы.
Modern Perl Programming - недавно выпущенный, содержит последние знания о современных методах и инструментах, включая Moose и DBIx :: Class.

Рубин

Онлайновые учебники
Адам Мика предложил « Зачем» («Проницательное») руководство по Ruby, но, взглянув на него, я не знаю, подходит ли оно всем. Нашел этот сайт, который предлагает несколько учебных пособий по Ruby on Rails.
Книги по
программированию на Ruby - предлагаются в качестве отличного справочника по всем рубиновым вещам.

Visual Basic

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

PHP

Онлайн-учебники
Основной сайт PHP - простое учебное пособие, которое позволяет пользователям оставлять комментарии для каждой страницы, что мне действительно нравится. Учебные пособия по PHPFreaks - Различные учебные пособия различной сложности.
Учебники по Quakenet / PHP - учебник по PHP, который поможет вам с нуля.

JavaScript

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

Книги,
прежде всего JavaScript
JavaScript: The Good Parts ( автор видео Google Tech Talk )

C #

Онлайн-уроки
C # Station Tutorial - мне кажется, это хороший урок, который я откопал, но я не C # парень.
Спецификация языка C # - предложена tamberg. Не совсем учебник, но отличный справочник по всем элементам C #
Books
C # к сути - предложенный Тамбергом как короткий текст, который объясняет язык с поразительной глубиной

OCaml

Книги
nlucaroni предлагает следующее:
OCaml для ученых. Введение в ocaml.
Использование Понимание и изучение ocaml: практика к теории и наоборот.
Разработка приложений с использованием Ocaml - O'Reilly.
Система Objective Caml - Официальное руководство

Haskell

Онлайн-
уроки nlucaroni предлагает следующее:
Изучите функциональное программирование с помощью Haskell
Books
Реальный мир Haskell
Total Functional Programming

LISP / Схемы

Книги
wfarr предложили следующее:
The Little Schemer - Введение в схемы и функциональное программирование в целом
Закаленный Schemer - Followup Маленького Schemer.
Структура и интерпретация компьютерных программ - полная книга по Лиспу (также доступна онлайн ).
Практический Common Lisp - хорошее введение в Lisp с несколькими примерами практического использования.
На Лиспе - Расширенные темы на Лиспе
Как разрабатывать программы - Введение в вычислительные и программные
парадигмы программирования на искусственном интеллекте: тематические исследования в Common Lisp - подход к высококачественному программированию на Лиспе

Как насчет вас, ребята? Я полностью на некоторых там? Я пропустил твой любимый язык? Я возьму лучшие комментарии и изменю вопрос с предложениями.

22.08.2008 16:59:56
30 ОТВЕТОВ

Python: http://diveintopython.net/

JS: повторное введение в JavaScript - это введение в язык (не специфика браузера) для программистов. Не знаю хорошего учебника по JS в браузере.

Отличная идея, кстати!

2
8.03.2012 14:43:38

Я знаю, что это покажется старомодным, но я не особо думаю об использовании онлайн-учебников для изучения языков программирования или платформ. Как правило, они дают вам лишь небольшой вкус к языку. Чтобы по-настоящему выучить язык, вам нужен эквивалент «книги», а во многих случаях это означает настоящую книгу мертвого дерева.

Если вы хотите изучать C, читайте K & R. Если вы хотите изучать C ++, читайте Stroustrup. Если вы хотите изучить Lisp / Scheme, прочитайте SICP. И т.п.

Если вы не готовы тратить более 30 долларов и несколько часов на изучение языка, вы, вероятно, не собираетесь его изучать.

33
22.08.2008 17:18:47
Я согласен с тем, что если вы действительно хотите глубоко выучить язык, книга - это, как правило, путь. Тем не менее, я думаю, что книга Страуструпа довольно бедна с педагогической точки зрения. Я бы высказал ту же критику (даже более настойчиво) в книге GoF.
Dónal 2.02.2009 21:41:11
Мне не очень нравится книга Страуструпа, я предпочитаю размышления Брюса Эккеля «C ++». И я предпочитаю электронные книги, потому что я могу Ctrl + F. Это спасло мне жизнь, когда я сделал Алгоритмы, которые я изучаю (с книгой Введение в алгоритмы)
Tian Bo 24.04.2009 02:31:33
Я ничего не имею против электронных книг. Дело в том, что это должна быть настоящая «книга», написанная экспертом и проверенная экспертами, а не какое-то бесплатное учебное пособие на 5000 слов, которое вы где-то нашли в Интернете, написанное кем-то, кто не знает намного больше, чем вы делать.
Kristopher Johnson 29.04.2009 12:32:40

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

ocaml:

  1. * Введение в ocaml
  2. Использование Понимание и раскрытие ocaml: практика к теории и наоборот
  3. * Разработка приложений с использованием Ocaml - O'Reilly
  4. Система Objective Caml - Официальное руководство
  5. Краткое введение в объектив Caml
  6. Практичный Ocaml

Хаскель:

  1. Изучите функциональное программирование с помощью Haskell
  2. * Real World Haskell
  3. * Общее функциональное программирование
20
27.08.2008 18:25:12

Я второй рекомендации Кристофера K & R для C.

Я нашел книгу "Essential Actionscript 2.0" весьма полезной для написания кода AS (я считаю, что есть версия для AS3).

Я обнаружил, что в некоторых случаях наличие реальных книг для просмотра более полезно, чем онлайн-справочник. Не совсем уверен, почему, хотя.

1
22.08.2008 17:37:25

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

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

1
22.08.2008 17:41:51

Ссылка, которую вы перечислили для Ruby, относится к Ruby on Rails. Хотя он по-прежнему глубоко в рубине, он определенно не место для тех, кто хочет изучать Ruby.

Для учебных пособий по Ruby я бы рекомендовал « Почему (Poignant) Guide to Ruby» как отличную отправную точку для всех, кто интересуется языком.

Если вы хотите получить более подробную информацию, я бы порекомендовал книгу « Программирование на Ruby» , которая стала стандартом для всех вещей Ruby. В настоящее время пишется третье издание, в котором рассказывается о возможностях Ruby 1.9, так что я бы подождал некоторое время, если кто-нибудь захочет купить эту книгу.

1
23.08.2008 04:51:43
Почему книга хороша, но маленькие истории слишком глупы. Они раздражали меня, не помогли мне.
Rayne 23.12.2008 22:05:49

Для J2EE у вас есть очень полное руководство по адресу: http://java.sun.com/javaee/5/docs/tutorial/doc/

1
24.08.2008 15:45:45

Для Java я настоятельно рекомендую Core Java . Это большой том (или два больших тома), но я считаю, что это одна из лучших ссылок на Java, которую я читал.

1
25.08.2008 15:47:07

C Primer Plus, 5-е издание - книга C, которую можно получить, если вы изучаете C без какого-либо опыта программирования. Это мой личный фаворит, поскольку я научился программировать из этой книги. Он обладает всеми качествами, которые должна иметь книга, удобная для начинающих:

  • Не предполагает какого-либо предварительного воздействия на программирование
  • Приятно читать (не становясь раздражающим, как для чайников /
  • Не упрощает
2
25.08.2008 16:02:00

Для Lisp и Scheme (черт, функциональное программирование в целом) есть несколько вещей, которые обеспечивают более прочную основу, чем The Little Schemer и The Seasoned Schemer . Оба предоставляют очень простое и интуитивно понятное введение как в Схему, так и в функциональное программирование, которое оказывается гораздо проще для новых студентов или любителей, чем любой из типичных томов, которые стираются, как научная версия « Войны и мира» .

После того, как они вышли за пределы серии Schemer, SICP и On Lisp стали фантастическим выбором.

3
25.08.2008 16:30:23

Эффективная Java обязательна, но я рекомендую сначала освоиться с Java, чтобы полностью понять примеры.

5
25.08.2008 18:07:50

Я знаю, что это перекрестный пост отсюда ... но, я думаю, одна из лучших книг по Java - это параллелизм на практике Брайана Гетца. Это довольно продвинутая книга, но она хорошо подойдет для вашего параллельного кода и разработки Java в целом.

1
23.05.2017 12:18:29
0
25.08.2008 18:49:39

Стандарт де-факто для изучения Grails - это превосходное начало работы с Grails от Джейсона Рудольфа. Вы можете обсудить, является ли это онлайн-учебник или книга, так как она может быть приобретена, но доступна для бесплатной загрузки. Публикуется больше «настоящих» книг, и я рекомендую Beginning Groovy и Grails.

1
26.08.2008 14:49:56

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

Многие из них полностью сформированы, и у некоторых есть более продвинутые разделы (которые находятся в разных состояниях завершения) по конкретной функциональности.

Кроме того, в школах w3 есть отличный учебник и справочный раздел по php.

их HTML и CSS разделы также хороши для справки.

3
26.08.2008 14:56:51

C ++

Первый хорош для начинающих, а второй требует более продвинутого уровня в C ++.

3
27.08.2008 16:19:11

Для C ++ я предлагаю Accelerated C ++ от Koenig и Moo в качестве начального текста, хотя я не знаю, как это было бы для абсолютного новичка. Он фокусируется на использовании STL прямо сейчас, что значительно облегчает задачу.

8
28.08.2008 18:36:54
Но я думаю, что ускоренный C ++ не для начинающих, я думаю, что C ++ Primer Plus (5-е издание) предназначен для начинающих.
Ibn Saeed 28.06.2009 18:22:06

Что касается C ++, я большой поклонник C ++ Common Knowledge: Essential Intermediate Programming , мне нравится, что он организован в небольшие секции (обычно менее 5 страниц на тему), поэтому мне легко взять его и прочитать о концепциях, которые я нужно пересмотреть.

Это должно быть прочитано для меня накануне вечером и в самолете на собеседование.

0
28.08.2008 18:55:42

Давайте не будем забывать о Head First Java , которую можно считать первым важным шагом на этом языке или, может быть, шагом после онлайн-уроков Sun. Это отлично подходит для краткого понимания языка, добавляя при этом немного веселья, служа ступенькой для более углубленных уже упомянутых книг.

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

Всякий раз, когда я работаю над C, C: A Справочное руководство, созданное Харбисоном и Стилом , сопровождает меня повсюду. Это сжато и эффективно, в то время как чрезвычайно тщательно, делая это бесценным (для меня так или иначе).

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

2
29.08.2008 07:45:37

C #

C # в точку Ханспетер Мёссенбёк. На 200 страницах он объясняет C # с удивительной глубиной, сосредотачиваясь на базовых концепциях и кратких примерах, а не на размахивании руками и скриншотах Visual Studio.

Для получения дополнительной информации о конкретных функциях языка, проверьте спецификацию языка C # ECMA-334 .

Руководство по проектированию рамок , книга Кшиштофа Квалины и Брэда Абрамса из Microsoft, дает дополнительное понимание основных проектных решений, лежащих в основе библиотеки .NET.

1
29.08.2008 08:11:06

Хаскель :

Книга О'Рейли:

  1. Real World Haskell , отличная учебная книга по Haskell, доступная в Интернете и в печатном виде.

Мои любимые общие, менее академические онлайн-уроки:

  1. Haskell wikibook, который содержит все отличные учебники по Haskell. (Это руководство помогает, например, настроить дистрибутив Haskell и запустить примеры программ.)
  2. Выучите у вас Haskell за большое добро , в духе «Зачем нужно пронзительное руководство по Ruby», но более конкретно.
  3. Напишите себе схему за 48 часов . Запачкайте руки изучением Haskell с реальным проектом.

Книги по функциональному программированию на Haskell:

  1. Лямбда-исчисление, комбинаторы, более теоретические, но весьма приземленные: Введение Дэви в системы функционального программирования с использованием Haskell
  2. Лень и правильность программирования, функциональное мышление: введение Берда в функциональное программирование с использованием Haskell
7
7.03.2010 18:52:06

Рубин

5
30.08.2008 10:55:13

Common Lisp

Для хорошего ознакомления с CL ознакомьтесь с Common Lisp the Language, 2nd Edition

2
30.08.2008 18:48:40
  • C - Язык программирования C - Очевидно, мне пришлось упомянуть K & R, одну из лучших книг по программированию.
  • C ++ - Ускоренный C ++ - Это ясное, хорошо написанное введение в C ++ прямо касается использования STL и дает хорошие, ясные, практические примеры. Соответствует своему названию.
  • C # - Pro C # 2008 и платформа .NET 3.5 - немного глотка, но прекрасно написанного и огромной глубины.
  • F # - Эксперт F # - Предназначен для перехода опытных программистов с нуля к эксперту по F #. Очень хорошо написано, один из изобретенных автором F #, так что вы не ошибетесь!
  • Схема - Маленький Схемер - Действительно уникальный подход к обучению языку программирования, который действительно хорош .
  • Ruby - программирование Ruby - ласково известная как книга «кирка», это действительно введение в Ruby. Очень хорошо написано, ясно и подробно.
3
30.08.2008 19:00:39
10
2.04.2012 07:43:09
+1 И добавьте blackwasp.co.uk/CSharpFundamentals.aspx в качестве действительно отличного онлайн-справочника, пока вы там
Evan Plaice 24.06.2010 02:39:34

Для Java EE 5 есть отдельный учебник по JEE . Это полезно, так как люди часто спрашивают о постоянстве и привязке XML в Java.

0
2.09.2008 08:13:06

Для Javascript:

Для PHP:

Для ОО дизайна и программирования, шаблоны:

Для рефакторинга:

Для SQL / MySQL:

3
4.09.2008 09:19:10
0
4.09.2008 09:23:12

Java: SCJP для Java 6 . Я все еще использую это как ссылку.

0
4.09.2008 09:28:39

Для цели C:

Программирование какао для Mac OSX - третье издание Aaron Hillegass Опубликовано Addison Wesley

Программирование в Цели С, Стивен Г. Кочан,

2
11.09.2008 01:00:17