LINUX.ORG.RU

ИМХО, когда уже знаешь язык и пишешь на нём, нет особого смысла тратить время на книги в наше время. Лучше почитать документацию к интересующим либам, стандарты языка, и т.д. и т.п. Ну может разве что по паттернам и антипаттернам что, если нужно, да и то нынче и подобное лучше читать в интернетах, каких-то отдельных статьях или сериях статей, нежели в книгах с кучей воды. Впрочем, такое мнение разделяют не все, и я его никому не навязываю.

CrX ★★★★★
()

Посоветуйте книгу по плюсам,пишу на C++ примерно год, могу накалякать что нибудь на qt, недавно заинтересовался сетями(сокеты беркли, boost asio).

Только что обсасывали этот вопрос в теме «Изучить С» - вам надо не книгу по синтаксису С++, а книги по устройству ОС и Сетей. Также отдельные книги по устройству Qt, и вообще архитектуры GUI под Linux (DE, WM, X.Org).

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

Обычно в таких случаях Шмидта рекомендуют, ИМХО норм тема, но я читал 2004 года версию в те же годы.

Если уж совсем Ъ, то у Страуструпа, автора языка, есть прям огромнейшая книженция, толстенная такая, синяя в облаках. Название забыл :) Но недавно вроде вышла новая редакция.

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

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

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

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

Это лишнее. Нужно понимать архитектуру и сервисы ОС, вместо траты время на Страуструпа: Курячий, Таненбаум, Столяров, Кетов.

lbvf50txt
()
Ответ на: комментарий от rumgot

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

Программист такое плохое слово, под ним понимаются все: SWE, SRE, Web Master. Ваш совет подходит только под Web Master в токсичной русскоязычной среде «формошлёп».

Без базиса Столярова ничего не получиться. Столяр хороший ЛИКБЕЗ написал. ЛикБез - ликвидация безграмотности.

Люблю за это Столяра. А за его истерики не люблю. Но в истериках он тоже кое что умеет. Так матюгаться не каждый решиться. Шутки шутками, а ликбез у него золотой.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от Zhbert

И что, что автор языка? Не факт, что он хороший учитель при этом. Есть и другие авторы, кто хорошо объясняет плюсы. А если базу знаешь, например от того же Прата, то нет смысла ту же инфу читать у Страуструпа.

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

Ну да. Автор языка точно пишет личнее :) Нам-то тут на ЛОРе виднее.

Он пишет узкоспециализированную книгу по сложному синтаксису одного из самых сложных языков программирования. До которого еще надо дорасти.

Читать Страуструпа новичку - тратить время в пустую. Там чисто про синтаксис. Новичку над набивать руку на алгоритмах и рабочих проектах. С++ это язык не для новичков.

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

токсичной русскоязычной среде

Бред не неси. Норм у нас среда. Хватить западные термины повторять, как попугай.

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

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

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

Столяров и близко не про алгоритмы. Он про Архитектуру ОС. Про Алгоритмы у него несколько параграфов в первом томе. А про ОС - полтора тома из 3х: начиная от Ассемблера на пол первого тома и еще целый второй том.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от rumgot

Ну что он пишет такого, чего нет у других?

Кто он? Страуструп написал целую книгу про одну тему синтаксис С++. Несколько сотен страниц. Откройте оглавление и почитайте.

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

Ну опять таки базу можно и в других источниках взять. Я например assembler по отдельным книгам учил. Про архитектуру ос - думаю в самих книгах по assembler или c++ описывается достаточно про архитектуру ос для разработчика, а бОльшие подробности уже нужны тем, кто сам планирует разрабатывать ос.

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

Я спросил, что он пишет такого, чего нет у других?

Откройте оглавление и почитайте.

Так я открывал и читал. И остался при своём мнении: как автор учебника он такой же как и все остальные: не хуже, не лучше.

Да и в целом, имхо, глупая логика, что если человек изобрёл что-то, это автоматически делает его хорошим автором учебного материала.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

