Re[3]: Сосредоточение на одном языке программирования
От: Skorodum Россия  
Дата: 12.03.21 08:41
Оценка:
Здравствуйте, velkin, Вы писали:

V>Я не знаю как компании оценивают уровень владения языками программирования и совпадает ли это с моей оценкой.

V>1) Джун (новичок)
V>2) Мидл (средний)
V>3) Сеньор (профи)
Это очень крупная градация. Для языков типа С++ надо хотя бы 0-9, плюс разбиение на области: язык, стандартная библиотека, архитектура приложений, управление зависимости и сборка и т.п.
И Александреску и Страуструп говорили, что знают С++ на 7-8 по 10-бальное шкале, ЕМНИП. И это люди которые продают свои знания подводных камней этого языка. Потом "знание языка" != "хороший код".
Re: Сосредоточение на одном языке программирования
От: elmal  
Дата: 14.03.21 06:26
Оценка: 3 (1) +1
Здравствуйте, velkin, Вы писали:

V>Часто люди спрашивают в интернете, стоит ли учить такой-то язык программирования. И вот у меня возникла мысль.

Именно учить язык программирования не нужно вообще. Язык нужно учиться использовать для решения каких либо прикладных задач. Под каждую конкретную задачу будет оптимален определенный ЯП и определенная парадигма программирования. Соответственно нужно знать максимум парадигм, их границы применимости, достоинства и недостатки. И уметь применять эти парадигмы при необходимости на любом языке. А знания конкретного языка, на деле это нужно только для прохождения собеседования в говноконторы, где придется заниматься разгребанием дерьма.
Re[6]: Сосредоточение на одном языке программирования
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 14.03.21 08:22
Оценка:
Здравствуйте, SergeyIT, Вы писали:

SIT>Так и к чему относится твоё умозрение? Только не к реальной жизни...


Почему тогда не все поголовно профи, почему профи так мало, почему всякие конторы их так мучительно ищут? А это не говоря уже о том, что новичку до среднего тоже надо напрячься и как-то перейти на следующий уровень владения языком.
Re[2]: Сосредоточение на одном языке программирования
От: gyraboo  
Дата: 14.03.21 08:45
Оценка: 10 (1)
Здравствуйте, elmal, Вы писали:

V>>Часто люди спрашивают в интернете, стоит ли учить такой-то язык программирования. И вот у меня возникла мысль.

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

Это утопия, на рынке всегда будут иметь преимущество у более узких специалистов, которые владеют одним языком и парадигмой (а остальными языками и парадигмами более поверхностно), но владеют ими на голову выше чем такой вот разноплановый леонардо. А овладеть на экспертном уровне несколькими языками и парадигмами могут только единицы.
Re: Сосредоточение на одном языке программирования
От: vsb Казахстан  
Дата: 14.03.21 08:57
Оценка:
Я не очень понимаю, что такое "выучить язык профессионально". Я знаю очень мало языков, которые можно "учить" долго. Это C++, Haskell, возможно Rust. Подавляющее число языков простые и для того, чтобы выучить их на 100% или около того, времени много не нужно. Та же Java, на которой я пишу много лет, что её там учить, с минимальными усилиями к саморазвитию через год ты её будешь знать практически всю.

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

А прям быть специалистом по какой-нибудь подсистеме Альфабанка на мейнфрейме IBM S/390 — путь тупиковый, имхо, хотя и в нём есть свои плюсы, но и опасности.
Отредактировано 14.03.2021 9:01 vsb . Предыдущая версия .
Re[2]: Сосредоточение на одном языке программирования
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 14.03.21 10:19
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Я не очень понимаю, что такое "выучить язык профессионально". Я знаю очень мало языков, которые можно "учить" долго. Это C++, Haskell, возможно Rust. Подавляющее число языков простые и для того, чтобы выучить их на 100% или около того, времени много не нужно.


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

У профессионала как минимум программа:
1) Должна правильно работать.
2) Выполнять все возложенные на неё задачи.

Звучит просто, но на деле это не просто.

По первому пункту программа может:
1) Не работать.
2) Работать неправильно.

Почему? Потому что её сговнякали на коленке, а не спроектировали. Не учитывали что и как она делает, как попало выделяли память и распределяли по коду данные, и всё в таком роде.

