LINUX.ORG.RU

Язык программирования Картарика.

 , , ,


2

1

Решил открыть отдельную ветку на эту тему, так как возникло много вопросов по этой теме в другой ветке. Поэтому обсуждаем здесь.

Язык программирования Картарика или Картарский язык является строго-типизированным объектно-ориентированным языком с обязательной инициализацией переменных с ограниченным сборщиком мусора и запретом кольцевых зависимостей.

Создается на основе русской раскладки клавиатуры. С открытым исходным кодом. Разрабатывается на языке C.


Ответ на: комментарий от den73

Да, это можно. Аргументы и контраргументы разложенные по полочкам, по крайней мере лишним не будет.

zx_90 ()
Ответ на: комментарий от zx_90

На что бы вы заменили конструкцию if..elseif ?

У меня в языке так:

условия
  (сч < 5)
    делай-раз()
    делай-два()
  выполняется-другое-условие?()
    делай-три(сч)
  иначе
    делай-что-то-ещё()
monk ★★★★★ ()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от small-entropy

Интересный pet project, но зачем? У языка не будет большого community. Латиница популярна, т.к. есть по дефолту всегда и всюду.

Ответ из методички: зачем ты на ЛОРе пишешь на кириллице? Пиши на каком-нибудь всемирно популярном ресурсе, на английском. У твоих мнений будет гораздо бОльшая аудитория.

den73 ★★★★★ ()
Ответ на: комментарий от no-such-file

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

zx_90 ()
Ответ на: комментарий от zx_90

Имена переменных и функций лучше писать на родном языке

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

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

Ну тогда снова возвращаемся к вопросу, почему ты хочешь привязать ЯП к какому-то естественному языку? То что ЯП уже как-то связаны с английским, это просто исторический нюанс. К конструкции ЯП в наши дни это не имеет никакого отношения.

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

В программном коде наблюдается смесь ключевых слов, идентификаторов, взятых из библиотек, собственных идентификаторов и комментариев. Ну и значки, естественно. В какой пропорции? Я не мерял, но в исходниках ЯОС ключевые слова - это где-то 15-17% всех букв на данный момент. Основную массу в современном коде составляют слова английского языка, если это, конечно же, не 1С. Похоже, что 1С является уникальной в мире средой, которая бросила вызов доминированию англосаксов и победила. Другие мне пока не попадались.

Если ключевые слова в латинице, а свои имена на русском - нужно переключать раскладку на границе между ними. Если ключевые слова и свои имена на русском, а библиотеки на английском - то дело хуже, чем с раскладкой - понадобится знать английский язык для понимания имён сущностей (те самые 1620 слов в именах стандартных классов Java, комментарии в коде, документация, аббревиатуры).

Отсюда вывод: если мы что-то начали переводить на русский, то надо переводить некую критическую массу, желательно где-то 80-90% всего текста программы, документации и т.п. должно быть на русском. Тогда не нужно будет переключать раскладку и знать английский для работы с такой системой. 1С этим требованиям удовлетворяет и она жизнеспособна (и ещё как!). То, что тут сейчас напишут про то, что 1С популярна по нетехническим причинам, это просто зависть. Популярность 1С - это факт, а измышления на тему причин популярности - это только мнения людей, которые неизвестно чего в своей жизни достигли.

Итак, если мы занялись русскоязычным программированием, то нужно либо вообще этим не заниматься, либо нужна система, стремящаяся к тотальной русскоязычности, иначе овчинка не стоит выделки. Именно поэтому я занимаюсь целой операционной системой - всё меньшее находится на грани утопления, поскольку интерфейсы ОС (всяческие bash, creat и man) невозможно по-нормальному русифицировать. И конечно система должна быть полностью новой, в противном случае нужны очень большие ресурсы, чтобы поддерживать конкурентоспособную документацию.

В ЯОС так и есть - система малоизвестная и поэтому можно считать её новой. Удачно сложилось так, что была весьма плохо документирована, и поэтому те документы, которые я создаю на русском, находятся вне конкуренции, даже невзирая на их скудость.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 4)
Ответ на: комментарий от no-such-file

по очевидным причинам непонятности родного языка для окружающих

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

den73 ★★★★★ ()
Ответ на: комментарий от monk

Никаких проблем это не создаёт

Не создаёт для математиков. Создаёт для студентов, например. Трудно избавиться от имеющихся ассоциаций.

no-such-file ★★★★★ ()
Ответ на: комментарий от zx_90

Видимо ими и занимаются из раза в раз, потому что лучше ничего не придумали

Как минимум в питоне придумали a < x < b. В lua придумали метатаблицы и добавление любых методов к примитивам. В js есть x[key] = value, let f = function() ... Перл вообще был очень прорывной язык для своего времени, правда они сильно упоролись потом. Все куда-то двигаются, что-то новое да привносят, странно, что вы это отрицаете.

На что бы вы заменили конструкцию if..elseif

В данный момент я делаю словарь функций там, где можно обойтись без этой портянки. Ключ словаря вычисляется из набора условий.

crutch_master ★★★★★ ()
Ответ на: комментарий от monk

Нет, я походу пропустил словосочетание «адекватным людям».

cocucka ★★★★★ ()
Ответ на: комментарий от zx_90

Но достаточно чтобы были родные слова, а не полностью воспроизведённый естественный язык.

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

crutch_master ★★★★★ ()
Ответ на: комментарий от zx_90

Я не отрицаю, мне странно слышать, что у меня нет ничего нового. Там как раз нового хватает.

Пробежал по мануалу, там жабка с отступами. Что там нового? Ключевые слова другие?

crutch_master ★★★★★ ()
Ответ на: комментарий от den73

Взломал телефон Монка и подслушиваешь

Так пусть он сам и расскажет, кто конкретно ему жаловался, как часто это было и т.д.

Вот мне лично никто за 30 лет как я программирую никто не жаловался и я не слышал от других, чтобы им кто-то жаловался. Поэтому я предполагаю, что @monk врёт вставил это для красного словца.

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

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

А ты используешь кириллические имена функций и переменных?

monk ★★★★★ ()
Ответ на: комментарий от no-such-file

Ты путаешь клевету и отсутствие доказательства. Если ты сказал, что Монк - врунишка, то ты должен это доказать, иначе это клевета (состав уголовного преступления, между прочим, невзирая на то, что она в интернете).

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

den73 ★★★★★ ()
Ответ на: комментарий от den73

Тебе студенты жаловались

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

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

Но я видел, что студенты (и не только), когда что-то не поняли, пытаются логически рассуждать из обывательских представлений.

Это пока что просто слова. Приведи доказательство того, что это действительно так.

den73 ★★★★★ ()
Ответ на: комментарий от monk

Нет, зачем? Я работаю в интернациональном коллективе, меня просто не поймут. Когда-то баловался таким на Форте, но как-то проблем не заметил.

no-such-file ★★★★★ ()
Ответ на: комментарий от den73

Ты путаешь клевету и отсутствие доказательства

У тебя проблемы с пониманием тонкостей смысла и иронии, что намекает на определённый аутизм. Поэтому обсуждение бесполезно, всё равно что объяснять анекдот.

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

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

https://helpme1c.ru/specialnaya-raskladka-klaviatury-dlya-programmistov-1s

den73 ★★★★★ ()
Ответ на: комментарий от no-such-file

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

zx_90 ()
Ответ на: комментарий от no-such-file

Это у тебя проблемы с законами. Назвать человека вруном через интернет, когда он даже не может дать тебе по морде, и в ситуации обсуждения какого-то существенного вопроса - это, во-первых, по человечески некорректно, а во-вторых, это образует состав преступления (или событие, чёрт его знает) по законам РФ, в юрисдикции которой, как мне представляется, находится данный ресурс. Не надо тут прятаться за тонкости смысла. От твоих поступков так пахнет, что тонкие ароматы на этом фоне теряются.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от zx_90

группа программистов в русском банке

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

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

Неявно неудачный. Есть закон о государственном языке и там написано, что деятельность российских организаций (в том числе банков, в том числе филиалов иностранных банков) в России должна происходить на русском языке. Твои отвлечённые размышления о глобализации тут не в тему. Кроме того, непонятно, зачем нужна эта глобализация, чтобы коммерческая организация захотела становиться её двигателем. Коммерческая организация существует, чтобы быть пассажиром, а не двигателем.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 3)
Ответ на: комментарий от no-such-file

То есть группа бухгалтеров в русском банке, использующая 1С - это нормально, а группа программистов в русском банке, использующая русский ЯП - это неправильно? Где логика? Куда ты её дел?

zx_90 ()
Ответ на: комментарий от no-such-file

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

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от monk