Тогда смотри описание вакансий и учи, что там требуется

Так могло получиться 20 лет назад, может ещё 10 лет назад. Сейчас если сильно повезет только или по блату. Без крепкого базиса сейчас в программировании делать нечего, времена когда можно было вкатиться джуном после книжки xxx за 21 день прошли. Сейчас даже на джунские позиции требуют скиллов, которые 10 лет назад чуть ли не за сеньорские сошли бы, крепкого миддла точно. Или студентов по специальности, причём совсем не третьего эшелона вузов.

anonymous
()
Ответ на: комментарий от daniyal

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

anonymous
()

Год назад ты спрашивал: PHP или C++? Потом ты создал несколько домохозяйкиных тем. Теперь ты спрашиваешь, какие книги по С++ почитать. Каждое по отдельности - нормально. Всё вместе - эталонный пример, как не надо делать.

«Бери ношу по себе, чтоб не падать при ходьбе»©.

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

Выбирай из Pascal, PHP, Python, JS, Java или чего-то подобного. Если ты такой амбициозный, что хочешь начать с чего-то сложного, «умного», «настоящего», «крутого», начинай с C на свой страх и риск. Но это тоже кривой путь, просто менее кривой.

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

Привет, ему просто нужен рабочий проект. Или он его делает сам «с изолентой и отверткой» и пытается разобраться в фреймворке (очевидно что фреймворк ему облегчит вкатывание) или берет уже рабочий проект и «пишет курсовую». Тут не в фантазии дело. Это как с линуксом: бери тот, что знает старший товарищ: объяснят, покажу и научат.

anonymous
()
Ответ на: комментарий от lbvf50txt

Люблю за это Столяра. А за его истерики не люблю. Но в истериках он тоже кое что умеет. Так матюгаться не каждый решиться. Шутки шутками, а ликбез у него золотой.

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

Одновремённо ещё и заметное закостеневание в реалиях 90-х - начала 2000-х.

С LOR'а он же ушёл в итоге, потому что ему стало невыносимо здесь спорить, когда почти всех, кто ему возражал, в игнор добавил. Но его видимо и на его сайте достали, несмотря на премод :) Поэтому решил анонимов вообще сократить.

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

anonymous_incognito ★★★★★
()
Последнее исправление: anonymous_incognito (всего исправлений: 1)
Ответ на: комментарий от anonymous_incognito

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

Учебники Столярова устареют в момент когда перестанут использовать UNIX-like OS и откажутся от стека протоколов TCP/IP. Т.е. «никогда».

Сила его учебников как раз в полном отказе от «моды». Он выбрал такие языки которые «вечно не устаревающая классика». И потом, его учебники это ЛИКБЕЗ - минимальный уровень знаний для осмысленного диалога о программировании. Как музыка на фортепьяно - невозможно определить время озвучки это 1935 год или 2025? Так и выбор на Pascal, C, C++ (подмножество) и Tcl - они не устаревают, они стабильно занимают какой-то маленький процент и хорошо отражают принципы программирования.

Пора уже отделить личность автора от его произведения. Столяр - мерзко себя ведет, заходится в истериках и продвигает утопию. Тем не менее его ЛИКБЕЗ - лучший.

lbvf50txt
()
Ответ на: комментарий от anonymous

Так могло получиться

Без крепкого базиса сейчас в программировании делать нечего

Выучить навыки, которые есть в описании вакансии == Отсутствие крепкого базиса ???

Если, по твоему, да, то у тебя проеп в логике.

времена когда можно было вкатиться джуном после книжки xxx за 21 день прошли

Ты сам себе придумал тезис и сам его же оспариваешь.

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

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от anonymous

Совсем заплевали отличную концепцию DevOps, на самом деле это серьёзное направление которое выражается в инженерах эксплуатирующих сложные системы: SRE.

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