По второму пункту программа может:
1) Не выполнять все возложенные на неё задачи.
2) Выполнять их через одно место.
3) Доставлять неудобство пользователю при работе с ней.

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

Про ту же Java я читал статью где утверждалось, что она дескать не такая тормознутая, как о ней принято думать, просто программисты добавляют туда очень много абстракций, что сильно замедляет работу. Но если это так, то кому польза от этих абстракций? Уж явно не пользователям у которых всё подвисает после каждого действия, а по мере накопления данных работать в таких программах становится невозможно и ищутся аналоги.
Re[3]: Сосредоточение на одном языке программирования
От: gyraboo  
Дата: 14.03.21 10:34
Оценка: +1
Здравствуйте, velkin, Вы писали:

V>У профессионала как минимум программа:

V>1) Должна правильно работать.
V>2) Выполнять все возложенные на неё задачи.

1) ...и быть покрытой автотестами

И я бы добавил третий пункт:
3) Соответствовать best practices, clean code и парадигмам, без велосипедов и тайнописи
Re[2]: Сосредоточение на одном языке программирования
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 14.03.21 10:43
Оценка:
Здравствуйте, elmal, Вы писали:

E>Под каждую конкретную задачу будет оптимален определенный ЯП и определенная парадигма программирования.


С этим я согласен.

E>Соответственно нужно знать максимум парадигм, их границы применимости, достоинства и недостатки. И уметь применять эти парадигмы при необходимости на любом языке.


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

E>А знания конкретного языка, на деле это нужно только для прохождения собеседования в говноконторы, где придется заниматься разгребанием дерьма.


И опять же откуда берётся дерьмо, которое нужно разгребать? Ведь кто-то и когда-то его написал. Написал его тот, кто не был профессионалом. И вот теперь нужен профессионал, который может его разгрести. Фактически мы возвращаемся к тому же самому, рынку нужны профессионалы хотя бы в одном языке программирования, а не просто среднячки и не профессионалы во всём, которые без должного руководства тоже могут написать то, что нужно будет потом разгребать.

Я не пытаюсь агитировать за тот или иной вариант, а просто предлагаю остановиться и подумать. Люди же действуют так, как привыкли. Часто привыкают к чему-то неосознанно, не обязательно к лучшему варианту, а как сложилось по жизни.
Re[3]: Сосредоточение на одном языке программирования
От: elmal  
Дата: 14.03.21 11:07
Оценка: +2
Здравствуйте, gyraboo, Вы писали:

G>Это утопия, на рынке всегда будут иметь преимущество у более узких специалистов, которые владеют одним языком и парадигмой (а остальными языками и парадигмами более поверхностно), но владеют ими на голову выше чем такой вот разноплановый леонардо. А овладеть на экспертном уровне несколькими языками и парадигмами могут только единицы.

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

И дополнительно, владеют одним языком и парадигмой как правило юниоры, собственно они же и хорошо проходят вопросы по конкретному языку. Все реальные специалисты, которых доводилось встречать, языков знают до черта, и более того, они даже на новом для себя языке будут писать на нем гораздо лучше, чем юниоры, которые в совершенстве знают синтаксис, ибо именно это все учили.
Re[4]: Сосредоточение на одном языке программирования
От: gyraboo  
Дата: 14.03.21 11:35
Оценка:
Здравствуйте, elmal, Вы писали:

G>>Это утопия, на рынке всегда будут иметь преимущество у более узких специалистов, которые владеют одним языком и парадигмой (а остальными языками и парадигмами более поверхностно), но владеют ими на голову выше чем такой вот разноплановый леонардо. А овладеть на экспертном уровне несколькими языками и парадигмами могут только единицы.


E>Что такое владение языком на экспертном уровне? Умение компилировать в уме граничные случаи какие, что любят проверять на собеседованиях? На экспертном уровне крайне неплохо знать предметную область, также на экспертном уровне нужно разбираться в исходниках проекта. Владение языком на экспертном уровне требуется исключительно разработчикам средств разработки, которые будут писать соответствующие анализаторы кода. Вот только это подразумевает владение предметной областью. Ну и сам разработчик конкретного языка тоже его знает на экспертном уровне, ибо он в курсах зачем это все сделано именно так, а не иначе.


