Leadwar
И тогда вопрос : Сколько Вы времени отдаете/отдавали - изучению Python ?
В нашем случае не сколько кто-то отдавал/отдает, а отдать максимум свободного времени.
По моему мнению это наилучшее решение.
Leadwar
И тогда вопрос : Сколько Вы времени отдаете/отдавали - изучению Python ?
4kpt_IVТак а какие тут обиды могут быть, все так и есть…. тут только если мидлу интересен сам процесс обучения как таковой, но думаю что в программировании большинство людей “индивидуальные игроки”, нежели учителя.
renz72Я сначала написал вопрос, а потом понял что ответ я и так знаю ) Все верно , чем больше времени этому отдавать, тем быстрее можно достичь желаемого.
LeadwarНет никакого быстрого способа изучения программирования. Чтобы понимать, где хорошие книги или документация, надо прочитать и плохие и хорошие книги и документации. Опыт надо иметь. А с программами обстоит всё ещё хуже. Чтобы писать хорошие программы, нужно написать много плохих программ, которые даже не работают вообще. И вот потом, когда ты пишешь программу, ты видишь, что если ты напишешь какую-то строчку, то свалишься в свою очередную плохую программу, повторится старая история, где ты нахлебался. Вот пример полной фуфлени. Я вот такие тоже когда-то писал и сегодня перечитываю их спустя годы, смотрю, что я не знал тогда и насколько продвинулся. А почему с программами хуже дело обстоит, чем с книгами, - потому что они используются для мотивации. Если у тебя программа получается, то хочется ещё больше научиться делать, чтобы ещё больше всего написать. И тогда ты можешь ещё больше материалов прочитать, потому что есть смысл. Так вот программы не получаются никогда поначалу, поэтому заниматься не хочется. Я вот писал морской бой и написал за три месяца два поля с кораблями (с расстановкой через стрелочки на клавиатуре), а потом пришло время писать интеллект компьютера, чтобы он корабли искал, и на этом всё закончилось, это оказалось неподъёмной хренью. Я думал о графах, а графов я не знал. А как ещё принимать решение, бить в такую-то пустую клетку или нет, можно же проиграть из-за тупого перебора или рандомного поиска? Это же не интеллект, а фуфло, которое обыграть легко каждый раз, считай, его нет, если он такой. Надо делать какую-то весовую систему для областей, что мол вон та область оптимальнее для поиска корабля. Это сейчас я представляю примерный путь и графы реализую спокойно, если ещё они понадобятся там. А тогда я просто знал, что нужны графы, которые я не знаю. Так я её и повесил на замок. Три месяца - результат нулевой. Это сильно бьёт по мотивации и её надо заново выстраивать, наращивать. А с книжками проще - там ты просто её читаешь и что-то узнаёшь всё время и тебя прямо из книжки автор постоянно домотивирует, чтобы ты её ещё дальше читал и читал. Но с книжками ты ничего никогда не пишешь, только учебные задачки, которые на практике не используются никак, непригодны. Ну, знаешь там, мухобойка бьёт по мухе, которая перелетает из квадратика в квадратик и дальше там этих квадратиков N штук и прочие детали. Или там несколько гномиков делят шоколадку, гномиков три, а в шоколодаке пять клеток и прочие вещи. Ты их нигде не применишь, это всё только для набора опыта делается.
Начал читать книгу, вроде все ясно и понятно. И получается отвечать на все вопросы верно. И прочитал 400 страниц. Но теперь закралось сомнение. А с того ли я начал?
py.user.nextСпасибо большое ! Очень полезный совет. Про сроки понимал изначально, что это не стих выучить, тут можно и в года не уложиться. Про структуру так же понял, недавно, для интереса, решил посмотреть простенький код на js. И на удивление, я немного понимал происходящее. Сразу вспомнил как все говорят, изучив 1 язык, остальные будут легче даваться. Просто изначально боялся потратить 2-3 года на один из языков, а потом понять что нужен другой. Почитал мнения, советы и успокоился, так как мне в любом случае будет нужен более чем 1 язык.
LeadwarЭто точно, у меня есть проекты, где несколько языков задействованы одновременно, включая DSL'ы. Вот если пример рассмотреть, то можно представить себе, что есть какая-то часть на Go, например, потому что на нём легко писать многопоточные программы. И многопоточное ядро программы может быть написано на Go, потому что это удобно, быстро и оптимально (хотя я не любитель Go, но это ладно, всё равно ты его будешь знать, если он может в чём-то помочь, например написать в сто раз быстрее программу и тому подобное). Этой частью на Go управляет скрипт на питоне, потому что на нём можно много чего написать (выразить легко и многие средства есть, вроде того же argparse, где за пять минут полноценную командную строку можно сделать с множеством ключей). А скриптом на питоне уже из операционной системы управляет скрипт на shell'е (Bash или просто sh), потому что shell для этого и создавался, поэтому содержит множество средств для лёгкого взаимодействия между программами в системе. При этом всё автоматическое версионирование внутри проекта, это когда нужно в десяток исходников одним действием записать новую версию программы (которая может обновляться по несколько раз в день), выполняется с помощью мощного препроцессора m4, сделаного во времена начального развития C. Вот этот язык программы m4 - это и есть DSL, который тоже нужно знать, иначе ничего не напишешь на нём и версионировать не сможешь автоматически, в то время как нужно чтобы у тебя каждый скрипт самодокументировался. И будешь это делать руками, а потом и вовсе перестанешь это делать и уберёшь важную информацию из исходников (и не только из исходников, версия и информация об авторе используется и пользователем программы, например, чтобы сообщить автору о баге, найденном в такой-то версии программы).
так как мне в любом случае будет нужен более чем 1 язык.
py.user.nextОтличный вектор. Рад что написал сюда и получил множество полезных советов. А то прям как в темном лесу )) иду и не верю что дойду )
LeadwarВот здесь писал про этапы разработки. Суть в том, что до конечной реализации есть несколько классических этапов представления программы. На каждом этапе проводится свой ряд действий, чтобы сделать программу лучше. Когда это всё выполняешь, программа получается идеальной с первого раза. Если же ты пренебрегаешь этим, то программа у тебя есть в конечном итоге, но потом её надо переделывать. А если времени на переделку нет (а его нет обычно), то она остаётся в таком виде и потихоньку ведёт весь проект в тупик. Там класс дерьмово написал, тут класс дерьмово написал - и у тебя в итоге целая программа из дерьмовых классов, которая в целом становится тоже дерьмовой. Это как автоваз, почему их называют тазами или вёдрами с болтами - потому что у них везде что-то отваливается постоянно и нельзя взять и просто починить что-то, потому что она вся так сделана.
По сути ведь любую программу сначала нужно представить в виде алгоритма.А потом уже можно переложить на любой язык.
py.user.nextПрочитал этапы.Взял на вооружение.