Язык программирования Санда

Языки программирования, процессоры, операционные системы, в которых русский язык занимает достойную роль в процессе разработки.
Ответить
ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 24.03.21 02:07

БудДен писал(а):
24.03.21 01:11
type inference = вывод типа, вот словарь: https://translate.academic.ru/type%20inference/en/ru/ Ну, может быть, "выведение типа" более однозначно.
Блин!!! Определение типа результата! Определение типа значения-результата...
БудДен писал(а):
24.03.21 01:11
Если в 1С, то там всё же в основном сущностями наверняка были объекты базы данных (справочники, документы, регистры и что там ещё бывает), которые там в какой-то степени типизированы. Например, невозможно записать в какой-нибудь справочник запись от другого справочника, если у них различаются поля.
Нет.
Я не 1С-ник, который чуть что - сравочник создает. :) После них конфигурации смотреть невозможно. Я нормальный.
Последний раз редактировалось ритминформ 24.03.21 06:16, всего редактировалось 3 раза.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 24.03.21 02:12

БудДен писал(а):
24.03.21 01:11
Но в общем я не хотел бы спорить, не думаю, что удастся Вас в чём-то переубедить, обычно из этого ничего не выходит - воззрения людей эволюционируют, но на это нужны годы, и причём они могут эволюционировать в разном направлении.
У нас, надеюсь, нет предмета спора. Я как человек от ассемблера (цифровой код, бейсик, фортран, паскаль ассемблер и только потом dbase-подобные языки) Вас прекрасно понимаю.
БудДен писал(а):
24.03.21 01:11
Во всяком случае, если когда-то возникнет желание портировать Ваш язык и на ЯОС в том числе, то будет здорово. А пока следите за новостями - я постепенно пилю движок для вот такого словаря:

https://docs.google.com/spreadsheets/d/ ... =606456217

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

Например, мой учет и система закупок достаточно сложны. А в одном месте у меня крутится разработка ещё круче моего учета. Я планирую их переписать на Санда. Года через два-три.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Язык программирования Санда

Сообщение Лис [Вежливый] » 24.03.21 06:49

Все, кто делает что-то в ИТ, связанное с русским языком, по идее в нём должны быть заинтересованы
Я заинтересован в толковом словаре. А в словаре переводов - нет. Потому что я не занимаюсь переводами.

Словарём занимается Апресян ("Активный словарь русского языка"), но что-то там тема застопорилась на 3-м томе (буквах "з" и "и")...

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 24.03.21 10:35

Значит, Лис не укладывается в мою идею и можно поправить мою формулировку. Это предоставляется читателю. Насчёт словаря Апресяна - может быть, его тоже надо подключить.

> Определение типа результата!

Ну я же этот термин не придумывал, а взял у кого-то. Во всяком случае, этот пример говорит о важности терминологии :) Но теоретически может быть, что выводится тип не только результата, но и операндов. Например, если мы определяем функцию, то компилятор какого-либо языка может выводить тип аргумента из операций, которые над ним делаются в теле функции. В этом случае "определение типа результата" не подойдёт, хотя не уверен, что в C# такое есть.

Насчёт неважности типа, хочу ещё предостеречь от грабель: "1"+1=11. Чтобы на них не попасть, операция конкатенации не должна обозначаться плюсиком. ЕМНИП в Бейсике сделали правильно, а вот в JS - нет.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Язык программирования Санда

Сообщение Павиа » 24.03.21 11:52

ритминформ писал(а):
24.03.21 00:31
Мне надо, чтобы писали бухгалтеры (как они писали в старой доброй досовской 1С) и менеджеры. А для этого надо делать наиболее просто.
История помнит много таких примеров. Бил-Гейтс каждая домохозяйка сможет писать на Бесике . В результате появились программисты.
Каждый пользователь сможет делать запросы на языке SQL. В результате имеем SQL-программист и NoSQL-программистов.
Каждый пользователь сможет создать свой сайт используя HTML. В результате отдельная профессия верстальщик, фронэндер, и JS-программист
JSON сложно упрощаем до человеческого YML, имеем DevOPS.

Вывод типов
Выведение типов, оно же вычисления типов. Сложный прием используемый в компиляторах для оптимизации программ.
Но в самом простом случае является обязательной стадией семантического анализа. Рода(Типы) переменных вы должны проставить над переменными и выражениями для вычисления результата. В 3-х оперенной форме для правильной расстановки нужно знать результат типа. И от него плясать.
Там ведь у вас не только у строк +. Но и у целых у дробных. У множеств.

