Чи все ж COBOL варто вчитися? [зачинено]


23

Чи все ще має сенс навчання COBOL?


9
Це буде близько 9990, не впевнений, чи проживеш ти так довго.
Toon Krijthe

4
@Gamecat --- Тільки якщо проблему Y10K до цього часу не вирішили неліниві компанії чи особи, правда ?!
Позначте C

2
Пам’ятайте, що один COBOL не заведе вас далеко. Вам потрібно вирівняти стек для ОС, з якою ви хочете працювати. Наприклад, на машинах IBM вам знадобляться VSAM, MVS або Z, CICS, ISPF, крім COBOL можуть бути IMS і ISPF, Panvalet / Easytrieve, JCL.
NoChance

2
cobol.com виглядає дійсно Web 2.0-ish і вони роздають кавову машину! Якщо це не сучасно і прагматично, і вставте модницю, то я не знаю, що.
Рафаель Р.

Ви можете отримати стабільний дохід, якщо ви добре отримаєте це і знайдете магазин COBOL.

Відповіді:


26

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


13
70% існуючої інфраструктури працює на COBOL. Від перенесення дебетової картки на банкоматі, до онлайн-бронювання літака, навіть до маршрутизації дзвінка на мобільний телефон. Усі ті, хто працює на COBOL (або значною мірою від цього залежить), навряд чи є нішею чи спадковим середовищем. Більшість цих систем працювали майже безперебійно і добре протягом десятиліть (набагато кращий досвід, ніж у нас на Java та .NET), а кількість програмістів COBOL зменшується. Хочете заробити багато $$$? Позиціонуйте себе з величезним дефіцитом COBOL, який має виникнути приблизно через десятиліття.
luis.espinal

14
@ luis.espinal: ні, це звичайний міф, і 70% відсотків вже не відповідає дійсності. Використання COBOL постійно зменшується, і врешті ми його позбудемося. І ... COBOL бере участь у маршрутизації телефонних дзвінків? Я не думаю, що так. Можливо, у виставлення рахунків за телефонні дзвінки, але навіть зараз це малоймовірно.
Wizard79

6
@Lorenzo - 70% міф? Не бере участь у телекомунікаціях? Чи можете ви створити резервні копії цих вимог? Ми навіть не враховуємо його участь у доставці (десятки К контейнерів / рік), а також у галузі охорони здоров’я. Я не знаю, як це там, де ти працюєш, але тут, у Північній Америці (і в багатьох інших місцях), COBOL існує у великій кількості і працює добре . Чому хтось несе за собою ризик переписати щось, що працює, і це важливо для місії ? Я б хотів пофантазувати, що перепишу все на Java або C ++, але є фантазія, є інженерія програмного забезпечення та економія програмного забезпечення.
luis.espinal

9
@ luis.espinal: оскільки я працював у телекомунікаційній індустрії, я напевно знаю, що пристрої телефонних станцій не використовують COBOL ... вони засновані на спеціальному апаратному та програмному забезпеченні. Деякі компанії все ще використовують COBOL для виставлення рахунків та обліку, але нові (як-от мобільні оператори) навіть для цього покладаються на різні технології. Перемикання триває.
Wizard79

8
@ luis.espinal: мій тесть працює у великій телекомунікаційній компанії, пише програмне забезпечення для нових комутаторів. Я абсолютно позитивно вам гарантую, що він НЕ використовує COBOL!
Боб Джарвіс - Відновіть Моніку

36

Нуо, звичайно ні. Зрештою, COBOL - це мертва мова. Або це?

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

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

Ви хочете побачити COBOL? Перейдіть до компанії, яка обробляє заробітну плату, або обробляє вантажні перевезення товарів, або доставку (як на кораблях), або обробляє ваш банківський рахунок. Існує величезна невидима система коду, яка практично непомітна для користувачів, і більшість з них ніколи не замислюються над цим, хоча стикаються з ним так чи інакше щодня (банкомати?)

Ні, він не мертвий. Але це "спадщина" точно ... чи це?

Знову ж таки, залежить, як ви на це дивитесь. В даний час багато людей будуть використовувати Java, C або будь-що інше замість COBOL, переписуючи з нуля ... вводячи нові помилки, коли вони йдуть разом, природно. Це не означає, що COBOL не має помилок і примх. Це так само, як і наступна мова. Звичайно, так і є. Але в "часи COBOL" компанії, які сприймали помилки серйозніше, ніж зазвичай (страхування, банки), як правило, випускали код вищої якості зі спеціальними групами якості послуг; сьогодні існують терміни, коли час і бюджет завжди перемагають над якістю. Крім того, ці системи спочатку розроблялися протягом більш тривалих періодів тоді порівняно з еквівалентом зараз.

