LOGOFALPROG Telegram 118
А на каком языке думаешь ты?
#лайт
На днях бложику стукнул год. А я и не заметил. Как же быстро всё-таки летит время. Но сейчас не об этом. Тема сегодняшней записи «Язык определяет сознание». Это довольно древняя гипотеза и в наши дни большинством из нас принимаемая. То, что язык программирования также определяет сознание, мысль, в общем-то, тоже не новая, но довольно важная.

Задумывались ли вы насколько глубоко он его определяет? И я сейчас даже не про то, что каждая парадигма предполагает перестроить мышление. Я говорю о более фундаментальных вещах. О том, что вшивается нам в подсознание и в каких терминах мы начинаем думать.

Вы наверняка слышали в той или иной вариации цитату Дейкстры: «студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации».

Так уж вышло, что моим родным языком был как раз бейсик (да-да, я был из тех детей, которые больные ублюдки). И я очень долго не слазил с бейсика принципиально. Как так вышло и как это повлияло на меня, я, может быть, расскажу в следующий раз (спойлер: деграднул я на отличненько). Так или иначе, в си-подобные языки я пришёл уже с некоторым бэкграундом и учил их, как иностранные. Это значит, что на работе я переводил код в голове на бейсик, решал на нём задачу и переводил обратно. Не строчка за строчкой, разумеется, но, по крайней мере, в более привычную мне терминологию. Прошло пару лет, прежде чем я научился думать сразу в сишных терминах. Статическая функция, виртуальная функция — это те слова, которыми я теперь оперирую в голове. И если встречаю новый язык, я продолжаю думать в этих же терминах, даже если там для этого используются другие ключевые слова. То есть снова перевожу в голове.

— Что за бред? — возможно, подумали вы сейчас. — Ключевые слова меняются, но само понятие переводить не нужно. Статическая функция — она и в Африке статическая.
— Gotcha! — отвечу я вам. — Нет такого объективного явления, как статическая функция. Почему она статическая? Что в ней статичного? Переменные действительно статические, потому что они не меняются от вызова к вызову функции. А функции-то почему статические? Только потому, что кто-то в своё время пожалел на них новые ключевые слова? По смыслу бы больше подошло «общие функции».

С виртуальностью такая же история. Это устоявшаяся в ООП терминология, но представьте, что вы магл, ничего не знаете о программировании и слышите все эти «виртуальная функция», «чистая виртуальная функция», «абстрактный класс», «изолированный (sealed) класс». Многое ли вы поняли? Если подумать, это почти рандомные слова, мало отражающие явление. А теперь сравните с Overridable, NotOverridable, MustOverride, Inherits, MustInherit… Гораздо больше смысла, не правда ли? Если вы ещё не догадались, в бейсике именно так. И Shared для статических функций. Но говорить нам привычнее на птичьем языке виртуальности. И если вы попробуете писать на VB.Net, вы наверняка будете в голове переводить overridable в virtual.

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

Обсудить



tgoop.com/logofalprog/118
Create:
Last Update:

А на каком языке думаешь ты?
#лайт
На днях бложику стукнул год. А я и не заметил. Как же быстро всё-таки летит время. Но сейчас не об этом. Тема сегодняшней записи «Язык определяет сознание». Это довольно древняя гипотеза и в наши дни большинством из нас принимаемая. То, что язык программирования также определяет сознание, мысль, в общем-то, тоже не новая, но довольно важная.

Задумывались ли вы насколько глубоко он его определяет? И я сейчас даже не про то, что каждая парадигма предполагает перестроить мышление. Я говорю о более фундаментальных вещах. О том, что вшивается нам в подсознание и в каких терминах мы начинаем думать.

Вы наверняка слышали в той или иной вариации цитату Дейкстры: «студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации».

Так уж вышло, что моим родным языком был как раз бейсик (да-да, я был из тех детей, которые больные ублюдки). И я очень долго не слазил с бейсика принципиально. Как так вышло и как это повлияло на меня, я, может быть, расскажу в следующий раз (спойлер: деграднул я на отличненько). Так или иначе, в си-подобные языки я пришёл уже с некоторым бэкграундом и учил их, как иностранные. Это значит, что на работе я переводил код в голове на бейсик, решал на нём задачу и переводил обратно. Не строчка за строчкой, разумеется, но, по крайней мере, в более привычную мне терминологию. Прошло пару лет, прежде чем я научился думать сразу в сишных терминах. Статическая функция, виртуальная функция — это те слова, которыми я теперь оперирую в голове. И если встречаю новый язык, я продолжаю думать в этих же терминах, даже если там для этого используются другие ключевые слова. То есть снова перевожу в голове.

— Что за бред? — возможно, подумали вы сейчас. — Ключевые слова меняются, но само понятие переводить не нужно. Статическая функция — она и в Африке статическая.
— Gotcha! — отвечу я вам. — Нет такого объективного явления, как статическая функция. Почему она статическая? Что в ней статичного? Переменные действительно статические, потому что они не меняются от вызова к вызову функции. А функции-то почему статические? Только потому, что кто-то в своё время пожалел на них новые ключевые слова? По смыслу бы больше подошло «общие функции».

С виртуальностью такая же история. Это устоявшаяся в ООП терминология, но представьте, что вы магл, ничего не знаете о программировании и слышите все эти «виртуальная функция», «чистая виртуальная функция», «абстрактный класс», «изолированный (sealed) класс». Многое ли вы поняли? Если подумать, это почти рандомные слова, мало отражающие явление. А теперь сравните с Overridable, NotOverridable, MustOverride, Inherits, MustInherit… Гораздо больше смысла, не правда ли? Если вы ещё не догадались, в бейсике именно так. И Shared для статических функций. Но говорить нам привычнее на птичьем языке виртуальности. И если вы попробуете писать на VB.Net, вы наверняка будете в голове переводить overridable в virtual.

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

Обсудить

BY Log of Alprog


Share with your friend now:
tgoop.com/logofalprog/118

View MORE
Open in Telegram


Telegram News

Date: |

To delete a channel with over 1,000 subscribers, you need to contact user support In the next window, choose the type of your channel. If you want your channel to be public, you need to develop a link for it. In the screenshot below, it’s ”/catmarketing.” If your selected link is unavailable, you’ll need to suggest another option. Judge Hui described Ng as inciting others to “commit a massacre” with three posts teaching people to make “toxic chlorine gas bombs,” target police stations, police quarters and the city’s metro stations. This offence was “rather serious,” the court said. The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. Telegram channels fall into two types:
from us


Telegram Log of Alprog
FROM American