И сцепку строк лучше делать не как в Бесике, а как в ПХП через точку.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 24.03.21 12:13

Павиа писал(а):
24.03.21 11:52
История помнит много таких примеров. Бил-Гейтс каждая домохозяйка сможет писать на Бесике . В результате появились программисты.
Это не правда. Программисты появились задолго до высказывания Гейтса.
Павиа писал(а):
24.03.21 11:52
Каждый пользователь сможет делать запросы на языке SQL. В результате имеем SQL-программист и NoSQL-программистов.
В РФ. В РФ программисты 1С и бухгалтерские работы выполняют. А вот товарищ рассказывал, что где-то за бугром менеджеры сами пишут SQL-запросы.
Павиа писал(а):
24.03.21 11:52
Каждый пользователь сможет создать свой сайт используя HTML. В результате отдельная профессия верстальщик, фронэндер, и JS-программист
Да. Практически каждый пользователь может. Точно так же как каждый гендиректор может помыть полы. Уборщицы появились не потому, что директор полы помыть не может.


Я пишу на базе своего жизненного опыта.
Как минимум вчера разговаривал с человеком (коммерческий директор одной из компаний), которого я научил писать за несколько лет. Теперь программисты ему не нужны в принципе. Он их нанимает тогда, когда у самого нет времени что-то написать.
В 90-х годах бухгалтеры сами писали модули для проведения документов и составления отчетов. Возможно, Вы просто не знаете об этом. А я это наблюдал в течении нескольких лет в разных организациях. После этого Нуралиев приложил максимум усилий, чтобы уничтожить созданную 1С, поскольку она оставляла без работы очень большое количество ИТ-специалистов. Теперь ИТ должно Нуралиева в жопу целовать за то, что он сделал за последние 25 лет.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 24.03.21 12:18

БудДен писал(а):
24.03.21 10:35
Насчёт неважности типа, хочу ещё предостеречь от грабель: "1"+1=11.
Вот поэтому я категорически против приведения типов. В 1С, кажется, такое возможно, а у меня - нет. У меня такое запрещено.
БудДен писал(а):
24.03.21 10:35
Чтобы на них не попасть, операция конкатенации не должна обозначаться плюсиком. ЕМНИП в Бейсике сделали правильно, а вот в JS - нет.
Не обязательно. Просто операция "+" не должна выполняться с парой "строка и число". Просто генерируется ошибка времени выполнения.

смотритель
Site Admin
Сообщения: 20
Зарегистрирован: 25.04.18 15:17

Re: Язык программирования Санда

Сообщение смотритель » 25.03.21 12:38

Обсуждение термина type inference отделено в форум по терминологии.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 25.03.21 22:28

Я всё же осмелюсь продолжить критику: Вы сначала пишете, что Санда предназначен(а) для простых программ, но на горизонте в Ваших планах уже маячат сложные. Этот путь прошли уже многие языки, включая JavaScript и Python. Они начинались как языки для маленьких программ, потом перерастали себя и в конце концов на определённом этапе задумывались о добавлении статической типизации в той или иной форме. Однако если это не сделано сразу, то потом это уже делается гораздо труднее. Я столкнулся в лиспе ровно с той же ситуацией: без статической типизации ограничены возможности среды разработки. Т.е. я бы на Вашем месте постарался более чётко ответить себе на вопрос: для каких программ предназначен Ваш язык - для маленьких или для больших?

Далее, про "1"+1 - тут вопрос, отличается ли у Вас строка от числа вообще? Вы написали, что типы вообще не нужны. Но я бы посоветовал тогда изучить язык tcl. В нём есть только один тип - строка, и интерпретация этого типа зависит от контекста. Т.е., в определённых случаях строка может восприниматься как число, указатель, открытый файл и т.п. Это наиболее ужасно в плане грабель, однако работать на этом языке приятно. А почему? Я долго не мог понять, а потом понял: в Си объект в памяти будет представлен просто числом (адресом), если не постараться. В тикле же адрес имеет вид строки, и поэтому у всех объектов само собой получаются "говорящие имена". Обычно их образуют в подобие дерева, и они сразу "разложены по полочкам". Разбираться в такой среде и сохранять над ней контроль - гораздо проще. Я до сих пор не могу это осознать, настолько его философия отличается от других, хотя я на нём написал не меньше 100кб кода. Но исходя из того, что у Вас нельзя сложить строку и число, получается, что типы у Вас всё же есть. Но как тогда определить Вашу философию по отношению к типам?
Последний раз редактировалось БудДен 25.03.21 22:31, всего редактировалось 2 раза.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 25.03.21 22:30

