Подтвердить что ты не робот

Почему COBOL остается предпочтительным языком в деловом мире?

Даже если у нас есть такие языки, как C++, Java, Python и т.д., почему COBOL остается предпочтительным языком в деловом мире?

ИЗМЕНИТЬ

Почему это так популярно?

Извините за отсутствие отдельного потока для этого вопроса.

4b9b3361

Ответ 1

Инерция кода. Огромное количество существующего кода, написанного в COBOL = запретительные затраты, переключает все на другой язык. Wikipedia говорит, что используется более 200 миллиардов строк кода COBOL.

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

Инерция человека. Люди, которые зарабатывают на жизнь написанием кода и знают много языков, с меньшей вероятностью считают это большой проблемой, чтобы изучить новую. Люди, которые изучили один язык, потому что им нужно было знать его, чтобы выполнить то, что иначе "деловая" работа, возможно, даже не думает переключаться.

Ответ 2

Я не уверен, что COBOL предпочитают крупный бизнес и правительство. Я бы сказал, быть лучшим словом.

Почему?

  • Поскольку большое правительство/бизнес риск неблагоприятный, когда дело доходит до управления их финансовых систем. Направьте здесь и весь предприятие ставится под угрозу. Если он не сломался не исправляйте это.

  • Трудно сделать серьезное дело заменить критически важные системы, содержащие миллионы строк кода над тем, что сводится к "моему языку лучше" чем ваш "тип аргумента - ok его более сложный, чем тот но придумывать прочное дело дело сложно.

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

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

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

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

Некоторые из лучшие и яркие мысли Java были обучать, создавать передовые методы, строить инфраструктуру и поддержка широкомасштабной разработки Java. Эта инициатива была хорошо спланирована и выполнена. Затем, после того, как было развернуто несколько приложений Java "bean подсчет" начался. Результаты состояли в том, что Приложения COBOL по-прежнему стоят меньше, поддерживать, поддерживать и запускать длинные жесткие номера потому что результат не приветствуется!

COBOL возвращается, но не полностью. Новое исполнительное руководство - сохранить COBOL для тяжелая работа (обработка транзакций на заднем конце) и пакетно-ориентированных приложений. В основном COBOL должен быть используется для номера хруст и внедрение бизнес-правил. Java приходит к спереди для обеспечения интерфейсов интерфейса GUI и облегченного обработка.

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

Ответ 3

Сначала я работаю в Micro Focus - так что я заинтересован. Однако я вернул бы вопрос о себе. Почему нет? Собственное предположение состоит в том, что С++, С# или Java, естественно, будут лучше, потому что они новее. Однако COBOL не остановился. Отчасти из-за своего многословного синтаксиса оказалось возможным добавить новые функции в COBOL, чтобы он оставался конкурентоспособным. Люди довольно часто говорят о том, как "плохо" COBOL, но сравнивают 30-летний COBOL с последней версией С#, Ruby и т.д.!

В самом деле, сама история COBOL, развивающаяся, но остающаяся обратной совместимостью, является веской причиной того, что бизнес инвестирует в нее; tco уменьшается, потому что нет необходимости переписывать.

Подробнее о самой последней версии COBOL - ознакомьтесь с сайтом сообщества для управляемого COBOL: http://knol.google.com/k/alex-turner/micro-focus-managed-cobol/2246polgkyjfl/4

Ответ 4

Почему это произошло?

Потому что в конце 1950 года правительство США постановило, что если поставщик программного обеспечения захочет продать приложение или написать приложение для правительства, язык должен быть cobol.

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

Вторая причина: потому что даже сегодня это лучше, чем любой другой язык, который я знаю для определенных аспектов определенных бизнес-проблем, которые происходят довольно часто. Наиболее важным из этих аспектов является десятичная арифметика. Cobol имеет его изначально (как в случае PL/1 и так далее), но это не относится ни к одному из этих якобы "более современных" langauges. Кстати, именно по этой причине здесь так много вопросов, касающихся "какой лучший тип данных для хранения денежных ценностей?". Люди, задающие эти вопросы, знают не лучше, чем весь ИТ-мир состоит из некоторого языка OO и некоторого инструмента ORM и не имеют представления о том, почему такая вещь "арифметика денег" может быть полезна для компьютерного языка для ее поддержки, т.е. для компьютерного языка для него есть встроенный, собственный тип данных, кроме bigint (с программистом, которому еще нужно отслеживать число десятичных знаков) или float (при этом программист все еще несет ответственность за добавление правильного округление логики повсюду).

