- Друг выучил COBOL и получил код, последние изменения в котором были сделаны в 90-х. / программирование :: it-юмор :: Cobol :: наследование :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek программирование наследование Cobol 
- Друг выучил COBOL и получил код, последние изменения в котором были сделаны в 90-х... его матерью.
- Наследование в программировании не так работает.
.Ä Anna Baas @venite • 2h
*) a friend learned COBOL and
received a codebase where the last change was done in the 90s... by. his. mum.
Q 2	11 10 O 48	&
nobody @imaguid • 20m that's not how inheritance is supposed to work in programming
Q 1 tl 02 e $	&,it-юмор,geek,Прикольные гаджеты. Научный,
Подробнее
.Ä Anna Baas @venite • 2h *) a friend learned COBOL and received a codebase where the last change was done in the 90s... by. his. mum. Q 2 11 10 O 48 & nobody @imaguid • 20m that's not how inheritance is supposed to work in programming Q 1 tl 02 e $ &
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,программирование,наследование,Cobol
Еще на тему
Развернуть
Слышал там с Коболом такая штука, на нём работают всякие государственные и финансовые мейнфреймы которые были запущены ещё в 80-х. И сейчас внезапно выяснилось что их невозможно перенести на современные языки или даже просто обновить так как программеры по Коболу почти вымерли (от старости). И сейчас срочно начали обучать новых программеров.
Мне кажется что программисты работающие на языках производных от Cobol спокойно перенесут его на свой язык и смогут с этим дальше работать. Например на F#.
DrXak DrXak 30.09.202209:29 ответить ссылка -0.8
Перевод больших программ на другие языки, это или огромные риски или огромные бюджеты. А тут еще и язык практически ископаемый.
joytt joytt 30.09.202209:42 ответить ссылка 17.0
За большие деньги я и на марсианский переведу.
vvasili vvasili 30.09.202216:45 ответить ссылка -0.4
за большие деньги можно сдублировать железо и базы данных и на них отрабатывать и тестировать переписанную программу локально
Кажется на коболе работает какая-то госструктура в США, и у них там сейчас жопа ибо система ебать какая огромная, а все админы умерли от старости.
Бюро занятости вроде. Когда из-за карантина куча народу потеряла работу, выяснилось что система не может обработать больше, кажется, 4-х миллионов заявок на пособие.
Пресс F ?
Перенести и переписать все возможно, но это большие деньги, риски и простои. А финсектор всего этого пиздец как не любит. России в какой-то мере повезло с тем, что вся банковская система создавалась значительно позже и с нуля уже на более современных языках.
Heralt Heralt 30.09.202209:54 ответить ссылка 14.8
увы, майнфреймы есть и в российских банках. они работают и их не трогают
б л я я я я я т ь

проще расчёты на крипту перевести такими темпами
26994 26994 30.09.202211:14 ответить ссылка 0.1
справляются? стабильно работают? ну и пусть работают. у банков много денег - могут выстроить паралельную струкуру и постепенно переходить на неё. огромного вала транзакций уже не будет - всё будет плюс-минус на этом уровне
Скачал как-то вижуал студио кобол, сделал временную лицуху, так мне аж на телефон набрали откуда-то и долго интересовались в каких отношениях я состою с коболом и насколько это серьезно. Собеседника нисколько не остановила фраза "я просто скачал посмотреть", он дотошно пытался выяснить мой скилл владения языком и сколько я собираюсь заниматься им.
Похоже, что там офис, родственный офису винрара.
minmatar minmatar 30.09.202210:42 ответить ссылка 21.5
Вы вот смеетесь, а у нас на работе лицензионный винрар. Больше 5000 сотрудников, думаю из них не меньше 4500 с компьютерами, и на каждом стоит лицензионный винрар.
я слышал, что прям компании(ну или хотя бы гос учреждения) могут ебать за неоплаченный софт
Ну не за каждую единичную штуку. Там смотрят в массе. Плсю-минус трамвайная остановка сходится - и норм. Поштучно никто никогда не считал на моей памяти.
мы ежегодно отчитываемся сколько у нас лицензионных виндовсов и офисов, и сколько пиратских. ещё за специфический медицинский софт, но его хрен взломаешь. а всякие 1С-ки, винрары, тоталкоммандеры и прочее-прочее никому не интересны - легальные они или нет.
да но ведь есть бесплатный 7zip, который вообще ничем не хуже.
Мне кажется это была такая благотворительность со стороны топов, или может чье то обещание выполненное типа вот разбогатею и куплю винрар)
мне кажется такие дядьки во времена своего обещания не то что о винраре, а вообще в компьютерах почти никак не разбирались
У нас айти компания, и дядьки в компьютерах разбираются)
вот разбогатею и начну игори в стиме покупать.
в то же время вижу - чем старше и чем доступней покупные игры - тем меньше времени в них играть.
Я так в лучшие годы больше 200 игр купил. Играл наверное в четверть.
фига ты миллионер
чертовы скидки в стиме)
Киберпалеограф - программист, который расшифровывает и изучает древние языки программирования :D
Cka3o4Huk Cka3o4Huk 30.09.202210:39 ответить ссылка 23.6
СЛАВА ОМНИССИИ
26994 26994 30.09.202211:14 ответить ссылка 10.9
Не забудьте протереть за собой клаву, мышь и монитор после использования.
А можно тупой вопрос про радиацию?
В чём проблема написать небольшую программу переводчик?
Мой уровень программирования: Считаю что языки отличаются только синтаксисом.
Teijo Teijo 30.09.202210:41 ответить ссылка -2.3
ох если бы они отличались только синтаксом
Транспайлеры есть, вот например - https://github.com/patrickp89/actojat

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

