75

Ответ на пост «Как программисты пишут код?»

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

Я в разработке с 2007 и всякого дерьма повидал. За сим есть, кой-чего сказать. Те, кто сразу видит решение, их меньшинство. По моему опыту, не более 10-15%. Остальные - только через итерации, либо фрагментарный подход.

Итак, поехали.

Комплексный подход. Программист сразу пишет примерно 80% кода, можно сказать, на одном дыхании. Далее - косметика, марафет, отладка. В 99% первоначальный код не меняется. Это, имхо, - либо врожденная способность, либо нечто приобретенное в сильно раннем детстве.

Итеративный подход. Программист пытается хоть как-то решить задачу. Криво, косо, но решить. Далее начинаются итерации, которых может быть очень много в засимости от сложности и погружения разработчика в предметную область. Это обычный подход среднестатистического работника, коих на рынке большинство. Имхо, таких 75-80%.

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

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

Показать полностью

Ответ на пост «Как программисты пишут код?»

Разработка программного обеспечения - это сложный процесс, на который влияет множество факторов, включая поведение человека, особенности и теорию поведения, а также психологические факторы.

Человеческое поведение играет важную роль в разработке программного обеспечения. Разработчиками часто движет желание решить проблемы и создать полезное и эффективное программное обеспечение. Однако на них также влияет их личный опыт, предубеждения и предпочтения, которые могут повлиять на то, как они проектируют и реализуют функции. Кроме того, на разработчиков могут влиять такие факторы, как нехватка времени и ограниченность ресурсов, что также может повлиять на то, как они пишут код.

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

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

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

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

Показать полностью
88

Ответ на пост «Как программисты пишут код?»

Сначала хотел написать комментарий, потом прочитал, что программисты - люди ленивые, и не стал писать. А потом дочитал до конца и увидел, что многие врут.
Причём, походу, сами себе тоже :)
Как бы ни было обидно всем адептам концепции «терпение и труд всё перетрут», любое творчество (а программирование - это именно творчество, просто высокоструктурированное) начинается с копирования.
Любое произведение, любое изобретение всегда основано на уже существующей идее или конкретном изделии. Когда первая обезьяна взяла палку - она не создавала её, а воспользовалась готовой, просто применила так, как было нужно ей. Художники начинают рисовать, копируя окружающие их предметы или произведения других художников. Инженеры создали авиацию, наблюдая за птицами. И так далее.
Поэтому не стоит слушать тех, кто говорит, что нужно идти итерационно, постепенно усложняя задачу. Это в какой-то степени справедливо только тогда, когда у вас есть МЫСЛЬ. А если вы хотите просто попробовать попрограммировать (на пол-шишечки) - возьмите готовый проект, тот же калькулятор, желательно - похуже. Разверните его, заставьте работать (хоть как-то). А потом - сделайте так, чтобы он ВАМ понравился. Покрасьте кнопки в кислотно-зелёный, добавьте звуки при нажатии кнопок, слелайте новые кнопки (факториал, например). Вот это будет интересно и проще будет понять, надо оно вам или нет.
А писать калькулятор с нуля - это слишком скучно, ленивые программисты так не делают :)

Показать полностью
199

Ответ на пост «Как программисты пишут код?»

Вопрос очень интересный.

Думаю, программирование тут вообще не причем.  Это просто один частный пример применения определенных способностей. А в общем это умение создавать что то «своими руками». Лично я мыслю абсолютно одинаково и когда занимаюсь программированием и когда планирую ремонт дома. Честно говоря, это происходит полностью интуитивно. Я практически всегда знаю какие общие и конкретные шаги надо предпринимать чтобы достигнуть нужных целей и сразу же представляю где могут быть проблемы и уже отдельно обдумываю варианты их решения. Понятное дело тут не последнюю роль играет опыт, но когда 25 лет назад начинал на бейсике и паскале, то мыслил  точно также.

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

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

Я очень сомневаюсь, что этим конкретным навыкам и способностям можно научить, как ни крути. Можно толь дать базу тем, у кого они уже есть - думаю на всяких инфоцыганских курсах «войти в ИТ» каких либо положительных результатах добиваются только граждане которые сразу программировать умеют, только еще не знают об этом)

А еще хороший программист всегда ленив. И это тоже напрямую влияет на умение «писать код». Основная и, не побоюсь этого слова, основополагающая  проблема в любом серьезном проекте не  как что то сделать, а каким образом это сделать в контексте уже написанного и так, чтобы в будущем тоже можно было что то изменить. Лень позволяет сразу планировать все так, чтобы минимизировать труд потом.

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

Показать полностью
42

Как программисты пишут код?

Много здесь встречаю постов про IT. Я не понимаю как люди пишут программный код. Вы себе представляете конечный продукт и стремитесь к его реализации четко следуя какому то шаблону (тогда вопрос - откуда взялся шаблон?)? Или это полет фантазии из разряда "Я кодю для развлечения"?

В универе изучал С#, сам пытался изучить python и C. И вот на работе стоит передо мной задача оптимизации какой нибудь рутины с помощью скрипта, а я понятия не имею как, что, зачем и почему. Мозг не может в логику связанную с переменными циклами и прочим.

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

Не понимаю как люди пишут программный код, музыку и книги.

Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества