All streams
Search
Write a publication
Pull to refresh
5
0.1
Григорий Бочаров @FlyingDutchman2

Senior Developer

Send message

По поводу объединения словарей: я давно использую собственную функцию для этих целей, а именно


def merge_dicts(d1, d2, merge_value_func=None):
    d_result = d1.copy()

    for key, value in d2.items():
        if key in d1:
            if merge_value_func is None:
                d_result[key] = value
            else:
                d_result[key] = merge_value_func(d_result[key], value)
        else:
            d_result[key] = value

    return d_result

Здесь имеется дополнительный параметр merge_value_func. Он позволяет скомбинировать в новом словаре значения для одних и тех же ключей в исходных словарях, например:


d1 = { 1 : 'a' }
d2 = { 1 : 'b' }
d = merge_dicts(d1, d2, lambda s1, s2: s1 + s2)

Результат:


{1: 'ab'}
Вот еще пример эвфемизма (услышал более 20 лет назад от человека, работавшего в Великобритании): у них считалось неприличным говорить disabled в отношении людей. Нужно было говорить «not so body enabled».
Я знаю такую науку, как «кибенематика» — на стыке кибернетики и автоматики.
Когда я в 1997 году начал работу в авиакомпании KLM, коллеги мне сказали: «Если ты в офисе видишь кого-то в костюме и при галстуке, то это консультант из компании Logica CMG». Все остальные, включая начальство, одевались просто. Эта компания тогда в IT-мире была тем, чем «Роллс-Ройс» является среди автомобилей.
Маленькое замечание: аэропорт NRN у вас показывается как Dusseldorf, хотя на самом деле это Weeze (находится в 70 километрах от Дюссельдорфа).
Мне кажется, что 1.7 миллиарда — это слишком мало для такой системы.
Да, идея фикс «программирование без программистов» по-прежнему не дает покоя менеджерам.

Mendix сейчас активно продвигается здесь в Голландии (что не мудрено, поскольку он в Голландии и разработан) в крупных организациях — банки, министерства.

В одном голландском банке сделали консультанты проект на Mendix, внедрили и разъехались. После их ухода понадобилось что-то в приложении изменить. Попробовали банковские программисты сами это сделать, но не тут-то было, слишком сложно оказалось. Пришлось банку срочно нанимать специалистов по Mendix с оплатой 500 евро в час.

Эта идея, конечно не нова. Книга Джеймса Мартина «Applications Development Without Programmers» была издана еще в 1981 году.

Вспоминаются 90-е годы прошлого века, когда предшественники таких low-code платформ активно продвигались под лозунгами «Языки 4-го поколения», RAD (Rapid Application Development) и CASE (Computer-aided software engineering).

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

Я работал в 2013 году в одной финансовой компании, в которой 25% всего программного обеспечения было сделано на Uniface.

Один коллега тогда перешел с Uniface на C#, хотя и сильно потерял при этом в зарплате. По его словам, Uniface с точки зрения программиста — совершенно бесперспективная вещь. Язык программирования так и застрял в своем развитии в начале 90-х.

В финансовой компании хотят это все перевести на Java или .NET, но денег нет. Так и приходится все это поддерживать. При этом Uniface-разработчики стоят дороже .NET-разработчиков.

Кстати, в этой же компании еще 25% программ были созданы при помощи еще одной подобной системы — Blueriq (раньше она называлась Aquima). Ее разработчики использовали «революционную» идею о том, что данные должны храниться не в базе данных, а в одном большом XML-файле. Теперь тоже хотят от всего этого избавиться и тоже денег на это нет.

Но история никого ничему не учит, и вот у нас уже повсюду активно продвигаются Mendix и Betty Blocks — последний писк моды (еще одна голландская разработка).
Я уже деталей через 30 лет не помню. Этот кусочек кода я взял из одного из своих скриптов тех лет. Возможно, можно было бы и проще сделать.
С языком REXX я познакомился в 1989 году в процессе работы в среде СВМ (Система Виртуальных Машин) на мейнфрейме ЕС <какой-то там номер> (фактически это была OS-360 или 370, конечно).

REXX был языком достаточно удобным и понятным, хотя и не всегда. Например, прочитать строку со стандартного входа, что на языке C выглядело бы так:

s = fgets(in);

на языке REXX выглядело вот так:

parse pull s
'execio 1 diskr in'

Но в целом для своего времени язык был очень хорошим (сейчас, конечно, он морально устарел и начисто проигрывает таким языкам, как Python). В СВМ еще был текстовый редактор XEDIT, в котором можно было писать макросы на языке REXX.

Кстати, существовал клон редактора XEDIT, который работал на персональных компьютерах в среде MS DOS. Он назывался KEDIT, и макросы для него можно было писать на диалекте языка REXX, который назывался KEXX. Я с ним начал работать году в 1990-м.
Непонятно, куда делся язык программирования PL-1. Он должен был быть рядом с Fortran и Cobol.
— Как я узнаю, что правильно выбрал психотерапевта?
— Ты захочешь его убить.
(и это не шутка!)
24. Заставьте компьютер думать как человек


Дейкстра когда-то сказал (не ручаюсь за точность цитаты): «Использование антропоморфной терминологии по отношению к компьютерам является признаком профессиональной незрелости».
А при чем тут сексизм? У меня вызвал подозрение ее возраст (слишком молодая для такого руководителя). А вовсе не пол, как вы подумали.
Эта девушка руководила командой из 100 программистов? Как-то с трудом верится.
Не знаю. Вероятнее всего, дело было в Харькове в 80х — начале 90х. Больше ничего не знаю.
В 1996 году коллега-математик рассказала мне о докторской диссертации по математике объемом в 1 (одну) страницу (это не шутка).
12 ...
12

Information

Rating
3,938-th
Location
Arnhem, Gelderland, Нидерланды
Registered
Activity