Минутка формационно-языкового шовинизма

Oct 09, 2020 15:12

Язык C++ разработал датчанин. Дания - монархия с развитым институтом частной собственности.

Поэтому в C++ по умолчанию все поля и методы объекта имеют частный доступ, а публичный доступ надо оговаривать отдельно. Поскольку всё, что не разрешено, - запрещено.

Разработчики сами не раз напрямую говорят о том, что вам нужно найти обоснование, чтобы сделать что-то внутри объекта публичным - а то мало ли.

Несмотря на всё это, при неосторожности тот, кто написал код объекта, может порушить всю внешнюю среду, даже не взаимодействуя с какими-то другими объектами. К счастью, всем остальным про это будет довольно тяжело узнать, - это частный бизнес объекта и его разработчика всё-таки.

Язык Scala разработал швейцарец. Швейцария - конфедеративная республика с сильно развитой на всех уровнях прямой демократией. При этом права низовых групп людей весьма обширны и даже частный бизнес очень на многое вынужден напрямую спрашивать разрешение у местных жителей.

Поэтому в Scala по умолчанию поля и методы объекта имеют публичный доступ, а частный надо оговаривать отдельно. Поскольку всё, что не запрещено, - разрешено.

Разработчики сами не раз напрямую говорят, что вам нужно найти обоснование, чтобы сделать что-то внутри объекта частным, поскольку если его правда можно сломать, предоставив наружу что-то из его содержимого, то вы скорее всего что-то делаете не так, и это, вообще говоря, опасно.

И действительно, если все вокруг понимают основную идею подхода и ей добровольно следуют, то, оказывается, что-то незаметно или заметно сломать довольно проблематично. Однако в это время во все стороны торчит куча зацепок для того, чтобы при нарушении идеи и непонимании подхода разломалось всё вообще. Несмотря на это, оно отлично работает и привлекает к себе всё больше внимания со стороны программистов на других языках.

Язык Java разработали американцы. Поэтому способ доступа к полям и методам объекта по умолчанию прописан в мануалах и вы, как гражданин, имеете полное право их прочитать, однако без специалистов всё равно мало кто поймёт, как эта штука вообще устроена. Видимо, исторически оно имело какой-то смысл, но этот частный случай давно не повторялся, а потому канул в Лету. Но раз тогда случилось, значит, и сейчас так надо - ничего что никто не понимает, кому это запрещено, а кому разрешено, зачем оно так, и где это предполагается применять. В результате, хотя оно записано в мануалах, его почти никто не использует, что, впрочем, не мешает при случае апеллировать к самому принципу и к мануалам, его описывающим. Поэтому на всякий случай все всегда самостоятельно напрямую указывают права доступа - мало ли что.

Незаметно что-то сломать у кого-то другого при этом ощутимо тяжелее, чем в С++, однако всё ещё довольно легко - у твоего официального партнёра по взаимодействию, ведь если объект куда-то случайно передать даже с самыми добрыми намерениями, то довольно быстро обнаружится, что получивший этот объект может сделать с ним чего захочет - вплоть до того, что объявить его своим и соответствующим образом им распоряжаться. А потому желательно, чтобы все следовали инструкции. Впрочем, понимать её не обязательно - главное выполнять.

Вдобавок, к инструкциям раз в несколько лет выходят апдейты, следить за которыми ни у кого не хватит времени. Благо, с самого начала предполагалось, что консультации по их поводу будут давать платные специалисты. Нет, вы, конечно, имеете право разобраться сами забесплатно - что ж, попробуйте этот бесплатный сыр: у некоторых ведь даже получается. Но мы вас предупредили.

Многие при этом говорят, что эта ваша хвалёная Scala работает только потому, что в мире есть Java, а без неё бы ничего не получилось. Они при этом тактически умалчивают, что сама Java была результатом исправления некоторых монархических пережитков C++, другую часть коих она успешно сохранила, про что все знают, хотя и предпочитают молчать. Однако тем, кто пишет на Scala, всё равно обидно, в результате чего они, с одной стороны, заявляют, что основная масса их идей взята из других источников, а с этим конкретным просто всё так совпало, и, с другой стороны, каждый год порываются что-то такое сделать, чтобы и без Java оно тоже работало, причём даже ещё лучше. Что интересно, им это даже временами удаётся, но остальных это всё равно не убеждает.

doc-файл

юмор, политика, программирование

Previous post Next post
Up