Чи існують причини використання COBOL, окрім застарілого програмного забезпечення?


11

COBOL як і раніше (сильно?) Використовується для фінансових обчислень. Це стара мова, і більшість програмістів AFAIK ненавидять або хоча б не люблять COBOL. Це викликає питання: чи є єдиною причиною використання COBOL те, що застаріле програмне забезпечення використовує його, чи має якісь реальні переваги перед іншими мовами програмування?

Просто цікаво.


3
Старе - це не причина сама по собі.

Ні, але, швидше за все, йому не вистачає сучасних особливостей через це. Це не так важливо, хоча мова інакше добре розроблена.
Анто-

Також досі сильно використовується в уряді, а не тільки в банківській справі.
BBlake

6
"Більшість програмістів ненавидять COBOL" - ну, я впевнений, що більшість програмістів також ніколи його не використовували. Я був би здивований, якби більше 5% цих "ненависників" мали будь-яку думку про його синтаксис або форму. Вони просто використовують це як приклад зла спадкових систем, не знаючи, що відбувається. Подібно до того, як FORTRAN часто розглядається.
TZHX

@TZHX: Однак вся цитата повинна бути "AFAIK більшість програмістів ненавидять або, принаймні, не люблять COBOL". Я не кажу, що це так, це просто те, як я трактував ситуацію. Але те, що ви говорите, може бути правдою, але я не знаю цього досить добре, щоб щось самому сказати, я використовував лише особисті спостереження за думками людей (які можуть страждати саме від того, що ви сказали).
Анто-

Відповіді:


12

Зараз це в основному спадщина. Багато критичних бізнес-систем все ще залишаються в COBOL просто за те, що вони настільки великі та інтегровані, що вартість переписування не здається вартим. Писати нову систему в COBOL, мабуть, вже неможливо, оскільки більшість розробників COBOL настільки дефіцитні, що вони можуть залучити значну суму грошей на спеціалізовану майстерність (подібно до розробника Foxpro зараз). Причин COBOL для того, щоб тримати додаток COBOL небагато, але, на жаль, поширене обґрунтування, коли додаток COBOL вже існує, надійний і щільно поєднаний з іншими системами, де його майже неможливо замінити. Саме це міркування саме тому, що його слід замінити, перш ніж потрапити в ситуацію, коли єдине обладнання, яке запускає додаток, повинно бути на замовлення, побудоване з частин Ebay з 80/90-х років.


Що змушує вас сказати "Зараз це в основному спадщина"? Я не думаю, що ти насправді знаєш, про що ти говориш. Я зараз працюю над новим проектом COBOL на мільйон доларів. Я також знаю про декілька інших дуже великих нових проектів розвитку, які використовують основну мову впровадження COBOL. Бажане мислення з вашого боку не робить його реальністю.
NealB

1
Не бери це у мене. Дослідження O'Reilley стверджують, що продажі книг Cobol майже відсутні в порівнянні з усіма іншими мовами. Це або тому, що розробникам не вистачає інтересу, або недостатньо розробників, які використовують його. Я впевнений, що ви можете знайти нову розробку за допомогою COBOL, але це все-таки МОШЕ спадщина (не вся спадщина). Я впевнений, що хтось із вас, хто спеціалізується на COBOL, матиме зв’язок із іншими людьми, які також використовують лише COBOL. Так само, як і у мене, тільки те, що мати друзів, які використовують одну мову, не означає, що я не меншина.
Райан Хейс

У нашій компанії ми майже копіюємо / вставляємо існуючий код, підлаштовуємо його відповідно до наших потреб і кажемо "зроблено". На щастя, я можу займатися своїм розвитком в C # / VB
Wayne Werner

4

COBOL як і раніше (сильно?) Використовується для фінансових обчислень.

Є це?

