Насколько вообще полезно изучение книг?23.04.2024, 16:45. Показов 7340. Ответов 106
Метки нет (Все метки)
Добрый день
А насколько вообще полезно изучение "книг"? (бумажных сейчас вряд ли, поэтому в кавычках) Ну или вообще, теории? Вот мой личный опыт/мнение Не, ну книгами конечно "интересуюсь", когда вижу ссылки на "крутых авторов" - обычно стараюсь скачать и глянуть. Но толку, прямо скажем, немного Увы, все сводится к "пролистыванию по диагонали", при этом в примерно половине случаев вспоминаю что это уже видел. Не помню книги которая меня бы действительно увлекла, и я бы читал ее запоем и восхищался - и это конечно плохо. Очень раздражают обильные благодарности "всем кто помогал" - пока добрался до сути, половину настроя уже растерял Если дальше какой-то мутный пример на злополучной жабе - то на этом все и кончается.По содержанию заметны типовые варианты. Напр "фундаментальные знания". Кстати когда инета не было - "заходило" намного лучше (тот же Вирт). Должен ли нормальный программист знать алгоритмы сортировки? Смутно помню "пузырьковая" и "шейкер", но только названия, по сути знаю только "быструю" что пришлось когда-то писать. Ну вот совершенно тупой подход: освоить std::sort без всяких философий. Чем это плохо? Что мы теряем, и не являются ли все эти чтения чисто понтами? По моим наблюдениям в 98% случаев std::sort прекрасно проходит, никакие фундаментальные познания не нужны. Хотя 2% есть, напр косячат с транзитивностью. Из той же оперы дерево - та запомнил просто что std::set - красно-черное дерево, дежурное O = log(N) - и вся любовь. А если кто доклепается, то всегда можно задавить типа "профессионал не должен тратить свое время на такие детали". "Потому что работы очень много" (Ваня). "Коллеги не поймут" и.т.п. Другая категория - эффективная разработка программного обеспЕчения. Здесь надо спокойно относиться к само-восторгам типа "какую крутую систему мы сделали!". Как и к упоминаниям о SmallTalk, Ada и, оказывается, Мухтар-то ..собака! Если научиться гонорировать всю эту хрень - такие книги бывают совсем не плохи. Иногда я замечал что они рассказывают вещи к которым я приходил через долгий (и не безошибочный) опыт. Так может внимательно посмотреть что еще говорят (типа "учиться на чужих ошибках")? Увы, это не работает. Ну и, пожалуй, самая популярная категория: "сборник рецептов". Особенно если замешано API (напр OpenGL). Откровенно шкурный подход с целью продать "книгу". Ну конечно, "с примерами". Ну а "почему нет"? Что плохого в быстром старте с нуля - ведь для этого такие книги весьма полезны. В общем
0
|
||
| 23.04.2024, 16:45 | |
|
Ответы с готовыми решениями:
106
С каких книг начать изучение БД? С каких книг начать изучение Си? |
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|||
| 28.04.2024, 19:09 | |||
|
Программисты любят абстракции. Поэтому концепции, которыми они владеют, не зависят от предметной области.
0
|
|||
| 28.04.2024, 22:25 [ТС] | ||
|
- с помощью сил движка физики (напр Bullet) заставить объект двигаться по заданному пути Для кого такая задача? Конечно все равно делать (и отвечать) программисту, но все-таки интересно.
0
|
||
| 29.04.2024, 00:11 | |||||
|
Оффтоп: в конце концов пришлось прекратить эти бесплодные потуги и организовать целевую подготовку студентов для себя. К тому же писать чистый код не труднее, чем грязный, если разработчик обучен этому (для этого правильные книги незаменимы). Тут почти как с обычными текстами: если человек грамотен, он сразу пишет без ошибок, ему незачем их сначала делать, потом выискивать и исправлять. Чистый код не гарантирует качества продукта и отсутствия багов; он лишь значительно облегчает модификацию кода, когда меняются требования заказчика или исправляются обнаруженные ошибки. Наговнокодить кое-какеру мешает правильно выстроенная цепочка CI. Если код успешно проходит компиляцию без предупреждений, затем статический анализ и ревью, то он не так уж плох. Можно запускать тестирование, а потом выкладывать в репозиторий.
1
|
|||||
| 29.04.2024, 12:53 [ТС] | ||
|
Изначально задача - это "хотелка", вполне ясно "для чего это", какой ф-ционал требуется. Но не более того. Как/чем это делать - хз. Многие придерживаются принципа "все уже давно написано", т.е. нужно лишь "прикрутить" нужные либы/тулзы, в этом собсно и заключается работа программиста. Некоторые даже застревают в этом на всю жизнь. Но это работает не всегда. Часто до "кода" еще очень далеко, неясно вообще что делать, с какой стороны подойти, если удается найти хоть какие-то работы/статьи - уже успех, а какие-то open-sources - еще лучше, даже если там не очень "чистый" код. Вижу что Вам такие проблемы чужды. Поэтому мои симпатии скорее на стороне Катафалк'а
0
|
||
| 29.04.2024, 14:00 | ||||
|
Ну и еще есть отечественный национальный стандарт РФ ГОСТ Р ИСО/МЭК 12207-2010". Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств" (на самом деле нифига не отечественный, просто перемаркированный соответствующий стандарт от ISO/IEC, как и прочее импортозамещение; впрочем, по мне это даже лучше). По сути это и есть подробное руководство "Как/чем это делать". Ну и как вишенка на торте - методики MBSE, которые при правильном применении очень помогают в нетривиальных разработках. P.S. Я попробовал представить, что берусь, к примеру, за постройку железнодорожного моста, не имея специального образования и даже не зная сопромата. Испытал в точности такое ощущение:
1
|
||||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||||
| 30.04.2024, 14:10 | ||||
|
0
|
||||
| 30.04.2024, 14:19 [ТС] | |||||
|
Да, но тогда откуда сложности? Прежде всего надо понимать зачем здесь понадобился движок и силы физики, ведь если путь имеется - то почему бы просто не двигать по нему объект? Наивно полагать что проблема в "сопромате", т.е. в знании движка. Здесь как раз все хорошо, сложная математика, как положено, спрятана "под капотом", функции/методы для приложения сил легко находятся. Причем как они работают - тоже ясно, "по Ньютону". Используемые формулы F = m * a; V = V0 + a * t; И все. Не, ну конечно можно докопаться, мол, "я программист а не физик !", но ведь здесь все в рамках школьной программы, причем даже не старших классов. Тем не менее, задача далеко не проста, и я доволен не всем что сделал. Если начать тщательное обдумывание и анализ различных ситуаций - проблемы/трудности прут изо всех щелей. Обсуждать подробнее нет смысла т.к. не вижу никакого интереса с Вашей стороны. Хочу лишь заметить: ни о каком "коде" речь пока вообще не идет. Отсюда вывод:
0
|
|||||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|
| 30.04.2024, 14:34 | |
|
Eddy_Em, я не совсем понял, что требуется сделать. Если нужно пинать тело каждый раз, когда отклоняется от маршрута, то можно обойтись без физики. Если нужно пинать тело так, чтобы оно двигалось по заданному маршруту, то, фактически, нужно воспроизвести в коде ту часть движка, которая за это отвечает (предсказывать реакцию тела на пинок).
0
|
|
|
Нарушитель
|
|
| 30.04.2024, 14:44 | |
|
Shamil1, я тоже сомневаюсь в верной трактовке, но подозреваю, что имелась в виду не серьезная задача, а бесполезная чушь вроде элементов компьютерных игр. Науки там вообще нет (т.к. теория игр к компьютерным играм отношения не имеет). Тем паче, если это делается "средствами движка".
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 30.04.2024, 15:01 | ||
|
При этом, справедливо считается, что каждый программист является немного физиком и немного математиком. Он изучал физику/математику. Поэтому он справится с задачей, если она не требует слишком глубоко знания физики/математики.
0
|
||
| 30.04.2024, 17:10 | |||
|
"Хотелки" - это пожелания заказчика, кем бы он ни был. Моя организация хозрасчетная, существует и развивается исключительно за счет прибыли, полученной от выполнения контрактов с заказчиком, а значит, его пожелания должны быть реализованы, если только они не противоречат законам природы, существующему законодательству и подобным объективным ограничениям. Именно с работы над пожеланиями заказчика начинается проект. Проводится аналитическая работа, результатом которой является спецификация требований к системе (и к программному обеспечению как части системы). Многие не разобравшиеся в этом вопросе часто называют ее "техническим заданием" (или коротко ТЗ), но это неправильно. Неспроста первая глава стандарта ISO/IEC TR 19759 (который должен быть настольной книгой каждого профессионального программного инженера) посвящена работе с требованиями. Именно на основе валидации бизнес-требований в конце проекта производятся приемо-сдаточные испытания системы, и если результат валидации отрицательный, заказчик не примет проект (а следовательно, не выполнит свои платежные обязательства). Сами понимаете, для исполнителя перспектива не радужная, поэтому с требованиями нужно работать максимально тщательно. Если я сомневаюсь, что заказчик хочет именно то, о чем просит, у меня всегда есть возможность задать уточняющие вопросы (либо предложить альтернативное решение, которое я считаю более подходящим для данной проблемы). Но конечное решение остается за тем, кто платит деньги. По этой причине для меня не бывает "глупых/наивных хотелок" заказчика; если заказчик настаивает на чем-то, готов за это платить и это реально можно сделать, значит, это будет сделано, и точка. Вот таким я вижу профессиональный подход к разработке. По поводу соответствия компетенций команды разработчиков решаемой задаче (тот самый случай, когда "Как/чем это делать - хз" процитирую один из принципов Agile Manifesto (моя команда работает в соответствии с этими принципами):
0
|
|||
| 01.05.2024, 18:45 [ТС] | |||
|
Добавлено через 1 час 32 минуты Возможно имелось ввиду типа "если не знаете как/чем - найдите того кто знает". Звучит разумно, но работает редко. Несомненно знающие живут на нашей планете, но область может быть узкой. Много спецов ваять UI, гонять тараканов по сети и.т.п. (впрочем и там "нюансы"). Но далеко не все задачи на уровне популярных либ что может освоить любой нормальный человек.
0
|
|||
| 01.05.2024, 22:51 | |||||||||||
|
Неожиданно много вопросов в одном посте, и все интересные. С Вашего позволения я разобью ответ на две части, чтобы легче было читать.
Wikipedia предлагает такое определение этого термина:
Есть такой термин - Body of knowledge, на русский обычно переводится как "совокупность знаний" или "свод знаний". Цитата из машинного перевода:
Разумеется, есть еще и специальные знания, специфические для более узких направлений. Например, если человек приходит собеседоваться на разработчика программ на языке C, дальнейшая речь пойдет по материалам стандарта языка ISO/IEC 9899:2018 (ну или более раннего, но в этом случае я ненавязчиво поинтересуюсь, какие такие срочные дела не позволили кандидату проглядеть стандарт за долгие 7 лет, истекшие с момента принятия предыдущей версии стандарта). Конечно, на единственной программной инженерии свет клином не сошелся; как минимум есть еще Computer Engineering и Computer Science, каждая со своим образовательным стандартом. Этим дисциплинам я не обучаю, но имею хорошее представление и готов собеседовать по этим направлениям, если кандидат предпочитает их. Вот вкратце как я понимаю надлежащую подготовку в разработке ПО и смежных дисциплинах. С интересом выслушаю Вашу версию, что должен знать и уметь профессиональный разработчик. Добавлено через 7 минут (Продолжение)
Не могу предъявить бесспорные доказательства, но уж поверьте мне на слово: все мои заказчики поголовно до сих пор щеголяют в собственных штанах (по крайней мере, в рабочей обстановке; в тонкости их частной жизни никогда не вдавался). Наше многолетнее сотрудничество никак не повлияло на их гардероб (по крайней мере, в сторону его оскудевания). Вот если я сорву один из контрактов, то мои собственные штаны окажутся в большой опасности, равно как и их возможность на мне держаться. Допускаю, что данная проблема актуальна для тех, кто черпает портфель заказов в разделе "Фриланс" форума. Но это очень частный случай.
1
|
|||||||||||
| 02.05.2024, 17:59 [ТС] | |||
|
Конечно можно поговорить о многом (напр о понятии профессионализма), но.. "длинные посты никто не читает"
, поэтому постараюсь самое интересное2. Знание языка, но без фанатизма. Напр по моим наблюдениям злоупотребления с std::, дустом и (новыми) стандартами С++ носит массовый и злостный характер, нередко таких людей лучше избегать.
3. Умение работать с данными: классами и даже простыми структурами. От этого многое зависит 4. Инициативность, умение предложить решение. Не путать с "нагородить" т.е. предложить абы-что. Редкое и очень ценное качество Ну а всякие там вумные книжки, монады и все такое... ну если читал - еще лучше. Но не читал - не беда
0
|
|||
| 02.05.2024, 23:38 | |||||
|
Если кандидат на собеседовании говорит, что он не читает стандарт, потому что у него огромный опыт (у некоторых он измеряется 20-30 годами) и он и так все уже знает, то он себя уже похоронил. Если 30 лет писать одну и ту же чушь, она с годами не становится лучше, это не коллекционный коньяк. Еще пример: у меня в блоге в комментах один товарищ посмеялся над тем, что об указателях в C написана целая книга. Я знаю, что считают указатели примитивной темой лишь две категории: эксперты и кое-какеры, остальные относятся с должным почтением. Угадайте с трех раз, кто из них пожаловал ко мне (притягиваю я их, что ли...). P.S. В начале собеседования часто спрашиваю кандидата, какие книги он читал в последнее время. На основе ответа сразу делаю для себя прогноз итога собеседования, и через пару часов он почти в 100% случаев сбывается.
1
|
|||||
| 03.05.2024, 11:59 [ТС] | |||||
0
|
|||||
| 03.05.2024, 14:18 | ||||
|
Еще есть как минимум пара достойных книг на эту тему. Дабы не провоцировать благородный гнев модераторов ссылками на сторонние ресурсы, если Вам реально интересна эта тема, посмотрите их в моем блоге, ссылка есть в моем профиле. Там собраны наиболее интересные статьи и книги из прочитанных мной. За последнее время я немного забросил его (много времени отнимает работа над собственной книгой), но намерен в ближайшее время прибраться там. По окончании собеседования я пишу подробно в комментариях к задаче, по какой причине я считаю кандидата неподходящим для данной работы. "Мало читает" не выглядит уважительной причиной отказа (хотя, сказать по совести, является первопричиной низкой квалификации). P.S. Забыл еще упомянуть блог Дэна Сакса. В своем блоге я почему-то упоминал его довольно редко, интереснейших статей по С у него гораздо больше, в том числе об указателях.
0
|
||||
| 04.05.2024, 10:48 [ТС] | ||||
Право же, слишком узко/специфично. Возможно для микроконтроллеров это "само то", тут не мне судить. Но знание таких вещей я лично не считаю "показателем класса".- чтобы решить задачу - надо знать как ее решать - все должно быть "ис каропки" - программист - это тот кто пользуется готовым - мне по душе готовые, проверенные решения - грош цена программисту который не знает "регулярки" и.т.п. А то что "не (есть) знание" как-то оценивается? Или оно вообще не нужно?
0
|
||||
| 04.05.2024, 10:48 | |
|
Помогаю со студенческими работами здесь
60
Насколько вообще важен алиас в адресной строке URL вместо id и т.п Массив структур: определить общее число книг в библиотеке, наличие книг по автору, наличие книг по названию Насколько плоха и насколько хороша такая сборка? Ваше мнение Насколько плоха и насколько хороша такая сборка? Ваше мнение Насколько опасны вирусы, насколько они могут навредить? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|