Что это за профессия - программист?

Реклама
Грандмастер

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

В хорошо налаженных производствах писали в случае нужды, что требуются «токари не ниже 5 разряда» или, «требуются фрезеровщики 3−5 разрядов». Это означало, что технологическая цепочка почему-то порвалась и нужны совершенно конкретные специалисты для работы в совершенно конкретных местах. Потому что «рабочий-станочник вообще» — не существует в природе. Есть токари, фрезеровщики, прессовщики, специалисты по станкам с ЧПУ и пр.

Точно так же дела обстоят и с программистами. Посему искать работу по слову «программист» — значит, постоянно получать огромную почту. Одна беда: все предложения будут «не совсем такие» или вообще «совсем не о том».

Так как же эволюционировала профессия «программист» от ее возникновения до нашего времени?

Реклама

Вчера

Со времени появления в 40-е годы самых первых ЭВМ электронщики, создавшие этих монстров, с досадой обнаружили, что монстрами надо как-то управлять. Так появились первые программисты.

Свои программы они писали в кодах машины. Первые ЭВМ занимали целые этажи больших зданий. Множество шкафов, соединенных проводами. При этом каждый запуск ЭВМ был сложной процедурой, требовавшей совместной работы как электронщиков, так и программистов.

В этой совместной работе появился общий термин программирования bug, ошибка. Инженеры после неудачной попытки запуска ЭВМ в ходе ревизии оборудования обнаружили в одном из шкафов таракана, который закоротил какие-то линии и, став угольком, мешал правильной работе узла ЭВМ. Кто-то прочитал заметку в журнале обнаруженных ошибок — мол, в шкафу номер такой-то был найден очередной баг — и назвал багом уже ошибку в программе. Отсюда и пошли программные

Реклама
баги. Но не сразу.

Про первых, легендарных, программистов ходили легенды. Что де, один из них сумел вручную сымитировать перед начальством работу базы данных завода, сходу переведя имеющийся у него текст в коды ЭВМ и вдобавок просчитав и поставив нужное количество пробелов в каждой строке с учетом длины уже введенного текста. Другой сумел в несколько раз ускорить программу, сделанную другим, бесталанным программистом, за счет массового использования машинных регистров вместо ячеек памяти. Ну и так далее…

Со временем запуск ЭВМ стал более простым процессом, а программисты поделились на две группы. На системщиков, которые писали системные программы для ЭВМ, управление пишмашинками, принтерами, перфораторами и перфосчитывателями. И на «программистов просто» — писавших программы для пользователей и работавших уже не в машинных кодах, а на машинных языках.

Реклама

У наших программистов тогда был знаменит транслятор ТА-1М, позволявший писать программы на языке Алгол-60. А следом за Алголом-60 в пользовании программистов появились Фортран, Фокал, Алгамс, Паскаль, Модула — и множество других.

Среди них в самом начале не слишком выделялся язык С. Ну, просто группа программистов, работая над языком, которым было бы удобно писать операционные системы для новейших тогда микропроцессоров, разработала язык А. Не понравилось. Разработали В. Тоже не пришелся ко двору. А вот третья версия, язык С, оказался хорошим инструментом для разработчиков разнообразного ПО (или SW — software).

Реклама

Тем временем ЭВМ изменились очень сильно, теперь пользователей стали допускать почти к ним. У ЭВМ появились компьютерные терминалы, с которых они могли обращаться к программам ЭВМ, работая в режиме командной строки и получать результаты программы, распечатываемые на принтере.

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

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

Реклама

Сегодня

«Сегодня» подкралось незаметно. Даже для многих программистов… Мы еще смеялись над «этой дуростью», над компьютерными мышами и ОС Windows-3.1. Время комфортного управления линейно работающими программами (и комфортного их написания) уходило безвозвратно.

Компьютерная бухгалтерия стремительно меняла форму. Сразу должен признаться, что за бухгалтерию всего мира — не расписываюсь. Не знаю. Нашей бухгалтерии, в общем, я тоже не знаю, но поработать в этом направлении мне довелось.

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

Реклама

Рынок ПО менялся стремительно, те, кто успел за тенденцией или сам приложил руки к возникновению тенденции — разом взлетал. Ну, а кто не успел…

Мониторы стали цветными и стремительно стали улучшать свои параметры. От CGA до XVGA и далее. Прадедушки процессоров стремительно росли в мощности — 8086, 80286, 80386, 80486, 80586… Каждый последующий — в разы мощнее предыдущего. Далее 80586 переименовали в Пентиум — и стали расти уже номера «пней». Пентиум-1, 2, 3… Столь же быстро росли объемы магнитных дисков, объем оперативной памяти компьютера.

Реклама

Некоторые компьютеры не менялись в размерах, резко увеличивая свое быстродействие и мощность, зато некоторые стали очень маленькими и начали управлять часами, стиральными машинами, холодильниками…

Стремительно стали развиваться сетевые технологии. От телефонных модемов на 1900 Бод, с которых входили в Интернет особо продвинутые пользователи в начале-середине 90-х годов, до сетевых плат, уже переваривающих в секунду более десятка мегабит информации.

Стремительно развивались базы данных. Первые из них клепались вовсе из разделенных служебными символами текстовых строк, потом базы стали бинарными… А в наше время базы уже являются распределенными по сети, находятся одновременно на разных компьютерах, возможно, даже в разных местах планеты. И для обслуживания какого-то запроса, возможно, начнут трудиться сервера, размещенные на разных континентах…

Реклама

И все это программное богатство создают программисты. Кто-то — специалист по определенным базам данных, кто-то — специалист по созданию GUI — интерфейса общения пользователя с программой, кто-то — специалист по разработке методов совместной работы программ, размещенных на различных узлах сети.

Реклама

Специалисты по определенным языкам, знающие Delphi, Паскаль, С++. Программисты 1С, программисты по разработке и сопровождению разнообразных БД. Специалисты по программированию в Windows, специалисты по Linux. Специалисты по С++, работающие в Borland-C или в Qt, Microsoft Visual C…

Хороший программист С++ может работать в Borland-C, а может быть специалистом по Qt. Специалист в языке Перл может вовсе не знать работу баз данных.

Уже лет 20 прошло с тех пор, как для программистов произошло вавилонское столпотворение и они разделились на много-много групп, каждая из которых разговаривает на своем языке, не понимая своих коллег.

А кто-то говорит, что работает «просто программистом»!


Что еще почитать по теме?

Что такое «поколения ЭВМ»? Поколение «0»: аналоговые вычислители
HiAsm — мольберт для программиста?

Что самое тяжкое для программиста?

Реклама