После переезда в Амерку мой друг был удивлён, что он очень быстро и легко нашёл работу, не зная языка. А какую работу он нашёл? Он зашёл в вакансии, указал, что знает Basic, и его тут же приняли на работу в ближайший супермаркет. В чём же состояла его работа? Для этого супермаркета написана большая база данных, работает всё хорошо, но начальству нужен иногда какой-нибудь нестандартный отчёт или какая-то выборка. Ему это поручают, и то, что он так слабо знает английский язык, в общем-то, не проблема, потому что они говорят: «Мы никак не можем найти программиста на такую работу». Таким образом, он поехал за рубеж и так хорошо устроился, просто зная программирование.
* * *
По своему опыту я знаю, что и подростки, и пенсионеры, и мужчины, и женщины, и серьёзные руководители, и молодые мамы с детьми – все прекрасно изучали программирование.
Почему? Потому что программирование не требует ни какого-то супер-мышления, ни какого-то супер-таланта, ни какой-то супер-памяти. Всё, что оно требует – это некоторой усидчивости и определённого желания изучить программирование.
* * *
Для овладения профессией программиста не требуется железной воли или полной самоотдачи. В основе компьютера лежит примитивная двоичная логика. То есть, «да-нет» или «единица-ноль». Любой вменяемый человек, начиная с подростка и заканчивая пенсионером, может совершенно элементарно разобраться в азах программирования, потому что это полный примитив. Поэтому, если начинаете идти в сторону обучения программированию, то вы абсолютно гарантированно через некоторое время станете программистом.
* * *
У программиста должно быть развито так называемое алгоритмическое мышление. Алгоритмическое мышление – это способность решать задачи путём точного алгоритма действий. С алгоритмическим мышлением вы сталкивались, когда вы видели рецепт любого блюда, в котором написано: пожарить морковку, пожарить лук, порезать мясо, положить вот это, положить вот это, и вы получите в конце готовое блюдо. Рецепт – это и есть алгоритм.
* * *
Большой Психологический Барьер
На все вводимые команды компьютер пишет: «Error». И я и так, и сяк пытаюсь. И вообще не понимаю, что происходит. Первая мысль: «Я его сломал, что ли?»
Пришлось позвать человека, который отвечал за компьютер.
Большинство людей подобная ситуация может просто взбесить. Именно это и есть Большой Барьер. Вы вроде все делаете правильно, а программа не работает.
Посмотрим, как преодолевается Большой Барьер. Начнем с бытового примера – жарка блинов. Представьте себе: домохозяйка жарит блины, вдруг срочный звонок, она увлеклась разговором и забыла про блин на сковороде. Блин начал гореть. Она врывается на кухню, там кругом дым. И вот теперь вопрос: что произойдёт с этой домохозяйкой, она бросит печь блины или нет? Вы скажете: «Нет, конечно. Она выбросит остатки этого сгоревшего блина, помоет сковороду, проветрит кухню и продолжит печь блины, всё нормально. Бывают ошибки».
* * *
При таком настрое путь программиста – это легко и интересно. Потому что компьютер – это устройство очень простое.
* * *
Для овладения программированием необязательно поступать в ВУЗ, я бы даже больше сказал, что это может даже помешать вашему пути программиста.
* * *
Иногда на ВЦ запускали большие программы. В свободное время я брал распечатки этих программ и смотрел их. Пытался что-то понять. И вдруг, в какой-то момент мне приходит озарение: «Да всё ж просто, всё же примитивно!»
* * *
Женщина, которая преподавала, давала кучу лишней информации: системы счисления, форматы данных, характеристики компиляторов.
* * *
В вычислительном центре я сам стал писать совершенно простенькие тестовые программки: проверял так, проверял эдак и очень быстро набил руку. Я случайно открыл для себя кратчайший путь к изучению программирования и потом с успехом использовал его, когда сам стал учить студентов.
* * *
Есть ещё такая запугивающая тема: на форумах, когда новичок спрашивает: «А можно научиться программированию?», ему начинают накидывать безумное количество каких-то технологий, которые надо выучить. При этом всячески преувеличивают трудности.
* * *
С высоты многолетнего опыта бывает забавно читать о каком-то новом языке программирования,про который пишут: «оригинальный, революционный»
* * *
Самый распространённый и неверный путь изучения программирования – это читать какие-то толстенные справочники, книжки по программированию, в которых описывается вообще всё, что можно. Если зайдёте в книжный магазин и подойдёте к полке с программированием, то вы увидите толстенные книжки, в которых по 500-700 страниц. Я даже видел книжку, в которой было больше тысячи страниц. Эти битком забиты информацией, которая вам никогда не понадобится. И люди пытаются это читать и запоминать.
Например, есть многотомный труд Дональда Кнута «Искусство программирования». Эта книга впервые была издана еще в 1968 году. Тома толстенные. Зачем-то на всех форумах рекомендуют эту книжку. Сразу скажу: я эту книжку открыл один раз, полистал и поставил на полку.
Я её читать не стал и не собираюсь, и никогда в жизни мне эта книжка не пригодилась. Почему? Потому что на самом деле, читать такие толстенные справочники – то же самое, как читать Большую Советскую Энциклопедию. Это бессмысленно. То есть вы, как изюм из булки, выковыриваете только те знания, которые вам нужны сейчас для практической работы.
* * *
Например, один студент через полгода зашел ко мне на кафедру и показал ноутбук и сказал:
– Этот ноутбук я купил на деньги, которые заработал программированием.
* * *
Когда-то считалось, что самым важным и главным языком программирования будет Кобол. Этот язык был просто культовым. Статьи того времени говорили о том, что «Кобол – язык будущего», изучайте только его, ничего, кроме него не будет. Мне лично с Коболом повезло – я его не изучал. Через какое-то время он просто исчез и сейчас это слово «Кобол» известно только историкам программирования.
* * *
Есть детище компании Sun (сейчас эта компания является частью Oracle) – Java. На заре своего появления эта платформа была заявлена как полностью универсальная. Лозунг Java: «Написано однажды, работает везде». В какой-то момент стали говорить о том, что Java – это «мегатехнология». Она будет работать везде и вытеснит всех. Потом выяснилось, что если приложение на Java сравнить с приложением на языке Си, приложение на Java будет в 7 раз медленнее работать и требовать в 30 раз больше памяти.
То есть программы на Java – это прожорливые и медленные, которые кроме того имеют большие проблемы с безопасностью. Вплоть до того, что Appleв свое время несколько раз блокировал работу JavaOSX как раз из-за проблем безопасности, даже появилось такое выражение на платформе Apple: «Нет Java–нет проблем». И в данное время платформа Java заняла свою нишу – это разработка тех приложений, для которых не имеет большого значения скорость, потребление памяти и безопасность.
* * *
Для коммерческого программирования надо уметь программировать базы данных. Здесь основными ключевыми технологиями являются:
– Microsoft Access плюс Visual Basic,
– SQL-сервер
– SQLite.
* * *
Глава 11. Путь в профессию программиста
Что такое профессионал? Профессионал – это человек, который получает деньги за свою работу.
* * *
Как-то меня позвали в компанию, в которой база работала очень медленно. Я пришел и увидел, что они используют программу десятилетней давности. Я подключил новый модуль и скорость возросла в 7 раз! Я получил оплату как за полноценную разработку, хотя собственно работа у меня заняла около двух часов.Но все программисты в этой компании были очень удивлены, что у меня получился такой эффект.
* * *
Многие не видят, насколько выгодно писать расширения для готовой системы. Например, многие программисты пишут программы для бухгалтерской системы 1С. Это хорошие деньги, потому что крупным компаниям нужны свои функции, и они готовы щедро платить. Когда вы начинаете взаимодействовать с заказчиками, то здесь просто кладезь идей. Вы можете зарабатывать гораздо больше, если поговорите с заказчиками о том, какие программы им нужны. Проблемы повторяются, поэтому, если вы решили проблему одной компании, то затем сможете продавать уже готовую программу другим компаниям.
* * *
Через год после изучения программирования выполните два-три коммерческих заказа. С этого момента вы можете считать себя профессиональным программистом.
Конец книги.

