Набросок
Запись от CoderHuligan размещена 24.04.2023 в 18:22
Показов 8030
Комментарии 108
|
Набросок языка. Есть несколько моментов требующих уточнения. Пока основная схема. Язык состоит из предписаний (statements) и управляющих конструкций (УП). Предписания разделяются запятыми! УП разделяются точками с запятой! Это дает важное преимущество для ЯП (языка программирования) с русской лексикой, а именно мы уходим от этих ужасных слов: "всё", "кесли" и т.п. От которых так воротит в некоторых реализациях. У нас все будет более утонченно. Уверяю: я это все тщательно продумал, за исключением некоторых моментов. Также мы уходим и от этих чудовищных "begin" и "end" Паскаля, которые загромождают листинг и отвлекают от основного алгоритма. Также опущены объявления типов Кликните здесь для просмотра всего текста
В лингвистике известно, что смысл слова определяется его согласными (во многом). поэтому при создании некоторых ключевых слов можно ради краткости опускать гласные. В ЯП это только можно приветствовать, так как это позволяет сокращать листинг без потери смысла (для носителей языка, конечно). Это всего лишь основная схема, структура, которая может по ходу быть изменена. Объявление процедур и функций требует уточнения:
Тело функции в скобки ":: и ";" Подсветка синтаксиса позволит очень емко разграничить ключевые слова от всего остального. | ||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 108
Комментарии
-
Запись от vantfiles размещена 25.04.2023 в 10:28
-
"вон" вот тут сразу вам и пример неочевидности. Т.е. даже носитель языка не сможет просто так взять и "думать" теми словами какими задумано автором языка.
К слову, в древней версии autocad с русифицированными командами было "покинуть". Почему не так? А вообще, на мой взгляд, для большинства логичнее было бы "выход". Т.к. вы сами эту команду прокомментировали как "выход из цикла"
Что такое "чтн"?
Сокращение согласных ни к чему хорошему с развитием не приведет скорее всего.
"проц" - а у меня ассоциация с "процесс".
"взврт". вот видите вы и сами путаетесь. Являясь носителем языка. Между тем речь о командах, мы командуем компьютеру что делать. Следовательно "Комьпютер, здесь ты должен вернуть ...."
Таким образом, на самом деле код на русском языке не решает в полной мере озвученную задачу "программист должен думать на нем же". Программист будет должен думать именно на языке придуманном вами. т.е. "проц", "пчт", "вон"...... Т.е. по факту это уже не русский язык, а именно "ключевые обозначения в конкретном языке программирования". Более того, вы этим языком программирования будете наносить вред русскому языку. Т.к. потом и в разговоре программисты начнут "пчт" "проц" и т.п. что в итоге вполне может привести к ухудшению знаний в русском языке как таковом. Или вы считаете, что искажать слова это нормально и хорошо (если рассуждать как патриоту своего языка)?Запись от voral размещена 25.04.2023 в 11:31
-
Запятые, как и точки с запятой в Си, являются завершителями предписаний. Это позволяет писать предписания на нескольких строках не вводя дополнительных знаков для отмены новых строк.
Ну вы как дитя малое, ей богу..
Как буд-то break, что значит ломать, хуже понимается. Как буд-то дитя малое приступит к чтению кода, не поймет слово "вон", и скажет - ничего не понятно и бросит это трудное и бесполезное занятие. Но прежде люди обычно читают учебник по языку, в котором написано, что break означает выход из цикла. После этого уже вообще не важен смысл этого слова, да хоть jump напиши - какая разница? А слово "вон" короче и ясней для русского. А вы что - не русский? Откуда вы, если для вас это слово не имеет никакого смысла?
Потому что это verbose синтаксис - слишком длинное слово. Любые длинные слова в коде замутняют понимание алгоритма. Слово "выход" есть подлежащее, а не сказуемое. Тогда уж "выйти". Но это тоже мало приемлемо, так как выйти можно из программы, но не из цикла. Из циклов обычно выпрыгивают и программа продолжается. Exit - выход из программы.
Чтение из потока ввода.
Я не хочу, чтобы в моем языке было уродливое слово "процеДУРА". Пусть дуры обитают где-то в другом месте.
Разумный компромисс - "проц" или "прц". Никто в здравом уме и твердой памяти не будет считать это слово процессом, если оно по доке означает процедуру. Можно было назвать "работа", но уж сложилось. И в Tcl кстати есть proc. Кто-то видимо также может его ассоциировать с process?
Не возвратить, не? Обязательно вернуть? Или Ввернуть может?)) Как бы в литературе принято говорить: "функция возвратила то-то и то-то.", "возвращаемое значение такое-то." Не?
Вы не понимаете. Компьютерный язык не есть русский язык, не есть английский язык, не есть китайский язык. Это совершенно самостоятельный, отдельный язык, в котором могут использоваться или не использоваться ключевые слова, лексемы которых заимствуются у некоторого человеческого языка. Разве "elseif" это не коверкание английского языка. Вот взяли и изобрели тянитолкая. Но ведь всем и так понятно, что это теперь лексема нового компьютерного языка. А cond из Лиспа? Почему лисперы не пишут полное слово: condition? Потому что и так понятно и не надо печатать лишних буковок. А "eq" Фортрана? Почему бы не equal? Что англичане испортили свой язык и теперь все таки повторяют: eq eq eq вместо equal equal equal?
Смешно же ш.
Читал. Что-то нравится, что-то не нравится.
"Этто и я так могу. А ты мурку сыграй!"
Это же одна десятая языка. Общая структура. Ничего не сказано о способах обьявления массивов и их использования. Ничего не сказано об операторах выражений. Ничего не сказано о встроенных структурах данных и функциях: списках, кортежах, множествах.. Ничего не сказано о взаимодействии с операционными системами. Ничего не сказано о модульности и способе её реализации. Ничего не сказано о типизации, преобразованиях типов, указателях и пр. То что я привел это еще не язык. Если хотите реализуйте эту недоигрушку на форте, да хоть на балалайке: это будет уже ваша реализация, которая ничего общего не будет иметь с моей.Запись от CoderHuligan размещена 25.04.2023 в 12:31
-
В языке круглые скобки используются в выражениях, ну, может еще в обозначениях массивов (под вопросом). Но они отсутствуют в качестве отделителей блоков от параметров и группировки выражений в циклах и пр. Это позволяет визуально упростить листинг кода, облегчить его. Скобки присутствуют почти исключительно в выражениях - именно там, где они присутствовать и должны. Визуально код должен выглядеть легковесно, это облегчает его понимание. Загруженность листинга разного рода скобками сильно вредит его ясности.
--
Что касается Форта. Это большой тупик. Нельзя программировать фактически на байт-машине. А Форт и есть такая машина. Стек нельзя вытаскивать наружу. Вместе с ним вылезают разные черные существа..Запись от CoderHuligan размещена 25.04.2023 в 12:49
-
Также в языке никогда не будет поддержки ООП. Будет нечто модульное. Но ООП НИКОГДА не будет.
Будет свой додекалог - 12 заповедей языка (не скажу его названия, а оно уже есть
)
Одна из первых заповедей будет такая:
1) Да не возжелаешь ты улучшить язык путем добавления в него поддержки Объектно-Ориентированного Программирования! Язык должен быть процедурным языком!
Короче говоря, пусть хотя бы один язык будет не обьектно-ориентированным. А кто желает: создавайте свои реализации, играйтесь в обьекты. Пишите свои языки или довольствуйтесь существующими. В нашем языке этот всепожирающий монстр НИКОГДА ЖИТЬ НЕ БУДЕТ!!!
Остальные 11 заповедей находятся на стадии разработки.Запись от CoderHuligan размещена 25.04.2023 в 13:36
-
Модуляризация
Я считаю, что традиционное понятие о модуле привитое нам Паскалем, достаточно натянутое и искусственное понятие. Понимаю, что покушаюсь на святая святых.. Но давайте подумаем.
Процедура это отдельная программа (подпрограмма..). Раз, она независима и исполняется в своем собственном фрейме, то и является независимой. Модуль это как бы набор подпрограмм под общим смыслом. Но возникают некоторые неудобства. Например: именование при вызове процедур из модуля. Обычно это делают через точку. Сначала пишут имя модуля, потом через точку имя процедуры модуля. То же самое с данными из модуля.
А как иначе? Невозможно. А что если представить себе...
Вот процедура на псевдоязыке:
Если явно, в каждой процедуре, которая пользуется услугами другой процедуры, явно прописать в каком модуле/файле она находится, то возможный конфликт имен сразу сильно смягчается, и мы можем опускать имя модуля при вызовах. А линкеру не надо тратить время на то, чтобы разрешить какая процедура к какому модулю относится.Code 1 2 3 4 5
проц аа() { \\вызов процедуры из другого файла-модуля мод2.вв(); }
В одном и том же файле определены две процедуры. Вторая вызывает процедуру из другого файла с тем же именем:
То есть смысл понятен: у нас каждая процедура это модуль. Мы подключаем не в начале файла, а в каждой отдельной процедуре именно то, что она использует. Мы ушли от разделения точкой имен модуля и процедур. Если процедура аа() сама вызывает другие процедуры, то и сама же заботится об их подключении. Это позволяет иметь итоговый код, который не тянет за собой никаких лишних зависимостей.Code 1 2 3 4 5 6 7 8 9 10 11 12
проц аа() { } проц бб() { имп \папка_с_модулем\аа.lua; \\юмор понятен.. *аа(); \\вызвали из внешнего файла \\снова вызов аа() но уже из этого файла аа(); }
Запись от CoderHuligan размещена 25.04.2023 в 14:36
-
Если не поставить скобки, то как будет вычисляться?Code 61 62
//вызов функции в выражении а = 6 * (квкр п)+г,
а = 6 * квкр ( п+г )?Запись от politoto размещена 25.04.2023 в 14:43
-
вот вы и сами пришли к тому, что когда мы читаем код мы воспринимаем его не как язык на котором говорят люди. Это всего лишь инструкции обозначенные определенными символами
Сообщение от CoderHuligan
Вы не умеете совершенно слушать. Разве дело только в чтении? И в понимании значении этого слова? я об этом не говорил.
Сообщение от CoderHuligan
Если человек не подготовлен, ему любой код будет не понятен, даже на самом русском литературном языке, т.к. он должен еще понимать программирование в принципе. А вот в вопросе написания кода - уже все иначе. И пишущему код придется вспоминать (заучивать) как вы (как автор языка) обозначили это действие. К слову о том самом автокаде. Мы потратили кучу времени тогда, чтоб нащупать то самое "покинуть".
Тут я прицепился ведь не к конкретному слову, а вообще к проблеме. В плане кодирования то, что русский язык более богатый - это скорее минус. И проявляется вот в таких вещах... А вы вновь вместо обсуждения того чего вам говорят начинаете искать то чего нет в словах собеседника.
1. Почему из цикла не выйти? вы же сами поясняя код это написали - т.е. вы продемонстрировали как вы думаете об этом действии. А вы ведь топили именно за то, что бы код был максимально близок к тому, как программист думает.
Сообщение от CoderHuligan
2. И вновь вы сами дошли до проблематики "выход", "выйти" - вот вам опять богатство нашего языка. Когда общаемся это очень здорово и правильно, но когда садимся писать код - все связь с богатым языком теряется - это уже становится другой язык, похожий на русский. И, если я не знаю английский, я просто запомнил термин и все... А здесь я (гипотетический новичок) знаю несколько форм слов - и буду по началу путаться.
Это у кого выпрыгивает что то? Я например (и подозреваю большинство) думает либо "выйти из цикла" либо "завершить цикл".... Или вы думаете, что все начинают обучения с ассемблера и изучают его до тех пор пока слово jump не становится родным ?
Сообщение от CoderHuligan

