Есть ли смысл изучать COBOL?
Есть ли смысл изучать COBOL?
Ответы:
Я так не думаю, если только вы не находитесь на нишевом рынке, где COBOL все еще поддерживается.
Нееет, конечно нет. Кобол - мертвый язык, в конце концов. Либо это?
Проблема с этим представлением состоит в том, что программисты на сайтах, подобных этому, обычно работают с высокотехнологичными, быстро работающими (и столь же быстро истощающимися) компаниями. Для них COBOL - мертвый язык - его нигде не видно. Уже давно не было, это правда.
Но КОБОЛ не был предназначен для них. В индустрии программного обеспечения есть нечто большее, чем это. Компьютеры не были изобретены для людей с какой-то иррациональной необходимостью постоянно обновлять и заменять старые на новые. Они были сделаны для деловых целей.
Вы хотите увидеть COBOL? Пойдите в компанию, которая обрабатывает платежную ведомость, или занимается перевозкой грузов, или отправкой (как на кораблях), или обрабатывает ваш банковский счет. Существует огромная невидимая система кода, которая практически невидима для пользователей, и большинство из них никогда не задумываются об этом, хотя сталкиваются с ней так или иначе каждый день (банкоматы?)
Нет, он не умер. Но это "наследие" наверняка ... или это?
Опять же, зависит, как вы на это смотрите. В настоящее время многие люди будут использовать Java, C или что-то еще вместо COBOL, переписывая с нуля ... представляя новые ошибки по мере их развития, естественно. Это не значит, что в COBOL нет ошибок и причуд. Это так же, как следующий язык. Конечно, это так. Но в «времена КОБОЛ» компании, которые относились к ошибкам более серьезно, чем обычно (страховка, банки), имели тенденцию производить код более высокого качества с особыми качественными группами обслуживания; сегодня существуют сроки, когда время и бюджет всегда побеждают качество. Кроме того, эти системы были первоначально разработаны для более длительных периодов времени по сравнению с аналогичными в настоящее время.
Если какое-то программное обеспечение работает уже более 30 лет, то где стимул для перехода? Целые компании обанкротились, потому что они проигнорировали старую поговорку «если это не сломано, не исправляйте это». Многие пытались переписать эту вещь ... тогда первая перезаписывалась дорого, потом вторая стоила еще дороже ... и ни одна из этих новых и улучшенных не смогла заменить ее. Как я уже сказал, эта отрасль быстро растет, и она также быстро забывает.
В 70-х годах COBOL уже умер или вскоре умер, C / C ++ собирались править. Затем снова в начале 80-х Паскаль вступал во владение. Тогда, в 90-х, это была Ява как Язык ...
Подумайте о Unisys Mapper, dBase, Clipper, Cold fusion ... люди даже помнят это? Каждый из них собирался стать могильщиком для COBOL.
Принимая это во внимание, и тот факт, что он отлично подходит для обработки больших объемов транзакций, пакетной обработки или обработки, ориентированной на записи / транзакции, и что можно скомпилировать (без ошибок) подпрограмму, написанную 30 лет назад, как управляемый код COBOL и вызов это из управляемого COBOL.NET, если кто-то захочет перейти на Windows и .NET, у меня возникли проблемы с поиском подходящей замены для него. (У меня также возникают проблемы с поиском технологии Microsoft, которая длилась более десяти лет.)
Да, новый код COBOL пишется сегодня. Нужно просто знать, где искать.
Для тех, кто смеется над COBOL, ИМХО, это все равно, что смеяться над египетскими пирамидами, они там с 5000 лет, и они все еще будут там в следующие 5000 лет, в то время как сегодняшнее жилье "здравствуй, мир", нуждающееся в 24 элементах управления, будет удалено, заменено, забыто в следующем месяце.
Так где же все эти программисты на COBOL?
Ах, потому что здесь кроется загвоздка. Дело в том, что многие из них не имеют никакого опыта в области компьютерных наук. Многие из них не являются профессиональными программистами (как, например, выпускники университетов по программе CS / SE). По большей части это люди в возрасте от 30 до 50 лет из всех областей знаний, полностью обученные компанией специально для этой работы. Так что они не «программисты на COBOL» - обучение, которое они получили, является специфическим для компании, которая так сильно продвигает изнутри. И это делает их в значительной степени невидимыми.
Если вы можете видеть себя программистом на COBOL, тогда сделайте это. До сих пор на языке COBOL написаны миллиарды строк, требующих обслуживания.
На самом деле, нет такой вещи, как ненужные знания, поэтому расширяйте знания и более широкие возможности, которые вы (будете) иметь.
Имеет ли смысл учиться?
Ну, это ниша, и есть тонны работающего унаследованного кода, который нужно поддерживать, и его нельзя просто переписать. Так что, хотя для широких масс всех программистов это не совсем вариант, это перспектива стабильного дохода для отдельных людей.
Однако, если вы заинтересованы в создании новых решений, а не в медленном улучшении тех, которые существуют уже десятилетиями, COBOL, вероятно, не является подходящим языком.
Многие европейские компании по-прежнему сильно зависят от мэйнфреймов, таких как программы z / vse и cobol. Существует потребность в квалифицированных программистах на кобол, которые никто не думает, что рынок заполнит их, что значительно повысит зарплату.
Вопрос должен быть: "Я когда-нибудь разработаю что-то новое, используя кобол?" так как почти все это обслуживание или вариации существующих критически важных вещей.
Я работал на IBM, где код COBOL и PL / I писался каждый день. Также от крупных компаний, использующих мэйнфреймы IBM, таких как многие банки, которые требуют тысячи транзакций в секунду, эти языки все еще интенсивно используются.
Если вы не хотите работать в таком месте (вот почему я проработал там 6 месяцев), тогда даже не думайте изучать эти языки.
Мы пишем новый код Cobol каждый день и постоянно ищем новых программистов. Предложение здесь слишком мало.
Если вы хотите устроиться на работу программистом на COBOL, тогда, конечно, продолжайте и изучите его.
По любой другой причине, например, пытаясь научиться чему-то полезному, что может помочь вам с современными методами программирования, нет, не беспокойтесь.
В 2000 году я прочитал статистику, что было написано больше строк на языке COBOL, чем на всех других языках вместе взятых.
Добавьте к этому гарантию IBM, что любая колода TEXT (объектный код), скомпилированная в любой системе MVS, является исполняемой на всех их системах MVS, и у вас есть гарантия того, что будет программирование на языке COBOL, пока светит солнце.
Я могу рассказать вам, как я его «выучил»:
я работал с ним, не понимая, о чем он, и не испытывал трудностей в обучении за одну ночь.
Так что, если вам это нужно, вы можете научиться этому. Не нужно перегружать себя бесполезными знаниями. Нет ничего интересного в этом или в его обязательствах, если у вас нет реальной практической необходимости в этом.
Общий ответ: изучите принципы кодирования, а не их конкретные реализации (например, языки и т. Д.)
Я бы не стал тратить на это время.
В любом случае, COBOL является строительным материалом для многих унаследованных прикладных программ, которые являются критически важными для нескольких крупных компаний, запущенных 20-30 лет назад.
Итак, если вы наняты для компании, которая имеет часть своего основного бизнеса в COBOL, есть вероятность, что вы должны начать изучать это.
Изучите это, если вам нравится, в конце концов, знание того, как все работает (или привыкло работать), не может быть плохой вещью.
Однако я бы рекомендовал не подчеркивать ваши навыки COBOL слишком много в вашем резюме.
В некоторых местах (например, в Силиконовой долине, где я живу) добавление COBOL в ваше резюме будет ответственностью. О, конечно, вы можете найти место здесь и там, кому нужен ваш опыт, и в этом случае пойти дальше и рекламировать его в тех местах . Но в целом сделайте себе одолжение и забудьте упомянуть, что вы знаете COBOL.
Так что да, учитесь, если вам интересно, просто никому не говорите.
Возможно, не стоит с точки зрения рынка труда, но вы, возможно, захотите взглянуть на это просто, чтобы понять, как все было сделано "в добрый день". ^^
С личной точки зрения, я бы сказал, что сначала есть чему поучиться. Тем не менее, многие крупные компании вкладывают очень большие средства в свою кодовую базу COBOL, которую они, вероятно, никогда не смогут оставить позади, создавая индустрию для программистов на COBOL для поддержки кодовой базы, а также для написания нового кода. Компания, в которой я работаю, является крупной финансовой компанией, и наш технологический раздел для разработчиков составляет примерно 30% COBOL, 40% Java и 30% C #.
Я только что сделал поиск слова «кобол» на крупнейшем в Австралии веб-сайте по трудоустройству. Он дал 87 результатов, и (из краткого обзора) они в основном выглядят как унаследованные должности в банках и финансовых учреждениях. Преимущественно заметно лучше оплачиваемая, чем более «современные» языковые работы - вероятно, из-за редкости опыта Кобола.
Так что да, похоже, что Cobol стоило бы учиться, если вы 1) не возражаете заниматься обслуживанием наследия и 2) вы хотите попасть в нишу, которая хорошо оплачивается и, вероятно, не очень конкурентоспособна, поскольку это то, что мало кто изучает больше.
(Я предполагаю, что рынок Кобола будет похож в большинстве стран Первого мира, но может ошибаться?)
Подумайте о типах проблемных доменов, в которых вы хотите работать. Обычно эти домены имеют набор языков, которые обычно используются для этой цели. Если COBOL соответствует этому, тогда продолжайте.
Нет никакого способа, которым я мог бы коснуться ни кобола, ни проблемной области (областей), которые используют это интенсивно с 10-футовым полюсом. Я бы лучше перевернул бургеры.
Также подумайте, предлагает ли язык какой-то бонус / улучшение ваших способностей / концепций программирования. Я не могу придумать, что COBOL может сделать / реализовать / использовать, что не сделано лучше или может быть продемонстрировано лучше на другом языке.
Вы и другие можете чувствовать по-разному.
Существует еще много устаревших систем, написанных на языке COBOL. Если вы хотите сохранить их или перенести на другие языки программирования, вам все равно стоит изучать COBOL.
Независимо от того, что это, некоторые знания по нескольким языкам программирования будут плюсом, потому что ваши знания позволяют вам выбрать язык программирования или подход для различных потребностей проекта. Вы можете использовать свои знания в языках программирования, чтобы создавать лучшие, более чистые и эффективные коды и избежать подводных камней.