Re[56]: про пять случайных букв.
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 20:35
Оценка:
E>>Во-вторых, рассуждения не про то, как записать, а про то, что УЖЕ есть в RS для решения такой задачи, а чего ещё не хватает.
S>Я уже писал что не хватает управляющих конструкций (хотя бы LC), комбинаторов, рекурсии.

S>>>Если чуть покумекать и сделать генератор rnd, то так:

S>>>
S>>>Rnd('z' - 'a' + 1).Select(r => (char)('a' + r)).Take(5);
S>>>

S>Для такой записи рекурсия не нужна, но это не значит что она вообще не нужна.

Итеративные возможности ценнее чем рекурсивные, по многим соображениям

S>Язык, не позволяющий создавать библиотеки — не нужен. Если мне сейчас скажут что в РС не будет библиотек — единственная цель с которой я тут останусь — доставать ТС-а.


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

Вообщем дорожная карта такая для языка:
1. Синтаксис, базовые типы
2. Продумывание алгоритмических структур: функций, групп
3. Разработка вспомогательных библиотек по работе с диском, сетью, интерфейсом ...
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[75]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 20:38
Оценка: :)
E>>ОТкуда следует неленивость переборщиков? Из того, что в альфе они реализованы как массивы? Ну так не проблема же сделать их ленивыми уже в бете...
S>Проблема. В текущем дизайне языка в их ленивости смысла нет, т.к. они по природе своей проходят от начала диапозона до конца и не останавливаются посередине. Сделаешь их ленивыми — они все равно не смогут остановиться.

Еще раз, сформулируй неподьемную архитектурную задачу.
В будуйщем предполагается хороший оптимизатор запросов.
Чем более абстрактная модель языка тем лучше, тем больше развязаны руки у интерпретатора для оптимизации запросов.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[76]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 20:39
Оценка:
PC_>Еще раз, сформулируй неподьемную архитектурную задачу.
PC_>В будуйщем предполагается хороший оптимизатор запросов.
PC_>Чем более абстрактная модель языка тем лучше, тем больше развязаны руки у интерпретатора для оптимизации запросов.

запросы если чо это выражения, просто ближайший пример из БД притянулся в мыслях
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[30]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.12.10 20:40
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>Здравствуйте, samius, Вы писали:


PC_>Вот у тебя нету сути понимания вопроса. Что здесь первично, что вторично.

PC_>Какие приоритеты в языке. Что действительно сложно.
Все о себе гениальном?

PC_>Нет выставленных приоритетов. Вот спроси тебя — зачем в языке функции ?

PC_>И я уверен, что ты не знаешь ответ на этот простой вопрос.
Функция это единица композиции и реюза кода. Нет реюза — будет копипаста. А копипаста по определению быдлоговнокодище, приводящее к беспочвенному росту объема кода.

В твоих же терминах твой язык провоцирует быдлокодить.

PC_>Ты не задумываешся над этим и твой аргумент

PC_>будет ... нуууу ... потому что их уже сто лет используют ?
Выдвигаешь свое мнение в качестве мнения оппонента и споришь с ним?

PC_>этапе и ведется поиск более эффективных вещей.

PC_>Есть решения и получше, но эти решения находят люди, которые видят суть вещей в языкостроении,
Приведи решение получше функций чем толкать все в ядро языка.
PC_>а не тягают бездумно плюшки со всех книжек которые прочитали еще вчера.
Re[79]: Ультракороткий язык программирования RS
От: Erop Россия  
Дата: 25.12.10 20:41
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Пробовали помогать. Неоднократно. Но это все время наталкивалось на весьма специфическую реакцию.


Ну так может кто-то таки вспомнит что-то конструктивное-то? Чего предлагали-то?

Чувак, на самом деле, изобрёл тензоры. Возможно он их изучил в институте, возможно нет. Если нет, то это круче.
Казалось бы, идея хорошая, прямая и ультракомпактная. Чего бы не поиграться?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[59]: Ультракороткий язык программирования RS
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.12.10 20:46
Оценка: +3
Здравствуйте, PC_2, Вы писали:

PC_>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>Простота кода и краткость кода — два ортогональных понятия, т.к. код не только пишется, но и читается, причем второе происходит намного чаще и преимущественно не только его автором. Практически каждый пример вашего кода вам пришлось разжевывать и здесь и на sql.ru. Это значит, что ваш код нечитаем, в отличии от.


PC_>Жесть. Ну неужели не доходит до гуру Немерла,


Еще раз зачетно прикололись День прожит не зря.

PC_>что рефакторинг почти в абсолютно количестве случаев

PC_>кода ведет к его многократному урезанию и вместе с тем он становится понятней.

См. ниже.

PC_>Более того, если что-то выглядит сложно и длино, у нормального программиста и архитектора чешутся руки это переписать,

PC_>чтобы было и кратко и понятно.

И, как правило, потом, у программистов и архитекторов, которым такой проект достался по наследству от переписывальщиков, чешутся руки, чтобы банально начистить им бубен, ага.

PC_>Почитайте книжки хотябы по рефакторингу, плодить длинный говнокод этоже преступление


Да не вопрос, заглянем в книжки... "Рефакторинг" Фаулера, подойдет?

Им (разработчикам фреймворков) также известно, что чаще приходится читать и модифицировать код, а не писать новый. В основе поддержки читаемости и модифицируемости кода лежит рефакторинг — как в частном случае фреймворков, так и для программного обеспечения в целом.


В вашем случае, код нечитаем принципиально (об этом здесь только ленивый не сказал), а повторное использование кода в вашем случае вообще невозможно, разве что только через копипаст.

Чуть далее:

В сущности, при проведении рефакторинга кода вы улучшаете его дизайн уже после того, как он написано


Учитывая вашу реакцию в недрах этой темы на выделенное слово, полагаю, эту книгу вы не читали, т.к. понятие "дизайн кода" там встречается почти в каждой главе. В ней также нет ни слова о том, что рефакторинг ведет к многократному урезанию кода. Более того, к сокращению кода ведут, навскидку 15-20% всех приемов рефакторинга, описанных в этой книге. И практически все из них приводят к этому исключительно за счет удаления дублирующегося кода в том или ином виде (что к задачам, решаемым RS не относится).

Впрочем, возможно Фаулер не понимает, о чем он пишет. Возьмем другую книжку "Рефакторинг с использованием шаблонов проектирования" Кериевски:

Процесс рефакторинга включает удаление дублирования, упрощение сложной логики и прояснение непонятного кода.


Какие из перечисленных задач решает RS? При чем тут вообще рефакторинг, если программы на вашем языке выглядят как "запусти и выброси"?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[57]: Ультракороткий язык программирования RS
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.12.10 20:46
Оценка: +1
Здравствуйте, Erop, Вы писали:

E>Дык в RS это уже сейчас ЛЕГКО доступно.

E>Если у тебя есть переборщик строк Q, и есть предикат My, то профильтрованный переборщик будет (My(Q)?Q)

А если мы хотим не фильтровать уже готовую последовательность, а применять фильтр в процессе перебора, чтобы не плодить лишние объекты? В моем примере это достигается за счет переноса .Map из конца выражения в его середину.

E>Тут я предполагаю, что вызов функции будет My(Q)...


Ну, я могу напредполагать наличие в RS сопоставления с образцом, АТД и метапрограммирования... Важно же то, что есть сейчас? А то, что будет, обсудим по факту его появления, я думаю.

E>Вроде такая фигня прямо запрещена тут в правилах. Может ты как модератор будешь направлять обсуждение в конструктивное русло, а не в сторону довольно глупой пенисометрии?..


moderator@rsdn.ru
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[75]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 20:48
Оценка:
Здравствуйте, Erop, Вы писали:

E>>ОТкуда следует неленивость переборщиков? Из того, что в альфе они реализованы как массивы? Ну так не проблема же сделать их ленивыми уже в бете...


