Чому молоді програмісти не цікавляться мейнфреймами? [зачинено]


51

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

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

Чому це? Що робить мейнфрейми непривабливими для молодих програмістів?


40
1.) Вони дорогі 2.) Здається, немає симулятора або чогось, що ви могли б завантажити в VM (?) 3.) Абсолютно потрібно носити зв'язки під час роботи з мейнфреймами. :)
Інго

8
Якщо я щодня веб-розробник, я можу зробити кілька додаткових $$$, роблячи це для когось іншого у вихідні. Не так з мейнфреймами. Крім того, мейнфрейм не може «підкорити світ» так, як це зробили Facebook та Twitter та Angry Birds. Нарешті, чи допоможе мені ця робота допомогти мені в наступному?
Робота

86
Я молодий програміст. Я ніколи не бачив мейнфрейм, ніколи не мав грати з пісочницею / віртуальною мейнфреймом, ніколи до мене не підійшов друг і сказав: "Це дійсно круто, перевіри!". Я щодня бачу Інтернет, там є доступні - і безкоштовні - webapp програми для навчання розробників, і всі мої друзі роблять в ньому акуратні речі. Якого я вибиратиму? (Хоча, якби у мене був доступ до одного, я б обов'язково перевірив це, просто тому, що це може бути цікаво ... (Прокоментуйте, оскільки це по суті +1 для речей, сказаних нижче ...)
Beekguk,

5
Якщо у вас не було віртуальної мейнфрейму, з якою грати, Beekguk, це тому, що ви ще не шукали його .
ДАЙТЕ МОЕ правильне ДУМКА

48
Я займаюся програмуванням близько 35 років і не знаю, що ви маєте на увазі під "мейнфреймом". Якщо у мене є 128-процесорна машина під управлінням Unix, це основний кадр? Або ви маєте на увазі машини, що працюють із застарілими операційними системами, із програмами, написаними застарілими мовами?
Кевін Клайн

Відповіді:


98

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

По-перше, давайте відкинемо невігластво:

  • Різні претензії на неможливість випробувати мейнфрейми помилкові. Геркулес доступний з 1999 року - швидше за все, довше, ніж багато людей, які відповідають на програмування - і, незважаючи на те, що IBM скупиться над ним, шанси на те, що він скоро піде, незабаром є незначними (особливо, якщо це відкритий код). Хоча насправді правда, що ви не можете (легально) запустити дороге програмне забезпечення для нього, є чимало програмного забезпечення, яке можна запустити на ньому, в тому числі програмне забезпечення, яке насправді все ще використовується досить часто.
  • Знову ж таки, всупереч суспільній думці, мейнфреймів більше, ніж COBOL, CICS та RPG2. Насправді майже (але не зовсім) все, що можна запустити на вашому ПК під управлінням Linux, можна запустити на мейнфреймі. <іроні> Я не впевнений, чому. </irony>

То чому я так уникаю мейнфреймів все життя після того, як стикався з ними у школі? Ну:

  • Хоча це правда, що ви можете використовувати більше, ніж COBOL, CICS, RPG2 тощо, в мейнфреймах, шанси дуже великі, що якщо ви працюєте з ними, це те, що ви відмовитеся робити. Ще гірше, незважаючи на те, що COBOL протягом останніх двох десятиліть масово "модернізувався" (лякайте цитати, тому що я все ще не думаю, що це дуже сучасна мова), більшість кодування, яке ви робите в COBOL, все ще буде в старому -стиль код, тому що ...
  • У мейнфреймах відбувається дуже мало фактичних нових розробок. Якщо ви влаштуєтеся на роботу в IBM, працюючи на відділ науково-дослідних операцій на мейнфреймі, ви можете отримати шанс зайнятися новою розробкою (і в такому випадку ви можете навіть дуже насолоджуватися своєю роботою!). Насправді, правда, зіткнися з цим: ти там не будеш працювати. Ви будете працювати в задній кімнаті якоїсь фінансової установи чи іншої підтримуючої 50-річної коди COBOL, яку написав хтось, хто все ще вважає, що 64 КБ - це величезна величезна оперативна пам'ять. (Цей самий хлопець, мабуть, буде вашим начальником.)
  • Хоча це правда, що ви можете запускати Linux на мейнфреймах і, таким чином, мати доступ до майже будь-якої мови програмування або середовища, яке ви хотіли б, знову ж таки, як і при роботі з розробкою та розробкою мейнфрейму IBM, ви не збираєтеся отримувати цю роботу. Повернувся до підтримки цієї 50-річної COBOL.
  • Корпоративне програмування є дуже ефективним для висмоктування душі з вас (і пам’ятайте, це корпоративне програмування, яке ви збираєтеся робити як програміст з основних систем, якщо вам НЕ ДУЖЕ пощастить).
  • Це гетто і постійно скорочується. (Це як MUMPS таким чином.) Якщо ви занадто заглиблені в мейнфрейм, ви ще більше віддаляєтесь від будь-якого не мейнфрейму. Можна спробуватипродовжувати, але ви цього не зробите. Я знаю, хтось зазначив, що мейнфрейми зросли в продажах, в той час як інші серверні сектори трохи скоротилися, але серверне програмування є меншою мірою в наші дні. Пекло ПК загалом втрачає значення. Світ програмування дуже широкий і дуже різноманітний, і його одна незначна частина зростає порівняно з іншою мізерною частиною безглуздо, якщо порівнювати, скажімо, з раптовим, вибуховим зростанням програмування на щось таке ж тривіальне, як iPhone (що саме по собі є платформа меншості - далеко). Ні, почніть працювати в мейнфреймі, і ви матимете лише інші мейнфреймери, з якими поділитеся своїми думками, своїми радощами та своїми лютьми - і вони вмирають. Це призводить до негативного циклу зворотного зв’язку, завдяки чому стадо зменшується ще більше і швидше.

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


11
"Якщо я зайшов і виявив, що мені це не подобається, як мені вийти?" --- залишати?
Aaronaught

36
Залишити куди? Мої навички щодо підтримки 50-річного COBOL не переносяться на написання сексуальних веб-програм або додатків для iPhone / Android чи будь-чого іншого.
ПРОСТО МОЕ правильне ДУМКА

24
Якщо ви зможете за два місяці розібратися в цілій царині роботи, ви набагато яскравіша людина, ніж я.
ДОВОЛЬНО МОЕ правильне ДУМКА

11
@Aaronaught У конкурентному світі ІТ, якби витратили пару років, щоб насправді підійти до розумної швидкості в мейнфреймі, ти не втратив би своїх попередніх навичок, але ти автоматично був би менш привабливим, шукаючи інших працюйте так, як якщо б ви два роки займалися лісовим господарством або керували Starbucks: виглядаючи, що ви навіть трохи не виходите з петлі, чи не маєте ви користі, якщо порівнювати його з тим, хто не виглядає так.
Меттью Фредерік

5
@Aaronaught Я погоджуюся, що ти можеш вийти і що це не зіпсує твою кар’єру назавжди, нічого гіперболічного. Я стверджую, що це зробило б вас менш конкурентоспроможними, і що для більшості сучасних роботодавців це не допоможе вашій кар'єрі набагато більше, ніж іншим мислячим роботам - я не використовував «ландшафтний дизайн» як приклад, я використовував роботи, які вимагають роздумів .
Меттью Фредерік

59

Мені 27 років і я був професійним розробником більше 4 років (тож сподіваюся, що це мене кваліфікує як ще молодого). Я також працюю фахівцем з питань інтеграції, тому я отримую велику експозицію у світі розвитку мейнфреймів.

  1. Здається, що у громаді мало інновацій чи взагалі немає.
    Я знаю, що це не зовсім так, але випадковому спостерігачеві так здається. Ніхто не хоче вплутуватися в область, де важко «залишити свій слід».
  2. Скільки нових розробок чи нових проектів відбувається?
    Наскільки я не можу сказати. Якщо ви заходите в цю область, ви засуджуєте себе програмістом з технічного обслуговування.
  3. Це не є доступним для випадкового учня.
    Більшість людей почали вчитися програмувати на своєму ПК вдома. Знову ж таки, більшість людей не люблять перемикатися з того, що знають. Тому перехід від одного до іншого вимагає часу та мотивації. Враховуючи інші 2 причини, тих, хто приймає, не так багато.

20
+1: Це добре відповідає моєму досвіду. Абсолютна остання інстанція - ввести новий код на старі системи, і багато поважних ліній виходять з підтримки, тому стара лінія "надійності" починає пробиватися. Одне, що ви не згадуєте, - це те, що обслуговування мейнфреймів є дуже специфічним та дуже захищеним. Ви ставите роки свого життя в мертву чи вмираючу галузь техніки. Це не допоможе вам отримати будь-яку роботу, окрім роботи, що працює за тією ж системою, і таких все менше.
Satanicpuppy

Навіть у загальнонадійній економіці продажі мейнфреймів IBM зростають . Це не дуже швидке зростання, але це більше, ніж їхні конкуренти (вони нещодавно перейшли HP, щоб зайняти перше місце в продажі сервера).
Джеррі Труну

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

25

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

Останні 10 років мого трудового життя було присвячено програмуванню мейнфреймів. Дізнавшись про все, що потрібно знати про batch, jcl, Cobol, Assembler, Easytrieve, CICS та веб-сервіси, і мені це сподобалось неабияк, і я б все ще робив це, якби не помітив тенденцію. На моєму останньому місці роботи я працював пліч-о-пліч із веб-розробниками (jsp, javascript, весна та сплячка), і я помітив, що компанія залучає веб-розробників із порівнянним досвідом роботи за набагато більше грошей. Не кажучи вже про те, що позиція веб-розробників була набагато менш напруженою.

Після того, як втомився від цієї тенденції, я вирішив вийти з мейнфрейму. Тепер я перебуваю в стані, коли я розробляю веб-сервіси з java та інтерфейсом інтерфейсу з javascript. Цей стиль програмування не складніше, ніж те, що я робив на мейнфреймі, але зараз я заробляю більше грошей і менше болю в голові. Я більше не отримую цього дзвінка о 2:00, що щось не вдається і основні системні процеси чекають на мене, щоб виправити свої проблеми. Отже, дайте мені одну вагому причину, чому я залишаюсь програмістом мейнфрейму, коли можу заробити більше грошей і менше напружуватись у своєму житті як програміст розподілених систем?

Я впевнений, що існують обставини, коли компанії платять за мейнфреймери, а також за розподілені системи, але я особисто не знайшов їх. Крім того, я почав займатися пошуком роботи з обох точок зору і виявив, що розподілені списки вакансій в системі перераховують число списків завдань на мейнфреймі щонайменше від 10 до 1. Це говорить про те, що на даний момент для мене кращі можливості роботи мейнфрейм - це не місце бути.


Цікаво, що ти це кажеш. Я на рік молодший за вас і помітив дуже схоже. Це майже чому я задав це питання.
темптар

Я подумав, що хлопці з мейнфрейму платять вантажівками
Kemoda

2
Я думаю, якби ви хотіли заробити мільйон доларів на рік програмістом, спосіб зробити це було б останнім хлопцем у BigAmericanBank, який знає, як працюють їхні банківські системи.
Warren P

Як ви заробляєте менше, підтримуючи критичні банківські системи, люди, які знаходяться в спокої, тобто дзвонять о 2 ранку, зазвичай найбільше заробляють.
ALXGTV

19

З того, що я бачив до цих пір, і порівнюючи Linux та Windows, основна проблема з мейнфреймами та середніми рамками полягає в тому, що ви ОБОВ'ЯЗКОВО заплатите за їх використання. І платити багато. Щороку. За все.

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

На жаль, бізнес-модель IBM не дозволяє зробити машини дешево доступними для студентів, інакше вони можуть мати шанс змінити це.


4
+ 1- Не тільки сервери дорогі, але і ліцензії можуть бути і зверху, і щоб отримати будь-який базовий інтероп.
Морган Херлокер

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

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

ІТ - це дивна галузь. Ви не можете грати з мейнфреймами у вашому підвалі, так само, як ви не можете грати з, скажімо, реактивними двигунами у вашому підвалі, все ж є люди, які працюють на цих Dreamliners та F-35.
el.pescado

14

Одне з моїх перших літніх робіт на посаді програміста багато в чому базувалося на вискоблюванні зелених екранів та PRN-файлів. Тоді я, мабуть, не подумав би забруднити руки в COBOL (тобто якби вони мені довірилися як студенту, щоб впустити мене до цього коду), але я не впевнений, чи не ставлюсь я так само до та сама перспектива сьогодні.

Я не думаю, що проблема насправді пов'язана з мейнфреймами . Це (часто виправдана) одержимість нашої галузі новим і блискучим.

Подивіться на C. C як і раніше очевидно є критично важливою мовою. Практично всі вбудовані коди та більшість операційних систем написані на C. Це не буде нікуди швидше. І все ж знайти С програмістів все складніше. Швидкий доступ на тег сторінки «Переповнення стека» розміщує його на 1/6 розміру [c#]та на 1/4 розміру [java]. Хтось пам’ятає, коли C по суті був домінуючою мовою, імовірно, єдиною грою в місті?

Програмісти люблять потужні інструменти. Можливо, це тому, що (SPECULATION ALERT) більшість програмістів - хлопці. Ви даєте програмісту Java або .NET завдання, скажімо, скопіювати файл, і багато хто, якщо не більшість, все ж таки вирішать написати його на Java або C # замість того, щоб написати пакетний файл DOS або сценарій оболонки * nix, який би був 50 разів швидше писати та розгортати. Навіщо використовувати вудку та котушку, щоб ловити рибу, коли у вас є гігантська висувна сітка, яка може зловити 500 риб?

Так, COBOL і PL / I старі , але так і Паскаль, і він все ще живий і брикається у формі Delphi. Відраза до колишньої, ймовірно, випливає з того, що ці мови непрості в порівнянні з сучасними інструментами. Об'єктно-орієнтована все ще є відносно новою концепцією у світі COBOL (акцент на відносному ), але у світі C # LINQ та generics та AJAX перестали бути революційними років тому. Попросити розробника, який звик до цих інструментів, почати програмування на мейнфреймі - це як попросити рок-музиканта почати грати на банджо.

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

Нарешті, більшість програмістів не користуються роботою з технічного обслуговування, і майже вся робота на мейнфреймі - це обслуговування. В PL / I написано не багато нового програмного забезпечення. Будь-яка робота, визначена повністю або значною мірою навколо коду технічного обслуговування, автоматично починається з від’ємного балу.

Там є позитиви для роботи над старим кодом ( «успадкованими» , що охоплюють мейнфреймами і багатьох інших), які ви , ймовірно , потрібні , щоб грати, якщо ви намагаєтеся залучити натовпу молодих:

  • Системи, як ви кажете, є критичною інфраструктурою. Молодші розробники, принаймні у світі бізнесу (не Google / Microsoft), часто не отримують шансів зробити реальний вплив . Працювати над системою, яку ви знаєте, просто відмовитись або замінити через декілька місяців або років. Додаткові програми для основних програм, які вже працюють протягом 50 років, ймовірно, запускатимуться набагато більше, тому що компанії не має сенсу відбудовувати їх, тому робота, яку ви робите в них, насправді важлива для багатьох людей.

  • Якщо ви один з тих небагатьох компаній , які на насправді дійсно має схильність до «модернізації», то багато програмістів, як молодий і старої, буде залучено такою можливістю, тому що тоді є подвійні можливості для роботи на критично важливі кодах і згинати деякі з цих C # / м'язів Java. Очевидно, жодна розумна компанія не буде просто брати мейнфрейм і відновлювати з нуля, але я бачив системи, які (наприклад) мають ядро ​​COBOL, яке інтегрується з компонентами Java.

  • Нарешті, є необхідність - принаймні, як ми сприймаємо це сторонніми особами. Якщо весь ваш код знаходиться у .NET, то завжди існує ризик, що власники зможуть торгувати вами для випускника, який закінчив навчання в коледжі, або ще гірше, офшорної команди, в помилковій спробі скоротити витрати. Я не думаю, що це трапляється дуже часто в світі мейнфреймів, особливо якщо те, що ви говорите, є правдою, а пропозиція, здається, зменшується. Звичайно, цей момент є суперечливим, якщо ви не заплатите достатньо добре; зарплати потрібно скоригувати, щоб відображати зменшення пропозиції, інакше люди не "продадуть".

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

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


12
6 років тому в моєму магазині було 4 20-річні програмісти мейнфреймів, а зараз у нас немає. Не починайте думати, досвід зробить вас незамінними.
Satanicpuppy

1
@aaronaught: Звільнили, звільнили, викупили, кинули. Які новіші технології? Це середовище мейнфрейму. Це не змінилося суттєво за 30 років. Нове обладнання, оновлена ​​ОС, ті ж хитрі програми. Коли їх уже не було, ми вивантажили 95% того, що вони зробили для зовнішніх систем, і ми ретельно працюємо на решті. Для моєї корпорації це майже все, як минуло останні 10 років.
Satanicpuppy

3
@aaronaught: Ви повинні зрозуміти процес , але код зазвичай може піти на прогулянку. Так багато речей робиться, щоб подолати обмеження системи. Якщо мені доведеться надіслати зашифровану партію кредитної картки до нашого постачальника товарів (наприклад), це зробити насправді простіше з сучасної машини Linux. І звітування набагато простіше: ми робимо тонни звітів та прогнозів, більшість з яких робимо на історичних даних, і тому ми можемо вивантажити набори даних і помістити їх у сучасну базу даних, а потім генерувати кричущі звіти із звітами Crystal (або будь-що інше).
Satanicpuppy

2
Що стосується C - можливо, питання менше "мало розробників" і більше "мова простіша і стабільніша, і менше запитань потрібно задавати"? Навряд чи дивно, що C # породжує багато запитань - нескінченний потік нових API та ін. Нагадує мені joelonsoftware.com/articles/fog0000000339.html
Steve314,

3
Програмування відійшло від абстракції низького рівня, яку пропонує C, і ми все для цього краще. Якщо ви не розробник лише для С, то писання на мові C займе у вас набагато більше часу. І нескінченно більше часу, якщо ви розробник типу коду-мавпи. Я вважаю за краще витрачати свій час на вирішення цікавих проблем, що стосуються домену, а не дивного / дивного.
Зоран Павлович

9

Я молодий-іш (середина 30-х років) і зараз працюю в підтримці мейнфреймів. RPG, COBOL, пропітерне лайно 4GL. Розвиток відбувається повільно, і де це можливо, переходить на більш сучасне обладнання з використанням більш сучасних мов.

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

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


Ви знаєте, я гадаю, на якомусь рівні, навіть якщо не на свідомому, що БУДЬ-яку мову можна використовувати в мейнфреймі, правда? Ось трохи підказки.
ПРОСТО МОЕ правильне ДУМКА

@JUST: Linux є мовою програмування? Публікація linux-сайту начебто ви перебуваєте як підліток. Переважна більшість мейнфреймів були розгорнуті ще до того, як Linux досяг будь-якої зрілості. Колись мейнфрейми були правилом, а не винятком: вони були серверами, а всі термінали - німі термінали із зеленими екранами. Збивання сучасних суперкомп'ютерів із цими видами не вистачає суті оригінального питання.
Satanicpuppy

Satanicpuppy: Мабуть, вас молодих дітей не вчили читати між рядками, тому дозвольте мені прописати це для вас: якщо ви можете запустити Linux на мейнфреймі, ви можете запустити багато програмного забезпечення Linux на тому ж мейнфреймі. Це означає, що ви можете запускати більшість мов програмування, які можна скласти без певних машин. Це було досить ясно? (Там причина , чому я назвав це «ключ» , а не «відповідь».)
ТІЛЬКИ Моя думка правильно

5
@just: За допомогою яких роз'ємів для власних баз даних? З якою підтримкою патентованих числових форматів (хтось із BCD?) Чому я мав би працювати на цій машині? Ви просто змушуєте себе БІЛЬШЕ працювати на машині, від якої слід намагатися відійти.
Satanicpuppy

1
Вам навіть не потрібно запускати LINUX. Поточне покоління z / OS підтримує C, C ++, Java тощо. Середовище USS відповідає 100% сумісності POSIX (що більше, ніж можна сказати для Solaris).
Джеймс Андерсон

9

Особисто я не розумію, яка ринкова перевага - це мейнфрейми.

Швидке скорочення кількості та даних? Чому я не можу розповсюдити це по фермі для обробки або придбати приємний "звичайний" сервер.

Висока надмірність і масштабованість? Я вважаю за краще ферму серверів Linux або набір віртуальних серверів.

Віртуалізація та декілька ОС? Можливо, існує велика різниця в продуктивності використання цього замість стратегії "хмари"?

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


Йорданія, Більшість того, що ви маєте у * nix, роками існували на мейнфреймах IBM. Висока надмірність та масштабованість є дуже привабливою, і є деякі свідчення того, що мейнфрейм має менший слід вуглецю / енергії (і, отже, енерговитрати), ніж еквівалентна ферма сервера. Чи це в кінцевому рахунку в майбутньому продається, залежить від того, чи знайдуться люди, які бажають керувати ними. Я не думаю, що буде.
тамптар

8

Мені 25 років і зараз я перебуваю в програмі MSCS (мій досвід не CS), і мене, безумовно, цікавлять мейнфрейми. Проблема в тому, що я не знаю, з чого навіть почати. Я подивився на COBOL і не знаю, де взяти гідний компілятор (навіть не впевнений, що таке гідний компілятор для COBOL. Я знаю, що є компілятор з відкритим кодом, але не впевнений, яка його якість). Я просто не бачу багато інформації для цього, і чесно кажучи, час, витрачений на пошуки, це час, який я міг би активно працювати над проектом в .Net або Java (я вважаю за краще. Net, але шкільна робота в Java) . Як і Джошуа Сміт, я хвилююся, що якби я потрапив у мейнфрейми, це було б моє життя, але я також вважаю їх більш цікавими, ніж веб-додатки та весь Web 2.0 манія (називайте мене божевільним). Мені, хоча,

Підсумок такий:

(1) Інформація не доступна для мене, щоб дізнатися, що мені потрібно навчитися робити програмування на мейнфреймі
(2) На цьому етапі мого життя я просто хочу вміти програмувати на життя і. Net і Java дозволяє я працюю над цією метою ще в школі, тому що є багато ресурсів, до яких я можу звернутися і дізнатися, що мені потрібно, щоб піти з портфелем наприкінці своєї академічної кар’єри
(3) Мені було б важко зациклюватися робити щось, що мені не подобається, і можливість зациклюватися лише робити мейнфрейми для кар’єри - це щось, що мене лякає (хоча, я знаю, що навколо цього є такі способи, як прибирання нових речей у вільний час і внесок у відкритий код)


Швидкий пошук Google виявляє freebyte.com/programming/cobol - я не виступаю за вивчення COBOL, але є компілятори, якщо ви вирішили це зробити.
Steve314

Assembler - це також варіант, якщо ви не хочете відвідувати Cobol, і хоча я не використовую його, можливо, ви зможете знайти інструмент асемблера на емуляторі Hercules.
темптар

6

Це лише моя особиста перспектива як молодого програміста. Я ніколи раніше не працював над мейнфреймом, тому не можу говорити з досвіду з перших рук. Але це річ, я ніколи не працював над цим і не передбачу, що це станеться незабаром. Я не впевнений, де ви хочете провести межу між мейнфреймом та простим сервером, але коли я думаю, що мейнфрейм, я передбачив деякий безладний апарат IBM, наприклад, Z-Series 900, що їсть 35 доларів на день лише за електрику. Я не збираюсь скоро мати одного з тих, хто знаходиться у своєму підвалі, повозитися у вільний час. Особливо, коли я можу схопити стару машину, кинути на неї ubuntu-сервер і розмістити все, що мені здається, дуже легко. Якщо у мене проблема, спільнота Linux величезна, і, швидше за все, хтось інший зіткнувся з моєю проблемою і опублікував рішення в Інтернеті. Я лише здогадуюсь,


1
У вашому підвалі вам не потрібна Z-серія 900. Ви можете запустити Геркулес на своєму ПК - навіть старий.
ДАЙТЕ МОЕ правильне ДУМКА

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

6

Я почав займатися основною роботою, коли 10 років тому ввійшов до складу робочої сили. Я ніколи раніше не торкався мейнфрейму.

Було кілька аспектів, які мені не сподобалися, так що я перестав робити роботу з мейнфреймом, як тільки міг:

  1. Редагування коду було дуже примітивним. Ви в основному просто працювали в текстовому редакторі, закріпленому на ВСІХ КАПС та 80 символьних рядках. Немає завершення коду чи перевірки синтаксису.
  2. Компіляцію проводили, запустивши пакетну роботу, яка потім була запланована і пробігла в якийсь момент, як правило, протягом наступних 5 хвилин, якщо вам пощастило. Якщо у вас була помилка друку, а код не склався, повторіть кілька разів.
  3. Не було жодного налагоджувача. Налагодження проводилося шляхом виведення змінних значень і повторення цього тривалого кроку компіляції.
  4. Зміни, які ми вносили, завжди були неймовірно консервативними. Ми будували 20 років застарілого коду, де єдину документацію десь писали на папері у файловому кабінеті. Крім того, це був фінансовий кодекс, тому не було допуску до помилок. Таким чином, фактичний крок кодування був мінімальним порівняно з дослідженнями, які були потрібні заздалегідь.

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


2
Спробуйте "CAPS OFF", щоб використовувати малі регістри, "SYNTAX", щоб отримати виділення та перевірку помилок, ваші записи тривають 32K, щоб ви могли легко редагувати їх. Інтерактивна компіляція доступна з 1974 року, але більшість програмістів віддають перевагу фоновим пакетним завданням з тих самих причин, з яких Java-програмісти використовують сценарії ANT. Налагоджувачі існують назавжди.
Джеймс Андерсон

Я думаю, що міг би бути банк, де ніхто з програмістів не знає, як використовувати існуючий примітивний налагоджувач командного рядка 1960-х років, який поставляється зі своїм гігантським динозавром операційної системи.
Warren P

6

Дві причини розглянути питання про приєднання до мейнфрейму:

  1. Це добре платить
  2. Є тони отворів

Сива робоча сила в мейнфреймі є і створюватиме величезну кількість отворів у полі.

Я працюю у великій фінансовій компанії, і протягом наступних 5 років ми втрачаємо близько 30% нашої робочої сили до виходу на пенсію. Ця кількість зросте експоненціально через 10-15 років.

Більше причин:

  • Я був у цій галузі 25+ років і ніколи не нудьгував.
  • Менша конкуренція за роботу.
  • Перестаньте скаржитися на технологію (див. Деякі пости вище) ... це може бути старим, але багато в чому це світлові роки попереду відкритих систем. HTML - дайте мені перерву. Він настільки схожий на Basic, який я взяв 30 років тому в коледжі. Ми далеко поза цим.
  • Мейнфрейм - це швидкий і надійний, випробуваний і справжній.
  • Спробуйте системне програмування, якщо ви дуже яскраві і любите неприємні зйомки.
  • Як керівник команди, я хотів би, щоб я міг знайти молодих, навчених техніків, які б заповнили отвори.
  • Я згадав, що це добре платить?
  • Інші варіанти кар’єри на основі мейнфрейму, окрім розробки програмного забезпечення - інженери апаратних засобів, технології зберігання даних, мережа та інше
  • Це весело, захоплююче, складно, а також кар’єрне зростання.
  • Перестаньте думати про мейнфрейм як про стару технологію - перевірте це і перевірте все, що я сказав.

Також ознайомтеся з системою IBM з z академічною ініціативою.


5

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

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

Далі йде концепція "циклу". Я не знаю, чи це звичайно для мейнфреймів чи це лише спосіб, яким ми займаємось, але наш мейнфрейм повинен працювати протягом цілого циклу, перш ніж ми зможемо отримати поточні дані з нього. Сторона .NET нашого магазину активно бере участь у надсиланні даних та обробці даних з мейнфрейму (зокрема, показ тони даних на внутрішньому веб-сайті LOB для агентів). Бізнес хоче, щоб дані, показані агентам, були актуальними в хвилину. Однак мейнфрейм не працює в моїй (обмеженій) концепції в режимі реального часу. У нас є кілька божевільних шляхів вирішення питання, щоб імітувати на веб-сайті те, що ми очікуємо, що буде фактичний вихід з мейнфрейму на наступний день.

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


Ваш цикл просто звучить як погано розроблений процес. Основні кадри можуть легко доставляти дані в режимі реального часу або майже в реальному часі. Це дорого, але це можна зробити.
bot403

4
@ bot403: Я вірю тобі. Погано розроблені процеси - наша спеціальність.
Джошуа Сміт

@ Джошуа, якась конкретна причина, чому це виглядає некрасиво? І чому інші мови вам краще виглядають?

@Joshua Я знаходжусь у разюче подібній ситуації (все-таки вгору і вгору). З того, що я бачив, багато основних фреймерів мають історію обробки даних партіями. Коли ви запускаєте партію? Опівночі. Процеси займають 5 годин щовечора, оскільки вони виконують роботу цілого дня (або місяця) за один раз. Те, як деякі з них пропустили всю програму "Програмування, керована подіями", здається трохи дивним, але реальний час просто не був великим пріоритетом для основних кадрів у 80-х.
Морган Херлокер

2
@ Thorbjørn Равн Андерсен: Я не зневажаю програмістів COBOL. Мова просто здається зайвою багатослівною. Я не можу змусити себе вводити текст, MULTIPLY Num1 BY Num2 GIVING Result.коли можу набратиresult = num1 * num2;
Джошуа Сміт

5

Я працюю в основному з Java, але ми використовуємо мейнфрейми для нашого бекенда, це означає, що мені доводиться багато працювати з ними (RPG). Найбільшою проблемою у мене є відсутність загальнодоступної документації. Ви можете знайти документацію SQL для DB2, яка в основному буде перекладати на iSeries DB2, але publib.boulder жахливий порівняно з Java-документами Sun.

Інша річ, яка мені не подобається, - це важкий для читання синтаксис основних мов основного кадру. RPG не має поняття локальної області, а це означає, що вам потрібні величезні блоки змінних оголошень. Я думаю, що Кобол страждає від тієї ж проблеми. Це також призводить до безглуздих імен змінних та прихованих значень. Він також має багато-багато різних вбудованих функцій, про які мені важко дізнатися (див. Вище). Це нагадує мені, чому я більше не використовую BASIC для серйозного програмування. На щастя, IBM намагається перенести всіх на Java, але ці застарілі мови скоро не зникнуть.

Мені важко захоплюватися навчанням програмувати в такому середовищі.


3
+1 для безглуздих імен. Я зараз замінюю велику ERP-систему, яка була в RPG, на .Net. Програміст, який написав це, мав місце на якійсь мові з обмеженням імені змінної 6 символів. Поряд із збереженням цієї конвенції в живих, він також продовжував використовувати позначення пуншкарда для всіх файлів коду, тому кожен з них має "CardID" і повинен виконуватися в порядку ідентифікатора файлів. Поєднайте, що майже ніколи не використовуйте в даних унікальні ідентифікатори або будь-які реляційні конструкції, і це майже не змушує мене ніколи торкатися мейнфрейму.
Морган Херлокер

"Найбільша проблема у мене - відсутність загальнодоступної документації". +1 Також - можливо, через віковий профіль багатьох мейнфреймерів, спільнота підтримки Інтернету сильно обмежена порівняно з іншими галузями технологій.
тамптар

@Morgan - реляційні бази даних були винайдені на мейнфреймах. Зокрема, i Series використовує реляційну базу даних для всього.
Джеймс Андерсон

1
На жаль, ви все ще можете використовувати базу даних відносин так само, як плоский файл, як це роблять деякі люди.
Майкл К

5

Подивіться, мені 42, і мене не цікавлять мейнфрейми. Що ж, давайте кваліфікуємо це. Мене цікавить історія обчислень. Я певним чином вивчав архітектури мейнфреймів і розумію, як, наприклад, мейнфрейми IBM впливали на мікропроцесорні архітектури, такі як Motorola 68000 або 80386. У 1960-х мейнфрейми вже палали зі швидкістю понад 30 МГц, і підтримували передові багатоопераційні операційні системи з віртуальними спогади. Для людей, які звикли до таких середовищ, ранні мікропроцесори розчаровували багато в чому, і архітектурам на базі мікропроцесорів знадобилося досить багато часу, щоб наздогнати подібні можливості та продуктивність.

Але наздогнали ці архітектури, і мейнфрейми давно перестали бути "хіп". Це сталося, коли хакери могли отримати міні-комп’ютери на своїх лавках, і незабаром після цього робочі станції під управлінням Unix.

Мейнфрейми були чужими молодим програмістам з початку 1980-х років. Можливо, це був чудовий час для компаній, що займаються мейнфреймом, задати собі своє питання.

Сьогодні відповідь рекурсивна між поколіннями: молодих програмістів не цікавлять мейнфрейми, тому що навіть якщо у них є батьки чи вчителі, які цікавляться обчисленням, ті батьки та вчителі (40+ гезері, як я) вже не зацікавлені робити що-небудь із мейнфреймами щоквартально століття тому.

У будь-якому випадку, сьогодні мобільний телефон може впоратися із завданнями, якими мейнфрейми використовувались 30 років тому! Ферми недорогих серверів - це новий мейнфрейм. Таким чином, сьогодні є нові програмісти на основі мейнфреймів, лише їх спеціальність - це з'єднання мережевих машин для створення хмар. Насамперед ми могли б сказати, що Марк Цукерберг та його банда робили новий вид програмування мейнфреймів, коли виробляли Facebook, в тому сенсі, що це не просто маленьке додаток, яке просто працює на простому мікропроцесорі з диском.

До речі, однією з останніх спеціальностей мейнфрейму була віртуалізація. Але це зараз повсюдно в настільних / серверних машинах. Спочатку люди погано робили це, використовуючи програмні методи. VM-файли були настільки корисними, що користувачі не заперечували про ефективність. Тоді такі компанії, як Intel, знову переглянули мейнфрейм і засвоїли ще кілька уроків, підтримуючи віртуалізацію апаратних засобів, щоб зробити його швидким.


1
+1 для "Mainframes були чужими молодим програмістам з початку 1980-х років. Щось, можливо, це був чудовий час для мейнфреймних компаній задати собі своє запитання".
Кайл Ходжсон

3

Навчання в Інтернеті, розробці мобільних телефонів або ПК є досить дешевим і простим.

Витрати на обладнання навіть для збиття старого мейнфрейму надзвичайно великі, і IBM часто засмучується проектом емулятора Hercules (який дозволяє емулювати System / 370, ESA / 390 та zSeries). Без Геркулеса це робить вхідними витратами на вивчення архітектури мейнфреймів та розробки програм поза досяжністю всіх, крім найбагатших любителів.

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


1
Чи імітує Геркулес також різноманітні потрібні програмні продукти (раніше такі речі, як IMS та CICS; DB2 замінив IMS (або я щиро і глибоко сподіваюся на це))?
Девід Торнлі

1
Звичайно, це не імітує програмне забезпечення. Ви повинні придбати це програмне забезпечення з іншого місця (або використовувати Linux / 390 або подібне і робити все, що завгодно).
ДАЙТЕ МОЕ правильне ДУМКА

1
@David, ні це не включає (завищене) програмне забезпечення. Просто операційна система.
Тангурена

3

Почнемо з деяких фактів про мейнфрейми IBM та, зокрема, zSeries.

Апаратне забезпечення є бренд блискучим і новим. Він містить декілька найсучасніших моделей електроніки та мікросхем, і вони швидкі.

Незважаючи на те, що z / OS має коріння в 1960-х, він зазнав постійної розробки і, принаймні, два повних переписувань, окрім химерностей, спричинених фетишем IBM щодо зворотної сумісності, можливо, це одна з новіших ОС загального користування.

Ключові точки продажу:

  • Вищезгадана зворотна сумісність, якщо програма була запущена в 1976 році на апараті MVS / MVT, швидше за все, вона запуститься на останніх zSeries без повторної компіляції та дасть абсолютно однакові результати.
  • По ширині смуги він може переміщати доступ і зберігати величезну кількість даних, з величезною швидкістю і на дуже тонкому рівні.
  • Доступність. SYSPLEX, який був доступний протягом останніх 15 років або близько того, забезпечує безперебійну кластеризацію на декількох сайтах, в комплекті з балансуванням навантаження, автоматичним збоєм і т.д. Завдяки цьому кластеризація * nix виглядає примітивною.
  • Конвергенція. Це звучить дещо дивно, але з повною підтримкою POSIX та надшвидким JVM сучасний мейнфрейм практично не відрізняється від будь-якого іншого * NIX вікна, якщо саме так ви хочете його використовувати.

Поки що мейнфрейм пережив майже все те, що, за словами експертів, збирається замінити його.

Є ряд недоліків: -

  • Зворотна сумісність означає, що в багатьох магазинах працюють двадцять, тридцять, а в деяких випадках і сорокарічні системи. Хоча вони добре працюють і добре виконують свої ділові функції (або вони все ще не працюють!), Вони відображають стилі кодування та нав'язливості минулого віку.
  • відстала культура. Програмісти, що працюють в гетто стародавніх систем COBOL, схоже, не зрозуміли, що світ рухався далі, або якщо вони скам’яніли управління, це їм не дозволить.
  • Відсутність наявності. Якщо вам фактично не заплатять за роботу над одним із цих монстрів, ви не отримаєте доступ до нього. Навіть там, де ви працюєте, може бути такий, але якщо ваша безпосередня посадова інструкція не включає роботу над ним, ви не отримаєте логін. Багато чого було сказано в інших публікаціях про програмне забезпечення для емуляції "Герекули", і це справді чудово, але це дуже важливо лише для експертів, він працює в стародавній версії операційної системи, їй не вистачає більшості стандартних компонентів, таких як CICS, COBOL і DB2, які складають основу більшості запущених програм mainframe.

Це просто те саме, що Fortran є блискучим та новим, з нещодавно переглянутим стандартом ISO і перевантаженням оператора, орієнтацією на об'єкт. Ви можете бути оновленими, але не має значення.
Каз

2
Щодо доступності, чому вони не роблять невеликі пристрої, які працюють в одній архітектурі? Де я можу отримати плату в розмірі 50 доларів, на якій працює вбудована z / OS на невеликій системі "на чипі"? Чому ні?
Каз

2
З тієї ж причини ви не можете отримати оновлену ОС для Геркулеса. Існує багато додатків для основних кадрів, які мають невеликий навантаження, але їх занадто дорого замінити. Їх можна було б легко запустити на сьогоднішнє програмне забезпечення для ПК, але якщо IBM дозволить вам, вони втратять продажі та доходи від ліцензій. Капіталізм чудовий!
Джеймс Андерсон

1
Я працював влітку на початку 90-х над мейнфреймами. Культура була для мене відключенням. Багато хто з тих програмістів на мейнфреймах не знав, чому і як все працює, і не здався зацікавленим у подібних речах. Вони використовували COBOL85, який не підтримував такі поняття, як локальні змінні чи що-небудь щодо гарної інженерії програмного забезпечення. Бути важко отримати доступ до детальної технічної інформації про мейнфрейми, тому що стільки було з дорогих посібників, які поводилися як святі скарби, зачинені далеко від усіх, окрім кількох.
Черга учень

1

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

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


Це дійсно круто. Це чудово, що ви також цим скористаєтесь. Хоча (більшість) людей, здається, не входять у мейнфрейми, було б здорово насправді отримати досвід роботи з одним!
Jetti

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

1

Мені 28 і я 10 років професійний розробник. Я провів 3 роки, працюючи над мейнфреймом.

Навколишнє середовище було езотеричним, усталеним, застійним, заплутаним (JCL та ISPF кому?). Зважаючи на це, я дуже поважаю систему, як вона працює, масштаби її. Система мала щось на кшталт 150M SLOC, підтримувала середню діапазон серверів UNIX через SOA і буквально керувала великою частиною країни.

З урахуванням сказаного, чому молоді програмісти не зацікавлені? Ось мій погляд, як «молодий» програміст (я почав працювати в цій системі у віці 23 років). Майте на увазі, це мій погляд на систему, над якою я працював, і дослідження, яке я робив:

  • Нового розвитку мейнфрейму мало. Багато цього - спадщина.
  • Існує величезна перешкода для входу
  • Проведена робота стосується фінансів, великого бізнесу та уряду. Ніщо з цього не кровоточить.
  • Засоби розробки старі та багато в чому застарілі. Налагодження - це не що інше, як VS.

Мейнфрейм завжди матиме місце в економіці. Вони просто не керують раннім бізнесом через їх величезні витрати та вимоги до підтримки.


0

Хоча я думаю, що там, мабуть, дуже цікава робота з мейнфреймів, я б жахнувся насправді рухати свою кар’єру в цьому напрямку. Занадто великий шанс на те, що через 10 років, мій досвід став марним, і для програміста на мейнфреймі немає роботи. Я не хочу застарівати, витрачаючи багато часу на застійну технологію зі скороченням бази встановлення.


0

Ця відповідь полягає в тому, що в цьому немає майбутнього. Я маю двадцять два роки досвіду роботи як програміста з основних кадрів, і я був без роботи п’ять років. Я повертаюся до школи, щоб отримати ступінь бакалавра з веб-розробки. Чому б хто-небудь з розумом хотів стати головним програмістом COBOL?

Кен

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