Рубрика «COBOL»

Когда я узнал, что в Музее компьютерной истории есть работающий компьютер IBM 1401 [1], то заинтересовался, сможет ли он сгенерировать фрактал Мандельброта. Я написал программу фрактала на языке ассемблера и компьютер в течение 12 минут пыхтел, создавая изображение Мандельброта на своём строчном принтере. В процессе этой работы я узнал несколько любопытных фактов о IBM 1401, которые изложу в этой статье.

12-минутный Мандельброт: фракталы на 50-летнем мейнфрейме IBM 1401 - 1

Мейнфрейм IBM 1401 (слева) из Музея компьютерной истории печатает фрактал Мандельброта на принтере 1403 (справа). Примечание: это строчный принтер, а не матричный.

Компьютер IBM 1401 появился в 1959 году, он стал самым продаваемым компьютером середины 1960-х — всего использовалось более 10 тысяч систем. 1401 сдавался в аренду за 2500 долларов в месяц [2] (примерно 20 000 долларов по нынешним ценам) — низкой цене, позволившей использовать компьютеры большему количеству компаний. Даже бизнес средних размеров мог использовать 1401 для подсчёта зарплат, ведения бухгалтерии, инвентаризации, обработки заказов, выставления счетов и множества других задач. Благодаря низкой стоимости и большой популярности 1401 прозвали «Моделью Т» компьютерной отрасли [3]. Даже для своего времени IBM 1401 имел довольно скромную производительность, особенно по сравнению с мощными бизнес-компьютерами наподобие IBM 7080 (стоимость аренды: 48 000 долларов в месяц) [2]. Однако IBM 1401 получил огромную популярность благодаря своей доступности, надёжности, простоте использования, качественному принтеру и стильному внешнему виду [4].
Читать полностью »

В прошлые годы, даже в последние год-два мне иногда попадались новости, что кому-то пришёл счёт или чек на смешную сумму 2 020 202 доллара… и 02 цента.

Если вы такое увидите, то (почти наверняка) это ошибка программирования на COBOL. Большинство программистов COBOL совершают эту глупую ошибку, и я не исключение.

Проблема вызвана тем, как именно мы обычно инициализируем запись. Возьмём такую маленькую программу:
Читать полностью »

История ошибки 2000 года - 1В конце девяностых мир переживал за компьютерные системы, которые обещали вот-вот отказать. Эксперты запугивали, что при наступлении 2000 года софт не сможет корректно обработать дату, и мир погрузится в хаос: отключатся платёжные системы, биржи встанут, откажет любая электроника. В реальности новый век наступил без каких-либо проблем, переживания оказались напрасны.

Именно так ошибку 2000 года восприняло общественное сознание. К примеру, британский политик-брекзитёр заявил, что опасения о влиянии роли Брекзита на экономику похожи на панику бага Y2K.

Об ошибке тысячелетия забыли почти сразу после наступления 2000 года. Даже в непрофильных изданиях месяцами обсуждали баг Y2K, но уже в первые дни нового года внимание к теме угасло. Завораживающая смена числа с 1999 на 2000 не создала катастроф, которыми так пугали. Скептики объявили, что деньги на устранение бага потратили впустую.

Происходящее за кулисами важнее представлений неспециалистов. Градус общественной паники действительно ушёл выше уровня, которого заслуживала ситуация. Реальная опасность компьютерных сбоев по всему миру 1 января 2000 года существовала и требовала вмешательства разработчиков ПО. Целые отделы программистов годами устраняли проблему Y2K.
Читать полностью »

Приветствую, Дорогие Друзья.

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

Как и обещал — переходим от простого (логирование) к более сложному: метапрограммирование.

Читать полностью »

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

Заложники COBOL и математика. Часть 2 - 1

Первая часть
Читать полностью »

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

Когда речь заходит о языке программирования COBOL — первый вопрос, который всплывает у всех в голове, всегда выглядит так: «Почему человечество всё ещё использует этот язык во множестве жизненно важных областей?». Банки всё ещё пользуются COBOL. Около 7% ВВП США зависит от COBOL в деле обработки платежей от CMS. Налоговая служба США (IRS), как всем хорошо известно, всё ещё использует COBOL. В авиации тоже используется этот язык (отсюда я узнала одну интересную вещь на эту тему: номер бронирования на авиабилетах раньше был обычным указателем). Можно сказать, что множество весьма серьёзных организаций, идёт ли речь о частном или государственном секторе, всё ещё используют COBOL.

Заложники COBOL и математика. Часть 1 - 1

Автор материала, первую часть перевода которого мы сегодня публикуем, собирается найти ответ на вопрос о том, почему COBOL, язык, который появился в 1959 году, всё ещё настолько распространён.
Читать полностью »

