Lex Kravetski (lex_kravetski) wrote,
Lex Kravetski
lex_kravetski

Categories:

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

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

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

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

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

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

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

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

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

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

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

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

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



doc-файл

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

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 83 comments