Technologique
663 subscribers
144 photos
3 videos
42 files
949 links
Deeply involved developers about various aspects, tendencies & conceptions of programming technologies, FLOSS, Linux, security, cloud infrastructures & DevOps practices, distributed systems, data warehousing & analysis, DL/ML, web3, etc.
Author: @andrcmdr
Download Telegram
О тщете всего сущего. :)

Недавно в одном из чатов я писал:

"Синтаксис реально важен! Читабельность важна! Аккуратная ментальная модель языка, чтобы держать её в голове (и пользоваться ей) важна! Гвидо это прекрасно понимал, поэтому Python вышел настолько удачным!"

Как в подтверждение моих слов попалась статья Алексис Кинг "Восхождение по бесконечной лестнице абстракций", переведённая на русский язык недавно:

https://lexi-lambda.github.io/blog/2016/08/11/climbing-the-infinite-ladder-of-abstraction/

Перевод на русский язык:
https://ru.hexlet.io/blog/posts/infinite-ladder-of-abstraction

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

Сегодня в разговоре мне мой старый добрый друг и коллега, программист за 40 (yes, you can! you made it! =), сказал такую мысль, очень важную я считаю, поэтому хочу донести её до каждого из вас:

"Вот представь, что наша цивилизация вымерла (факторов для этого сейчас предостаточно, взять хотя бы биологические - питание, перенаселение, устойчивость вирусов и бактерий к антибиотикам), но до вымирания мы успели на неком носителе (типа кварцевого голографического, имеющего самую высокую ёмкость) сохранить хотя бы весь GitHub - какой код сможет понять будущая цивилизация (при допустимости того факта, что цивилизации умирали и жизнь возобновлялась на нашей планете не один раз), как расшифровать логику его работы, не имея железа архитектуры наших дней?
Cкорее всего большинство кода будет подобно манускриптам древних цивилизаций (типа шумерского царства или древнеегипетской цивилизации) - что-то смогут расшифровать и постичь, но большая часть останется не ясной, многое зависит от логики исследователей.
Той постижимой частью будет простой человеческий язык в комментариях с аналитической семантикой (языки индо-европейской группы) и код с императивной семантикой и структурной логикой (языки программирования высокого и среднего уровня), например байт-код виртуальных машин будет понятен, если их исходники на языках среднего уровня останутся, но работающее железо, кремниевая логика нанометровых транзисторных цепей, будут навсегда утеряны!
Поэтому - пиши комментарии в коде на русском и английском языках, выбирай языки не слишком низкоуровневые и не слишком высокоуровневые, практичные, ищи золотую середину и пиши код так, будто завтра мы все разом вымрем и цивилизациям будущего придётся читать, дебажить и запускать наши исходники! =)
Остальные принципы не столь важны!"


Этот пост за дружбу посвящается моему давнему другу Ярославу, разработчику Linux kernel subsystems developer at Novell - я уверен, ты скоро поправишься, выздоравливай! Иначе с кем мне крушить мои философские камни!? =)

Также огромное спасибо Александру Чистякову за подачу хорошего поста (ко времени) и за канал (for sure, это реально философский авторский блог!):
https://t.me/lhommequipleure/21
http://telegra.ph/Da-zdravstvuet-zhizn-na-vysokoj-stupenke-12-02

#Telegram
#IT
#Software
#Development