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

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

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

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

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

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

С

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

C ++

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

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

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

вперед

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

Ява

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

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

питон

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

Perl

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

Рубин

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

Visual Basic

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

PHP

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

JavaScript

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

книги
Начните первый JavaScript
JavaScript: Хорошие части (с видео Google Talk Talk от автора)

C #

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

OCaml

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

Haskell

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

LISP / Схемы

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

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

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

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

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

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

    ocaml:

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

    Haskell:

    1. Исследуйте функциональное программирование с помощью Haskell
    2. * Real World Haskell
    3. * Полное функциональное программирование

    Для C # :

    • CLR через C #

    введите описание изображения здесь

    • C # в глубине

    введите описание изображения здесь

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

    Haskell :

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

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

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

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

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

    1. Лямбда-исчисление, комбинаторы, более теоретические, но в очень сжатом виде: введение Дэви в функциональные системы программирования с использованием Haskell
    2. Лень и правильность программы, мышление функционально: введение Птицы в функциональное программирование с использованием Haskell

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

    Рубин

    • Неплохо, что бесплатный курс Ruby on Rails Training Online Sang Shin . У него также есть приличное количество дополнительных ссылок для чтения по каждому предмету на курсе

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

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

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

    Я изучил Perl из учебника Perl от Роберта , который я рекомендую, но он не обновлялся с 1999 года. Более новый рекомендованный учебник – это учебник Perl от Steve .

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

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

    Как только они перешли за frameworks серии Schemer, SICP и On Lisp – оба фантастических варианта.

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

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

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

    их разделы html и css хороши для справки.

    C ++

    • Думая на C ++ Брюсом Эккелом
    • Стандарты кодирования C ++ Херба Саттера и Андрея Александреску

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

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

    Для Javascript:

    • Javascript: окончательное руководство
    • Профессиональные методы Javascript

    Для PHP:

    • PHP-объекты, шаблоны и практика

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

    • Объектно-ориентированное построение программного обеспечения (библия, может быть, Head First OO было бы неплохо, я этого не знаю)
    • Начните первые образцы дизайна (мне так нравится эта книга)
    • Шаблоны проектирования

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

    • Рефакторинг: улучшение дизайна существующего кода
    • Эффективная работа с устаревшим кодом

    Для SQL / MySQL:

    • Joe Celko: Дерево и иерархии в SQL (только по конкретному предмету, но я нашел его интересным)
    • Pro MySQL

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

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

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

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

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

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

    Общий Лисп

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

    Для цели C:

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

    Программирование в Objective C, Stephen G Kochan,

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

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

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

    Рубиновый путь Хэл Фултон

    Обложка Ruby Way http://rubyhacker.com/trw2cover.gif

    Python: http://diveintopython.net/

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

    Кстати, отличная идея!

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

    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/

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

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

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

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

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

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

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

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

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

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

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

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

    C #

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

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

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

    Interesting Posts

    Постоянно вставляйте строки из верхней части страницы в Excel

    Оставить панель меню, зафиксированную сверху при прокрутке

    JSON.NET Parser * кажется * будет двойной сериализацией моих объектов

    Соединение закрыто удаленным хостом

    В чем разница между реализацией и компиляцией в Gradle?

    Как я могу запустить стартапы и посмотреть, какие процессы занимают дольше всего?

    Как восстановить таблицу BigQuery?

    Проблемы с ключом win и ключом справа после Windows Update (польские диакритические знаки не работают)

    Прослушать запрос wakeonlan

    Создание файлов .cpp из .h файлов visual studio

    XmlSerializer сериализует общий список интерфейса

    Не удалось найти допустимый путь сертификации для запрошенной целевой ошибки даже после импорта сертификата

    Могу ли я запустить минималистский веб-сервер на моем маршрутизаторе без перезаписи прошивки с DD-WRT?

    Загрузите файл и сохраните его автоматически.

    Как получить MethodInfo метода интерфейса, внедряя MethodInfo метода classа?

    Давайте будем гением компьютера.