E>ambel-vlad! Как к тебе обращаться по-русски? Влад?


Как тебе будет удобно. Я уже привык, что меня разные люди зовут по разному.

E>Что тебе кажется смешным? Ты правда не знаешь, как переборщики сделать ленивыми?


Не, то что это можно будет сделать я вполне верю. То что будет сделано — не верю. Может быть какой-нибудь один частынй случай. Но не более.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[80]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 20:48
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>Пробовали помогать. Неоднократно. Но это все время наталкивалось на весьма специфическую реакцию.


PC_>новость однако


Что ж, и то уже неплохо. Может быть теперь обратишь внимание на этот момент
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[29]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 20:48
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>А что, использование List comprehension уже стало обсуждением личности? Или фраза про предложенные автором извращения вместо List comprehension уже не относится к обсуждению языка?


PC_>А зачем нужен List comprehension в РС если не на одном из приведенных примеров не один из вас не на одном

PC_>из тестов не смог представить код короче и гибче и проще ( хоть последнее и субьективно ) ??

Насколько я помню, samius вроде приводил. Насчет гибче, то это уже не смешно.

PC_>Еще раз, если вы лобируете какойто велосипед в языке, то никто не будет это добавлять

PC_>только потому что вам лично захотелся этот велосипед по религиозным соображениям.

Да никто и не настаивает на добавлении. Угадаешь почему?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[57]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.12.10 20:51
Оценка: +2
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, samius, Вы писали:


S>>Изменишь условие? Это другая задача. Кстати, образованные люди называют ее числом размещений.

S>>Есть несложный рекурсивный алгоритм получения всех размещений. В твоем языке на рекурсию табу, значит решение будет гораздо сложнее.
E>Рекурсия -- это ход в кусты. Если мы хотим уметь описывать переборщики строк, то что нам толку с того, что легко написать какую-то рекурсивную программу? Вложенные циклы тоже легко написать. Но неинтересно.

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

S>>Ты за неделю так и не представил ни одно работающее решение, куда там за 30 сек получить размещения из случайной выборки!!!

E>Если хочешь, я тебе прямо сейчас представлю. Напишу формальное описание языка RS' и напишу программу на нём. Только если тебе нужен ещё и интерпретатор, то его напишешь ты? Оки?
При необходимости напишу и интерпретатор. Была бы грамматика (в любой форме) и спецификация языка. Но думаю что оценить работоспособность я смогу и без интерпретатора. Еще раз, речь о размещениях без повторений. И не хотелось бы видеть решение задачи с повторениями и последующей фильтрацией. Зачета не будет.

S>>еще и обижаешься на тех кто это подмечает.


E>Я вот всё не пойму. Зачем вы втроём пытаетесь убедить PC_2 в том, что он дурак? Он же всё равно вам не поверит, и будет прав...

Есть надежда сбить спесь. Не отвадить от написания языка, нет. Показать что он многого не знает и что без этого ему не стать хорошим специалистом в этой области при таком самомнении и манере вести дискуссии.
Re[31]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 20:55
Оценка: :)
S>Функция это единица композиции и реюза кода. Нет реюза — будет копипаста. А копипаста по определению быдлоговнокодище, приводящее к беспочвенному росту объема кода.

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

PC_>>этапе и ведется поиск более эффективных вещей.

PC_>>Есть решения и получше, но эти решения находят люди, которые видят суть вещей в языкостроении,
S>Приведи решение получше функций чем толкать все в ядро языка.

Например полиморфные функции.
Суть полиморфизма в чем.
Ктото построил Черный ящик и предусмотрел замену некоторых его модулей более совершенными.
Вот ты купил машину, вытянул старую магнитолу вставил новую.
Это полиморфизм. Ктото на заводе предусмотрел разьемы ( интерфейсы ) для вставки новой магнитолы ( модуля ).
Можно сказать что ты часть алгоритма автомобиля подменил новым модулем через виртуальную функцию ( магнитолу).

Я уже так на пальцах рассказываю, чтобы ты суть понимал, это важно.
Будешь понимать суть — будешь понимать проблемы.

Так вот проблема в том, что разработчики на заводе не для всего могут предусмотреть разьемы для подключения
заменяемых модулей. И поэтому когда очередной программист, вот на примере Перлиста, тягает свой библиотечный сорт,
он ограничен тем, что предусмотрели разработчики этой функции. Предусмотрели перегрузку сравнения элементов, очень хорошо.
Непредусмотрели ограничение по сортируемому диапазону — катастрофа, или выбрасываем библиотечную функцию или рисуем над ней некий
врапер, который подготавливает данные ей, принимает, а потом допиливает эти данные. Что не всегда возможно, кстате, поэтому чаще
просто выбрасываем.

Так вот в РС функции могут быть на порядок юзабельней.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[80]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 20:56
Оценка: +1
Здравствуйте, Erop, Вы писали:

AV>>Пробовали помогать. Неоднократно. Но это все время наталкивалось на весьма специфическую реакцию.


E>Ну так может кто-то таки вспомнит что-то конструктивное-то? Чего предлагали-то?


Перечитай топик еще раз. Хотя возможно понятие "конструктивности" у нас различаются.

E>Чувак, на самом деле, изобрёл тензоры. Возможно он их изучил в институте, возможно нет. Если нет, то это круче.

E>Казалось бы, идея хорошая, прямая и ультракомпактная. Чего бы не поиграться?

Поиграться можно. Вот только поведение ТС никак этому не способствует. Да и провозглашать это супер-пупер чем-то... Еще более смешными выглядит провозглашение кода на остальных языках говнокодов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[75]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.12.10 20:56
Оценка: +3
Здравствуйте, PC_2, Вы писали:

PC_>Здравствуйте, Erop, Вы писали:


E>>ОТкуда следует неленивость переборщиков? Из того, что в альфе они реализованы как массивы? Ну так не проблема же сделать их ленивыми уже в бете...


PC_>Ленивость есть уже в альфе, хотя может и в зачаточном состоянии.


PC_>Например вот такое выражение


PC_>(1<2) ? 1+1 : 2+3+4+8+10+34


PC_>выражение

PC_>2+3+4+8+10+34 даже не пытается вычислять,
PC_>тоже с логическими операторами.

Это стандартное поведение для аппликативной модели вычислений. Хоть оно является зачатком ленивости, говорить о языках что они ленивы только по наличию особой формы для условного ветвления не принято.


PC_>1==1 | (a + b == 1)


PC_>Первая часть выражение Тру, и вторая часть просто не вычисляется ...

PC_>выражение автоматом тру
Называется короткой формой вычисления булевых выражений. Название этого явления изучается на первом курсе любого порядочного ВУЗа.
Оба этих явления делают твой язык не ленивее паскаля.
Re[28]: Ультракороткий язык программирования RS
От: Erop Россия  
Дата: 25.12.10 20:57
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>А толку обсуждать RS

Ну мне, например, интересно

AV>если автор на все плюет и всех объявляет ламерами и т.д.

Связь мне не ясна.
Во-первых, ценность мыслей от личности их автора не зависит.
Во-вторых, тут публичный форум. Обсуждай со мной, например.
Или с Магеном. Он, вроде как тоже заинтересован, на самом деле. Во всяком случае он понял, как устроен RS...

AV>А что, использование List comprehension уже стало обсуждением личности?

Я плохо помню, кто что сказал в сраче. Я помню, что мы с кем-то вполне обсуждали использование LC. Вроде как они не совсем то, что надо.

AV>Или фраза про предложенные автором извращения вместо List comprehension уже не относится к обсуждению языка?

Почему извращения? Ну и вообще, слово "извращения" -- оно является не особо конструктивным.

AV>Тебе? Ничего.

Ну ты же мне ответил? При этом не про RS, а про PС_2?
Или я тебя с кем-то спутал?

AV>Вначале или в конце, действительно разницы нет. А вот ";" в два раза короче "Е ". Что противоречит страстному желанию автора.

