LINUX.ORG.RU

Документация к языкам программирования

 , , , ,


39

14

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

★★★★★

в сети есть запираченая final версия со снятой pdf-защитой. Ссылку не пишу, т.к. запрещено правилами. В Яндексе (а не в гугле) набери «ISO/IEC 14882:2014 скачать», появится ссылка на upload.ee размером около 5 мегабайт, это оно.

stevejobs ★★★☆☆ ()

там описание стандарта предлагают получить на сайте ISO за немалые суммы денег.

Насколько я помню, они сами где-то писали, что «официальная» версия стандарта не нужна, если вы не собираетесь писать компилятор, а драфты можно получить бесплатно.

Официальная документация по другим языкам была бы тоже интересна.

По вообще всем что ли?

Ну и насколько я могу судить, по «вполне состоявшимся» языкам книги платные, зато их много разных. А вот «новые» (или менее популярные) языки вполне могут (имхо, и «должны») продвигать предоставляем бесплатные книги/туториалы. Скажем, для раста прямо на главной странице есть ссылка на вполне неплохую документацию, которая подходит для ознакомления и изучения.

Кстати, насколько я помню, для D долгое время была единственная и платная книга (за авторством Александреску). Сейчас уже появилось что-то, вроде.

DarkEld3r ★★★★★ ()
Ответ на: комментарий от mix_mix

Cсылки на драфты по C++ видел, но это не конечный вариант, к тому же

Please note that the standard is not intended to teach how to use C++. Rather, it is an international treaty — a formal, legal, and sometimes mind-numbingly detailed technical document intended primarily for people writing C++ compilers and standard library implementations.

grem ★★★★★ ()
Ответ на: комментарий от stevejobs

Ссылку не пишу, т.к. запрещено правилами. В Яндексе (а не в гугле) набери «ISO/IEC 14882:2014 скачать», появится ссылка на upload.ee размером около 5 мегабайт, это оно.

Спасибо!

Pavval ★★★★★ ()
Ответ на: комментарий от twentypercentcooler

Спасибо за ссылку, но, как уже писали выше, это больше справочник, который, несомненно, полезен.

Немного не в тему: недавно видел тему, в которой было упомянуто несколько бесплатных книг (от самих авторов) по Pascal. Есть ли подобные по C/C++, но чтобы не в бложиках - для коллекции?

grem ★★★★★ ()

Нет, не существует. Тем более что в случае C++ простое описание тебе не особо поможет. «Стандарт C++» это форма священного писания к которому обращаются чтобы узнать в чём накосячили разработчики компилятора.

ranka-lee ()
Последнее исправление: ranka-lee (всего исправлений: 1)

C++ очень разнообразный язык, да и пишут на нём обычно из практических соображений, а не ради красоты языка. Хочешь изучать C++ — изучай статьи о C++ для конкретной предметной области.

  • Стандарт плюсов — чтиво для разработчиков компиляторов и сред разработки, просто так его смотреть незачем
  • cppreference — хороший универсальный справочник, к тому же у них есть оффлайн версии, в том числе с интеграцией в систему справки QtCreator
  • Для компьютерной графики хорошо подойдут уроки NeHe или иные уроки по OpenGL, уроки по cocos2dx (игровой движок для андроида и iOS), ну или найди видеокурсы ООП и компьтерной графики Алексея Малова, там о языке последовательно рассказывается, хоть и оффтопично немного
  • Читай статьи о c++11 и о том, как реализовать ту или иную штуку на c++11 & c++14. Но от слов functional и metaprogramming лучше сразу беги! Сам Страуструп говорил «c++11 feels like a new language», в нём многое делается проще.
  • Уроки и статьи по ООП, затем по паттернам проектирования, плюс идиомы RAII и pimpl (она же d-pointer)
quiet_readonly ★★★★ ()
Ответ на: комментарий от CYB3R

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

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

grem ★★★★★ ()
Ответ на: комментарий от grem

Как выясняется, официального руководства для начинающих нет.

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

quiet_readonly ★★★★ ()

Вопрос следующий: существует ли нормальная доступная бесплатная документация

Да.

по которой можно изучать C/C++?

Нет, это не задача документации. Бесплатного высшего образования тебе мало?

t184256 ★★★★★ ()
Ответ на: комментарий от quiet_readonly

Примеры для OpenMP я тоже читал в одном блоге Intel, а дальше уже смотрел куда и с какими параметрами можно впихнуть соответсвующие директивы, чтобы ускорить выполнение LU-разложения. С QR-разложением (основанном на отражениях Хаусхолдера) ускорить так же (в ~3 раза на 4 ядрах) не вышло, но всё равно побыстрее почти в 2 раза получилось. Возможно, что если подправить реализацию циклов, получится ещё улучшить время выполнения.

P.S.
Я знаю про готовые библиотеки для линейной алгебры, просто пример привёл. Но попробовать их тоже можно.

grem ★★★★★ ()
Ответ на: комментарий от quiet_readonly

Стандарт плюсов — чтиво для разработчиков компиляторов и сред разработки, просто так его смотреть незачем

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

Pavval ★★★★★ ()

Этот тред очень хорошо показывает, почему C++ не нужен. Переусложнённое нечто, притом, что даже документацию на него приходится воровать.

feofan ★★★★★ ()
Ответ на: комментарий от unt1tled

стандарт последнего C11 называется ISO/IEC 9899:2011. Где скачать - не знаю. Стоит около 300 баксов. Такшта придется довольствоваться драфтом.

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

stevejobs ★★★☆☆ ()
Последнее исправление: stevejobs (всего исправлений: 2)

Наткнулся на сайт с кучей руководств : http://www.tutorialspoint.com

Can we reuse/publish the content available on tutorialspoint.com?

Sorry, we do not allow to use our content for republishing online or to be printed for commercial purpose. But yes you can use our content with in your Schools, Colleges, Universities, Institutes and Companies as long as its only for internal purpose and you are keeping appropriate references to tutorialspoint.com website.

grem ★★★★★ ()
Ответ на: комментарий от dvrts

Учитывая, что lor-wiki скоро совсем отрубят (а его зеркало, созданное энтузиастами лора пока в режиме чтения), то, возможно, чуть в другом виде пересоздам тему в Development и попрошу закрепить. Сразу в Development не создал, так как не думал, что список будет разрастаться.

grem ★★★★★ ()

орошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP

Так это же описание препроцессора C, а не компилятора C++.

proud_anon ★★★★★ ()