Стоит ли изучать COBOL? [закрыто]

23

Есть ли смысл изучать COBOL?

kiamlaluno
источник
9
Это будет около 9990, не уверен, если вы будете жить так долго.
Toon Krijthe
4
@Gamecat --- Только если проблема Y10K не будет решена не ленивыми компаниями или частными лицами раньше, верно ?!
Марк С
2
Помните, что Кобол сам по себе не поможет вам. Вам нужно запустить стек для ОС, с которой вы хотите работать. Например, на машинах IBM вам понадобятся VSAM, MVS или Z, CICS, ISPF, могут быть IMS и ISPF, Panvalet / Easytrieve, JCL в дополнение к COBOL.
NoChance
2
cobol.com выглядит действительно Web 2.0-иш, и они отдают кофеварку! Если это не современно и прагматично и вставлять модные слова, тогда я не знаю что.
Рафаэль Р.
Вы можете получить стабильный доход, если разберетесь в нем и найдете магазин COBOL.

Ответы:

26

Я так не думаю, если только вы не находитесь на нишевом рынке, где COBOL все еще поддерживается.

Wizard79
источник
13
70% существующей инфраструктуры работает на COBOL. От считывания дебетовой карты в банкомате до онлайн-бронирования авиабилетов и даже для маршрутизации звонка по мобильному телефону. Все они работают на COBOL (или существенно зависят от него). Это вряд ли ниша или устаревшая среда. Большинство из этих систем работали почти непрерывно и хорошо работали в течение десятилетий (намного лучше, чем у нас на Java и .NET), и число программистов на COBOL уменьшается. Хотите заработать много $$$? Позаботьтесь о том, чтобы испытать острую нехватку COBOL, которая случится примерно через десятилетие.
luis.espinal
14
@ luis.espinal: нет, это распространенный миф, а 70% больше не соответствуют действительности. Использование COBOL неуклонно снижается, и в конечном итоге мы от него избавимся. И ... COBOL участвует в маршрутизации телефонных звонков? Я так не думаю. Возможно в биллинге телефонных звонков, но даже там это маловероятно в наши дни.
Wizard79 18.10.10
6
@ Лоренцо - 70% миф? Не участвует в телекоммуникациях? Можете ли вы подтвердить эти претензии? Мы даже не рассчитываем на его участие в перевозках (десятки килограмм контейнеров в год) и в сфере здравоохранения. Я не знаю, как там, где вы работаете, но здесь, в Северной Америке (и во многих других местах), COBOL существует в большом количестве и работает хорошо . Почему кто-то рискует переписать что-то, что работает, и это важно для миссии ? Я бы хотел фантазировать. Я переписываю все на Java или C ++, но есть фантазия, инженерия программного обеспечения и экономика программного обеспечения.
luis.espinal
9
@ luis.espinal: поскольку я работал в телекоммуникационной отрасли, я точно знаю, что устройства телефонной станции не используют COBOL ... они основаны на специальном оборудовании и встроенном программном обеспечении. Некоторые компании по-прежнему используют COBOL для выставления счетов и учета, но новые (например, операторы мобильной связи) полагаются на разные технологии даже для этого. Переключение продолжается.
Wizard79 18.10.10
8
@ luis.espinal: мой брат работает в крупной телекоммуникационной компании, пишет программное обеспечение для новых коммутаторов. Я абсолютно уверен, что он НЕ использует КОБОЛ!
Боб Джарвис - Восстановить Монику
36

Нееет, конечно нет. Кобол - мертвый язык, в конце концов. Либо это?

Проблема с этим представлением состоит в том, что программисты на сайтах, подобных этому, обычно работают с высокотехнологичными, быстро работающими (и столь же быстро истощающимися) компаниями. Для них 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» - обучение, которое они получили, является специфическим для компании, которая так сильно продвигает изнутри. И это делает их в значительной степени невидимыми.