Проблема не в том, что среду компиляции и выполнения Кобола стало трудно запускать в наше время. Проблема в том, что изменить код или даже банально исправить ошибку трудно, так как все меньше людей, способных понять как работает старый код на Коболе.
joytt joytt 30.09.202210:50 ответить ссылка 4.6
Интересно, а эти программы на старом языке они ещё и к старому железу привязаны? Или заработают и на новых
В основном косвенно, через оси, и если у современных операционок будет хотя бы возможность эмулирования, а лучше обратная совместимость, то заставить работать можно, а если начинать переписывать, то можно столкнутся ещё и со старыми библиотеками и буквально побитово с ними работать (т.е. в тех самых нулях и единицах). В общем проще будет как чёрную коробку заново разработать по.
Бывает, что можно скомпилировать на новое железо. Если нет, то можно запускать в виртуальных машинах.
joytt joytt 30.09.202215:54 ответить ссылка 0.3
Ясно, Спасибо!
Teijo Teijo 30.09.202210:59 ответить ссылка 1.1
я трогал немного кобол в своей бурной юности и на сколько я помню нет там ничего заумного, общая структура та-же что и на прочих языках, кардинальных отличий нет.
diamid diamid 30.09.202211:38 ответить ссылка 2.8
так ну-ка ищи работу в Новом Свете
26994 26994 01.10.202210:02 ответить ссылка 0.3
Не программист, но подозреваю, что прикол не в самих словах, а в логике языка. Тоесть перевести-то можно, но программа все равно работать не будет, потому что комбинация символов для выполнения задачи другая.
Грубо говоря, это как переводить идиомы прямым текстом. Слова переводятся, а суть теряется. It's raining cats and dogs - дождит котами и собаками.
Забавно, я ничего не понял, но уверен что ты написал тоже-самое что и joytt.
Наверно так переводчик и работал бы.
Teijo Teijo 30.09.202211:07 ответить ссылка 3.1
Нет, ты говоришь прям про совсем глупый переводчик, который будет работать ну разве что может между фреймворками или очень схожими языками. нормальный переводчик на выходе выдаст точно такую же работающую программу, но проблема будет в том, что понятность от этого не сильно возрастёт.
Сами же сложности с переводчиками в том, что в новом языке может не быть того же функционала, что и в старом(выпилили как устаревшее) и нужно понять на что её заменить.
Как пример есть какой нибудь goto, который отправляет тебя в другую часть кода, и вот разбери, это цикл или условие.
В любом коде есть какое-то количество хаков, багов, костылей, привязок к среде. Кроме того, серьезная система - это не монолит, а куча всяких внутренних взаимодействий. Т.е. тебе нужно не просто вычислить а+б, но и запихнуть результат в какую-то другую программу, древнюю, как говно мамонта, а то и вовсе вывести его на какое-то табло, которое управляется на уровне ноликов и единичек, и которое тоже надо менять, потому что подключается к мейнфрейму оно прямой распайкой, от которой давно потеряны спеки.

Ну и плюс, как выше уже отметили, задача-то стоит, как правило, не в том, чтобы заставить старую прогу работать на новом железе, а еще и развивать ее. А для этого надо понимать, что она делает. А оно внутри с багами, хаками, костылями и комментами вида "я хуй его знает, зачем это домножается на константу, тот чувак уволился в прошлом, 1972 году".
да вроде как все работает на этом. на трансляторах. вот ты кодишь игру на юнити на C#, код переводится на C под ядро движка, ну и т.д. до двоичного кода (0 и 1)
так что да, можно
есть еще визуальное программирование, думаю это та же тема. недавно решил поиграться с программированием промышленных контроллеров(step 7), там есть 2 визуальных языка и 1 текстовый. среда спокойно переводила с одного на другое. хотя думаю будет предел, текстовый язык вроде как более гибким будет
Ну вообще говоря, такая идея очень старая. Оттуда и родились чудища, типа ibm rational rose, которые потом мутировали в rational software architect. Но популярности массово не сыскало. МОжешь судить даже по тому, что ты о нём мог(ла) никогда и не слышать.