lbvf50txt
()
Ответ на: комментарий от rumgot

Выучить навыки, которые есть в описании вакансии == Отсутствие крепкого базиса ???

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

А если понимать внутренне устройство: Граф вершины которого либо коммиты, либо каталоги tree, либо контент-файла blog (два файла с одним наполнением хранятся в Git в одном месте), и переходы между вершинами по Hash сумме. Если иметь модель работы, то все предельно ясно. И все бренчи, HEAD и прочее это всего лишь файлы с хеш-суммами. «Understanding Git» by Paollo Perrotta.

https://learngitbranching.js.org

Заучивание без понимание устройства ни даст ничего кроме перегрузки. А для понимания устройства надо знать базис.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от rumgot

Про архитектуру ос - думаю в самих книгах по assembler или c++ описывается достаточно про архитектуру ос для разработчика, а бОльшие подробности уже нужны тем, кто сам планирует разрабатывать ос.

Ни у Шилда, ни у Страуструпа, ни у еще одного автора по С++ я не встречал ни слова про архитектуру ОС. По поводу «тем кто планирует сам разрабатвать ОС» - это весьма спорно, архитектура ОС нужна для того, чтоб понимать какие услуги предлагает ОС. А именно набор системных вызовов и механизм работы абстракций: процессы, потоки, дескрипторы.

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

P.S. Вот у меня физиономия прилично обшкрабяна, и на лбу шишки. По этому я с большим уважением отношусь у «штангам» и «акробатике» - как к основе борьбы. Если вы понимаете о чем я на языке метафор.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от daniyal

И зачем тебе книги про безопасное вождение, психологию водителя, сборники советов бывалых, оказание первой медицинской помощи, правил по избежанию стандартных ДТП, практику безаварийного вождения в сложных погодных условиях? Почему бы не читать документацию на автомобиль? Это намного более насыщенный и правдивый источник, чем книжки!

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

Братан, дай я тебя обниму. Ты так точно, и так смачно описал мои мысли. Метафора ИДЕАЛЬНАЯ.

С меня вирутальный кофий:

☕️☕️ ☕️☕️ ☕️☕️ ☕️☕️ ☕️☕️

Базаришь в цвет!

P.S. А еще говорят ЛОР измельчал, или он изначально мелкий был. А тут люди которые так ловко формулируют. Респект. Однозначный респект.

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

Лучше подскажите что почитать, если забросил кресты на N лет? Появилась прям куча нового, всякие string_view, еще больше шаблонной магии, модули наконец. Сам черт ногу сломит же, есть актуальный сборник бест-практисов?

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

Я вот помню примерно, что когда читал книгу Pascal, там было про драверы, прерывания, библиотеки.

В книгах по Assembler было про секции данных в программе, пространство памяти программы, прерывания, вызовы win32 api, какие-то приколы при работе с ms-dos, что такое адрес, разрядность и т.п.

У Прата по C++ вроде есть про запуск программ операционкой, про влияние на ос утечек памяти, что-то про обработку ввода/вывода, что просиходит при исключениях и т.п.

В книге С++ Практика многопоточного программирования Энтони Уильямс объясняется, как организована многопоточность в ос.

Кроме этого, навыки C++ разработчкика не ограничиваются одним только языком, как минимум нужно знать тот же CMake и вот например в книге по CMake за авторством Дуброва, есть хорошее описание того, как просиходит запуск программы, как ос ищет и загружает библиотеки и т.п.

Т.е. в большинстве того, что я читал, есть некоторое теоретическое описание и соответствующих функций ос.

«тем кто планирует сам разрабатвать ОС» - это весьма спорно, архитектура ОС нужна для того, чтоб понимать какие услуги предлагает ОС. А именно набор системных вызовов и механизм работы абстракций: процессы, потоки, дескрипторы.

Как я описал выше, это описывается в некоторых книгах про язык. Таким образом, материал в книгах именно Столярова (при моем огромном уважении к нему) не является чем то исключительно уникальным.