Владение на экспертном уровне, это когда не допускаются всякие хитрые баги, скажем, в Java, такие:
Integer a1 = 10;
Integer a2 = 10;
System.out.println(a1 == a2);

Выведет true.

Integer a1 = 10_000;
Integer a2 = 10_000;
System.out.println(a1 == a2);

Выведет уже false.
Хотя Khimik бы сделал вывод, как он недавно писал на форуме про аналогию, что, "по аналогии, мы здесь тоже ожидаем true", ведь 10 и 10_000 — оба целых числа, имеют вроде бы аналогичные свойства.

Эксперт же такой ошибки не допустит.

"Прелесть" таких багов в том, что они могут просочиться на прод и долгое время там жить, а разрабы проекта в силу эффекта Даннинга-Крюгера будут выдавать на гора такой вот код и считать что экспертом быть не нужно когда разрабатываешь промышленные системы. Приведенный пример конечно маловероятен, т.к. сравнение объектов по == само по себе является индикатором плохого кода, но в других областях, таких как многопоточность, транзакции, AOP, перформанс, там подобного рода ошибки из-за отсутствия экспертизы допускаются часто.
Отредактировано 14.03.2021 11:43 gyraboo . Предыдущая версия . Еще …
Отредактировано 14.03.2021 11:39 gyraboo . Предыдущая версия .
Отредактировано 14.03.2021 11:36 gyraboo . Предыдущая версия .
Re[3]: Сосредоточение на одном языке программирования
От: elmal  
Дата: 14.03.21 11:46
Оценка:
Здравствуйте, velkin, Вы писали:

V>И опять же откуда берётся дерьмо, которое нужно разгребать? Ведь кто-то и когда-то его написал. Написал его тот, кто не был профессионалом. И вот теперь нужен профессионал, который может его разгрести.

Просто для сведения. У меня был в свое время проект, написанный профессионалами, которые язык знали бесконечно лучше меня. Если что, аутсорс контора была. Язык был Objective C, я на нем вообще не писал. Вот только этот профессионал такую спегетти там наворотил, что постоянно то память текла, то какие то баги странные. И так как баги меня лично достали, вынужден был разгребать до приемлемого уровня творчество этого профессионала. Разгреб только до уровня что баги прекратились, совсем красоту не наводил, единственное, что почикал копипаст, ну и повыпилил что одна функция делает 10 различных побочных эффектов. При этом я язык не изучал практически вообще, мельком пробежался по основам и если что непонятно, то гуглил. Соответственно профессиональным владением языком у меня там и не пахло. Единственное, почему я взялся, я нормально себя чувствовал в среде AppCode, там как раз вышла альфа версия, для написания UI тогда была не пригодна, а вот для рефакторингов годилось, практически для меня все было без дискомфорта, единственное что под виртуалкой приходилось не Ctrl кнопку нажимать, а Win, а так даже хоткеи те же самые.

И меня блин весьма повеселило кое что в этом году. У меня больше 10 лет опыта Java, с 4-й по 11-ю. Но последние 5 лет я пишу на JVM языках, Java кода там где то около процента, критичные места, где я хочу быть уверен что не будет какого оверхеда дополнительного, хотя все фреймворки и библиотеки использую вполне джавовские. Сказал про это, мне сказали что техническая часть команды не готовы собеседовать людей с такими перерывами в работе . То есть зарезали меня по резюме не HR, а именно что технари .
Re[5]: Сосредоточение на одном языке программирования
От: elmal  
Дата: 14.03.21 12:10
Оценка:
Здравствуйте, gyraboo, Вы писали:

G>Эксперт же такой ошибки не допустит.

Конечно не допустит, на ровном месте сгородить boxing, использовать явный тип, а не var, плюс еще операция == не над примитивами. Основы любого языка, экспертного уровня даже близко не требуется. Более того, подобные фичи про кажется 256 кешируемых Integer — это как раз крайне вредное знание, ибо завязано оказывается на реализацию. Только это к языку никакого отношения не имеет. Можно было бы в свое время попасться действительно на приколы с реализацией substring от какой мегабайтной строки.