Якщо якесь програмне забезпечення працює 30+ років, де стимул перейти? Цілі компанії припинили свою діяльність, тому що вони ігнорували стару приказку про те, що "якщо вона не зламається, не виправляйте". Багато хто намагався переписати річ ... тоді перший перегляд коштував дорожче, потім другий коштував навіть дорожче ... і жоден із нових та вдосконалених не зміг його замінити. Як я вже говорив, ця галузь швидко горіє, і вона, як правило, швидко забуває.

У 70-х роках COBOL помер або скоро помер, C / C ++ збиралися правити. Потім знову на початку 80-х Паскаль перебирав на себе. Тоді в 90-ті роки це була Java як мова ...

Подумайте про 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 / настільний / Веб 2.0, гарний спосіб забути про простори світу обчислень.
Пол Натан

8
То де ж усі ці COBOL програмісти? Водіння таксі.
johnc

1
@johnc - звідки ти це взяв? 70% існуючої інфраструктури працює на COBOL, і є брак програмістів COBOL. Можливо, було б важко влаштуватися на роботу, якби ти тільки знав COBOL ще в дні крапок (ми говоримо вже десятиліття). Але зараз??? Людина, COBOL буде користуватися великим попитом приблизно через десятиліття саме через критичність цих систем та дефіцит розробників програмного забезпечення, які знають (або досить розумні, щоб ризикнути) співпрацювати з COBOL.
luis.espinal

2
@ luis.espinal Я повністю (і болісно) знаю проблеми, з якими стикаємось із відсутністю програмістів COBOL, однак мій коментар був висловлений, дещо легковажно, зізнаюся, з досвіду. Принаймні, в Австралії майже кожен водій таксі, якого я зустрів, за останнє десятиліття, який не був недавнім іммігрантом (і, можливо, хтось із них), був колишнім програмістом COBOL. Мабуть, збіг обставин, і я кажу, що це не дає жодних особистих оцінок щодо водіїв таксі, іммігрантів та розробників COBOL. Це просто спостереження.
johnc

2
@johnc - Я не сумніваюся у твоєму слові, але мені здається, що це спостереження надзвичайно важко повірити.
Грак

16

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

Власне, немає такого поняття, як зайві знання, тому розширюйте знання та ширші можливості, які ви (будете) мати.


1
Зважаючи на те, що немає такого непотрібного знання, я висуваю Intercal на наступну мову, яку ви вивчаєте!
Тихон Єлвіс

@TikhonJelvis: Занадто легко, надто просто. Malbolge - це те, що ви шукаєте.
Маг

15

КОБОЛ

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

Однак якщо вам цікаво створити нові рішення, а не повільно вдосконалювати ті, що існують з десятиліть, COBOL, ймовірно, не є правильною мовою.


8

Багато європейських компаній все ще сильно покладаються на мейнфрейми, що працюють як програми z / vse та cobol. Існує попит на кваліфікованих програмістів коболів, що ніхто не думає, що ринок заповнить, що збільшує зарплату, багато.

Питання повинно бути таким: "Чи буду я коли-небудь розробляти щось нове за допомогою кобола?" оскільки майже все - це обслуговування або зміни існуючих важливих місій.


5

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

Якщо ви не хочете працювати в такому місці (тому я просто працював там 6 місяців), тоді навіть не думайте вивчати ці мови.


Робота над основою економіки, обробка такого типу трафіку, це, безсумнівно, сприймається багатьма як хороша інженерна та бізнес-можливість.
luis.espinal

5

Ми щодня пишемо новий код Cobol і постійно шукаємо нових програмістів. Тут пропозиція занадто мала.


5
Це дійсно страшно, але цікаво. Я ніколи не зустрічав справжнього живого програміста коболів (і я не весняна курка)
Тіма

3
Чому страшно? Напевно, ви ніколи не зустрічалися з програмістом Lisp ...

@Tim Там є хлопець з MicroFocus, який пише статті про Code Project - все в COBOL ... для .NET! Дійсно дивно бачити COBOL оновлений більш сучасними технологіями.
MetalMikester

2
@Thorbjorn - я раніше кодував Lisp і знаю програмістів Lisp. Можливо, я просто необізнаний і упереджений, але те, що я знаю про кобол, не змушує мене думати над створенням БІЛЬШЕ коду на цій мові.
Тім

1
Lisp використовується для цікавих проектів, і сама по собі є цікавою мовою. Так само C ++, Ruby on Rails, Smalltalk та Haskell. Cobol використовується для нудних бізнес-додатків і цікавий лише людям, яким доводиться створювати компілятори та інструменти для цього. По суті, круті діти не користуються Cobol, і я використовую "cool" так нещільно, що мене включають. Вам доведеться їхати в різні місця, наприклад, бізнес-школу, щоб знайти людей Кобола.
Девід Торнлі

