Дневник Робинзона в море ИТ. ч.1 глава 3

Часть 1.

Глава 3. Все что кажется простым, таковым не является.

Не смотря на все мои потуги в постройке корабля жизнь вносит свои коррективы. В середине февраля 22-го я взял мини отпуск надеясь провести его исключительно в познании тонкостей языка. Однако только лишь треть удалось выделить на целевое мероприятие. Могло быть и лучше может сказать кто-то. Но в то же время оглядываясь назад я не могу сказать, что время было растрачено напрасно. Да я не сильно продвинулся в изучении материалов. Но взгляд со стороны позволил мне понять, что часто скорость не является определяющим. К тому же я отлично провёл время с дорогими моему сердцу людьми

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

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

Раздел «объекты», с одной стороны, усложнил понимание материала все что ранее считалось чем-то директивным (например, переменная) оказалось лишь его иллюзией и отсылкой на источник, запрятанный более глубоко. Любой объект созданный когда-либо не исчезает. Ничто не исчезает в никуда (разве, что интерпретатор не почистит память от «мусорной коллекции»)))). Но в целом адресация оказалась немного сложнее чем ожидалось. На один и тот же объект может вести множество ссылок. Изменение сотворённого объекта в целом оказывается не посильной задачей и ведёт лишь к созданию его модифицированной копии. При этом исходный объект продолжает существование несмотря на то, что на него может не вести ни одна ссылка в реальном окружении.

Начал изучать раздел «Коллекции» (объекты, коллекции, кортежи, списки и т.д.). Как и следовало ожидать стало очевидно: все, что казалось простым, словно атом содержит ещё более простые элементы, из которых и складывается. И с этими элементами внутри материнского элемента так же возможно эффективно работать забирая только часть объекта срезами в том или ином направлении. В некотором роде ощутил себя плотником, снимающим с полена излишки для того, чтобы получилась фигура. В тоже время сами объекты складываются в наборы ещё более сложных структур.

Вероятно, как и я мои «соплеменники» на курсе столкнулись со сложностями и темп замедлился, наш ментор даже забеспокоился, не наблюдая нашей активности какое-то время.

Продолжаю работать над созданием в своей голове структурированных основ по мотивам программы «how it’s made» но применительно к общим принципам сотворения программ. В комментариях к посту коллеги прочитал интересную мысль, ранее об этом не думал.

«Программирование — это стык филологии и архитектуры»

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

Продолжение следует….