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

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

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

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

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

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

С

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

С++

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

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

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

Forth

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

Java

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

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

Python

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

Perl

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

рубин

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

Visual Basic

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

PHP

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

JavaScript

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

Книги
Начать первый JavaScript
JavaScript: Хорошие частиВидео Google Tech Talk автором)

С#

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

OCaml

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

Haskell

Онлайн-учебники
nlucaroni предложил следующее:
Исследуйте функциональное программирование с помощью Haskell
Книги
Real World Haskell
Общее функциональное программирование

LISP/Схема

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

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

Ответ 1

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

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

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

Ответ 2

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

ocaml:

Haskell:

Ответ 4

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

Ответ 5

Хаскел:

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

  • Real World Haskell, большая учебно-ориентированная книга о Haskell, доступна онлайн и в печати. ​​

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

  • Haskell wikibook, который содержит все превосходное еще одно учебное пособие Haskell. (Этот учебник помогает, в частности, в настройке программ Haskell для дистрибутива и запуска примеров.)
  • Учите вас Haskell для Great Good, в духе Why Poignant Guide to Ruby, но более подробно.
  • Напишите себе схему через 48 часов. Получите ваши руки грязным обучением Haskell с реальным проектом.

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

Ответ 6

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

Ответ 8

Я бы добавил книги программирования Брюса Экеля:

В целом, его страница "Книги" (http://mindview.net/Books/) является хорошим ресурсом. Свободно доступные книги можно найти также в http://www.ibiblio.org/pub/docs/books/eckel/

Ответ 9

Не могу поверить, что никто не упомянул Perl Best Practices. Также есть Twitter-канал, который поставляет один PBP в день.

Я изучил Perl из Robert Perl Tutorial, который я рекомендую, но он не обновлялся с 1999 года. Более новый рекомендованный учебник Учебное пособие Стив Перл.

Для веб-разработки с Perl явным победителем является Catalyst, а Catalyst wiki является отправной точкой для обучения.

Ответ 10

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

Как только они перейдут за пределы серии Schemer, SICP и On Lisp являются фантастическими.

Ответ 11

просмотрите раздел раздела wikibooks

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

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

их html и css также подходят для справки.

Ответ 13

  • C - Язык программирования C - Очевидно, мне пришлось ссылаться на K & R, одну из лучших книг по программированию, полную остановку.
  • С++ - Ускоренный С++ - Это четкое, хорошо написанное введение в С++ напрямую связано с использованием STL и дает хорошие, ясные, практические примеры, Доживает до своего имени.
  • С# - Pro С# 2008 и платформа .NET 3.5 - Немного густой, но прекрасно написанной и огромной глубины.
  • F # - Эксперт F # - Предназначен для приема опытных программистов от нуля до специалиста F #. Очень хорошо написано, один из авторов придумал F #, чтобы вы не ошиблись!
  • Схема - The Little Schemer - действительно уникальный подход к обучению языку программирования, сделанному очень хорошо.
  • Ruby - Программирование Ruby - Ласково известный как книга "выбрать топор", это введение дефакто в Ruby. Очень хорошо написано, понятно и подробно.

Ответ 14

Для Javascript:

Для PHP:

Для проектирования и программирования OO шаблоны:

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

Для SQL/MySQL:

Ответ 16

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

  • Не предполагает предварительного использования программирования
  • Приятно читать (не раздражая, как "Манекены" /
  • Не упрощает

Ответ 17

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

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

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

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

Ответ 19

Для цели C:

Cocoa Программирование для Mac OSX - Третье издание Аарон Хиллегасс Опубликовано Эддисон Уэсли

Программирование в Objective C, Стивен Кочан,

Ответ 20

Head First Javascript является хорошим вступлением JS для начинающих программистов - он творчески объясняет основные понятия программирования с использованием синтаксиса JS. Серия Head First основана на изученных методах, помогающих вам изучать и запоминать новую информацию. У них есть много упражнений и головоломок, которые могут казаться несовершеннолетними, но на самом деле помогают цементировать знания в вашем мозгу.

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

Основываясь только на этой книге, я бы сказал, что сериал Head First - отличный способ узнать что-то в первый раз, но форма, подобная истории, сделает их трудными в использовании, поскольку ссылки.

Ответ 22

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

http://www.udacity.com/

https://www.coursera.org/

http://www.coursehero.org/

http://www.codecademy.com/

http://mitx.mit.edu/

http://www.khanacademy.org/

http://thenewboston.org/

Ответ 23

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

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

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

Ответ 24

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

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

Ответ 25

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

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

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

Ответ 27

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

Ответ 28

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

Ответ 29

Стандарт deacto для обучения Grails - отличный Начало работы с Grails Джейсоном Рудольфом. Вы можете обсуждать, является ли он онлайн-учебником или книгой, поскольку он может быть приобретен, но доступен в виде бесплатной загрузки. Издаются более "настоящие" книги, и я рекомендую начинать Groovy и Grails.

Ответ 30

С#

С# в точку Hanspeter Mössenböck. На 200 страницах он объясняет С# удивительной глубиной, сосредоточив внимание на базовых концепциях и кратких примерах, а не на ручных махатьях и скриншотах Visual Studio.

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

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