Войти в IT

топ 100 блогов hardsign30.01.2023

Войти в IT ploughlike_elk задал интересный вопрос – а с чего начать изучать программирование? Вопрос настолько здорово сформулирован, что приведу его здесь полностью:

Наверное дурацкий вопрос, но вот с чего именно посоветуете начинать начинающим?

Я когда-то начинал с программируеммых микрокалькуляторов (если кто помнит такие с их программами в сотню шагов или типа того), потом Бейсик на школьном компьютере БК-чего-то-там (на который я переписывал игры с тех самых микрокалькуляторов), потом Бейсик на ZX Spectrum и потом Ассемблер для него же. Вот для программирования на Ассемблере мне тогда уже не хватило аппаратной части: не было дисковода, а запись и считывание с магнитофонной кассеты для прогонки написанного кода занимала слишком много времени. ZХ-128 с дисководами тогда стоил как сильно подержанная машина, а уж про "IBM-совместимый" компьютер можно было и не мечтать, такие были только в организациях. В общем, тогда победило другое и более сильное увлечение, автомобилями. Сперва много, реально много прочитанных книг по устройству автомобиля и хорошее понимание теории в этом плане. А потом уже первый Жигуль, практически полностью разобранный-собранный собственными руками чтобы это само ехало и более-менее неплохо выглядело... Ну а дальше уже другие люди сами приходят и просят им починить машину, и пошло и поехало.

Так вот что у нас будет аналогом книги "Устройство автомобиля" и Жигулей-копейки в программировании? Если вообще можно так ставить вопрос?

По своему опыту попыток войти в тему я могу сказать что спотыкаюсь на постановке самому себе интересных задач. Я стал изучать Python, сделал калькулятор, сделал конвертер, а дальше всякие курсы и книги предлагают сделать какой-нибудь Asteroid Shooter и на этом месте я теряю интерес. Я понимаю что делает код и как он создает картинку на экране реагирующую на user input, но слишком многое происходит "под капотом", с использованием всяких библиотек, т.е. огромного количества кода написанного другими людьми. Мне лишь предлагается воспользоваться им приняв как должное что он просто работает. Просто напиши правильно вызов функции или класса - и он сам все сделает. Так неинтересно!

Если делать аналогию с моей работой, это как использовать некоего робота меняющего ремень ГРМ и вместо кручения гаек самому надо лишь ввести правильно команду этому роботу. Оно конечно чисто и быстро, но скучно и все равно не понимаешь что же там делает робот и как этот ремень там чего-то в моторе приводит во вращение.

На самом деле ответ содержится в самом вопросе, надо лишь внимательно его перечитать.

Допустим, я спрошу собеседника:

– А зачем ты ремонтируешь машины?

Собеседник посмотрит на меня, как на дурачка, и ответит:

– Ну очевидно, чтобы ремонтировать машины! Чтобы машины, которые не могли ездить, ездили! Что ж тут непонятного?

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

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

Те, кто играет в компьютерные игры, считают, что игры интересны всем просто по определению. Вот и предлагают в качестве учебного задания написать игру. А моему собеседнику это внезапно не интересно. И я его понимаю – мне это тоже не интересно. Я в своё время даже умудрился рассказать на собеседовании самому Евгению Сотникову, что компьютерные игры – бесполезная трата ресурсов и времени.

Когда есть задача и Google, нужный материал находится очень быстро, не надо даже спрашивать советов у блогеров в интернете. Так давайте поищем задачи!

Допустим, вы – офисный клерк, который постоянно заполняет формы в Excel’е и рассылает горы писем. Подумайте, какие задачи за вас мог бы делать робот. Попробуйте записать в Excel’е макрос, разберитесь, как он работает. Visual Basic – очень простой язык, в нём всего десяток конструкций. Изучение программирования сведётся к изучению объектной модели Excel. А потом освойте такую нехитрую операцию как mail merge. А потом само собой придёт понимание технологии OLE... Бывают, правда, злобные корпоративные программы, не допускающие никакой штатной автоматизации. В этом случае Войти в IT Аркадий Гилев рекомендует обратить внимание на Python и библиотечку PyAutoGUI.