Це залежить від того, що ви називаєте фінансовими обчисленнями. Якщо ви називаєте весь код, яким керують фінансові установи, так, це, мабуть, так. Більшість мають правила ведення бізнесу, написані у 60-х та 70-х роках. Ризик + вартість оновлення таких систем до нового середовища не варто. Я сумніваюся, що хтось там пише новий код COBOL. Сьогодні є компілятори COBOL, які інтегруються, наприклад, у стек .NET. Часто існують інструменти для інтеграції та використання застарілих програм у сучасні стеки програмного забезпечення, але такі інструменти часто невідомі людям, яким не потрібно їх використовувати, оскільки це дуже ніша ринок.

Тепер, якщо ви називаєте фінансові обчислення чимось подібнішим, як програмне забезпечення для кількісних фінансів, я ніколи не чув про те, щоб хтось використовував COBOL. C ++ є набагато більш поширеним у деяких нішевих мовах, таких як k, похідна APL.


kі це нащадок qтакі болі
Андрій

@Andrey Це питання смаку. Я насолоджуюсь цим.
Vitor Py

пощастило тобі. Однією з найбільших проблем для мене є відсутність нормальних IDE та марних повідомлень про помилки
Андрій

2
@Andrey Так, відхід від основного середовища розробки є найбільшою проблемою при використанні нішевих мов. Раніше я використовував шаблон важкого C ++ коду, перш ніж його використовувати, тому я дещо звик до марних повідомлень про помилки :)
Vitor Py

@Andrey, IBM має інструменти на основі Eclipse для Cobol.

4

COBOL в основному бачить застаріле використання зараз. Користувальницька база повільно зменшується через виснаження, оскільки не записуються нові програми, а старі повільно, але, безумовно, припиняються.

Більшість систем COBOL, які можна було швидко та дешево замінити, вже замінені. Ті, яких немає, продовжують дорожчати для ремонту чи заміни, але дешевші та дешевші в обслуговуванні порівняно з новими системами - вони добре працюють на дешевому, застарілому обладнання, і після багатьох років служби - ні довше показувати нові помилки. Більшість помилок або були виправлені, або мають давні традиції, які підходять для роботи. Технічне обслуговування зазвичай зводиться до одного або двох спеціалізованих співробітників, які після тривалого часу роботи над системою знають про це ближче, ніж ви можете собі уявити.

Навіть з технічної точки зору, як правило, існують певні обґрунтовані причини зберегти старі системи. Вони відносно стабільні, здебільшого виправлені помилки і добре відомі / зрозумілі кінцевим споживачем.

Ви побачите, що система врешті-решт замінюється. Зазвичай цей крок відбувається з боку бізнесу:

  • Користувачів поточної системи замінюють молодші користувачі, які не можуть переконатись навчитися користуватися архаїчним інтерфейсом
  • Компанія не може знайти когось, хто найме на роботу для підтримки системи, за зарплатою, яка не викликає сумнівів у порівнянні з оплатою праці інших працівників
  • Хтось із великим бюджетом стає ніяково дізнатися, що основна система компанії працює на апаратному забезпеченні, яке можна замінити vm на ноутбуці
  • Приходить нова, товарна система, яка дуже дешево починати використовувати
  • Компанія, що використовує старіші системи, набувається, збанкрутує або іншим чином припиняє існування
  • Найважливіше нове, терміново необхідне функціонування, не може бути дешевим для взаємодії зі застарілою системою

2
Який твій твір настільки впевнений?

Я можу наголосити, що ваша впевненість невірна - у нас є кілька молодих (20-30-х років) нових наймань, які пишуть новий код Кобола (оновлення та / або копіювання та модифікацію існуючих систем), і у нас є щонайменше 10% наших ~ 200 розробників, які витрачають 80% + часу свого розвитку в Коболі. Думаю, ви побачите, що більшість місць, які використовують Cobol, є прямо протилежними тому, що ви описуєте.
Вейн Вернер

4