Как-то поверхностно вы говорите. Не чувствуется за вами опыта проваленных проектов из-за недостатка понимания архитектуры.

Опять таки, нужно разбираться в конкретном твоем «проваленном проекте» и каких именно знаний архитектуры тебе не хватило в конкретном случае.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от lbvf50txt

Git - 1000 комманд

В большинстве случаев столько не нужно

Угу, «зачем нужна география когда есть извозчик» - сеанс связи окончен.

Твоя искрометная метафора основана на ошибочном выводе.

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

они хороши как взгляд одного из 7 слепомудрых на слона

если ты будешь в контексте формирования взглядов Столярова (т.е эпоха конца 70ых до второй трети 90ых)[понятно что тут не столько привязка по абсолютному времени а по тем практикам к которым автор имел не только мысленный но и практический опыт взаимодействия даже косвенного]

если ознакомишься с историей ВТ(не хронологие а именно кусстом мыслей и как они укоренялись а как оставались на холоде эпохами что бы зацвести при иных относительных весах доступности памяти вычислений мартышок ) будет яснее в каких частях взгляды Столярова фундаментальны в каких индивидуальные вкусы а в каких ересь ибо не возможен(ака очень маловероятно сочетания предусловий) практический а не идеологический выхлоп обусловленных именно чистым умсвованием на обочене (ps что не отменяет что многие ща практики в индустрии признак ею «переедание» зелённой резаной бумаги и как следствие переусложнённость многих программных инструментов ибо всегда найдётся «вайтишник» реально способный некритически воспринять и полюбить все идеосинкразии и баги сей прелести) ибо смена социального положения в направлении роста прививает любовь к кормильным инструментам - такова селя

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

Проясняю свою позицию: в практически любой книги по языку программирования от Lua, Ruby, Perl, C++ есть упоминания про IO, потоки, TCP/IP, сокеты и так далее. Но это УПОМИНАНИЯ, это не учебник.

Учебника конкретно по Архитектуре ОС я знаю два Таненбаум и Столяров. Это именно учебники которые объясняют с 0 устройство ОС. И учебники Столяра являются уникальными тем, что они идут с полного 0.

В этих учебника пошагово разбирается история компьютерной техники, задачи стоящие перед компьютерами, вводятся необходимые требования к аппаратной части для многозадачности (таймер, два режима работы процессора, защищенная память, аппарат прерываний). Дальше идет разбор уровней абстракции, объяснение понятия драйверов и так далее. Затрагивается понятие периферии и внешних устройств. Это Столяр 2006 год методичка.

У Таненбаума примерно то же самое, но больше про устройство ядра.

Вот после такого объяснения всё встает на свои места. Создается модель функционирования ОС основанная на принципах работы железа. На которую потом накладываются любые языки программирования.

lbvf50txt
()
Ответ на: комментарий от Xintrea

И зачем тебе книги про безопасное вождение, психологию водителя, сборники советов бывалых, оказание первой медицинской помощи, правил по избежанию стандартных ДТП, практику безаварийного вождения в сложных погодных условиях?

Это как учить карате по книгам

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

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от qulinxao3

они хороши как взгляд одного из 7 слепомудрых на слона

Бред какой-то. Столяр дает самые базовые определения самых базовых вещей в OC Unix. Его методичка 2006 года - кондовая прикладная книга. Какие млять «слепомудрые»?

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

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

И часть из этих панятий были перечислены мною выше. То что они попали в голову целиком и за раз или по частям и растянуто во времени - по сути ничего не меняет.

Вот после такого объяснения всё встает на свои места. Создается модель функционирования ОС основанная на принципах работы железа. На которую потом накладываются любые языки программирования.

Тут у всех свой путь: кто-то начинает с Pascal в школе, кто-то со Столярова, кто-то еще с чего. И в процессе потихоньку обрастают знаниями и опытом.

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