Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
दुनिया का सबसे बड़ा मंच बनेगा ई-मार्केटप्लेस #GeM
GeM ने चालू वित्त वर्ष 2024-25 की पहली तिमाही (अप्रैल-जून) में शानदार शुरुआत की है। GeM के माध्यम से पहली तिमाही में वस्तुओं एवं सेवाओं की खरीद 1.24 लाख करोड़ रुपये को पार कर गई है।
42 века за 25 долларов
«Солдаты! Эти памятники с высоты сорока веков смотрят на вас!», говорил своим гвардейцем, изнывающим от жары в медвежьих шапках, Бонапарт.
Со времён рейда Наполеона прошло уже 200 лет, поэтому на нас смотрят уже 42 века.
Первого ноября в Гизе открылся новый Большой египетский музей, или Grand Egyptian Museum (аббревиатура - #GEM ).
GEM - это 500 000 кв м экспозиции, более 100 000 экспонатов. Всё, что пылилось в старом музее на каирском Тахрире в запасниках, из-за недостатка площадей, теперь выставлено на обозрение. Да и разве в цифрах, которые,безусловно, впечатляют,дело.
Музей действительно впечатляет масштабами,под стать великим пирамидам, которые прекрасно видны из его панорамных окон.До пирамид Гизы всего два километра и туда можно пройти сразу из музея.Одиннадцатиметровая статуя Рамзеса Второго (местные говорят "Рамзи")кажется не больше человеческого роста на фоне высоких сводов атриума.
Главная звезда экспозиции - полная коллекция Тутанхамона с 5000+ предметами: знаменитая золотая маска, ранее хранившаяся в Каирском музее на Тахрире.Экспонаты разбиты по династиям: от Старого царства с пирамидами Джосера и Менкаура до Нового царства с Рамсесом Вторым.
Проект рисковал и вовсе не состояться.Ведь пока строили музей (начинали в 2005 году),свергли бессменного Хосни Мубарака, уморили в тюрьме президента-ихвана Мурси, и уже долгое время на троне местный спецслужбист Фаттах Ас-Сиси. Он недавно благополучно продлил полномочия и Египет вступил в бесконечную эпоху развития, мира и процветания.
Финансировали строительство японцы, проектировали и строили западные компании но через местного инфраструктурного гиганта Hassan Alam.Не знаю, кто строил пирамиды, но сейчас всё, что сложнее общестроя в Египте не обходится без иностранцев.
Величие нынче стоит недёшево, на музей ушло около миллиарда долларов. Были голоса осуждения, мол страна далеко не самая богатая, массы бедняков в буквальном смысле живут на улице. Зато теперь есть и музей и бедное население, а так бедное население было бы без музея и без 1млрд$ гарантировано.
По поводу знаменательного, без иронии,события Ас-Сиси организовал грандиозную церемонию, с гостями из десятков стран вплоть до глав государств. Оперное пение,симфонический оркестр, специально написанная сюита, исполняемая одновременно в Гизе, в Рио-де-Жанейро,Нью-Йорке,Мельбурне, Париже и Токио (транслировали одновременно, через телемост).
Пафосную речь произнесла египетская красавица Ясмины Эль Абд. В панегирике в один ряд встали великие пирамиды и цивилизация древнего Египта, греческое наследие, халифат и конечно же Ас-Сиси с его New Capital - новой столицей, помпезным проектом выноса всей египетский администрации в новый город, построенный в пустыне в 60 км от старого Каира (город правда почти пустой, если не считать уже перенесенные минестерства).
Очень довольный Ас-Сиси с супругой, внимающий перипетиям перфоманса, главная задача которого поставить его в ряд с фараонами, это само по себе отдельный перфоманс.
Но самолюбование новых фараонов не портит картинки, ведь это Египет,здесь это в порядке вещей тысячи лет.Новость хорошая, музей получился уникальный, его обязательно стоит посетить, если уже собрались в Каир.
Мой совет: когда насладитесь музеем (удовольствие стоит 25$) и пройдете к пирамидам, к вам будут лезть навязчивые местные смугляши, будут предлагать проехаться на бричке, сфотографироваться, влезть на верблюда, купить этническую ветошь. Делать это будут на всех языках мира с правдивым взглядом сочинского таксиста. Услышав, что вы из России, сильно воодушевятся и вспомнят российского президента, всячески подчёркивая силовые характеристики последнего.
Просто не реагируйте, даже не смотрите в сторону назойливых цыганойдов, сконцентрируйтесь на сорока веках, смотрите вокруг, оно того стоит.
#GEM удачный бренд, слово gem - это ещё и драгоценный камень. Музей стал идеальным дополнением к пирамидам, прекрасное приобретение для Египта и всех, кто интересуется историей.
Сорок два века за 25 долларов, надо брать!
видео в первом комментарии 👇
#ОткрытияNegoro
ГЕМИНИДЫ: ПРОЧНОСТЬ И СВЯЗЬ С АСТЕРОИДОМ
Пик Геминид пройден ушедшей ночью (ZHR ~ 100). Удалось пронаблюдать?
****
Этот рой примечателен не только тем, что является самым мощным среди регулярных потоков, но также своим прародителем - не кометой, но необычным астероидом (3200) Фаэтон.
Объект ещё иногда называют "каменной кометой", т.к. приближаясь к Солнцу, Фаэтон разогревается до 750 °C, растрескивается и теряет вещество. Правда, его слишком мало, чтобы пополнять метероидный рой, который, вероятно, родился в ходе катастрофы в недалёком прошлом.
****
В связи с этим частицы Геминид значительно плотнее и прочнее в сравнении с порождёнными кометами, а значит, они глубже, при прочих равных, проникают в нашу атмосферу.
Вот этот график от НАСА показывает, что декабрьские метеоры в среднем горят до 70 км над землёй, в то время как Персеиды с их в ~4 раза меньшей плотностью (0.37 г/см3 против 1.39 у Геминид) заканчивают светиться на 15-20 км выше.
Инфографика: NASA
Источник фото
#GEM#Phaethon
#announce#gem
Ирина Горячева. С древнеегипетского языка на дизайнерский. Опыт работы в GEM.
Место: ZOOM
Дата и время: 12 ноября
🕕 Начало: 18:00 — Каир и Иерусалим | 19:00 — Москва | 17:00 — Берлин
⏱️ Продолжительность: около 1 часа + время на вопросы
🍀Запись будет
*Участие бесплатно, но будем рады поддержке🙏.
Регистрация по ссылке
The integration of eGramSwaraj & Government eMarketplace (#GeM) on 24th April 2023 will create new avenues for village-level entrepreneurs
#NayeBharatKiPanchayat#SamaveshiVikaas
🎙 NEW GEM #FINE
I think here is big potential to grow, marketing incoming. 🆘Be careful, put small bag here.
Marketcap: 9.5 MIL $
Price now: 0.000000023618598849591634 $
1️⃣Dextool trending working, order Dextool Trending
2️⃣Big marketing Campaign incoming
✅ More information
Telegram: https://t.me/+YIevhi57q2phY2Y6
Website:https://www.finerc.vip/
👉 BUY HERE: https://www.dextools.io/app/en/ether/pair-explorer/0xb54ce26f2e30f64c5b684b141311ce138ab5e00e
🧨 Push cooperating with@Whales100xsignals
#MEMECOIN#GEM