Ладья
источник
9
Наличие мышления iPhone / Desktop / Web 2.0 - хороший способ забыть об огромном компьютерном мире.
Пол Натан
8
Так где же все эти программисты на COBOL? Водительские такси.
Джон
1
@johnc - откуда ты это взял? 70% существующей инфраструктуры работает на COBOL, и существует недостаток программистов на COBOL. Возможно, было бы трудно получить работу, если бы вы знали COBOL еще во времена доткомов (сейчас мы говорим о десятилетии). Но сейчас??? Человек, COBOL будет пользоваться повышенным спросом примерно через десятилетие только из-за критичности этих систем и нехватки разработчиков программного обеспечения, которые знают (или достаточно умны, чтобы воспользоваться возможностью) работать с COBOL.
luis.espinal
2
@ luis.espinal Я полностью (и мучительно) осведомлен о проблемах, с которыми мы сталкиваемся из-за нехватки программистов на COBOL, однако мой комментарий был высказан, как мне кажется, несколько легкомысленно, из опыта. В Австралии, по крайней мере, почти каждый таксист, которого я встречал в последнее десятилетие, который не был недавним иммигрантом (и, возможно, некоторыми из них), был бывшим программистом COBOL. Возможно, это совпадение, и я говорю это, не делая личных суждений о таксистах, иммигрантах или разработчиках COBOL. Это просто наблюдение.
johnc 18.10.10
2
@johnc - Я не сомневаюсь в твоем слове, но мне очень трудно поверить в это наблюдение.
Ладья
16

Если вы можете видеть себя программистом на COBOL, тогда сделайте это. До сих пор на языке COBOL написаны миллиарды строк, требующих обслуживания.

На самом деле, нет такой вещи, как ненужные знания, поэтому расширяйте знания и более широкие возможности, которые вы (будете) иметь.

firusvg
источник
1
Учитывая, что нет такой вещи, как ненужные знания, я назначаю Intercal для следующего языка, который вы изучаете!
Тихон Джелвис
@TikhonJelvis: Слишком легко, слишком легко. Malbolge это то, что вы ищете.
Маг
15

Кобол

Имеет ли смысл учиться?
Ну, это ниша, и есть тонны работающего унаследованного кода, который нужно поддерживать, и его нельзя просто переписать. Так что, хотя для широких масс всех программистов это не совсем вариант, это перспектива стабильного дохода для отдельных людей.

Однако, если вы заинтересованы в создании новых решений, а не в медленном улучшении тех, которые существуют уже десятилетиями, COBOL, вероятно, не является подходящим языком.

back2dos
источник
8

Многие европейские компании по-прежнему сильно зависят от мэйнфреймов, таких как программы z / vse и cobol. Существует потребность в квалифицированных программистах на кобол, которые никто не думает, что рынок заполнит их, что значительно повысит зарплату.

Вопрос должен быть: "Я когда-нибудь разработаю что-то новое, используя кобол?" так как почти все это обслуживание или вариации существующих критически важных вещей.

Patrik Björklund
источник
5

Я работал на IBM, где код COBOL и PL / I писался каждый день. Также от крупных компаний, использующих мэйнфреймы IBM, таких как многие банки, которые требуют тысячи транзакций в секунду, эти языки все еще интенсивно используются.

Если вы не хотите работать в таком месте (вот почему я проработал там 6 месяцев), тогда даже не думайте изучать эти языки.

Карлос Муньос
источник
Работа на магистрали экономики, обработка такого типа трафика, это, безусловно, будет рассматриваться многими как хорошая техническая и деловая возможность.
luis.espinal
5

Мы пишем новый код Cobol каждый день и постоянно ищем новых программистов. Предложение здесь слишком мало.

