Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Разработка информационных систем Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 43 44 45 46 47 48 49 50 [51] 52   вперед  Ctrl
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
> Если бы была обратная совместимость с чем -то уже существующим
С Common Lisp, а из него можно вызывать Си. Это вовсе не так мало.
10 авг 17, 16:29    [20714130]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
hVostt
Member

Откуда:
Сообщений: 11772
budden
Нельзя забыть. кне - кн "если", кно - кн "определение" - по первой букве той конструкции, к-рую оно закрывает.
Кроме того, это грамматическая ошибка, которую среда уже сейчас умеет подсвечивать и, естественно, такой код не скомпилируется.


Так вот именно. Для каких тогда целей третья буква? Если среда подсвечивает, компилятор определяет ошибки. Конце блока он и в африке конец.

А вложенные конструкции? кне кне кне — по логике тогда надо сделать так кне1 кне2 кне3? В общем, имхо совершенно лишнее, усложняющее и ненужное.
10 авг 17, 16:57    [20714212]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
hVostt, ну, стандартный ответ всегда один - не нравится, не пользуйся :)
10 авг 17, 17:28    [20714297]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
hVostt
Member

Откуда:
Сообщений: 11772
budden
hVostt, ну, стандартный ответ всегда один - не нравится, не пользуйся :)


Так я уже давно понял, стандартный ответ на всё у вас «давай досвидания» :)

Меня как разработчика, для которого программирование не только работа, но и хобби, представляет неподдельный интерес процесс разработки языков. Мне действительно интересно, чем вы руководствовались, когда выбрали вот такой синтаксис для блоков. Блоки — это одно из самых частых явлений в разработке, можно писать в любом стиле, но без блоков не обойтись. Это куда важнее того, как вы определите синтаксис для вещественных чисел или для многострочных строк.

Пока что я понял, что вы ничем не руководствовались. Вопрос эффективности и удобства даже не на каком-то втором или третьем месте. Просто вам вот так захотелось, и всё. Печально.
10 авг 17, 18:01    [20714428]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
А я считаю, что вы просто тролль.
10 авг 17, 20:33    [20714753]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
hVostt
Member

Откуда:
Сообщений: 11772
budden
А я считаю, что вы просто тролль.


Серьёзно что-ли? А по мне, так вы тролль. При чём самому себе.
10 авг 17, 20:39    [20714766]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
Изопропил
Member

Откуда:
Сообщений: 30648
budden
есть же html/xml, там, как правило, все теги закрываются полным словом да ещё и с угловыми скобками.

в XML - всегда,
а что касается HTML - ознакомьтесь со спецификацией HTML5 - узнаете много нового
10 авг 17, 21:25    [20714852]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
antares0
Member

Откуда:
Сообщений: 217
budden,
есть же html/xml, там, как правило, все теги закрываются полным словом да ещё ещё и с угловыми скобками.
Там сознательно созданая избыточность. Потому что передача по глючной сети и вывод инфы из legacy умеющего только plain-text
даже языки программирования типа ant создают.