Хотя я прочитал описание про типы - более-менее понял.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 26.03.21 07:19

БудДен писал(а):
25.03.21 22:28
Вы сначала пишете, что Санда предназначен(а) для простых программ, но на горизонте в Ваших планах уже маячат сложные.
Опять вопрос терминологии.
"Сложные" vs "большие".
Я прежде всего ориентируюсь на БД и учет. Там не бывает сложных программ.
БудДен писал(а):
25.03.21 22:28
Я столкнулся в лиспе ровно с той же ситуацией: без статической типизации ограничены возможности среды разработки.
Прекрасно! Ещё раз говорю. Язык - для простых людей, а не для программистов. Их потребности, как правило, весьма ограничены.
В том же самом екселе 90 процентов юзеров кроме функции СУММ ничего больше не знают. Я уж не говорю о встроенном VB.
БудДен писал(а):
25.03.21 22:28
Т.е. я бы на Вашем месте постарался более чётко ответить себе на вопрос: для каких программ предназначен Ваш язык - для маленьких или для больших?
Размер в данном случае не имеет значения как и количество строк в электроннойц таблице.
БудДен писал(а):
25.03.21 22:28
Далее, про "1"+1 - тут вопрос, отличается ли у Вас строка от числа вообще?
Отличается.
http://www.ritminform.ru/sanda/help/lan ... aTypes.htm
БудДен писал(а):
25.03.21 22:28
Вы написали, что типы вообще не нужны. Но я бы посоветовал тогда изучить язык tcl.
Беглое знакомство с Tcl/Tk прошло лет 10 назад. :)
БудДен писал(а):
25.03.21 22:28
В нём есть только один тип - строка, и интерпретация этого типа зависит от контекста. Т.е., в определённых случаях строка может восприниматься как число, указатель, открытый файл и т.п. Это наиболее ужасно в плане грабель, однако работать на этом языке приятно. А почему? Я долго не мог понять, а потом понял: в Си объект в памяти будет представлен просто числом (адресом), если не постараться. В тикле же адрес имеет вид строки, и поэтому у всех объектов само собой получаются "говорящие имена". Обычно их образуют в подобие дерева, и они сразу "разложены по полочкам". Разбираться в такой среде и сохранять над ней контроль - гораздо проще. Я до сих пор не могу это осознать, настолько его философия отличается от других, хотя я на нём написал не меньше 100кб кода. Но исходя из того, что у Вас нельзя сложить строку и число, получается, что типы у Вас всё же есть. Но как тогда определить Вашу философию по отношению к типам?
Типы есть. Наверно, я изначально что-то не так разъяснил.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Длинная арифметика

Сообщение ритминформ » 20.05.21 19:54

Вот приблизительно так.
Пока не думал о пределах. Пока где-то 16-32 знака после запятой и приблизительно 100 тысяч знаков до...

Изображение

P.S.
Заливать новую версию пока не стал. Неделю-две потестирую ещё. Делал больше месяца так что пара недель ещё подождут...

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 09.06.21 15:50

Добавьте, пожалуйста, тег # р у с с к о я з ы ч н ы й я з ы к п р о г р а м м и р о в а н и я в первое сообщение (теги плохо работают, но всё равно без них ещё хуже).
Последний раз редактировалось БудДен 10.06.21 11:27, всего редактировалось 2 раза.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 10.06.21 09:31

БудДен писал(а):
09.06.21 15:50
Добавьте, пожалуйста, тег #русскоязычныйязыкпрограммирования в первое сообщение (теги плохо работают, но всё равно без них ещё хуже).
Сделал

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 10.06.21 11:27

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

Аватара пользователя
Сандро
Сообщения: 86
Зарегистрирован: 07.10.18 14:39

Re: Язык программирования Санда

Сообщение Сандро » 11.06.21 12:17

БудДен писал(а):
09.06.21 15:50
# р у с с к о я з ы ч н ы й я з ы к п р о г р а м м и р о в а н и я
Не подумайте, что "придираюсь", но моя училка по русскому выпала бы в "осадок", глядя на столь часто употребляемые нами тавтологии:
"русскоязычный язык программирования" (уж лучше "русскоязычное программирование")

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 13.06.21 22:13

речь идёт именно о языках программирования, а не о русскоязычном программировании (которое может быть и на англоязычных с русскими идентификаторами). То, что слово "язык" применяется два раза, не кажется мне страшным, потому что тут есть человеческие языки и языки программирования. И те, и другие присутствуют в данном ключевом слове.

Ответить