Так что каждой задаче свой язык. А вот переводить из одного в другой можно. Но порой проще понять логику и написать заново, чем заниматься трансляцией в лоб. Помнится, надо было меньше тысячи строк кода на FORTRAN IV. Идейно вроде просто. Но просто портирование в лоб сразу начало буксовать, потому что свои условности есть везде. Если бы это коммерческий код был, то страшно подумать, что могло бы быть. Тут, благо, сугубо научная история была.
А, кстати, вот наверху напомнили про любимую засаду старых программ. Допустим, у тебя под идентификатор использован в старой программе тип переменной, куда число больше 4 млн не лезет. Потому что надо было экономить память. Ты это доблестно портируешь, и "программа-переводчик" даже автоматически заменяет маленькую переменную на верибигинт какой-нибудь, куда всю вселенную можно запихать. Но только тот старый программист знал про ограничения своего железа, и на всякий случай написал обработчик ситуации, когда на вход приходит идентификатор больше 4м. Результат - все портировано, все работает, железо новое сверхмощное, места на дисках полно. Но только толку от этого ноль - при попытке добавить еще одну запись сверх 4М вываливается ошибка "место кончилось".

А может и просто перестать работать, потому что программер на это ограничении какой-нибудь костыль реализовал.
Во-от.... А вы питон, питон. КОБОЛ.
Man(i)AK Man(i)AK 30.09.202221:04 ответить ссылка 0.5
Кобольд @_@
26994 26994 01.10.202210:02 ответить ссылка 0.0
Демон в юникс-лайк системах, запускающий код на коболе.
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
НИЧЕГО НЕОБЫЧНОГО, ПРОСТО ИНДИЙСКИЕ КОДЕРЫ ПРОСЯТ АЛЛАХА ЗАЩИТИТЬ ИХ КОД ОТ БАГОВ ПРЯМО В КОММЕНТАРИЯХ К ЭТОМУ КОДУ
patcncs / patch! i wxhcxccitor / 0.22+гсэаск-2.2
Package: wxhexeditor / 0.22+repack-2.2
08-remove-debug.patch
] download
Description: Remove sone debug printed on stdcut.
a/src/
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор программирование индусский код с божьей помощью

НИЧЕГО НЕОБЫЧНОГО, ПРОСТО ИНДИЙСКИЕ КОДЕРЫ ПРОСЯТ АЛЛАХА ЗАЩИТИТЬ ИХ КОД ОТ БАГОВ ПРЯМО В КОММЕНТАРИЯХ К ЭТОМУ КОДУ patcncs / patch! i wxhcxccitor / 0.22+гсэаск-2.2 Package: wxhexeditor / 0.22+repack-2.2 08-remove-debug.patch ] download Description: Remove sone debug printed on stdcut. a/src/
Стажер	х = 10;
Джун	х = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1;
Мидл	■рог (хп1: г = 0; 1 > -11; 1--) { х -= 1; }
Сеньор	до { х = пеы Рапс1от() .пех1:1п1:();
	} У\М1е (х != 10);
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор код программирование

Стажер х = 10; Джун х = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1; Мидл ■рог (хп1: г = 0; 1 > -11; 1--) { х -= 1; } Сеньор до { х = пеы Рапс1от() .пех1:1п1:(); } У\М1е (х != 10);
Sophie Koonin
@type_error
Follow

Rule #1: always colour match your IDE.
DogsUst.jsx X		
	Sophio Koonin, 14 days ago 11 author (Sophia Koonin)	
1	import React from ’react'	
2 3	Import PropTypes from 'prop-types'	
	Sophia Koonin, 14 pays ago 11 author (Sophia Koonin)	
4	export default clas
подробнее»

программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор код тп

Sophie Koonin @type_error Follow Rule #1: always colour match your IDE. DogsUst.jsx X Sophio Koonin, 14 days ago 11 author (Sophia Koonin) 1 import React from ’react' 2 3 Import PropTypes from 'prop-types' Sophia Koonin, 14 pays ago 11 author (Sophia Koonin) 4 export default clas
// Написал этот код в 4 утра, он работает // Пожалуйста, не трогайте его int square(int n)
{
int k = 0; while (true) {
if (k == n * n) return k;
k++;
}
}
подробнее»

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор индусский код программирование

// Написал этот код в 4 утра, он работает // Пожалуйста, не трогайте его int square(int n) { int k = 0; while (true) { if (k == n * n) return k; k++; } }