Его как создали, так сразу после уходы моды пытаются закопать :(
10 авг 17, 21:44    [20714877]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
antares0
Member

Откуда:
Сообщений: 217
budden,
Нельзя забыть. кне - кн "если", кно - кн "определение" - по первой букве той конструкции, к-рую оно закрывает.

Как-то странно прибивать блоки кода к настолько урезаному множеству. А если управлющих конструкций внезапно станет больше то и значимые замыкающие быувы начнут повторятся. Поэтому в большинстве ЯП замыкатель либо неименован совсем, либо как в XML - именован полностью.
10 авг 17, 21:52    [20714890]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
antares0
budden,
Нельзя забыть. кне - кн "если", кно - кн "определение" - по первой букве той конструкции, к-рую оно закрывает.

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

Да они и так повторяются, например, для вложенных если. Ну и что? Посмотрим на другие языки. Лисп - только круглые, все конструкции неотличимы по закрывающей скобке. Си: фигурные и круглые, т.е. два класса. По закрывающей скобке можно отличить if от вызова функции, но нельзя отличить if от switch. Паскаль - круглые и end - то же, что Си. Алгол - на самом деле не знаю, но пусть 100% отличаются. XML - 100% отличаются. Яр - повторяемость средней интенсивности. Т.е. Яр находится где-то в середине спектра. Он позволяет с некоей вероятностью избежать ошибку. Вероятность не 100%, но и стоит дёшево. На мой взгляд, достаточно логично. Да, в случае 3 вложенных "если" оно не сработает. А в случае вложения "цикл-если-сито" сработает. ПРограммист должен делать свою работу аккуратно. В некоторых случаях Яр подстелит соломку, но никто же не должен рассчитывать на то, что язык программирования позволяет писать только правильные программы.
10 авг 17, 22:45    [20714943]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
Ну и кстати в случае вложенных "если" никакой способ обозначения конца конструкции не спасёт от закрытия конструкции не в правильном месте. Здесь для точности нужно давать имя каждому блоку и говорить "закрываю оператор если с именем таким-то". Я хотел и такое добавить, но это сахар второстепенной важности, за исключением циклов, где имя цикла имеет очень много полезных применений.
10 авг 17, 22:50    [20714947]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1708
budden
> Если бы была обратная совместимость с чем -то уже существующим
С Common Lisp, а из него можно вызывать Си. Это вовсе не так мало.


Обратная совместимость - это когда надмножество. яр - не надмножество commonlisp-a.
если бы, зная CL можно было бы легко читать и понимать яр-тексты, то тогда да, было бы. например typescript - надмножество javascript-a кажется, не то что идеологически, а прямо до синтаксиса.

а так да, вызвать можно. Насколько удобно, эффективно и т.д. - дело другое, а можно - это да.
=========================================
причем, чем более популярный язык взят за основу расширения, тем интереснее продукт сообществу.

Яр - он если и начинался как 1C, то теперь уже похож только тем, что в нем используются русские буквы. причем, они заканчиваются сразу, как только нужно вызывать что-то более-менее внешнее, потому что международное сообщество по русски не привыкло.

ну да чего жевать по кругу. есть и есть....
11 авг 17, 10:05    [20715627]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
Vladimir Baskakov, обратная совместимость с Common Lisp мало ценна - его почти никто не знает. Для того, чтобы тянуть библиотеки, она не нужна. Совместимые языки наследуют и пороки своего предка, например С++ взял их от С, а typescript - от javascript. У CL пороки тоже есть.
12 авг 17, 20:46    [20719051]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
antares0, вопрос про iup. Я хочу расположить свои окна IDE (несколько toplevel окон со своими меню) мозаикой по первому экрану. Есть возможность это сделать? В tk я что-то пока не могу понять, как это сделать и возможно ли это вообще. Хотя я нашёл много информации и обсуждений этого вопроса.
17 авг 17, 11:37    [20730546]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
antares0
Member

Откуда:
Сообщений: 217
budden,
Вывод диалога на позициию XY окна
В tk я что-то пока не могу понять,

[code=tcl]wm geometry . +0+0[/code] Должно загнать окно в левый верхний угол. По идее.

Вопросы по Iup лучше адресовать на ЛОР наверное. Там аудитория "экспертов" по нему несколько больше одного меня
17 авг 17, 15:47    [20731660]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
antares0
Member

Откуда:
Сообщений: 217
budden,
Другой вопрос что с сугубо практической точки зрения для собственых окон IDE гораздо проще повторить содержимоеокон в одном общем на всех окне. Чем заниматься малоблагодарной работой по их мозаичному раскладыванию.
Tk ксьт должен уметь встраиваниванме окон в специально подготовленые frame-ы.
17 авг 17, 15:58    [20731714]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
antares0, вчера убил весь день на это, но толка так и не добился. Представь себе, в моём 10 windows нужно поставить -9,-9 или 0,-9, или -9,0, чтобы окно встало в левый верхний угол. Будут окна перекрываться, причём размер перекрытия будет зависеть от платформы. Не могу позволить себе тратить неделю на это.

Насчёт проектирования IDE - я брал за основу Lispworks, в кром я работал в режиме "отдельные окна для каждого инструмента со своим меню", поскольку в ином режиме у меня не работало переключение языка или были какие-то другие заморочки с клавиатурой.

IDE обычно делаются не так, но мне уже долго переделывать. Побудет пока так.

Кроме того, я не люблю тулбары и контекстные меню - они требают мышекликательства, а я это не люблю. Особенно контекстные меню - во многих программах не работает древняя стандартная кнопка Alt-F10, а на некоторых ноутах нет кнопки для их вызова и приходится ставить мышь туда, где уже стоит курсор клавиатуры и кликать правой кнопкой. Абсурд! Поэтому своё глобальное меню для каждого инструмента, являющегося отдельным окном, выглядит более предпочтительным. Далее, у меня два монитора и я люблю, чтобы они оба были заняты. Если IDE имеет главное окно, то нужно долго настраивать всякие доки, чтобы оно стало более-менее удобным. Опять мышекликальство.

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

Да, понятно, что нестандартная работа с окнами IDE плоха с т.з. популяризации, но по сравнению с емаксом это всё равно шаг вперёд. В емаксе логика (а точнее, анти-логика) по которой окна появляются, при этом временные и ненужные окна топят те, которые нужны постоянно, одно и то же окно может продублироваться 4 раза и пр., мне выносит мозг, а тут будет хоть какая-то логика. Так что пока будет так.
18 авг 17, 15:50    [20734678]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
сравниваем:
// красота
явись словарь
явись соответствие 
явись таблица

// сравниваем с 1С
новый словарь
новый соответствие // отстой
новый таблица

слово "явись" - длиннее, чем "new", но короче, чем "create".

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


Осталась, правда, упущенная запятая, но это меньший грех, чем несогласованный род или падеж. Посему утверждаю :)
Хотя я сейчас подумал ещё, что можно написать
будь словарь
будь соответствие
будь таблица