оборота user1249
источник
5
Это действительно страшно, но интересно. Я никогда не встречал настоящего живого программиста на коболе (и я не весенний цыпленок)
Тим
3
Почему страшно? Вы, вероятно, никогда не встречали программиста на Лиспе ...
@Tim Есть парень из MicroFocus, который пишет статьи о Code Project - все на COBOL ... для .NET! Это действительно странно видеть COBOL обновленным с более современными технологиями.
MetalMikester
2
@Thorbjorn - я раньше программировал на lisp и знаю программистов на lisp. Возможно, я просто невежественен и предвзят, но то, что я знаю о cobol, не побуждает меня думать о создании БОЛЬШЕ кода на этом языке.
Тим
1
Lisp используется для интересных проектов и сам по себе является интересным языком. Как и C ++, Ruby on Rails, Smalltalk и Haskell. Cobol используется для скучных бизнес-приложений и интересен только людям, которым необходимо создавать компиляторы и инструменты для него. По сути, крутые дети не используют Кобол, а я использую «круто» так свободно, чтобы включить меня. Вам придется пойти в разные места, например, в бизнес-школу, чтобы найти людей, живущих в Коболе.
Дэвид Торнли
4

Если вы хотите устроиться на работу программистом на COBOL, тогда, конечно, продолжайте и изучите его.

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

Энди Лестер
источник
ИМО, современные методы программирования имеют мало общего с языками программирования и больше связаны с методологией программного обеспечения. Есть разработчики, которые не видели ничего, кроме ОО-языков в своей жизни, и все же не могут описать, на что похож хороший ОО-дизайн. Хорошие принципы программирования и разработки программного обеспечения превосходят языки программирования. Я бы предположил, что молодой разработчик с приличными навыками будет иметь больший опыт обучения разработке программного обеспечения, имея дело с отсутствующим критическим «процедурным» наследием, чем еще один слой процедурной коры, написанный на Java (кстати, я разработчик Java)
luis.espinal
3

В 2000 году я прочитал статистику, что было написано больше строк на языке COBOL, чем на всех других языках вместе взятых.
Добавьте к этому гарантию IBM, что любая колода TEXT (объектный код), скомпилированная в любой системе MVS, является исполняемой на всех их системах MVS, и у вас есть гарантия того, что будет программирование на языке COBOL, пока светит солнце.

Дейв
источник
6
Если вы думаете о том, насколько многословен COBOL, это неудивительно ;-).
Оливер Вейлер
3

Я могу рассказать вам, как я его «выучил»:
я работал с ним, не понимая, о чем он, и не испытывал трудностей в обучении за одну ночь.

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

Общий ответ: изучите принципы кодирования, а не их конкретные реализации (например, языки и т. Д.)

Геннадий-Ванин
источник
2

Я бы не стал тратить на это время.
В любом случае, COBOL является строительным материалом для многих унаследованных прикладных программ, которые являются критически важными для нескольких крупных компаний, запущенных 20-30 лет назад.
Итак, если вы наняты для компании, которая имеет часть своего основного бизнеса в COBOL, есть вероятность, что вы должны начать изучать это.

systempuntoout
источник
Подобно? (15 символов)
TheLQ
@ TheLQ Банки или страховые компании, основанные 20-30 лет назад, имеют свои программные фонды в COBOL.
Systempuntoout
2

Изучите это, если вам нравится, в конце концов, знание того, как все работает (или привыкло работать), не может быть плохой вещью.

Однако я бы рекомендовал не подчеркивать ваши навыки COBOL слишком много в вашем резюме.

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

Так что да, учитесь, если вам интересно, просто никому не говорите.

Julio
источник
1

Возможно, не стоит с точки зрения рынка труда, но вы, возможно, захотите взглянуть на это просто, чтобы понять, как все было сделано "в добрый день". ^^

gablin
источник
Единственный раз (я думаю), когда рынок был плох для COBOL, был во время апокалипсиса доткомов с электронной рекламой и всем остальным.
luis.espinal
1

С личной точки зрения, я бы сказал, что сначала есть чему поучиться. Тем не менее, многие крупные компании вкладывают очень большие средства в свою кодовую базу COBOL, которую они, вероятно, никогда не смогут оставить позади, создавая индустрию для программистов на COBOL для поддержки кодовой базы, а также для написания нового кода. Компания, в которой я работаю, является крупной финансовой компанией, и наш технологический раздел для разработчиков составляет примерно 30% COBOL, 40% Java и 30% C #.

