Некоторое время назад я задал себе тот же вопрос. Пока мой разум летал, я написал следующую статью, в которой пытаюсь ответить на этот вопрос. Эта статья представляет мое личное мнение.

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

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

Где-то во второй половине прошлого века предприятия начали использовать новые машины, называемые компьютерами. Естественно, по мере роста любого бизнеса возникала острая необходимость поддерживать его и содержать в порядке, поэтому компьютер сразу же стал ценным помощником. В то же время первые языки программирования были введены с основной целью, которая заключалась в том, чтобы позволить пользователям обучать и управлять компьютерами наиболее эффективным способом, соответствующим их потребностям. Со временем многие программы были написаны с использованием оригинальных языков программирования, и эти программы все еще где-то находятся. Эти программы время от времени нуждаются в некотором обслуживании или расширениях. Однако число людей, знающих эти оригинальные языки программирования, быстро сокращается, потому что по мере того, как эти языки стареют, вместе с ними устаревают и эти ветераны. Мы, безусловно, можем утверждать, что это компьютерная история, и компьютеры и языки программирования развивались, и нет необходимости больше тратить время на эти старые языки, особенно когда в настоящее время так много широко используемых новых. Частично предыдущие предложения верны, потому что это компьютерная история, но все же остается вопрос. Есть ли смысл тратить время на изучение этих старых языков программирования? Если мы оглянемся на то время, когда были введены другие языки программирования, то обнаружим, что это было намного позже, и прошло довольно много времени, пока первоначальный язык программирования правил миром. Другие языки программирования были созданы после того, как все отрасли уже широко использовали компьютеры. В то время, когда рождались новые языки программирования, уже существовал миллиард или, может быть, больше строк кода, написанных на исходных языках программирования. Мы также можем посмотреть, кто первым начал использовать компьютеры в своем бизнесе. Поскольку использование компьютеров было недешевым, мы осмелимся сказать, что только крупнейшие отрасли промышленности и огромные компании могли позволить себе такие инвестиции, которые помогли бы им повысить свою эффективность.

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

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

От молодых людей мы можем услышать, что эти старые языки трудно выучить, потому что они слишком близки к аппаратному обеспечению, и если вы хотите их использовать, вам также необходимо знать, как работает аппаратное обеспечение под капотом. С новым языком программирования вам просто нужно знать, как написать алгоритм на данном языке, и вас не волнует, как он интерпретируется. За свою карьеру я был во многих ситуациях, когда мои знания аппаратного обеспечения много раз решали мои проблемы с программированием. Если вы знаете, как устроено аппаратное обеспечение и как оно работает, вам будет намного легче отлаживать свою программу и полностью понимать, как она работает.

Когда мы начнем искать некоторые подробности о том, как эти старые языки программирования используются сегодня, мы обнаружим, что 43% банковских систем и 95% банкоматов все еще используют COBOL. COBOL — один из старейших языков программирования в мире. Речь идет о банковском секторе. Очень похожая ситуация и в других отраслях. Государственные учреждения также используют множество приложений, написанных на этих языках программирования. Все используют их по простой причине. Они просто работают, и работают уже более 50 лет. Одной из самых больших проблем, с которыми сталкиваются компании и государственные учреждения, является нехватка людей, знающих эти языки. Мы слышим, что кто-то может переписать все эти приложения на любой из новых языков программирования. Некоторые ученые уже сделали некоторые оценки того, сколько времени это займет. Результат этого исследования интересен тем, что он вытекал через десятки лет. Ни одна компания не захочет вкладывать такие деньги просто в переписывание этих программ, не говоря уже о проблемах, которые сопровождаются миграцией с одного приложения на другое. Они будут лучше инвестировать в профессионалов, которые смогут поддерживать свои старые приложения, чтобы иметь возможность продолжать вести свой бизнес.