Ну я так думаю, что ему виднее, в чём состоят его желание...
Но что-то я туплю. Почему "E" длиннее ";"? Или ты и пробелы считаешь? Ну так я, например, после пунктуаторов пишу пробел
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[29]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.12.10 20:58
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>А что, использование List comprehension уже стало обсуждением личности? Или фраза про предложенные автором извращения вместо List comprehension уже не относится к обсуждению языка?


PC_>А зачем нужен List comprehension в РС если не на одном из приведенных примеров не один из вас не на одном

PC_>из тестов не смог представить код короче и гибче и проще ( хоть последнее и субьективно ) ??

PC_>Еще раз, если вы лобируете какойто велосипед в языке, то никто не будет это добавлять

PC_>только потому что вам лично захотелся этот велосипед по религиозным соображениям.
Еще раз, ты не предоставил вообще хоть какой-то код для решения некоторых задач. Напомню — двоичный поиск, формула Ньютона, размещение без повторений, что-то наверняка еще
Re[60]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 21:05
Оценка: :))
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>

KV>Процесс рефакторинга включает удаление дублирования, упрощение сложной логики и прояснение непонятного кода.


И что Качетков, после этой фразы вы все еще уверены что простота и компактность кода ортогональны ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[63]: Ультракороткий язык программирования RS
От: Erop Россия  
Дата: 25.12.10 21:06
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV> Ооо, это что, еще один вариант объявления массива уже появился? Кстати, если это единственный вариант объявления массива строк, то ну его к черту. Потому что я могу и не знать эти "мам", "пап" и остальных родственников.


Он всегда был...
Я-то RS не выдумываю. Я просто прочитал то, что написал PC_2... Ну иногда что-то предлагаю

А что касается
AV>Я все таки предпочитаю разделять объявление массива и его использование.
то тут другая идеология вытанцовывается.
Типа опиши переборщик какой-то, а потом попроси RS что-то с ним сделать...
"Если бы директором был я" (c), то я бы вообще сортировки, поиски деревянные и бинарные и всякие другие не стремился бы выражать на RS, а наоборот, научил бы RS сам всё это делать над переборщиками. Чтобы он мог сам это всё оптимизириовать. А программист бы писал более высокоуровневые запросы к RS
У PC_2 были похожие мысли, но всё-таки какие-то другие вроде...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[30]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 21:12
Оценка: :)
PC_>>Еще раз, если вы лобируете какойто велосипед в языке, то никто не будет это добавлять
PC_>>только потому что вам лично захотелся этот велосипед по религиозным соображениям.
S>Еще раз, ты не предоставил вообще хоть какой-то код для решения некоторых задач. Напомню — двоичный поиск, формула Ньютона, размещение без повторений, что-то наверняка еще

Бинарный поиск я приводил и еще с два десятка примеров.
И не один из них ( не один !) не был длинее чем то что вы мне присылали от Перла и Немерла до Шарпа и Linq.

Единственное что я отметил некоторое незначительное проседание кода по сравнению с J ( примерно на 20%-30% ).
Но это нормально, учитывая что опять сравнивались встроеные грушки из J и что РС также пытается быть и простым языком,
что не скажешь о птичести J, где только на суммирование несколько разных операторов. Вместо десятка их там сотни.

Так что до сих пор все вполне оптимистично.
А другие пускай трепают языком, линейку не обманишь и зубы ей не заговоришь
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[64]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 21:24
Оценка:
Здравствуйте, Erop, Вы писали:

E>"Если бы директором был я" (c), то я бы вообще сортировки, поиски деревянные и бинарные и всякие другие не стремился бы выражать на RS, а наоборот, научил бы RS сам всё это делать над переборщиками. Чтобы он мог сам это всё оптимизириовать. А программист бы писал более высокоуровневые запросы к RS

E>У PC_2 были похожие мысли, но всё-таки какие-то другие вроде...

Чтобы побороть нормально Бинарный поиск и Квик сорт нужно побороть
адресную арифметику по массивам. Которая источник непонятного кода.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.