цікаво, що ти мав на увазі "Більшість програмістів". Я працюю у великому ІТ-магазині на тому ж поверсі, що і програмісти cobol, Java-програмісти, .NET-програміст (в однині), програмісти VB старого стилю. Немає ненависті чи неприязни. cobol - це мова, як і будь-яка інша мова програмування - люди, які програмують в cobol, роблять це, тому що це робота для них не відрізняється від програмування на Java або керування вантажівкою. На відміну від загальноприйнятої концепції в США, багато коболів продовжують писати, лише більша частина є в Індії, де щодня починають працювати нові програмісти Cobol.

Я думаю, що причина, чому не так багато чистих нових систем написано в Cobol, полягає в тому, що всі системи, для яких cobol підходить (велика обробка файлів), вже написані. В наші дні створюється дуже мало нових великих корпорацій. А ті, що роблять, можуть бути аутсорсинговими речами, такими як заробітна плата та пільги компаніям, які керують застарілими системами cobol.


2

Велика частина основного коду в PeopleSoft написана в COBOL.


Мені дано зрозуміти, що з розмови з представниками PeopleSoft на ІТ-конференції ще в 2004 році до того, як Oracle придбав їх, що це був лише один модуль продукту, який досі був у COBOL.
Кенна

Як це взагалі дає перевагу COBOL перед іншими мовами?
Матьє

2

Маючи 20 років досвіду роботи COBOL на трьох різних мейнфреймах, на мою скромну думку, мало справжніх програмістів COBOL, а натомість є програмісти IBM, програмісти Sperry (Unisys 2200), програмісти Burroughs (Unisys MCP) та Tandem (HP NonStop) програмісти. Виявляючи повагу до них, я також повинен згадати про наявність програмістів HP 3000, BULL-програмістів та DEC-програмістів.

COBOL здебільшого працює на великих залізних коробках. Мабуть, єдині справжні програмісти COBOL, за моїми власними мірками, - це ті, хто пише COBOL на вікні UNIX. Ого, я збираюся почути про це.

Оскільки апаратне забезпечення є центральним елементом, більшість програмістів, які пишуть COBOL, ідентифікують себе обладнанням, на якому працює код, який вони пишуть. Протягом багатьох років, слухаючи інших програмістів, які розповідають мені про достоїнства Сперрі, Берроуз або Тандему, я часто замислювався над тим, яка би війна ведеться, якби я розігнав їх і помістив у кімнату разом, не в змозі виїхати, поки вони не погоджено одну апаратну платформу для всіх COBOL. Я не згадав про інші платформи, тому що ніколи над ними не працював.

Я зустрічався і спілкувався з багатьма програмістами IBM, і вони називатимуть себе програмістами COBOL. Однак, якщо хтось залучає їх до розмови, вони швидко починають звертатися до конкретних процедур та інструментів IBM. Враховуючи апаратний характер COBOL, це дуже зрозуміло для всіх апаратних платформ.

Оскільки COBOL зазвичай пов'язаний з дуже дорогим обладнанням, доки цей апарат працює за допомогою програм COBOL, складених на ньому, тоді немає сильного бажання перейти з COBOL заради міграції. Однак зі старінням населення програмістів COBOL міграція неминуча.

Оскільки всі великі залізні коробки, на яких працює COBOL, також будуть керувати Java, Java - це природний шлях міграції від COBOL. Код може бути перетворений, особливо зараз, в умовах низької економіки, за досить економічну ціну. Після того, як на цьому великому дорогому апаратному апараті немає лише COBOL, а лише Java, то хтось, хто вище в організації, починає цікавитись, чи можна перенести код Java на якийсь інший набагато менш дорогий апарат.

Про це знають програмісти IBM, Sperry, Burroughs і Tandem, тому вони, ймовірно, НІКОЛИ не запропонують цю ідею. Це було б святотатством для деяких.


+1, дійсно дуже дорого. Плюс зазначення того, що Java стає Новим Коболом - який я бачив і я просто молодий долар, тому цікаво бачити, щоб хтось із досвідом робив те саме спостереження.
Вейн Вернер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.