- Друг выучил COBOL и получил код, последние изменения в котором были сделаны в 90-х... его матерью.
- Наследование в программировании не так работает.
Слышал там с Коболом такая штука, на нём работают всякие государственные и финансовые мейнфреймы которые были запущены ещё в 80-х. И сейчас внезапно выяснилось что их невозможно перенести на современные языки или даже просто обновить так как программеры по Коболу почти вымерли (от старости). И сейчас срочно начали обучать новых программеров.
Мне кажется что программисты работающие на языках производных от Cobol спокойно перенесут его на свой язык и смогут с этим дальше работать. Например на F#.
Перевод больших программ на другие языки, это или огромные риски или огромные бюджеты. А тут еще и язык практически ископаемый.
За большие деньги я и на марсианский переведу.
за большие деньги можно сдублировать железо и базы данных и на них отрабатывать и тестировать переписанную программу локально
Кажется на коболе работает какая-то госструктура в США, и у них там сейчас жопа ибо система ебать какая огромная, а все админы умерли от старости.
Бюро занятости вроде. Когда из-за карантина куча народу потеряла работу, выяснилось что система не может обработать больше, кажется, 4-х миллионов заявок на пособие.
Пресс F ?
Перенести и переписать все возможно, но это большие деньги, риски и простои. А финсектор всего этого пиздец как не любит. России в какой-то мере повезло с тем, что вся банковская система создавалась значительно позже и с нуля уже на более современных языках.
увы, майнфреймы есть и в российских банках. они работают и их не трогают
б л я я я я я т ь
проще расчёты на крипту перевести такими темпами
проще расчёты на крипту перевести такими темпами
справляются? стабильно работают? ну и пусть работают. у банков много денег - могут выстроить паралельную струкуру и постепенно переходить на неё. огромного вала транзакций уже не будет - всё будет плюс-минус на этом уровне
Скачал как-то вижуал студио кобол, сделал временную лицуху, так мне аж на телефон набрали откуда-то и долго интересовались в каких отношениях я состою с коболом и насколько это серьезно. Собеседника нисколько не остановила фраза "я просто скачал посмотреть", он дотошно пытался выяснить мой скилл владения языком и сколько я собираюсь заниматься им.
Похоже, что там офис, родственный офису винрара.
Вы вот смеетесь, а у нас на работе лицензионный винрар. Больше 5000 сотрудников, думаю из них не меньше 4500 с компьютерами, и на каждом стоит лицензионный винрар.
я слышал, что прям компании(ну или хотя бы гос учреждения) могут ебать за неоплаченный софт
Ну не за каждую единичную штуку. Там смотрят в массе. Плсю-минус трамвайная остановка сходится - и норм. Поштучно никто никогда не считал на моей памяти.
мы ежегодно отчитываемся сколько у нас лицензионных виндовсов и офисов, и сколько пиратских. ещё за специфический медицинский софт, но его хрен взломаешь. а всякие 1С-ки, винрары, тоталкоммандеры и прочее-прочее никому не интересны - легальные они или нет.
да но ведь есть бесплатный 7zip, который вообще ничем не хуже.
Мне кажется это была такая благотворительность со стороны топов, или может чье то обещание выполненное типа вот разбогатею и куплю винрар)
Мне кажется это была такая благотворительность со стороны топов, или может чье то обещание выполненное типа вот разбогатею и куплю винрар)
мне кажется такие дядьки во времена своего обещания не то что о винраре, а вообще в компьютерах почти никак не разбирались
У нас айти компания, и дядьки в компьютерах разбираются)
вот разбогатею и начну игори в стиме покупать.
в то же время вижу - чем старше и чем доступней покупные игры - тем меньше времени в них играть.
в то же время вижу - чем старше и чем доступней покупные игры - тем меньше времени в них играть.
Я так в лучшие годы больше 200 игр купил. Играл наверное в четверть.
Киберпалеограф - программист, который расшифровывает и изучает древние языки программирования :D
СЛАВА ОМНИССИИ
Не забудьте протереть за собой клаву, мышь и монитор после использования.
А можно тупой вопрос про радиацию?
В чём проблема написать небольшую программу переводчик?
Мой уровень программирования: Считаю что языки отличаются только синтаксисом.
В чём проблема написать небольшую программу переводчик?
Мой уровень программирования: Считаю что языки отличаются только синтаксисом.
ох если бы они отличались только синтаксом
Транспайлеры есть, вот например - https://github.com/patrickp89/actojat
Но проблема в том, что такой "переведенный" код будет еще сложнее понять и менять. Потому что в разных языках разные стили программирования, т.е. код будет не идиоматическим.
Проблема не в том, что среду компиляции и выполнения Кобола стало трудно запускать в наше время. Проблема в том, что изменить код или даже банально исправить ошибку трудно, так как все меньше людей, способных понять как работает старый код на Коболе.
Но проблема в том, что такой "переведенный" код будет еще сложнее понять и менять. Потому что в разных языках разные стили программирования, т.е. код будет не идиоматическим.
Проблема не в том, что среду компиляции и выполнения Кобола стало трудно запускать в наше время. Проблема в том, что изменить код или даже банально исправить ошибку трудно, так как все меньше людей, способных понять как работает старый код на Коболе.
Интересно, а эти программы на старом языке они ещё и к старому железу привязаны? Или заработают и на новых
В основном косвенно, через оси, и если у современных операционок будет хотя бы возможность эмулирования, а лучше обратная совместимость, то заставить работать можно, а если начинать переписывать, то можно столкнутся ещё и со старыми библиотеками и буквально побитово с ними работать (т.е. в тех самых нулях и единицах). В общем проще будет как чёрную коробку заново разработать по.
Бывает, что можно скомпилировать на новое железо. Если нет, то можно запускать в виртуальных машинах.
Ясно, Спасибо!
я трогал немного кобол в своей бурной юности и на сколько я помню нет там ничего заумного, общая структура та-же что и на прочих языках, кардинальных отличий нет.
так ну-ка ищи работу в Новом Свете
Не программист, но подозреваю, что прикол не в самих словах, а в логике языка. Тоесть перевести-то можно, но программа все равно работать не будет, потому что комбинация символов для выполнения задачи другая.
Грубо говоря, это как переводить идиомы прямым текстом. Слова переводятся, а суть теряется. It's raining cats and dogs - дождит котами и собаками.
Грубо говоря, это как переводить идиомы прямым текстом. Слова переводятся, а суть теряется. It's raining cats and dogs - дождит котами и собаками.
Забавно, я ничего не понял, но уверен что ты написал тоже-самое что и joytt.
Наверно так переводчик и работал бы.
Наверно так переводчик и работал бы.
Нет, ты говоришь прям про совсем глупый переводчик, который будет работать ну разве что может между фреймворками или очень схожими языками. нормальный переводчик на выходе выдаст точно такую же работающую программу, но проблема будет в том, что понятность от этого не сильно возрастёт.
Сами же сложности с переводчиками в том, что в новом языке может не быть того же функционала, что и в старом(выпилили как устаревшее) и нужно понять на что её заменить.
Как пример есть какой нибудь goto, который отправляет тебя в другую часть кода, и вот разбери, это цикл или условие.
Сами же сложности с переводчиками в том, что в новом языке может не быть того же функционала, что и в старом(выпилили как устаревшее) и нужно понять на что её заменить.
Как пример есть какой нибудь goto, который отправляет тебя в другую часть кода, и вот разбери, это цикл или условие.
В любом коде есть какое-то количество хаков, багов, костылей, привязок к среде. Кроме того, серьезная система - это не монолит, а куча всяких внутренних взаимодействий. Т.е. тебе нужно не просто вычислить а+б, но и запихнуть результат в какую-то другую программу, древнюю, как говно мамонта, а то и вовсе вывести его на какое-то табло, которое управляется на уровне ноликов и единичек, и которое тоже надо менять, потому что подключается к мейнфрейму оно прямой распайкой, от которой давно потеряны спеки.
Ну и плюс, как выше уже отметили, задача-то стоит, как правило, не в том, чтобы заставить старую прогу работать на новом железе, а еще и развивать ее. А для этого надо понимать, что она делает. А оно внутри с багами, хаками, костылями и комментами вида "я хуй его знает, зачем это домножается на константу, тот чувак уволился в прошлом, 1972 году".
Ну и плюс, как выше уже отметили, задача-то стоит, как правило, не в том, чтобы заставить старую прогу работать на новом железе, а еще и развивать ее. А для этого надо понимать, что она делает. А оно внутри с багами, хаками, костылями и комментами вида "я хуй его знает, зачем это домножается на константу, тот чувак уволился в прошлом, 1972 году".
да вроде как все работает на этом. на трансляторах. вот ты кодишь игру на юнити на C#, код переводится на C под ядро движка, ну и т.д. до двоичного кода (0 и 1)
так что да, можно
так что да, можно
есть еще визуальное программирование, думаю это та же тема. недавно решил поиграться с программированием промышленных контроллеров(step 7), там есть 2 визуальных языка и 1 текстовый. среда спокойно переводила с одного на другое. хотя думаю будет предел, текстовый язык вроде как более гибким будет
Ну вообще говоря, такая идея очень старая. Оттуда и родились чудища, типа ibm rational rose, которые потом мутировали в rational software architect. Но популярности массово не сыскало. МОжешь судить даже по тому, что ты о нём мог(ла) никогда и не слышать.
Так что каждой задаче свой язык. А вот переводить из одного в другой можно. Но порой проще понять логику и написать заново, чем заниматься трансляцией в лоб. Помнится, надо было меньше тысячи строк кода на FORTRAN IV. Идейно вроде просто. Но просто портирование в лоб сразу начало буксовать, потому что свои условности есть везде. Если бы это коммерческий код был, то страшно подумать, что могло бы быть. Тут, благо, сугубо научная история была.
Так что каждой задаче свой язык. А вот переводить из одного в другой можно. Но порой проще понять логику и написать заново, чем заниматься трансляцией в лоб. Помнится, надо было меньше тысячи строк кода на FORTRAN IV. Идейно вроде просто. Но просто портирование в лоб сразу начало буксовать, потому что свои условности есть везде. Если бы это коммерческий код был, то страшно подумать, что могло бы быть. Тут, благо, сугубо научная история была.
А, кстати, вот наверху напомнили про любимую засаду старых программ. Допустим, у тебя под идентификатор использован в старой программе тип переменной, куда число больше 4 млн не лезет. Потому что надо было экономить память. Ты это доблестно портируешь, и "программа-переводчик" даже автоматически заменяет маленькую переменную на верибигинт какой-нибудь, куда всю вселенную можно запихать. Но только тот старый программист знал про ограничения своего железа, и на всякий случай написал обработчик ситуации, когда на вход приходит идентификатор больше 4м. Результат - все портировано, все работает, железо новое сверхмощное, места на дисках полно. Но только толку от этого ноль - при попытке добавить еще одну запись сверх 4М вываливается ошибка "место кончилось".
А может и просто перестать работать, потому что программер на это ограничении какой-нибудь костыль реализовал.
А может и просто перестать работать, потому что программер на это ограничении какой-нибудь костыль реализовал.
Во-от.... А вы питон, питон. КОБОЛ.
Кобольд @_@
Демон в юникс-лайк системах, запускающий код на коболе.
Чтобы написать коммент, необходимо залогиниться