Страница 1 из 1

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С-ник, который чуть что - сравочник создает. :) После них конфигурации смотреть невозможно. Я нормальный.

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

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

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

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

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

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

Добавлено: 24.03.21 06:49
Лис [Вежливый]
Все, кто делает что-то в ИТ, связанное с русским языком, по идее в нём должны быть заинтересованы
Я заинтересован в толковом словаре. А в словаре переводов - нет. Потому что я не занимаюсь переводами.

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

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

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

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

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

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

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

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

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

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

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 лет.

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

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

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

Добавлено: 25.03.21 12:38
смотритель
Обсуждение термина type inference отделено в форум по терминологии.

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

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

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

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

Добавлено: 25.03.21 22:30
БудДен
Хотя я прочитал описание про типы - более-менее понял.

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кб кода. Но исходя из того, что у Вас нельзя сложить строку и число, получается, что типы у Вас всё же есть. Но как тогда определить Вашу философию по отношению к типам?
Типы есть. Наверно, я изначально что-то не так разъяснил.

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

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

Изображение

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

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

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

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

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

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

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

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

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

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

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