G>"Прелесть" таких багов в том, что они могут просочиться на прод и долгое время там жить, а разрабы проекта в силу эффекта Даннинга-Крюгера будут выдавать на гора такой вот код и считать что экспертом быть не нужно когда разрабатываешь промышленные системы. Приведенный пример конечно маловероятен, т.к. сравнение объектов по == само по себе является индикатором плохого кода, но в других областях, таких как многопоточность, транзакции, AOP, перформанс, там подобного рода ошибки из-за отсутствия экспертизы допускаются часто.

Такие ошибки проскакивают в 99 процентах случаях исключительно по невнимательности. И ловить подобное нужно тестированием, а не внимательностью. Причем тестировать под разными платформами и разными конфигурациями. Более того, подобные баги по большому счету нормальны, ибо весьма интересное плавающее поведение можно найти где угодно, в любой сторонней библиотеке случаются очень интересные приколы. Довольно большое количество весьма курьезных случаев могу вспомнить, когда причина была именно в ошибочной сторонней либе, причем еще и в стандартной библиотеке приколы случаются. А вот случаев, когда кто то именно не знал какого то поведения, такого на практике вспомнить вообще не могу. Тупо невнимательность в основном, надежда на то, что другие пишут без багов .
Re[6]: Сосредоточение на одном языке программирования
От: gyraboo  
Дата: 14.03.21 12:29
Оценка:
Здравствуйте, elmal, Вы писали:

G>>...А вот случаев, когда кто то именно не знал какого то поведения, такого на практике вспомнить вообще не могу. Тупо невнимательность в основном, надежда на то, что другие пишут без багов .


Ошибка выжившего? Я вот наоборот, встречал как целые проекты, которые разрабатывались без знания фундаментальных вещей, например кастомная БД-прослойка, не умеющая в транзакции, т.к. авторы не знали что это такое, так и просто какие-то эпизодические баги, бутылочные горлышки или техдолг. Поэтому проблему экспертных знаний считаю не надуманной, а реальной. Да и сам часто натыкаюсь на подобные проблемы уже в своем лице.
Отредактировано 14.03.2021 12:31 gyraboo . Предыдущая версия .
Re[7]: Сосредоточение на одном языке программирования
От: elmal  
Дата: 14.03.21 12:47
Оценка:
Здравствуйте, gyraboo, Вы писали:

G>Ошибка выжившего? Я вот наоборот, встречал как целые проекты, которые разрабатывались без знания фундаментальных вещей, например кастомная БД-прослойка, не умеющая в транзакции, т.к. авторы не знали что это такое, так и просто какие-то эпизодические баги, бутылочные горлышки или техдолг. Поэтому проблему экспертных знаний считаю не надуманной, а реальной. Да и сам часто натыкаюсь на подобные проблемы уже в своем лице.

Транзакции — это не экспертные знания, это основы. Бутылочные горлышки прекрасно видны в профайлере. Вот только проблема, так как на собеседовании умение пользоваться профайлером не проверяют, то процентов 90 разработчиков даже среднего уровня даже не знает как это запускать и даже по каким ключевым словам гуглить. Техдолг — да, есть такое, встречается. Но снова никакого отношения к экспертному уровню владения языком это не имеет. Чаще всего это недостаток времени, плюс обоснованное нежелание лезть туда, что работает. Для эффективного программирования действительно нужно знать и уметь до черта. Вот только именно язык программирования сюда если и входит, то с огромной натяжкой и далеко не на первом месте. Более важен навык поиска ошибки на любом языке, а также умение писать так, чтобы минимизировать как появление ошибки, так и минимизировать возможные последствия появления ошибки, а также максимально быстрое обнаружение ошибки.
Re[8]: Сосредоточение на одном языке программирования
От: gyraboo  
Дата: 14.03.21 12:52
Оценка:
Здравствуйте, elmal, Вы писали:

G>>Ошибка выжившего? Я вот наоборот, встречал как целые проекты, которые разрабатывались без знания фундаментальных вещей, например кастомная БД-прослойка, не умеющая в транзакции, т.к. авторы не знали что это такое, так и просто какие-то эпизодические баги, бутылочные горлышки или техдолг. Поэтому проблему экспертных знаний считаю не надуманной, а реальной. Да и сам часто натыкаюсь на подобные проблемы уже в своем лице.

