Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
Mohammad Rahim Khushnawaz — Afghanistan: Le Rubâb De Hérat (VDE, 1994)
#traditional#hindustani#rubab#Afghanistan
Устад Мохаммад Рахим Хушнаваз родился в семье гератских музыкантов в 1941 году. Его дед играл на табла, а с традиционной афганской музыкой Хушнаваза познакомил отец, певец и фисгармонист Амир Хушнаваз, обучавшийся музыке в Кабуле. Сам Хушнаваз научился играть на рубабе и стал одним из самых выдающихся мастеров своего времени. Поскольку Герат находится недалеко от Ирана, Хушнаваз специализировался на адаптации иранской микротональной музыки, добавляя промежуточные лады к рубабу. В 1995 году состоялся его европейский дебют в Театре де ля Виль в Париже. Вскоре после этого он бежал из Афганистана от правления талибов в иранский город Мешхед. «Le Rubâb De Hérat» — его альбом, посвященный, как следует из названия, гератскому стилю игры на рубабе.
Spotify | AppleMusic | VK
Gulab Afridi — The Colours Of Rubab (Worlds Within Worlds, 2023)
#traditional#hindustani#rubab#Pakistan
Гулаб Африди — музыкант из Пешавара, один из самых известных пакистанских исполнителей на рубабе. Его стиль уходит корнями в традиционную музыку пуштунских регионов Пакистана, о чем говорит даже его инструмент, покрытый сверкающим орнаментом и меньший по размеру, чем инструменты афганского производства. Но в стиле Африди мы также можем обнаружить влияние афганской классической музыки, особенно в композиции «Raag Yaman (I)», напоминающей виртуозную, новаторскую игру Хомаюна Сахи, прожившего некоторое время в Пешаваре. Преданность Африди рубабу принесла ему множество наград, в том числе премию премию «Фахр-э-Пешавар» («Гордость Пешавара»), «Фахр-э-Пахтунхва» («Гордость Пахтунхва») и премию «Азиатская мелодия». Гулаб также принял участие в «2017 UNESCO Culture Caravan», кульминацией которого стало выступление в Лахоре.
Bandcamp
Mohammad Omar — Virtuoso from Afghanistan (Smithsonian Folkways, 2002)
#traditional#hindustani#rubab#tabla#Afghanistan
Мохаммад Омар — один из самых известных исполнителей на рубабе. До 80-х он руководил оркестром «Радио Кабул», в который входили музыканты со всего Афганистана, а в 1974 году стал первым афганским музыкантом, прочитавшим курс лекций в Вашингтоне. Первое выступление Омара перед западной публикой прошло там же. Большинство произведений состояло из шакала, импровизационного введения в одном музыкальном ладу, и нагмы, композиции в том же ладу со сложным ритмом и повторяющейся мелодией. Аккомпанировал Омару мастер игры на табла, Закир Хуссейн. Музыканты впервые встретились утром перед концертом и обнаружили, что говорият на разных языках. К счастью, это не оказалось препятствием. Концерт был так хорошо воспринят, что его запись в течение многих лет распространялась по всему миру, но только в 2002 году, через год после отступления талибана из Кабула, была выпущена официально.
Spotify | AppleMusic
Homayun Sakhi — Music of Central Asia, Vol. 3: Homayun Sakhi: The Art of the Afghan Rubâb (Smithsonian Folkways, 2006)
#traditional#hindustani#rubab#tabla#Afghanistan
Хомаюн Сахи — всемирно признанный мастер афганского рубаба. Он родился в 1976 году в Кабуле в семье музыкантов, где, благодаря отцу, обучился искусству игры на рубабе. В 2002 году он переехал в Фримонт, штат Калифорния, где до сих пор преподает афганскую музыку в основанной им школе. Вместе с Тарьялаем Хашими, мастером игры на барабанах табла, Сахи на этом альбоме исполняет афганскую традиционную музыку, имеющую множество общих черт, с одной стороны, с индийской рагой, и с персидскими мелодиями — с другой.
Spotify | AppleMusic | VK
Nasim Khushnawaz — Songs From The Pearl of Khorasan (Worlds Within Worlds, 2022)
#traditional#hindustani#rubab#Afghanistan#Iran
Насим Хушнаваз — музыкант в седьмом поколении, cын гератского исполнителя на рубабеРахима Хушнаваза. Насим проживает в Иране с тех пор, как вместе со своей семьей бежал от правления талибов. Он продолжает традицию классического афганского, и более иранизированного хорасанского и гератского исполнения на рубабе. В 2010 году отец Насима отправился в свой родной город Герат, где скоропостижно скончался от сердечного приступа. Насим поспешил в Герат на похороны отца, но, возвращаясь в Иран, попал в аварию и впал в кому. Очнувшись, он потерял память и ему пришлось заново осваивать свой инструмент, с которым в детстве его познакомил отец. Об этой истории рассказывает документальный фильм «Nassim, the territory of memory». Сегодня Насим продолжает семейную традицию и обучает своих сыновей и некоторых афганских и иранских студентов музыке Афганистана.
Spotify | AppleMusic | Bandcamp
The Ensemble Of Rahim Takhari — Shirin Dahani / Sweet Lips: Music of North Afghanistan (Pan Records, 1996)
#traditional#rubab#dhol#zerbaghali#ghaychak#dutar#dambura#Afghanistan
«Shirin Dahani», что значит «сладкоголосие», — редкая запись, посвященная музыкальным традициям севера Афганистана. Там эта страна граничит с Таджикистаном и Узбекистаном, поэтому в музыке можно услышать влияние фольклорных традиций этих стран, а персидский элемент представлен ярче, чем на юге. Музыку на этом альбоме исполняет ансамбль Рахима Тахари, певца, исполнителя на дутаре и гайчаке. В его ансамбле также есть рубаб, дамбура, зербагали и дол. Исполнитель на рубабе, кстати, учился у знаменитого Устада Мохаммада Омара. Все песни исполнены на языке дари. Некоторые из них являются положенными на музыку газелями и рубаями, а некоторые — народными произведениями. Часть инструментальных композиций позаимствована из узбекских и пуштунских песен.
Spotify | AppleMusic | Soundcloud
Various Artists — In the Footsteps of Babur: Musical Encounters from the Lands of the Mughals (Smithsonian Folkways, 2010)
#traditional#dutar#setar#tabla#rubab#santur#Afghanistan#India#Tajikistan
«В месяц Рамадан 899 года и на двенадцатом году жизни я стал правителем в стране Ферганской», — так начинается автобиография Захируддина Мухаммада Бабура, основателя Империи Великих Моголов. Благодаря Smithsonian Folkways Recordings и благотворительной организацииКарима Ага Хана, лидера мусульман-исмаилитов, пять музыкантов из Центральной Азии, Афганистана и Северной Индии собрались вместе и записали совместный альбом, демонстрирующий музыкальное разнообразие территорий, которые некогда называлась Империей Великих Моголов. В число музыкантов входят исполнитель на индийском сантуреРахул Шарма, исполнитель на афганском рубабеХомаюн Сахи, афганско-американский виртуоз таблаСалар Надер, бадахшанский сетарист Мухтор Мубораккадомов и мастер дутараСирожиддин Джураев.
Spotify | AppleMusic
Qais Essar — Echoes Of The Unseen (Worlds Within Worlds, 2024)
#traditional#hindustani#rubab#dilruba#daf#tabla#bansuri#santoor#Afghanistan
Каис Эссар — афганский композитор и инструменталист, известный своим новаторским подходом к традиционной музыке, сочетающим наследие с современностью. В своём альбоме Echoes of the Unseen Эссар экспериментирует с афганской классической музыкой, в центре которой находится рубаб — национальный инструмент Афганистана (и предшественник индийского сарода).
Композиции альбома основаны на рагах — традиционных мелодических формах афганской и индийской классической музыки, которые соответствуют определённым временам суток, начиная с утра и заканчивая ночью. Полевые аудиозаписи природы Северной Аризоны, где живёт Эссар, создают в альбоме дополнительное измерение естественных звуков. А за многообразие традиционных инструментов на разных треках отвечали Сандип Сингх (дильруба), Ниламджит Дхиллон (табла), Эрик Занг (даф), Джас Ахлувалиа (табла), Камалджит Ахлувалиа (сантур) и Химаншу Нанда (бансури).
Экспериментальный подход Эссара позволяет расширить границы звучания рубаба через импровизацию в рамках традиции. Музыкант обращается к музыкальной линии Устада Аллаудина Хана, особенно к игре на сароде Устада Али Акбар Хана и Устада Аашиш Хана (сына и внука Аллаудина, соответственно). А в рамках текущего запрета на музыку в Афганистане, Эссар подчёркивает важность сохранения и развития наследия рубаба, обеспечивая выживание инструмента в современном музыкальном контексте.
🔗AppleMusic | Spotify | YouTube | Deezer | TIDAL | Napster | Amazon | Bandcamp | Telegram
Embryo — Reise (Schneeball, 1979)
#traditional#field_recording#jazz#rock#hindustani#rubab#dilruba#kanjira#dutar#tabla#ghatam#dholak#thavil#Afghanistan#Pakistan#India
Во второй половине 70-х Кристиан Берчард решил прокатиться по «тропе хиппи» и пригласил свою группу Embryo составить ему компанию. Вместе они проехали через Ближний Восток, Афганистан, Пакистан и Индию, импровизируя по пути с профессиональными и уличными музыкантами. Из записей этих импровизаций и получился альбом «Reise», что значит «путешествие». Некоторые композиции сочетают в себе традиционную музыку с прогрессивным роком («Kurdistan») или даже с панком («Es Ist, Wie's Ist»), в то время как другие полностью традиционные («Chan Delawar Khan»). На альбоме отметилось множество выдающихся музыкантов. Среди них — виртуоз игры на афганском рубабе Мухаммад Омар, афганский исполнитель на саринде Мачин Абдул Рашид, перкуссионист Т. А. С. Мани и певица Рамамани из Бангалора, перкуссионист Рамеш Шотам из Южной Индии и многие другие.
Spotify | AppleMusic | VK