Co(n)stantine👨‍🔬
ну судя по тому, что его книги читают опытные инженеры из крупных компаний, то выходит есть чему поучиться у Роберта
Co(n)stantine👨‍🔬
Mike
тогда зачем они его читают?
«Не зачем, а почему» Ⓒ потому что популярен
Sergey
Если это Вас как-то задело, прошу прощения
Меня это нисколько не задело. Но я против сотворения кумиров.
Mike
«Не зачем, а почему» Ⓒ потому что популярен
...а популярность не имеет никакой связи с практической применимостью или опытом
Co(n)stantine👨‍🔬
«Не зачем, а почему» Ⓒ потому что популярен
чтобы научиться чему-то новому: BlueGreenDeployment, EventSourcing, CanaryRelease, etc.
Mike
чтобы научиться чему-то новому: BlueGreenDeployment, EventSourcing, CanaryRelease, etc.
возможность научиться чему-то новому, несомненно, связана с опытом того, от кого учишься, но никак не гарантирует, что у кого-то опыт больше (да и вообще, опыт — величина не скалярная)
Denis
Тут контекст был такой: "а этот тип(Роберт Мартин) , он вобще код умеет писать или только книги", ну и я написал свое мнение, хоть и провокационное. Но Вы можете меня убедить в обратном и очень легко, например сказать что Вы или кто-то еще, лучше, опытнее и т. д.
я думаю проблема в том, что ты ворвался в дискуссию с советами Роберта Мартина, а не своими. Все было бы ок, если бы ты выразил свое мнение. Некоторых участников чата бесит, когда что-то возводят в абсолют и слепо верят
Denis
тогда зачем они его читают?
его читают, но не все следуют его принципам
Denis
потому что у каждого разработчика должна быть своя голова на плечах
Denis
крч Роберт Мартин просто попал под раздачу)
Mike
Я вообще придрался к тому, что книга «Чистый код» полезна. Если б не это — прошёл бы мимо.
Mike
Цитировать и использовать чужие аргументы — вполне ок, когда ты их понимаешь и согласен с ними.
Co(n)stantine👨‍🔬
его читают, но не все следуют его принципам
я в общем говорю, почему когда он написал какую-то статю его читают например инженеры из фэйсбука? а я например напишу какую-то статю о разработке, то меня максимум почитают только пользователи этого чата 🤔
neikist
Особенно тем кто еще кода не писал или пишет первый месяц
Sergey
Особенно тем кто еще кода не писал или пишет первый месяц
... или не пишет и писать не будет, или ...
Denis
Особенно тем кто еще кода не писал или пишет первый месяц
ну, спорно. Если человек только начал, то ему надо изучать язык, а не читать книги про чистый код
Denis
чистый код очень крут, когда еще и быстро работает
neikist
ну, спорно. Если человек только начал, то ему надо изучать язык, а не читать книги про чистый код
Ну вот он синтаксис уже изучил, но реальных проектов еще не писал. Далеко не все своим умом дойдут что километровые функции и классы это плохо, что 20 аргументов функции плохо и т.п.
Arka
Denis
работа с памятью, многопточность
Arka
зачем?
чтобы быстро работало
neikist
дойдут
Ага, года через 3-4. Я это понял только спустя почти год первой работы
Mike
чтобы быстро работало
есть примеры из жизни, когда знание алгоритмов этому помогает?
Mike
на практике в большинстве случаев алгоритмодрочеры вообще ничего не способны написать
Denis
Ага, года через 3-4. Я это понял только спустя почти год первой работы
ну, когда знаешь хорошо все языковые конструкции, то не сложно до этого дойти
Arka
Ага, года через 3-4. Я это понял только спустя почти год первой работы
почему ты думаешь, что они дольше тебя будут доходить?
Mike
особенно в android)
да пусть даже сервер-сайд, посмотрел бы я, где это нужно, кроме разработки СУБД и страктур данных
neikist
есть примеры из жизни, когда знание алгоритмов этому помогает?
Есть. Правда чаще всего нам было достаточно самых банальных вещей.
neikist
ссылку на дифф, пожалуйста
Дифф чего? Закрытого 1сного кода который мы оптимизировали и снижали время выполнения и пожираемую память на порядки?
Denis
да пусть даже сервер-сайд, посмотрел бы я, где это нужно, кроме разработки СУБД и страктур данных
ну, только там и нужно) Хотя может пригодиться в сложных распределенных системах и т.д
Denis
где данных много
Mike
Дифф чего? Закрытого 1сного кода который мы оптимизировали и снижали время выполнения и пожираемую память на порядки?
но можно хотя бы объяснить в общих чертах, что было, что стало и знание каких алгоритмов помогло
Denis
но знать алгоритмы - бред
Denis
лучше уметь определять тип задачи
Denis
тогда и загуглить алгоритм можно
Mike
А причем тут технологии?
Я подумал про исходники самого 1С. Если не так, то стало ещё интереснее.
Sergey
Знание алгоритмов ради знания алгоритмов!
Arka
но знать алгоритмы - бред
не зная алгоритма не будешь знать под какой тип он подойдет и что вообще тебе гуглить
neikist
но можно хотя бы объяснить в общих чертах, что было, что стало и знание каких алгоритмов помогло
Да дофига примеров же. Использование ассоциативных массивов вместо циклов. Кеши. Избегание кучи вложенных массивов на объемах данных. Тот же бинарный поиск чертов и т.д.
neikist
почему ты думаешь, что они дольше тебя будут доходить?
Но не факт что и быстрее, особенно если старшие товарищи отсутствуют или сами ни в зуб ногой
Mike
я могу написать бинарный поиск, но нахрена?
Denis
не путайте структуры данных и алгоритмы
Sergey
не зная алгоритма не будешь знать под какой тип он подойдет и что вообще тебе гуглить
Есть конкретная задача, будешь искать пути оптимизации ее, тогда и узнаешь какого типа алгоритмы тебе надо гуглить. Как-то так.
Denis
Есть конкретная задача, будешь искать пути оптимизации ее, тогда и узнаешь какого типа алгоритмы тебе надо гуглить. Как-то так.
чаще всего тип известен исходя из структуры данных. Ты всегда можешь определить, что перед тобой)
Denis
поэтому +
neikist
Лично я под алгоритмами и понимаю возможность видеть неоптимальные куски кода с квадратичной сложностью например и сводить их к линейной или какой нибудь n log n. Я не говорю про знание классических алгоритмов, я именно про способность написать не только в лоб дико жрущую и тормозную фигню
neikist
это не алгоритмы
define алгоритмы
Mike
если ее кто-то уже решал, а если нет?
тогда знание классических алгоритмов не поможет
Denis
define алгоритмы
оптимизировать количество проходов по циклу и т.д - это норма. Для этого не надо знать алгоритмы Дейкстры, Крускала и т.д
Denis
если нужно что-то более сложное, то я выше написал
Denis
алгоритм привзяан к структуре данных
Co(n)stantine👨‍🔬
https://en.wikipedia.org/wiki/Category:Graph_algorithms https://en.wikipedia.org/wiki/Category:Scheduling_algorithms https://en.wikipedia.org/wiki/Category:Concurrency_control_algorithms https://en.wikipedia.org/wiki/Category:Optimization_algorithms_and_methods https://en.wikipedia.org/wiki/Category:Lossless_compression_algorithms https://en.wikipedia.org/wiki/Category:Network_scheduling_algorithms https://en.wikipedia.org/wiki/Category:Distributed_algorithms Дофига всяких алгоритмов, кто знает их?)🌝
Denis
определить структуру данных может даже ребенок
neikist
оптимизировать количество проходов по циклу и т.д - это норма. Для этого не надо знать алгоритмы Дейкстры, Крускала и т.д
Ну к слову разок дейкстра пригодился. А вообще есть определение алгоритма как последовательности действий. Все.