Ответ 5

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

С++ и C в норме заменяют элементы системного стиля, но они падают на математику с фиксированной точкой и поддерживают поддержку ориентированных на запись ввода-вывода. В пространстве, где живут большинство финансовых и бизнес-приложений, z/OS, как Cobol, так и z/ассемблер имеют лучшую поддержку для этих вещей.

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

Python использует поддержку библиотеки (aka) для математики с фиксированной точкой, а также записи ввода-вывода. Он также страдает от смертельного, IMHO, конструктивного недостатка использования отступов для ограничения объема. Это работает достаточно хорошо в относительно однородной среде Mac/Windows/Unix с некоторым вариантом наборов символов ISO8859-1. Он подвержен проблемам при перемещении между ASCII-ориентированным миром и ориентированным на EBCDIC миром, где терминаторы строк не так просты, как "\n\r,\r,\n" и любая неправильная конфигурация в пакете передачи файлов, процедура преобразования символов или редактирование с помощью терминала, настроенного для другого набора символов, уничтожит область вашего источника.

Все языки, о которых вы говорите, имеют недостатки в критических бизнес-потребностях, где Cobol является самым сильным.

Ответ 6

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

Эти машины также поддерживают смехотворно большие скорости ввода-вывода; если вы не можете обрабатывать дневные транзакции в реальном времени, вы не в бизнесе.

Это был стабильный язык с очень небольшим количеством устаревших битков с 1985 года.

Код не легко переносится на другой язык, потому что разработчики не "планировали" для этого когда-либо. Перемещение кода, который сегодня использует системы питания на другом языке, представляет собой риск и очень большие затраты.

Надежность подсчитывает что-то, а COBOL - в пиках.

Ответ 7

Я работал с ao c, С++ и java. все имеют преимущество n с графическим признаком. Но когда дело касается Computing, означает, что нет трудных работ только для бизнес-расчетов и спекуляций. никто не победил COBOL в эффективности.. и огромный процесс обработки данных, Процензирование на день или больше, чем на день.. на Java или на другом языке!!! забыть. его единственный коболь и мэйнфрейм.

  • отбеливатель безопасности. нет никакого отбеливателя для последнего более 60 лет в мэйнфрейме.
  • простота кода для обработки в чрезвычайной ситуации или ситуации шоу.
  • Привет, используйте front end в java, vb.net all, но для хранения данных полагайтесь на DB2.so cobol стал обязательным.

все его резоны, почему ведущие банковские фирмы думают 10 раз, прежде чем перейти от мэйнфрейма к другому.

Ответ 8

Почему это произошло?

Это сильно подтолкнуло IBM. Это было большой поддержкой для FORTRAN и COBOL, хотя и не PL/1.

Он был доступен очень рано, впервые появившись перед 1960 годом.

Это было намного проще, чем использование ассемблера, даже ассемблера IBM 360 (который был очень приятным для бизнес-обработки). Это подняло много людей, пытающихся сделать лучше, чем ассемблер.

Это было очень хорошее совпадение с обычными бизнес-вычислениями того времени. Было очень хорошо принимать входные данные, делать небольшие преобразования и выплескивать отчеты. (По-прежнему, по-прежнему, но у предприятий гораздо более разнообразные потребности в настоящее время.)

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

Ответ 9

[Vendor Post - но не обязательно официальное утверждение поставщика]

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

Как пишет NealB в своем посте, я говорил с пользователями, чья естественная среда и опыт Java, но они поддерживают основную логику в COBOL, потому что это лучший инструмент для работы. Они либерально смешивают Java (в первую очередь для унификации UNICODE и интеграции systesm) с COBOL в одном приложении. если бы они сравнивали количество кода для выполнения одной и той же работы в Java, это просто не имело смысла. Алекс Тернер опубликовал несколько отличных примеров на другом сайте, сравнивая типичные бизнес-функции в COBOL с Java.

Ответ 10

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

Ответ 11

Cobol был изобретен, чтобы позволить людям, которые ничего не знали о компьютерах для написания программ. Это именно такая плохая идея, на которой процветает бизнес, особенность американского бизнеса.

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

http://userweb.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/EWD1284.html