Или, допустим, вы – интернет-боец невидимого фронта, убеждённый, что Власти Скрывают™, журналисты обманывают, все данные на самом деле лежат в открытом доступе, но средний тупой и ленивый юзер просто не может сделать из них правильный вывод. В этом случае выбор – язык Python, книга Тоби Сегарана «Программируем коллективный разум», библиотека Pandas и сайт Госкомстата и Госдепа. Скачайте данные, найдите Тренд, постройте Диаграмму и выведите на чистую воду полную лажу тайную ложу, правящую миром.

А может, вы в детстве читали Азимова и Гаррисона, и теперь вам хотелось бы домашнего робота, который бы бегал по комнатам, смешно спотыкаясь, и моргал лампочками? Тогда ваш выбор Arduino. А чтобы изучить таинственный язык, на котором программируют роботов, прочтите классическую книгу Брайана Кернигана и Денниса Ритчи «Язык программирования C».

Ой, вы не клерк и не фантазёр, а простой предприниматель. Который понимает, что управленческий учёт построен абсолютно неправильно, а стоит лишь по-умному считать дебет с кредитом, как прибыль попрёт вверх (реальный, кстати случай; дорогой А., если ты читаешь этот текст, привет тебе!) Тогда ваш путь – 1С со всеми его если-то-иначе-всё.

Что посоветовать автомеханику? Сложный вопрос. Наверно, почитать всякие статьи по темам «базы знаний» и «экспертные системы». Это совсем не похоже на изучение устройства компьютера, зато похоже на изучение устройства данных, что намного интереснее. И кто знает, может в результате получится такая система, которую подключаешь к сканеру, а она такая «масло надо было поменять ещё 10000 миль назад, у правого переднего колеса развал уехал на полминуты, а если вы вотпрямщаз не замените деталь XYZ123456 (ссылка на eBay), то своим ходом машина доедет только до свалки» – как в известном анекдоте.

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

Есть, правда, и такая формулировка задачи: «хочу много денег, а айтишники – они же все сидят в тёплом офисе, ничего не делают и гребут деньжЫщи». Тут тоже просто – читайте какую-нибудь брошюру типа «Java за 21 день», выполняйте упражнения в конце каждой главы и пополняйте армию говнокодеров, написав объявление на Тиндер HeadHunter. Вторым Биллом Гейтсом не станете, но на доширак, пиво и Hyundai Solaris в кредит заработаете всегда.

Оставайтесь с нами, и вы узнаете, как стать хорошим программистом.

Оставить комментарий

Архив записей в блогах:
Виски "Black Burn" Reserve производится на заводе Спейсайд. Его выдержка не указана на этикетке, но составляет от трех до шести лет. Speyside Distillers — одно из самых небольших предприятий по производству виски в Шотландии, расположенное на берегу реки Троми, одного из притоков Спей. ...
...наверное, каждый подводит итоги прошедшего перед новым годом и оглядывается назад перед днем рожденья. Даже если на эту церемонию не хватает времени (чтобы сесть не торопясь, с чашечкой чая, вспомнить, как пронесся этот год...), мысль такая все же ...
Извините что по делу если что. Вчера по телевизору на полном серьёзе показали сюжет о британских учёных, которые выяснили, что пьяная женщина себе не хозяйка. Офигеть! А мужики-то не знали! Не удивлюсь, что они скоро сделают открытие о том, что земля круглая. Это к чему я пишу, к ...
Давненько не было опросов. Вот, родился. Если бы Вам предложили за 10 часов пережить все те моменты, в которых Вам было хорошо. И те моменты, в которые Вам было плохо. View Poll: #2119575 Пояснение: примерно это выглядит так, как вся жись за десять часов. Только из неё выброшена ...
НА НАШЕЙ улице, на обеих её сторонах, пока меня не было, соорудили по километру или по два велосипедных дорожек и сопутствующих газонов. В первую же после Кореи покатушку, когда воспоминания ещё были свежими, обратил внимание на подстриженные трейлы и подумал, что в Корее трава не ...