4

Якщо ви хочете влаштуватися на роботу програмістом COBOL, то обов'язково продовжуйте та вивчайте її.

З будь-якої іншої причини, як, наприклад, намагатися дізнатися щось корисне, що може допомогти вам у сучасних методиках програмування, ні, не турбуйте.


ІМО, сучасні методи програмування мало стосуються мов програмування і більше стосуються програмної методології. Є розробники, які не бачили нічого, окрім мов ОО в житті спадкоємців, і поки не можуть описати, що таке хороший дизайн ОО. Хороші принципи програмування та інженерії програмного забезпечення виходять за рамки мов програмування. Я б міг уявити, що молодий розробник з гідними навичками матиме кращий досвід навчання інженерії програмного забезпечення, який має справу з відсутньою критичною "процедурною" спадщиною, ніж ще один шар процесуальної кори, написаний на Java (я Java-розробник btw.)
luis.espinal

3

У 2000 році я прочитав статистику про те, що написано більше рядків COBOL, ніж всі інші мови разом.
Додайте до цього гарантію IBM, що будь-яка колода TEXT (об'єктний код), зібрана в будь-якій системі MVS, може бути виконана на всіх їхніх системах MVS, і ви маєте гарантію, що буде програмування COBOL навколо, поки світить сонце.


6
Якщо ви думаєте про те, наскільки багатослівний COBOL, це не дивно ;-).
Олівер Вайлер

3

Я можу вам сказати, як я це "дізнався":
я був працевлаштований працювати з ним, не маючи поняття, про що йдеться, і не мав труднощів з його вивченням за ніч.

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

Загальна відповідь: вивчіть принципи кодування, а не їх конкретні реалізації (наприклад, мови тощо)


2

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


Подібно до? (15
годин

@TheLQ Банки або страхові компанії, розпочаті 20 \ 30 років тому, мають свої програмні основи в COBOL.
systempuntoout

2

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

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

У деяких місцях (наприклад, у Кремнієвій долині, де я проживаю) наявність COBOL у вашому резюме несе відповідальність. Ну звичайно, ви можете знайти місце тут і там, хто потребує вашої експертизи, і в такому випадку продовжуйте рекламувати лише ті місця . Але загалом, зробіть собі прихильність і забудьте згадати, що ви знаєте COBOL.

Так що так, навчіться це, якщо вам цікаво, просто не кажіть нікому.


1

Можливо, це не варто з точки зору ринку праці, але ви, можливо, захочете поглянути на це лише для того, щоб відчути, як це робилося "в добрий день". ^^


Єдиний час (я думаю), коли ринок був поганим для COBOL, був під час апокаліпсису dot-com із e-hype та все.
luis.espinal

1

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


2
може, так, але чому - робочий код - це робочий код.

0

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

Так, так, здається, що Коболу варто було б навчитися, якщо ви 1) не проти робити застаріле обслуговування і 2) ви хочете потрапити в нішу, яка є добре оплачуваною і, мабуть, не дуже конкурентоспроможною, оскільки це вже мало хто навчається.

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


Навіть банківська справа / страхування / ПТ повільно розвиваються до більш сучасних технологій. Тож зараз вхід у цю нішу може бути хорошим, але що буде, коли врешті-решт весь застарілий код та його ринок ніші зникнуть?
Wizard79

@Lorenzo: Ну, це можна сказати про будь-яку спеціальність у нашій галузі (навіть про всі галузі загалом). Перепідготовка. напр. Машини паровозів повинні були перекваліфікуватися та стати дизельними або електричними локомотивами тощо тощо.
Bobby Tables

Але COBOL - це вже ніша ... ідея полягає в тому, що якщо ви зараз приймете COBOL, вам, ймовірно, доведеться перекваліфікуватися раніше, ніж інші технології.
Wizard79

1
@Lorenzo - Ні, не дуже. Той факт, що вони не є мейнстрімом у cs univ.'s, автоматично не робить їх нішею. Це просто означає, що ви не рухаєтеся по колах, де стикаєтесь. Скільки працівників, які працюють на виробництві автомобільних ліній, ви знаєте? Військово-морські архітектори? Пілоти літака? Як ви думаєте, вони теж ніші? (а також для обох цих прикладних категорій у вас виникнуть проблеми з пошуку оголошень про роботу). Треба знати, де шукати.
Корінь

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. Я не міг уявити, якби не мав попередніх знань про COBOL.
Адріан Хой
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.