E>Транзакции — это не экспертные знания, это основы. Бутылочные горлышки прекрасно видны в профайлере. Вот только проблема, так как на собеседовании умение пользоваться профайлером не проверяют, то процентов 90 разработчиков даже среднего уровня даже не знает как это запускать и даже по каким ключевым словам гуглить. Техдолг — да, есть такое, встречается. Но снова никакого отношения к экспертному уровню владения языком это не имеет. Чаще всего это недостаток времени, плюс обоснованное нежелание лезть туда, что работает. Для эффективного программирования действительно нужно знать и уметь до черта. Вот только именно язык программирования сюда если и входит, то с огромной натяжкой и далеко не на первом месте. Более важен навык поиска ошибки на любом языке, а также умение писать так, чтобы минимизировать как появление ошибки, так и минимизировать возможные последствия появления ошибки, а также максимально быстрое обнаружение ошибки.

Пожалуй да, я наверное стал рассматривать общие экспертные знания, а если говорить именно об экспертном знании только грамматики и семантики языка программирования, да ещё и выкинуть API, библиотеки и фреймворки из рассмотрения, то возможно тут ты действительно прав.
Re[3]: Сосредоточение на одном языке программирования
От: vsb Казахстан  
Дата: 14.03.21 13:32
Оценка: +1
Здравствуйте, velkin, Вы писали:

vsb>>Я не очень понимаю, что такое "выучить язык профессионально". Я знаю очень мало языков, которые можно "учить" долго. Это C++, Haskell, возможно Rust. Подавляющее число языков простые и для того, чтобы выучить их на 100% или около того, времени много не нужно.


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


V>У профессионала как минимум программа:

V>1) Должна правильно работать.
V>2) Выполнять все возложенные на неё задачи.

V>Звучит просто, но на деле это не просто.


V>По первому пункту программа может:

V>1) Не работать.
V>2) Работать неправильно.

V>Почему? Потому что её сговнякали на коленке, а не спроектировали. Не учитывали что и как она делает, как попало выделяли память и распределяли по коду данные, и всё в таком роде.


Проектирование к знанию языка не имеет никакого отношения. Знание языка это когда ты знаешь, чем for отличается от while.

V>По второму пункту программа может:

V>1) Не выполнять все возложенные на неё задачи.
V>2) Выполнять их через одно место.
V>3) Доставлять неудобство пользователю при работе с ней.

V>Не вижу смысла проходиться ещё раз по всем характеристикам программ, которые уже много раз были описаны. Но не секрет, что одни и те же идеи после воплощения в программах у одних работают на слабых компьютерах, а другие еле справляются на новейшем "железе", а то и на нём не справляются.


Это к делу вообще не относится.

V>Про ту же Java я читал статью где утверждалось, что она дескать не такая тормознутая, как о ней принято думать, просто программисты добавляют туда очень много абстракций, что сильно замедляет работу. Но если это так, то кому польза от этих абстракций? Уж явно не пользователям у которых всё подвисает после каждого действия, а по мере накопления данных работать в таких программах становится невозможно и ищутся аналоги.


Абстракции добавляют для того, чтобы код можно было писать быстрей, чтобы в нём было меньше ошибок и чтобы код можно было быстрей менять в случае изменения требований.

Аналоги пользователь искать не может. Там, где применяется Java, софт пользователю спускается "сверху", решение принимает не пользователь, а менеджер, который с этой программой работать никогда не будет. Собственно отсюда корень бед и идёт, язык тут вообще не при чём.
Re[4]: Сосредоточение на одном языке программирования
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 14.03.21 14:15
Оценка:
Здравствуйте, elmal, Вы писали:

E>У меня был в свое время проект, написанный профессионалами, которые язык знали бесконечно лучше меня. Если что, аутсорс контора была. Язык был Objective C, я на нем вообще не писал. Вот только этот профессионал такую спегетти там наворотил, что постоянно то память текла, то какие то баги странные.


Вот тут я не понял, если в программе баги, утечки памяти и код запутан, причём это действительно так, а не некая субъективная оценка и попытка залезть в код, которого не понимаешь, то с чего вывод, что программу писал профессионал. По идее именно качество программы и определяет профессионализм программиста, а не то, что он сам сказал, что он профессионал, и даже не то, согласна ли ему платить какая-либо компания как профессионалу.
Re[7]: Сосредоточение на одном языке программирования
От: SergeyIT Россия  
Дата: 14.03.21 14:17
Оценка:
Здравствуйте, velkin, Вы писали:

V>... почему всякие конторы их так мучительно ищут?


Потому что готовенькое хотят получить, а не сами подготовить... временщики настоящими профи не бывают.
Извините, я все еще учусь
Re[9]: Сосредоточение на одном языке программирования
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 14.03.21 14:53
Оценка:
Здравствуйте, gyraboo, Вы писали:

G>Пожалуй да, я наверное стал рассматривать общие экспертные знания, а если говорить именно об экспертном знании только грамматики и семантики языка программирования, да ещё и выкинуть API, библиотеки и фреймворки из рассмотрения, то возможно тут ты действительно прав.


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

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

На одном языке программирования наговнокодил, на другом наговнокодил, на третьем наговнокодил. В чём тогда преимущества владения множеством языков программирования? А появляется говнокод не просто от отсутствия времени, как любят некоторые говорить, а от отсутствия необходимого опыта на получение которого по сути тоже нужно время, причём очень много.

Может ли человек быть профессионалом во всём? Хотелось бы верить, но скорее всего он не будет профессионалом ни в чём. И проблемы начнут проявляться не на хеллоу ворлдах и учебных примерах, а на больших программах, которые бесконтрольно разрастаются непонятно во что.

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

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

Не профессионал их не знает. Более того, по аналогии с конструкциями и алгоритмами из одного языка программирования будет работать с другими. А они не будут работать так же, это не говоря уже о том, что возможно их и не стоило использовать так же.
Re[10]: Сосредоточение на одном языке программирования
От: gyraboo  
Дата: 14.03.21 15:06
Оценка:
Здравствуйте, velkin, Вы писали:

G>>Пожалуй да, я наверное стал рассматривать общие экспертные знания, а если говорить именно об экспертном знании только грамматики и семантики языка программирования, да ещё и выкинуть API, библиотеки и фреймворки из рассмотрения, то возможно тут ты действительно прав.


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


V>Хотя аргументы в стиле и чтец, и жнец и на дуде игрец тоже стоит послушать, для того и создан топик. Пока противники профессионализма меня лишь убедили, что новички, а то и среднячки запросто напишут говнокод. Была попытка обозвать их профессионалами, чтобы опорочить последних, но нет, те кто пишут говнокод не профессионалы.


V>На одном языке программирования наговнокодил, на другом наговнокодил, на третьем наговнокодил. В чём тогда преимущества владения множеством языков программирования? А появляется говнокод не просто от отсутствия времени, как любят некоторые говорить, а от отсутствия необходимого опыта на получение которого по сути тоже нужно время, причём очень много.


V>Может ли человек быть профессионалом во всём? Хотелось бы верить, но скорее всего он не будет профессионалом ни в чём. И проблемы начнут проявляться не на хеллоу ворлдах и учебных примерах, а на больших программах, которые бесконтрольно разрастаются непонятно во что.


V>И даже у людей были аргументы с транзакциями и прочим. А здесь тот же самый принцип. Профессионал по базам данных лучше, чем среднячок по ним же. Проблема лишь в том, что программисты хотят сразу совместить в себе все знания, а компании нанять более универсальных сотрудников.


V>Этот клубок раскручивается, и вот перед нами уже куча языков программирования и библиотек алгоритмов, которые делают одно и тоже, но со своими уникальными особенностями, начиная от формального описания кода и кончая конкретной реализацией.


V>Не профессионал их не знает. Более того, по аналогии с конструкциями и алгоритмами из одного языка программирования будет работать с другими. А они не будут работать так же, это не говоря уже о том, что возможно их и не стоило использовать так же.


Соглы. Это всё приводит к тому, что профессионал — это тот, кто "в теме", пропитан zeitgeist, о чем ещё Голубицкий писал.
А то ведь бывает, что профессионал из одной области начинает писать код на другом языке, и тот даже работает, но поддерживать его невозможно, потому человек привнёс zeitgeist из другой сферы, например из ассемблера в джава энтерпрайз, или даже внутри джавы — из хардкорного DDD в анемичный мейнстрим. Несколько раз такое видел.
Отредактировано 14.03.2021 15:07 gyraboo . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.