Почему молодые программисты не заинтересованы в мэйнфреймах? [закрыто]


51

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

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

Почему это? Что делает мейнфреймы непривлекательными для молодых программистов?


40
1.) Они дороги 2.) Кажется, что нет симулятора или чего-то такого, что вы могли бы загрузить в виртуальную машину (?) 3.) При работе на мэйнфреймах абсолютно необходимо носить галстуки. :)
Инго

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

86
Я молодой программист. Я никогда не видел мэйнфрейм, никогда не имел песочницы / виртуального мэйнфрейма, с которым можно было бы поиграть, никогда не приходил ко мне знакомый и не говорил: «Это действительно круто, зацени!». Я вижу Интернет каждый день, есть легкодоступные - и бесплатные - инструменты для разработки приложений для веб-приложений, и все мои друзья занимаются этим. Какой я собираюсь выбрать? (Хотя, если бы у меня был доступ к одному, я бы обязательно его проверил, просто потому, что это может быть интересно ... (Комментарий, потому что это, по сути, +1 для вещей, указанных ниже ...)
Beekguk

5
Если у вас не было виртуального мэйнфрейма для игры, Бикгук, это потому, что вы его не искали .
Просто мое правильное мнение

48
Я программирую около 35 лет и не знаю, что вы подразумеваете под «мейнфреймом». Если у меня 128-процессорная машина с Unix, это мэйнфрейм? Или вы имеете в виду машины с устаревшими операционными системами, в которых приложения написаны на устаревших языках?
Кевин Клайн

Ответы:


98

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

Во-первых, давайте избавимся от невежества:

  • Различные заявления о невозможности опробовать мэйнфреймы являются ложными. Hercules выпускается с 1999 года - вероятно, дольше, чем многие люди, отвечающие на вопросы, программировали - и, несмотря на то, что IBM недовольна этим, шансы на то, что он исчезнет в ближайшее время, ничтожны (особенно если учесть, что это открытый код). Хотя, на самом деле, правда , что вы не можете ( по закону) запустить дорогое программное обеспечение для этого, есть много доступного программного обеспечения вы можете работать на нем, в том числе программное обеспечение , которое на самом деле еще в довольно общего пользования там.
  • Опять же, вопреки общественному мнению, мэйнфреймам есть нечто большее, чем COBOL, CICS и RPG2. На самом деле почти все (но не совсем) все, что вы можете запустить на своем компьютере под управлением Linux, вы можете запустить на мэйнфрейме. <Ирония> Я не уверен, почему. </ Ирония>

Так почему же я всю свою жизнь избегал мэйнфреймы после встречи с ними в школе? Что ж:

  • Хотя верно то, что вы можете использовать больше, чем COBOL, CICS, RPG2 и т. Д. В мэйнфреймах, шансы очень высоки, что если вы работаете с ними, это то, что вы будете вынуждены делать. Еще хуже, несмотря на то, что COBOL был массово «модернизирован» за последние два десятилетия или около того (напугайте цитаты, потому что я все еще не думаю, что это очень современный язык), большая часть кода, который вы будете делать на COBOL, все еще будет на старом стиль кода, потому что ...
  • В мейнфреймах происходит очень мало актуальных новых разработок. Если вы устроитесь на работу в IBM, работающей в их отделе исследований и разработок на мэйнфреймах, у вас может появиться шанс заняться новой разработкой (и в этом случае вы даже можете действительно наслаждаться своей работой!). В действительности, однако, смирись с этим: ты не будешь там работать. Вы будете работать в подсобном помещении какого-то финансового учреждения или другого обслуживающего 50-летний код COBOL, написанного кем-то, кто все еще считает, что 64 КБ - это колоссальная куча o'RAM. (Этот же парень, вероятно, будет вашим боссом.)
  • Хотя верно то, что вы можете запускать Linux на мэйнфреймах и, таким образом, иметь доступ практически к любому языку программирования или к любой среде, которая вам нравится, опять же, как и в случае работы с R & D для мэйнфреймов IBM, вы не получите эту работу. Он вернулся к поддержанию этого 50-летнего COBOL.
  • Корпоративное программирование очень эффективно высасывает из вас душу (и помните, это корпоративное программирование, которым вы будете заниматься как программист для мэйнфреймов, если вам ОЧЕНЬ не повезет).
  • Это гетто, и оно постоянно сокращается. (Это похоже на MUMPS .) Если вы слишком погружены в знания мэйнфреймов, вы все больше отдаляетесь от чего-либо, кроме мейнфреймов. Вы можете попробоватьне отставать, но ты не будешь. Я знаю, что кто-то заметил, что продажи мэйнфреймов выросли, в то время как другие секторы серверов немного сократились, но программирование серверов в настоящее время является меньшим. Адские ПК вообще теряют значение. Мир программирования очень широк и очень разнообразен, и одна маленькая его часть растет по сравнению с другой маленькой частью, что бессмысленно сравнивать, скажем, с внезапным взрывным ростом программирования в чем-то столь же тривиальном, как iPhone (который сам по себе является платформа меньшинства - безусловно). Нет, начните работать в мэйнфреймах, и у вас будут другие мэйнфреймеры, которые поделятся своими мыслями, радостями и яростью - и они умирают. Это приводит к петле отрицательной обратной связи, которая заставляет стадо сокращаться еще больше и быстрее.

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


11
«Если я вошел и обнаружил, что мне не понравилось, как мне выйти?» --- Покидать?
Аарона

36
Оставить где? Мои навыки по поддержанию 50-летнего COBOL не переходят на написание сексуальных веб-приложений или приложений для iPhone / Android или чего-либо еще.
Просто мое правильное мнение

24
Если через два месяца вы сможете понять все тонкости работы в целом, вы намного ярче, чем я.
ПРОСТО МОЕ правильное МНЕНИЕ

11
@Aaronaught В конкурентном мире информационных технологий, если бы вы потратили пару лет на то, чтобы на самом деле достичь разумной скорости в мэйнфреймах, вы не потеряли бы свои предыдущие навыки, но автоматически стали бы менее привлекательными при поиске других работать, как если бы вы потратили два года, занимаясь лесным хозяйством или управлением Starbucks: даже если вы выглядите не в своей тарелке, даже немного не оказывает вам никакой пользы по сравнению с кем-то, кто так не выглядит.
Мэтью Фредерик

5
@ Aronaught Я согласен, что вы можете выйти и что это не разрушит вашу карьеру навсегда, ничего такого гиперболического. Я действительно утверждаю, что это сделает вас менее конкурентоспособным, и что большинству современных работодателей это не поможет вашей карьере намного больше, чем другие мыслительные работы - я не использовал «ландшафтный дизайн» в качестве примера, я использовал работу, которая требует мышления ,
Мэтью Фредерик

59

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

  1. Похоже, что в сообществе мало или вообще нет инноваций.
    Я знаю, что это не совсем так, но случайному наблюдателю кажется, что это так. Никто не хочет вмешиваться в области, где трудно «оставить свой след».
  2. Сколько новых разработок или новых проектов происходит?
    Нет, насколько я могу судить. Если вы зайдете в эту область, вы навсегда станете программистом по техническому обслуживанию.
  3. Это не доступно для случайного ученика.
    Большинство людей начинали учиться программировать на своем компьютере дома. Опять же, большинство людей не любят переключаться с того, что они знают. Таким образом, переход от одного к другому требует времени и мотивации. Принимая во внимание две другие причины, желающих не так много.

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

Даже в целом дрянной экономике продажи мэйнфреймов IBM растут . Это не очень быстрый рост, но это больше, чем у их конкурентов (они совсем недавно уступили HP, чтобы занять первое место по продажам серверов).
Джерри Коффин

Я склонен бродить по тому, что считается «новшеством» в сообществе. Я обнаружил, что это сравнительно закрытое сообщество, которое ведет к отсутствию более широких знаний о том, что происходит в мире мэйнфреймов. ~ Я согласен, что это не доступно для случайного ученика. С точки зрения IBM, хотя я думаю, что решение проблемы доступа в университетах интересно, я думаю, что что-то вроде этого действительно необходимо решать, особенно в достаточно хорошо связанном мире.
Темптар

25

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

Последние 10 лет моей трудовой жизни были посвящены программированию мэйнфреймов. Изучая все, что нужно знать о batch, jcl, Cobol, Assembler, Easytrieve, CICS и веб-сервисах, я получил огромное удовольствие и все равно буду делать это, если не заметить тенденцию. На последнем месте работы я работал бок о бок с веб-разработчиками (jsp, javascript, spring и hibernate), и я заметил, что компания привлекает веб-разработчиков с сопоставимым многолетним опытом работы за гораздо большие деньги. Не говоря уже о том, что позиция веб-разработчиков была намного менее напряженной.

Сыт по горло этой тенденцией, я решил выйти из бизнеса мэйнфреймов. Сейчас я нахожусь в состоянии, когда я разрабатываю веб-сервисы с использованием Java и интерфейс пользовательского интерфейса с помощью JavaScript. Этот стиль программирования не сложнее, чем то, что я делал на мэйнфреймах, но теперь я зарабатываю больше денег и меньше болит голова. Я больше не получаю этот звонок в 2:00 утра, когда что-то прекратилось, и основные системные процессы ждут от меня решения моих проблем. Итак, дайте мне одну вескую причину, почему я остался бы программистом на мэйнфреймах, когда мог бы зарабатывать больше денег и меньше испытывать стресс в своей жизни как программиста распределенных систем?

Я уверен, что есть обстоятельства, когда компании платят как мейнфреймам, так и парням распределенных систем, но я лично их не нашел. Кроме того, я начал выполнять поиск работы с обеих сторон и обнаружил, что списки вакансий в распределенных системах превосходят числовые списки вакансий в мэйнфреймах по крайней мере от 10 до 1. Это говорит о том, что в настоящий момент для меня, чтобы иметь лучшие рабочие места, мэйнфрейм не место быть.


Интересно, что ты так говоришь. Я на год моложе тебя и заметила очень похожие. Это довольно много, почему я задал вопрос.
temptar

Я думал, что парни из мэйнфреймов были
оплачены грузовыми

2
Я думаю, если бы вы хотели зарабатывать миллион долларов в год программистом, способ сделать это - быть последним парнем в BigAmericanBank, который знает, как работают их банковские системы.
Уоррен П

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

19

Из того, что я видел до сих пор, и по сравнению с Linux и Windows, основная проблема с мэйнфреймами и мидфреймами заключается в том, что вы ДОЛЖНЫ заплатить аванс за их использование. И заплатить много. Каждый год. Для всего.

Это просто не способ заинтересовать студентов чем-то, потому что они не могут себе этого позволить. Если это их не интересует, они, вероятно, не сделают это добровольно.

К сожалению, бизнес-модель IBM не позволяет сделать машины доступными для студентов, или они могут изменить это.


4
+ 1- Мало того, что серверы дороги, но лицензии могут быть слишком высокими, чтобы получить любой вид базового взаимодействия.
Морган Херлокер

Да, хотя IBM в основном нацелена на крупные государственные и корпоративные организации. Они продают на месте обучения и обслуживания. Лицензия - это лишь малая часть общей стоимости эксплуатации системы и людей, которые вам нужны, чтобы поддерживать ее работу. Почему IBM взимает так много, потому что у них есть специализированные люди, чтобы иметь дело с этим доменом.
Чад

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

ЭТО странная индустрия. Вы не можете играть с мэйнфреймами в подвале, так же, как вы не можете играть, скажем, с реактивными двигателями в подвале, но есть люди, работающие над этими Dreamliners и F-35.
el.pescado

14

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

Я не думаю, что проблема действительно с мейнфреймами как таковыми. Это одержимость нашей отрасли (часто оправданная) новым и блестящим.

Посмотрите на C. C по-прежнему очевидно критически важный язык. Почти весь встроенный код и большинство операционных систем написаны на C. Это никуда не денется в ближайшее время. И все же становится все труднее найти программистов на Си. Быстрый поиск на странице тега Stack Overflow позволяет разместить его на 1/6 размера [c#]и на 1/4 размера [java]. Кто-нибудь помнит, когда Си был по сути доминирующим языком, возможно, единственной игрой в городе?

Программисты любят мощные инструменты. Может быть, это потому, что (СПЕЦИАЛЬНОЕ ПРЕДУПРЕЖДЕНИЕ) большинство программистов парни. Вы даете программисту на Java или .NET задачу, скажем, копировать файл, и многие, если не большинство, все равно решат написать его на Java или C # вместо написания пакетного файла DOS или * nix shell-сценария, что будет в 50 раз больше. быстрее написать и развернуть. Зачем использовать удочку и катушку, чтобы ловить рыбу, когда у вас есть гигантская выдвижная сеть, которая может поймать 500 рыб?

Да, COBOL и PL / I старые , но так же и Паскаль, и он все еще жив и работает в форме Delphi. Отвращение к первому, вероятно, связано с тем, что эти языки громоздки по сравнению с современными инструментами. Объектная ориентация все еще является относительно новой концепцией в мире COBOL (с акцентом на относительно ), но в мире C # LINQ, дженерики и 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: Вы должны понимать процесс , но код, как правило, можно прогуляться. Так много всего сделано, чтобы обойти ограничения системы. Если мне нужно отправить зашифрованную партию кредитных карт нашему поставщику Merchant (например), это на самом деле проще сделать с современной машины Linux. А составлять отчеты намного проще: мы создаем тонны отчетов и прогнозов, большинство из которых основаны на исторических данных, поэтому мы можем выгружать наборы данных и помещать их в современную базу данных, а затем генерировать роскошные отчеты с отчетами Crystal (или чем-то еще).
Satanicpuppy

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

3
Программирование отошло от низкоуровневой абстракции, которую предлагает C, и мы в этом преуспели. Если вы не являетесь разработчиком, специализирующимся только на C, тогда написание на C займет у вас гораздо больше времени. И бесконечно больше времени, если вы разработчик типа обезьяны кода. Я предпочитаю тратить свое время на решение интересных задач, специфичных для предметной области, а не странных / нечетных для конкретного языка.
Зоран Павлович

9

Я молодой (в середине 30-х) и в настоящее время работаю в поддержке мэйнфреймов. РПГ, КОБОЛ, пропиетарная хрень 4GL. Разработка идет медленно и, где возможно, переносится на более современное оборудование с использованием более современных языков.

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

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


Вы знаете, я полагаю, на каком-то уровне, даже если не на сознательном, что ЛЮБОЙ язык можно использовать на мейнфрейме, верно? Вот небольшая подсказка.
Просто мое правильное мнение

@ Просто: 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

Ассемблер также является опцией, если вы не хотите заходить в Cobol, и хотя я им не пользуюсь, возможно, вы сможете найти инструмент для ассемблера на эмуляторе Hercules.
Темптар

6

Это только моя личная перспектива как молодого программиста. Я никогда раньше не работал на мэйнфреймах, поэтому я не могу говорить об этом из первых рук. Но в том-то и дело, что я никогда не работал над одним и не предвижу, что это произойдет в ближайшее время. Я не уверен, где вы хотите провести грань между мэйнфреймом и простым сервером, но когда я думаю о мэйнфрейме, я представляю себе какую-то гигантскую машину IBM, например Z-Series 900, которая поглощает 35 долларов в день только за электроэнергию. В ближайшее время у меня не будет такого в моем подвале, чтобы возиться с ним. Особенно, когда я могу взять старую машину, запустить на ней Ubuntu-сервер и разместить все, что мне хочется, очень легко. Если у меня возникнет проблема, сообщество Linux будет огромным, и есть вероятность, что кто-то еще столкнулся с моей проблемой и разместил решение в Интернете. Я только догадываюсь,


1
Вам не нужен Z-Series 900 в вашем подвале. Вы можете запустить Hercules на своем компьютере - даже на старом.
Просто мое правильное мнение

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

6

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

Было несколько аспектов, которые мне не понравились, поэтому я прекратил работу с мэйнфреймами, как только смог:

  1. Редактирование кода было очень примитивным. В основном вы просто работали в текстовом редакторе, в котором были зафиксированы ВСЕ КАПАНЫ и 80 строк символов. Нет завершения кода или синтаксической проверки.
  2. Компиляция была выполнена путем запуска пакетного задания, которое затем было запланировано и запущено в какой-то момент, обычно в течение следующих 5 минут, если вам повезло. Если у вас была опечатка, а код не компилировался, повторите несколько раз.
  3. Там не было никакого отладчика любого рода. Отладка выполнялась путем вывода значений переменных и повторения этого длительного этапа компиляции.
  4. Изменения, которые мы делали, всегда были невероятно консервативными. Мы строили 20-летний устаревший код, где единственная документация была написана от руки на бумаге в картотеке, где-то. Кроме того, это был финансовый кодекс, поэтому терпимости к ошибкам не было. Таким образом, фактический шаг кодирования был минимальным по сравнению с исследованиями, которые требовались заранее.

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


2
Попробуйте «CAPS OFF», чтобы использовать нижний регистр, «SYNTAX», чтобы получить подсветку и проверку ошибок, ваши записи имеют длину 32 КБ, и вы можете легко их редактировать. Интерактивная компиляция доступна с 1974 года, но большинство программистов предпочитают фоновые пакетные задания по тем же причинам, по которым Java-программисты используют сценарии ANT. Отладчики были вокруг навсегда.
Джеймс Андерсон

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

6

Две причины рассмотреть возможность присоединения к рабочей силе мэйнфреймов:

  1. Хорошо платит
  2. Есть тонны отверстий

Серая рабочая сила в области мэйнфреймов есть, и будет создавать огромное количество вакансий в этой области.

Я работаю в крупной финансовой компании, и в течение следующих 5 лет мы потеряем около 30% нашей рабочей силы на пенсию. Это число будет расти в геометрической прогрессии через 10-15 лет.

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

  • Я в поле более 25 лет, и мне никогда не было скучно.
  • Меньше конкуренции за рабочие места.
  • Перестаньте жаловаться на технологию (см. Некоторые посты выше) ... она может быть старой, но во многих отношениях она опережает открытые системы. HTML - дай мне перерыв. Это так похоже на Basic, который я взял 30 лет назад в колледже. Мы далеко за пределами этого.
  • Базовый блок быстрый и надежный, проверенный и верный.
  • Попробуйте системное программирование, если вы очень умны и любите решать проблемы.
  • Как руководитель группы, я бы хотел найти молодых, обученных техников для заполнения вакансий.
  • Я упоминал, что это хорошо платит?
  • Другие варианты карьеры мэйнфреймов помимо разработки программного обеспечения - инженеры аппаратного обеспечения, специалисты по хранению данных, сети и многое другое.
  • Это весело, захватывающе, сложно, и есть большой карьерный рост.
  • Перестаньте думать о мэйнфрейме как о старой технологии - проверьте это и проверьте все, что я сказал.

Также ознакомьтесь с инициативой IBM System z Academic Initiative.


5

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

Есть несколько вещей, которые делают мир мэйнфреймов непривлекательным для меня. Во-первых, это КОБОЛ. Я понимаю, что большая часть мира работает на языке COBOL, но это не делает язык менее уродливым для моих глаз.

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

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


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

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

@ Джошуа, какая-то конкретная причина, почему это выглядит ужасно? И почему другие языки выглядят лучше для вас?

@ Джошуа: Я нахожусь в поразительно похожей ситуации (хотя она и растет). Из того, что я видел, многие основные разработчики имеют историю обработки данных в пакетном режиме. Когда вы запускаете партию? В полночь. Процессы занимают 5 часов каждую ночь, потому что они выполняют весь рабочий день (или месяц) одновременно. То, как некоторые из них пропустили весь процесс «событийного программирования», кажется немного странным, но в 80-х годах реальное время не было большим приоритетом для основных кадров.
Морган Херлокер

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

5

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

Еще одна вещь, которая мне не нравится, это сложный для чтения синтаксис основных языков мэйнфреймов. RPG не имеет концепции локальной области видимости, что означает, что вам нужны огромные блоки объявления переменных. Я думаю, что Кобол страдает от той же проблемы. Это также приводит к бессмысленным именам переменных и скрытым значениям. Он также имеет много, много различных встроенных функций, о которых мне трудно разобраться (см. Выше). Это напоминает мне о том, почему я больше не использую Бейсик для серьезного программирования. К счастью, 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, в том смысле, что это не просто небольшое приложение, которое просто работает на простом микропроцессоре с диском.

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


1
+1 за «Мэйнфреймы были чужды молодым программистам с начала 1980 года - что-то. Это могло бы быть отличным временем для компаний, занимающихся мэйнфреймами, чтобы задать себе ваш вопрос».
Кайл Ходжсон

3

Обучение веб-разработке, разработке мобильных телефонов или ПК довольно дешево и просто.

Затраты на оборудование даже для сломленного старого мэйнфрейма ужасно высоки, и IBM часто расстраивается из-за проекта эмулятора Hercules (который позволяет вам эмулировать System / 370, ESA / 390 и zSeries). Без Hercules это делает начальные затраты на изучение архитектуры мэйнфреймов и разработки приложений недоступными для всех, кроме самых состоятельных любителей.

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


1
Имитирует ли Hercules также различные дорогостоящие части программного обеспечения, которые вам нужны (раньше это были такие вещи, как IMS и CICS; DB2 заменила IMS (или я искренне и глубоко на это надеюсь))?
Дэвид Торнли

1
Конечно, это не имитирует программное обеспечение. Вы должны приобрести это программное обеспечение в другом месте (или использовать Linux / 390 или аналогичный и делать все, что вам нравится).
Просто мое правильное мнение

1
@ Давид, нет, это не включает (переоценено) программное обеспечение. Просто операционная система.
Tangurena

3

Начнем с некоторых фактов о мэйнфреймах IBM и, в частности, о zSeries.

Аппаратное обеспечение марки порка блестящий и новый. Он содержит некоторые из самых современных электронных и чиповых конструкций, и они быстрые.

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

Ключевые точки продажи: -

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

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

Есть ряд недостатков:

  • Обратная совместимость означает, что во многих магазинах работают системы двадцати, тридцати, а в некоторых случаях и сорокалетних систем. Хотя они хорошо работают и хорошо выполняют свои бизнес-функции (или не будут работать!), Они отражают стили кодирования и навязчивые идеи прошлого.
  • отсталая культура. Программисты, работающие в гетто древних систем COBOL, похоже, не осознавали, что мир движется дальше, или если они сделают окаменелое управление, то не допустит их.
  • Недостаток доступности. Если вам не платят за работу с одним из этих монстров, вы не получите доступ к одному из них. Может даже быть один, где вы работаете, но если ваше непосредственное описание работы не включает в себя работу над ним, вы не получите логин. В других сообщениях много говорилось о программном обеспечении эмуляции "herecules", и оно действительно превосходно, но очень важно только для экспертов, оно использует древнюю версию операционной системы, ему не хватает большинства стандартных компонентов, таких как CICS, COBOL и DB2, которые составляют основу большинства работающих приложений для мэйнфреймов.

Это то же самое, что Fortran - блестящий и новый, с недавно пересмотренным стандартом ISO и перегрузкой операторов, ориентацией объектов. Вы можете быть обновлены, но не имеет значения.
Каз

2
Что касается доступности, почему они не делают маленькие устройства, которые работают с той же архитектурой? Где я могу получить плату за $ 50 под управлением встроенной z / OS на небольшой системе на кристалле? Почему нет?
Каз

2
По той же причине вы не можете получить последнюю версию ОС для Hercules. Существует много приложений для мэйнфреймов, которые имеют небольшую нагрузку, но слишком дороги для замены. Они могут легко работать на современном аппаратном оборудовании для ПК, но если IBM позволит вам, они потеряют продажи мэйнфреймов и доходы от лицензий. Капитализм замечательный!
Джеймс Андерсон

1
Я работал летом в начале 90-х на мэйнфреймах. Культура была выключена для меня. Многие из этих программистов на мэйнфреймах не знали, почему и как все работает, и, похоже, не интересовались такими вещами. Они использовали COBOL85, который не поддерживал такие понятия, как локальные переменные или что-либо в отношении хорошей разработки программного обеспечения. Было трудно получить доступ к подробной технической информации о мэйнфреймах, потому что большая часть ее была из дорогих руководств, которые рассматривались как священные сокровища, закрытые от всего, кроме нескольких.
Очередь ученика

1

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

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


Это действительно круто. Здорово, что ты тоже этим пользуешься. В то время как (большинство) людей, кажется, не работают на мэйнфреймах, было бы здорово получить опыт работы с ним!
Джетти

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

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.