Недавно меня осенило, что большинство современных языков программирования в основном на английском языке. Это будет короткая статья, в которой будут обсуждаться некоторые идеи, которые приходят мне в голову. Я также хотел бы предварить это, сказав, что мы должны опасаться инклюзивности ради выполнения квоты. Я не верю, что это то, чем я сейчас занимаюсь. Может быть не сразу очевидно, почему идея инклюзивности может быть в тени зверя. Проблема заключается не в самой инклюзивности, а в мотивах обиды, которые часто используются для ее оправдания. Я укажу вам на мою статью об этом, если вам интересно; однако я не хочу, чтобы эта статья носила политический характер.

Программирование — это навык, чрезвычайно полезный в жизни каждого. Независимо от того, программируете вы или нет, почти все, у кого есть доступ к электричеству, используют системы, функционирующие с помощью программирования. Однако подавляющее большинство языков программирования имеют синтаксис только на английском языке. Это то, что почти всегда полностью игнорируется в англоязычных странах, где мы просто принимаем это как должное. Тем не менее, это принципиально серьезная проблема для глобального сообщества программистов. Главное помнить, что люди индивидуальны, и каждый человек уникален. У каждого человека есть потенциал, чтобы обеспечить чрезвычайную полезность для остальных из нас. Таким образом, на благо всех людей в наших интересах помочь разрушить границы, препятствующие обсуждению, сотрудничеству и совместному развитию.

Представьте себе, что вам нужно изучать программирование на иностранном языке — особенно на иностранном языке с совершенно незнакомыми вам и вашей клавиатурой символами. Простая попытка произнести и обсудить сегменты кода может стать проблемой. За последние несколько лет языки программирования, на мой взгляд, совершенно справедливо стремились к более читабельному состоянию; кроме того, они должны стать менее механическими и более абстрагированными по отношению к разговорной речи. Однако это не поможет людям, которые не говорят на языке, на котором построен язык программирования — который я буду называть языком конструктора. На самом деле, если сделать язык программирования более похожим на язык конструктора, на нем будет сложнее программировать, если вы плохо владеете языком конструктора. Механические языки труднее освоить, но они хорошо знакомы опытным разработчикам; они помогают преодолеть языковой барьер.

Основная цель этой статьи — обратить ваше внимание на тот факт, что программирование крайне закрыто для неанглоязычного мира. Есть языки программирования, которые существуют в определенных странах, но они не сильно пересекаются. Было бы полезно, если бы у кого-то из вас было время создать уровень перевода поверх существующих языков программирования. По сути, это будет синтаксис ассемблера или препроцессора поверх такого языка, как Java, Python, JavaScript, C++ и т. д., где уровень перевода выполняет преобразование между неанглийским и английским синтаксисом. Я предполагаю, что это будет довольно сложно для языков, которые не разделяют традиционную латинскую структуру предложений. Тем не менее, это все еще должно быть возможно.

Рассмотрим язык программирования, изначально поддерживающий различные языковые пакеты, из которых разработчики могут выбирать. Они могут работать вместе, поэтому двуязычные разработчики могут использовать любой язык конструктора, который лучше всего выражает код. Они могут выбирать из пакетов, чтобы предотвратить увеличение размера и времени компиляции. Чтобы это работало, также потребуется многосторонняя система перевода, в которой любой код, написанный на этом языке, может быть эффективно переведен на любой другой язык. Это было бы проще, чем перевод разговорного языка, но все же сложная задача. Рассмотрим результат такого языка. Программирование на этом языке было бы открыто для всех в мире, при условии наличия большого списка поддерживаемых языков. Однако, что более важно, это позволило бы программировать между разными языками. Его можно рассматривать как преобразование «lf» в «crlf», сделанное для того, чтобы код, написанный в Unix-подобных операционных системах, можно было использовать в Windows. Конечно, это преобразование было бы гораздо более интенсивным, но точно так же оно позволило бы большему количеству людей программировать вместе. Вполне возможно, что следующее масштабное программное обеспечение, которое изменит мир, находится в сознании ребенка из какой-то чужой страны, заблокированного языковым барьером.

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