И это мы еще не дошли до "continue" я плохо владею английским и для меня это просто обозначение. На русском "продолжить" это уже будет что то типа nop в ассемблере. Придется "перейти_к_следующей_итерации" (сокращения не прокатят об этом ниже)
И опять мы наглядно видим, что переход на кириллицу не дал заявленного профита (ну что улучшает пониманние). И так будет с любой аббревеатурой.
Сообщение от CoderHuligan
Вам не хватает уверенности в себе, раз вы боитесь подобного. У меня ник voral с 94 года (если что он именно транслит - все как вы любите)
Сообщение от CoderHuligan
мне стреляться что ли раз в сети полно идиотов с проблемами в личной жизни?Запись от voral размещена 25.04.2023 в 14:44
-
Это не компромисс - это лишь еще раз к тому, что язык будет далеко не русским.
Сообщение от CoderHuligan
возможно... тут ваша идея - вам и карты в руки. Я лишь озвучиваю проблему, что знание языка общения на основе которого создан ЯП не всегда помогает
Сообщение от CoderHuligan

Совершенно верно. Я вам об этом и говорил, но вы зациклились в обвинении меня в желании уехать в гугл и не патриотизме. Если бы вы читали без подобных перекосов - было бы легче.
Сообщение от CoderHuligan
Вот именно. Это просто все "обозначения". Которые программист просто использует.
Сообщение от CoderHuligan
Вы там говорили, что это (непонимание английского) сильно влияет на качество "наших программистов". Но это бред полностью. Т.к. программист это в первую очередь алгоритмы. А ЯП это вообще дело десятое. Первый раз столкнулся - берешь справочник и вперед - и не важно там кириллица или латиница.
Ну, а если непонимание английского мешает "хорошему программисту" - то он тот самый танцор, которому что то мешаетЗапись от voral размещена 25.04.2023 в 14:44
-
а = 6 * (квкр (п+г) )
Сообщение от politoto
Или для группировки параметров можно ввести другие скобки:
а = 6 * (квкр { п+г} )
чтобы яснее выделить группировку, в данном случае, одного параметра.
Хотя, традиционный вариант (ваш) также притягателен из-за своей простоты и привычности.
Может действительно стоит не отступать от традиции. Это требует обдумывания.
Но тогда возникнут другие проблемы, к примеру, при объявлении. Мы уйдем от простоты, и придется использовать скобки и там. А я бы этого сильно не хотел. Да и редко в параметрах используются вложенные выражения..Запись от CoderHuligan размещена 25.04.2023 в 15:05
-
По итогу профит от такого языка:
1. На начальном этапе обучения чуть чуть облегчит восприятие тем кто не знает английского (в той части где нет сокращений и только при чтении кода)
2. Будет греть душу фанатикам
Между тем имеем двух крутых программистов Васю и Петю. Оба патриоты. Оба создали крутую программу с открытым кодом, оба написали классные книги по программированию с примерами кода. Оба создали ИТ компании. Единственное отличие: Вася использует ваш язык на кириллице, Петя один из обычных языков программирования.
Вася в итоге работает только на внутренний рынок и потребителей. Для прочего мира его вообще не существует. В лучшем случае только покупают его готовую программу.
Петя - он становится авторитетом и для зарубежных программистов - они учатся на его коде и книгах. А так же находятся программисты, которые хотят переехать и работать в компании Пети.
Такие моменты вы не рассматривали?
Намой взгляд любое благое дело могут изуродовать фанатики (в общем то и в истории есть таких примеров не мало). Не надо маркировать все, что угодно как "глобализация" и автоматом ставить маркер "плохо". Надо ко всему подходить с разумом.
Вспомните историю ведь английский не всегда был международным это исторические процессы. Возможно однажды именно русский станет именно таким международным, но только делать это надо не путем изолирования себя от мира.
Глобализация действительно плохо. Когда речь идет, например, о производстве.... Но не стоит в эту кучу валить все.Запись от voral размещена 25.04.2023 в 15:06
-
Вариант объявления процедуры:
Процедура завершается точкой, чтобы в коде явно выделить окончание управляющих конструкций от предписаний и процедур. Так легче читать код. Ну и при объявлении традиционно параметры заключаем в скобки. Причем, скобки обнимающие тело функции тут не нужны. Компилятор и так поймет где начало аргументов и тела.Code 1 2 3
прц ааа (ф, ь) //тело .
Если аргумент один, скобки можно опустить:
Вызов традиционен:Code 1 2 3
прц ааа ф //тело .
Code 1
ааа(т, л),
Запись от CoderHuligan размещена 25.04.2023 в 17:37
-
Запись от CoderHuligan размещена 25.04.2023 в 19:57
-
А зачем тогда уподобляться ненавистным англичанам создавая ЯП на русском? Я не испытываю никакой ненависти, но считаю что это неправильно делать язык программирования на основе человеческого. Что есть машинный вычислительный процесс? Цепь событий основанных на физических процессах! Он и есть физический процессор. Почему просто не дать этому уровни?Запись от Hrethgir размещена 25.04.2023 в 21:22
-
вы читать вообще умеете или вы только сами с собой разговариваете?
Сообщение от CoderHuligan
Еще раз повторюсь: оба патриоты, ни куда не хотят уезжать, и называющих их Родину "рашкой" презирают.
Они оба по своему работают в этом направлении
- один послушал вас и пишет на вашем языке. Да он принес пользу в виде классной программы, которую используют за рубежом
- второй не послушал вас и кроме программы которую признали во всем мире, еще и заработал всемирного признания и авторитетность для нашей школы программирования, его книги рекомендуют к прочтению во всем мире и еще и светлые умы из -за рубежа переезжают к нам, работать в его команде.
В любом случае они не болтают, а делают. каждый по своему. Так кто из них больше приносит пользы нашей стране?Запись от voral размещена 25.04.2023 в 21:28
-
Что есть цикл? Замкнутое пространство осуществления процесса. Это всё вообще легко описать языком физики, а если подойти грамотно- то можно и изящно. И ООП имеет смысл, но не в той форме. Объекта нет, есть результат. Любое свойство это результат, любой объект - это тоже результат. А форма ООП такая: объект-товар, менеджемент, бабосы, банальщина. Я ничего не имею против денег как средства, но когда они владеют сознанием - это зло. А раз они владеют сознанием - они становятся целью, и это тоже зло. И ООП - товар. А дальше создатели ООП мыслить не могут, кроме как сравнивать людей с программмами, букашками, козявками.
Всё нас окружающее - результат, и не важно чем и кем, но это так везде и всегда, будь то сам объект или будь то его цвет, будь то прошлое или будущее - не имеет никакого значения, всё - результат. Когда всё-результат, то очень трудно опрокинуть на оплате труда, будь то программист, будь то фермер выращивающий овощи, потому как покупается - результат, юзается - результат, и продается тоже результат, а если иначе - то и платить не за что. Будь то труд или работа сил природы - всё есть результат. Даже сама процедура или функция является всё-тем же результатом, просто других процессов и другого уровня.
Даже любой язык и даже сама мысль - это тоже результат.Запись от Hrethgir размещена 25.04.2023 в 21:30
-
Запись от Hrethgir размещена 25.04.2023 в 22:37
-
voral - опять "признали во всем мире", "начали использовать за рубежом", как буд-то и это и есть цель и смысл развития отрасли IT в РФ.. Перестаньте говорить штампами..
Да очень просто. Машинный язык это цепочки нулей и единиц. Хотите программировать именно так, т.е. вернуться на 70 лет назад - может вам что-то и даст в личном плане, но общая отрасль откатится на те же 70 лет назад. Машинный язык это последовательность команд и переходов. Все, там больше ничего нет. Уровни? Есть goto - вот вам уровень машины. Хотите вычислимый goto? Пожалуйста: добавим фортрановскую фичу. Хотите asm вставки? Добавим и это. А что еще нужно, чтобы обеспечить многоуровневость? Да и современные оптимизаторы сделают ваш asm код лучше, чем это сделаете вы. Во многом.
Вы думаете я над этим не думаю? Еще давно хотел сделать нечто такое - вместо if использовать конструкции вида:
Но отказался от этой дикости.Code 1 2
>0 n 20//если n больше нуля прыг на метку 20 <= n
Для этого нужно чтобы идентификаторы могли строится из любых символов. Это сразу влечет за собой правило, что лексемы отделяются друг от друга по крайней мере пробелом. Это не всегда удобно использовать. Тогда уж лучше программировать на asm. Там есть все эти jne, je и т.д.
Все это было и есть в языке Forth. Можно использовать любые символы. Но попробуйте читать такую программу: это жуткая смесь иероглифов. То есть это путь от нормальной человеческой письменности к иероглифике. Иероглифика тормозит процесс мышления. Китайцы не изобрели ничего нового. Даже изобретение пороха им приписываемое изобрели Индусы-арии где был санскрит. Это засилье иконок - глобалисты приучают нас к иероглифическому способу мышления, то есть к оглуплению больших масс населения. Вот так вырождаются письменности, языки и сами люди превращаются в нецивилизованных дикарей с последующим их вырождением и исчезновением.Запись от CoderHuligan размещена 26.04.2023 в 11:01
-
Где я написал, что это есть цель? Это не цель, но это хорошо, это дополнительный бонус, от того, что они созидают для своей Родины. Сами постарайтесь подумать чуть шире: вот вы там талдычите про тех кто хочет свалить из, как вы выразились, "рашки".. А почему такие есть? Может вот на таких "мелочах" ("признали во всем мире", "начали использовать за рубежом") и возникает гордость за свою страну, и воспитывается патриотизм? Если вам плевать на этих Петей и Васей, то вы не патриот вовсе. Вы просто прикрываете этим словом свою идею. И не более, в реальности же вам плевать и на Родину и на язык. Иначе бы вы видели профит в том, что попутно мы решаем и другие задачи.
Сообщение от CoderHuligan
Скорее письменности вырождаются из-за фанатиков отпугивающих людей от языка вот такими заскоками...
Сообщение от CoderHuligan
Запись от voral размещена 26.04.2023 в 11:13
-
Для этого глобалисты навязали нам т.н. индоарабские цифры и позиционные системы счисления.
Сообщение от CoderHuligan
Запись от politoto размещена 26.04.2023 в 12:02

)