Ты пропустил слово «мне».

Главное, чтобы обе стороны не пропускали это слово. А то, «нормальный человек» любит обобщать свой единственный и неповторимый опыт на всех.

anonymous ()
Ответ на: комментарий от anonymous

Расскажи нам ещё то, что ты знаешь о нормальных людях.

den73 ★★★★★ ()
Ответ на: комментарий от den73

Назвать человека вруном

Во-первых не вруном, а врунишкой. Ты не чувствуешь оттенков смысла, я уже понял.

когда он даже не может дать тебе по морде

Не думаю что он хочет, он же не псих по-моему.

незаконно по законам РФ

Уровень законности определяет суд по результатам экспертизы. Я готов через это пройти. А ты готов отстаивать свои принципы? Пиши заявление в полицию. Или ты балабол?

no-such-file ★★★★★ ()
Ответ на: комментарий от anonymous

Да, согласен. Истина где-то посередине между «Русский ЯП нафиг никому не нужен» и «Русский ЯП нужен всем обязательно и по любому поводу». Главное найти эту золотую середину.

zx_90 ()
Ответ на: комментарий от no-such-file

Выйди на площадь, подойди к полицейскому и назови его врунишкой. О результатах расскажи, и тогда поговорим об оттенках смысла.

Уровень законности определяет суд по результатам экспертизы. Я готов через это пройти.

Ты хочешь сказать, что ты назвал человека врунишкой и это не клевета? Т.е. ты надеешься, что экспертиза счёт уровень клеветы незначительной и тебя не привлекут? Мне пофиг на суд, то, что ты сказал - это по смыслу клевета. Когда будут ресурсы - буду подавать в суды, да. На данный момент это не приоритетно.

den73 ★★★★★ ()
Ответ на: комментарий от den73

глобальный банк написал 42 мобильных приложения для 42 разных стран, силами 42 различных команд

Я очень сильно сомневаюсь что они каждый раз писали всё с нуля. Вполне верю что учёные в очередной раз изнасиловали журналиста и он ляпнул такую херню, про 42 разных приложения.

no-such-file ★★★★★ ()
Ответ на: комментарий от den73

Выйди на площадь, подойди к полицейскому и назови его врунишкой

Будет повод, скажу. Например если полицейский начнёт втирать какую-нибудь дичь.

Когда будут ресурсы - буду подавать в суды, да

Я так и думал.

no-such-file ★★★★★ ()

Создается на основе русской раскладки клавиатуры.

Разрабатывается на языке C.

Типичное поведение ограниченных диктаторов. Взять чужое и красивое, и испортить своими ограничениями.

Нет бы добавить новые возможности, например: возможность программировать на Си не переключая клавиатуру, или на Питоне, или на Лиспе, или на другом языке. Чтобы те, кто хочет и умеет на языке-прародителе, могли продуктивно работать.

Проявления «нацизма в языках программирования».

anonymous ()
Ответ на: комментарий от monk

Так для этого всё равно надо if..elseif.

Вы тут вообще способны хоть как-то мыслить вне установленных парадигм?

/*
if (a > 0) {lalala();}
else if (b > 0) {lelele();}
else if (c > 0) {lololo();}
*/
var func = {
"0" : function() {lalala();}
"1" : function() {lelele();}
"2" : function() {lololo();}
}
var n = [ a > 0, b > 0, c > 0 ].findIndex(v=>v);
func[n]();

crutch_master ★★★★★ ()
Ответ на: комментарий от zx_90

Хотя бы уровень Intermediate нужОн

Достаточно того, за что в школе тройки по инглишу получают.

anonymous ()
Ответ на: комментарий от no-such-file

Неважно, что ты думал. Предлагаю извиниться перед Монком за клевету, потому что доказательства тебе предоставлены. Можно без суда. Или ты только по суду можешь извиниться за поклёп?

den73 ★★★★★ ()
Ответ на: комментарий от anonymous

А почему я должен ставить интересы тех, кто хочет и умеет на языке-прародители выше интересов себя и своей страны?

den73 ★★★★★ ()
Ответ на: комментарий от den73

Предлагаю спросить у @monk оскорбился ли он. Ты вообще тут каким боком к нашему с ним общению?

Это я не тебе

Вот именно. Но раз уж влез, изволь ответить. Теперь тут всё тебе, так ведь?

no-such-file ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)