Как помочь человеку сформировать в себе мышление программиста?
Человек, вполне адекватный, с математическим складом ума, логик, аналитик, широким кругозором, даже знает базовые основы языков программирования, умеет решать разные задачи, тестировать софт, придумывать и размышлять инновационные вещи! Типа - вроде бы программист бы мог быть?
Но нет...
Вот он спрашивает, как бы стать программистом и вообще сформировать мышление программиста?
Он, как говорит, катастрофически боится больших кусков кода, боится придумывать алгоритмы, боится мыслить функциями, опасается рекурсии, просто какая-то кодофобия, алгоритмофобия, программистофобия....
Кто-нибудь сталкивался с подобным? Работает он не в сфере программирования, но хотел бы туда пойти, начать зарабатывать кодом на хлеб. Может быть это психологическая проблема у человека? Или что?
Как можно ему помочь? Излечить? Научить? Внедрить в мысли мышление программиста... как?
Внимательно выслушаем мнения всех...
Спасибо
О, сколько еще тонких психологических определений и красивых словесных форм будет придумано для описания обычного явления - банальной человеческой лени! :)
любых психологов которые способны проработать с ним его страхи.
я к чему - либо у него реальная проблема с этими страхами - и тут нужен психолог, либо одно из двух.
кто хочет - ищет возможности, кто не хочет - ищет оправдания.
Такое мышление формируется в реальной работе. Нужно вначале пробовать, пытаться. Если уж совсем не получается, то оставить это дело и переключиться на что-то другое
Страхи обычно бывают, если человек много один работал, когда не с кем было поделиться проблемой. На хорошей работе все производственные проблемы проговариваются и решаются. На плохой -- каждый сидит в своем углу и молча говнокодит.
Прекратите называть этого человека "не программистом"! Это Вы из него и делаете "не программиста"!
Это было некое вступление, которое должно было произвести эффект - "человек это то, что мы в нем видим" и если Вы хотите видеть его программистом - "пусть он станет таким прежде всего у Вас".
Ну и вообще, кто сказал, что его подход неправильный? тот кто когда-то поступил не "как он" и теперь считает, что все не "как он" не такие?
Рекурсия и прочие заморочки - это зло и дай бог, чтобы именно ему удалось от них отказаться вообще. Программирование, это не только алгоритмы и... а при чем вообще функции?... и нудность, программирование это веселье и каждый день что-то новое. А алгоритмы бывают, но очень редко,да и то один раз в жизни, так как сделав раз их нет смысла переписывать заново.
ну это да, но когда он видит большие программы, в несколько сот и тысяч строк кода, особенно чужие, он просто пугается и говорит - НЕТ!!!
а быть современным программистом и бояться этого, это не правильно.
все современные программы и проекты имеют большие куски кода, и это априори так нынче
vasIvas: 50 давно не встречал. Последнее время чаще попадались 25 или 20. Но с год назад промелькнул пост, в котором упоминался принцип про 5 строк. Не помню только, на каком языке. Возможно, Ruby.
Mrrl: я конечно против лоскутов, но пять и десять строк, это ограничение не для программиста, а для пользователя программы без гуи. Ведь невозможно написать низкоуровневые классы в пять строк. А вот для использования их, достаточно и пары.
vasIvas: Думаю, что 5 строк - ограничение для джедая... Такая же эзотерика, как и брейнфак. Если сможешь написать программу на этом принципе, получишь понимание, которое пригодится потом, уже в практическом программировании. Но я сам не пробовал.
Все правильно бояться больших кусков кода ... обычно их подсовывают и говорят: "отладь сцуко быстро"... А большие куски кода - это ихмо в большинстве случаев говнокод ( проблема в то что народ в это не верит ).
Алгоритмы придумывать - нафиг мне писать свою сортировку если уже 100500 библиотек и вообще как же повторное использование кода.
Опасаться рекурсии тоже вполне нормально потому что алгоритмы с ней довольно запутанные и плохо укладываются в мозгах.
Главное понимать несовершенство своего мозга в первую очередь и не комплектовать по этому... но общество давит на нас.