Ну вот, опять сомнения и муки выбора. Хотя наличие слов "будь" и "явись" можно обыграть. Например, "будь" - это на стеке, а "явись" - в куче.
3 сен 17, 11:32    [20767904]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
vill_ager
Member

Откуда: Belarus
Сообщений: 353
budden,

дай словарь
3 сен 17, 13:18    [20768017]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
vill_ager, "дай" подразумевает, что объект уже существовал, просто был у того, к кому обращается. А "будь" или "явись" - это повеление объекту "быть" или "возникнуть".
3 сен 17, 13:43    [20768041]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
budden, хотя если честно, было бы "возникни" или "создайся". Здесь "явись" - это короткое слово, не нагруженное таким смыслом, с которым можно было бы перепутать.
3 сен 17, 13:46    [20768048]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
а само по себе "явись" означает другое. "явиться к начальнику", т.е. показаться ему, а не значит "возникнуть из небытия перед очами начальника".
3 сен 17, 13:47    [20768049]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
Вот ещё придумал "родись таблица". По-моему, совсем по-русски получается. А деструктор будет "умри таблица". Правда, слово "родись" уже не короче, чем Create, и длиннее, чем "новый". Но хотя бы не длиннее - и то хорошо.
3 сен 17, 14:11    [20768079]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
budden
Member

Откуда:
Сообщений: 989
Ну, настало время отчитаться о работе, проделанной за месяц. Вот что добавилось:
- классы (точнее сказать, записи) с одиночным наследованием. Интерфейсов нет (пока не знаю, нужны ли они или нужно множественное наследование). Пока что при переопределении класса его данные уничтожаются. Методов тоже пока что нет.
- REPL, в т.ч. в нём можно (пере)определять функции и классы, в т.ч. с изменением сигнатуры
- составной оператор, оператор цикла. У цикла и составного оператора может быть имя
- оператор "вернуть-из" - выход из именованного блока с возвратом значений
- цитаты, пока не "квази", и толком годятся только для символов (а в будущем, наверное будет примерно как в ScalaMeta)
- окна возникают в определённых местах (раньше выскакивали где попало), можно их подвинуть и сохранить новое положение

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

Ещё один результат, не являющийся разработкой: промерял скорость работы записей.
При всех оптимизациях получается ~60% от скорости Си. Хотя в Си более умный оптимизатор и во многих случаях разница будет больше. Обсуждается здесь
Если реализовать множественное наследование, то получится 5 раз медленнее, что неприятно. Также неприятны "дыры" в выводе типов лиспа, работаем над патчами к компилятору.

Но прогресс за месяц неплохой. Пример кода:
опр класс Предок ()
поля
  П1
  П2
кно

опр класс Потомок (Предок) поля П3 кно

опр функ Тест7 ()
тело
  пусть б -- Потомок = родись-Потомок(П1 = 1, П2 = цит(АБВ), П3 = 3)
  зап б.П3 = б.П1 + б.П3
  л-список(б.П1,б.П2,б.П3)
кно

л-печать(Тест7())
// напечатает (1 абв 4)
3 сен 17, 22:39    [20768561]     Ответить | Цитировать Сообщить модератору
 Re: Новый 1С - подобный язык и среда  [new]
RMagistr2015
Member [заблокирован]

Откуда:
Сообщений: 1389
hVostt,

от ты тролина, запарила парня вообще, дай человеку нормально проект довести
4 сен 17, 09:17    [20768899]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 43 44 45 46 47 48 49 50 [51] 52   вперед  Ctrl
Все форумы / Разработка информационных систем Ответить