Крис Найт
источник
2
умеет, да, но почему - рабочий код - это рабочий код.
0

Я только что сделал поиск слова «кобол» на крупнейшем в Австралии веб-сайте по трудоустройству. Он дал 87 результатов, и (из краткого обзора) они в основном выглядят как унаследованные должности в банках и финансовых учреждениях. Преимущественно заметно лучше оплачиваемая, чем более «современные» языковые работы - вероятно, из-за редкости опыта Кобола.

Так что да, похоже, что Cobol стоило бы учиться, если вы 1) не возражаете заниматься обслуживанием наследия и 2) вы хотите попасть в нишу, которая хорошо оплачивается и, вероятно, не очень конкурентоспособна, поскольку это то, что мало кто изучает больше.

(Я предполагаю, что рынок Кобола будет похож в большинстве стран Первого мира, но может ошибаться?)

Бобби Столы
источник
Даже банковское дело / страхование / PA медленно развиваются к более современным технологиям. Так что теперь войти в эту нишу может быть хорошо, но что произойдет, когда в конечном итоге весь устаревший код и его нишевый рынок исчезнут?
Wizard79 15.10.10
@ Лоренцо: Ну, это можно сказать о любой специальности в нашей области (даже во всех областях в целом). Переподготовка. например. Водители паровозов должны были пройти переподготовку и стать машинистами дизельных или электровозов и т. Д. И т. Д. :)
Бобби Столы
Но COBOL уже ниша ... идея состоит в том, что, если вы примете COBOL сейчас, вам, вероятно, придется переучиваться раньше, чем другие технологии.
Wizard79 15.10.10
1
@Lorenzo - Нет, не совсем. Тот факт, что они не являются основными в CS Univ., Автоматически не делает их нишу. Это просто означает, что вы не двигаетесь в кругах, где вы сталкиваетесь с ними. Сколько рабочих, которые работают на производстве автомобильных линий, вы знаете? Военно-морские архитекторы? Пилоты самолетов? Ты думаешь, они тоже ниши? (а также для обеих этих категорий категорий у вас будут проблемы с поиском объявлений о работе). Нужно знать, где искать.
Ладья
1
@Lorenzo - Вы действительно верите всему, что код и база знаний COBOL и FORTRAN в конечном итоге будут переписаны? Я имею в виду, серьезно. Я никогда не встречал никого в отрасли и в научных кругах, кто считает, что это возможно, а тем более желательно . Как бы ужасно не выглядел COBOL (субъективная реакция), эти системы работают хорошо, намного лучше, чем электронная ерунда, которую мы создавали со времен доткомов. Это свидетельство промышленного качества. Лучше в инженерном и экономическом отношении поддерживать эти системы, а не переписывать их (при условии отсутствия риска и бесконечных экономических ресурсов.)
luis.espinal
0

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

Нет никакого способа, которым я мог бы коснуться ни кобола, ни проблемной области (областей), которые используют это интенсивно с 10-футовым полюсом. Я бы лучше перевернул бургеры.

Также подумайте, предлагает ли язык какой-то бонус / улучшение ваших способностей / концепций программирования. Я не могу придумать, что COBOL может сделать / реализовать / использовать, что не сделано лучше или может быть продемонстрировано лучше на другом языке.

Вы и другие можете чувствовать по-разному.

Тим
источник
0

Существует еще много устаревших систем, написанных на языке COBOL. Если вы хотите сохранить их или перенести на другие языки программирования, вам все равно стоит изучать COBOL.

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

Адриан Мотыга
источник
В период с 2004 по 2005 год я участвовал в проекте по модернизации флота в моей стране, перенеся около 200KSLOC Ada83 на Ada95 и около 25KSLOC COBOL68 и COBOL74 на Ada95. Я изучил COBOL в 1987 году, и это определенно стоит времени и усилий, чтобы изучить COBOL. Я не мог себе представить, если бы у меня не было предварительных знаний о коболе.
Адриан Хо