Автор материала рассуждает о проблемах современных языков программирования и о том, какими путями можно исправить недостатки.

Если изобрести язык программирования 21 века - 1

Только за последние 18 лет люди придумали множество языков, среди которых, вероятно, самыми популярными стали Swift, Kotlin и Go. При этом отличительная черта языка программирования 21 века — это отсутствие каких-либо отличительных черт. Самое приятное в работе с такими языками — за изучением одного из них можно провести выходные и под конец заявить, что вам удалось освоить популярную новинку, по факту же не узнав ничего нового. В них действительно нет ничего нового. Все современные языки созданы на основе какой-либо правильной и проверенной формулы, имя которой, вероятнее всего, Objective-C, Java или C.

«Отсутствие новизны» можно считать ценной чертой, но подобная ситуация вызывает один вопрос. Действительно ли перед нами языки нового, 21 века, или все это — просто отражение плохих привычек программирования 20 века?

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

Долой синтаксис!

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

75-летний программист основал компанию по обслуживанию компьютерных систем на COBOL - 1

Билл Хиншо — обычный 75-летний мужчина, который много лет назад вышел на пенсию. У него 32 внука и правнука, так что можно думать, что Хиншо занят своими потомками. Возможно, своей семье он уделяет много времени, но у него есть еще одно занятие — пенсионер руководит достаточно крупной компанией, которая занимается обслуживанием систем на COBOL, языке программирования 60-летней давности.

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

Интервью с мамой, банковским программистом на COBOL'е - 1
Фото из Гугла, это не мама автора

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

Объясню немного

Мир банковского программного обеспечения — это другая вселенная. Она сильно отличается от той, к которой привыкло большинство из нас. Я публикую этот пост на HN и на Reddit. Публикую интервью не в виде вопросов-ответов, а в виде рассказа. Я добавил некоторые вопросы и ответы в нижнюю часть поста.

1991

Год, когда она начала внутреннее обучение в банке Nordea, который тогда назывался Nordbanken (Северный банк). В 2001 году его переименовали в Nordea. Во время обучения она должна была проходить различные тесты, в первую очередь тест IQ, чтобы показать, что она обладает интеллектом, достаточным для работы в этой области. Тест на психологическую устойчивость — что у неё достаточно нервов для этой специфической работы и тест на многозадачность, который она завалила с оценкой 22/100. Остальные тесты она прошла успешно и заняла одну из 16 доступных позиций.

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

Эта позиция в банке самая важная, по крайней мере, с технической точки зрения. Если, скажем, мама и члены её команды одновременно бросят работу, банк разорится в лучшем случае в течение нескольких недель. Её коллектив работает посменно с круглосуточной доступностью.Читать полностью »

tl;dr: Go достаточно многословный и строгий язык программирования с очень предсказуемой и стремительной кривой обучения, что делает его крайне удачной технологией для обучения программированию новоприбывших!

Я только приехал из штатов, после Google Code-In 2014 Grand Prize Trip, отдохнувший и веселый. Какое-то время думал написать отчет о том, чем призеры там занимались, как нас приняли в Mountain View и обо всем этом, но в какой-то момент понял, что все это совершенно бесполезно. Совсем недавно я по воле случая должен был помочь своему товарищу с домашкой по информатике (там было что-то вроде selection sort). Реализация требовалась на паскале, а я паскаль знаю очень плохо, как впрочем и другие неактуальные, по большей мере, языки программирования, вроде Ada.

Go как язык для обучения программированию - 1В меня ударила молния и укусил гофер, после чего мое тело мутировало в какую-то кунг фу Go хренотень. Иными словами, я задумался о возможном потенциале моего любимчика среди новых технологий, Go, в качестве языка для обучения программированию новоприбывших (читай: школьников). Мне кажется, у Go есть все, что в принципе может быть нужно подобной программе и даже чуточку больше (например, в школе могли бы затрагивать тему параллельного, ни в коем случае не concurrent, программирования, которую не затрагивают, просто потому что FPS вообще не умеет гонять два куска кода одновременно). Под катом, собственно, мои мысли на этот счет. Кстати, пользуясь случаем, хочу передать привет divan0! Большое спасибо за твою просветительскую деятельность в тематическом хабе: Go действительно нуждается в огласке, ведь много людей до сих пор считают, что это какая-то страшная поделка уровня Plan9 из 80-х и к тому же, без обобщенного программирования (в каждой шутке есть доля шутки), а ты рассказываешь людям очень правильные вещи на понятном для них языке! Никакого дисклаймера не будет, но я настоятельно не рекоммендую воспринимать содержимое статьи абсолютно серьезно, ведь я человек, у которого есть целых два гофера: синий и розовый!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js