Re[74]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.12.10 09:59
Оценка:
Здравствуйте, PC_2, Вы писали:

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


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


S>>>>>
S>>>>>[|for i in 1..10 -> i*i|]
S>>>>>


PC_>Там же нормальная ошибка.

PC_>Х — не распознан,
PC_>обьяви Х

Да, нормальная такая ошибка, показывающая что ты все время халтуришь. Полный код твоего решения будет такой
x=1..10
!m=1..10
x.m=m*m

Что даже длинее F#-овского, который никуда не спешит, не говоря уже о многострочности твоего решения (корявости встраивания его в качестве подвыражения) и невозможности использования его во вложенных генераторах (требует глобальные переменные, которые невозможно переопределить).
Re[60]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 10:00
Оценка: 3 (1) +1
Здравствуйте, PC_2, Вы писали:

AV>>Зачем? Не знаю. Но автор сказал, что 1..10 — это массив. Так что не ко мне вопросы.


PC_>1..10 действительно массив и переборщик инициализируется массивом.



Кстати, тут мысля еще одна возникла. 1..10 — это массив. Но это массив целых чисел. А как мне сделать массив чисел с плавающей точкой или массив строк?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[25]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 10:20
Оценка:
Здравствуйте, Erop, Вы писали:

S>>Предлагал List comprehension не так давно. Это не моя идея, этой идее несколько десятилетий вместе с практикой использования.

E>А зачем они тут? Ясно, что их можно вставить, но можно и не вставлять. Суть-то в том, что ничего нового и интересного в этом нет.

Зачем? Да хотя бы затем, что предложенное автором извращение намного хуже. И от него он отказываться не намерен.

S>>Дык мы и получали кучу какашек в ответ на идеи. Например, спрашивали — зачем тебе "E". Может там какие планы были по поводу "E", мало ли. В ответ — "я так вижу, а вы ... " и про паскаль и обвинения в говнокодерстве.

E>Ну он написал, что E в начале нравится ему больше точки с запятой в конце. Ну и что? IMHO, это пофигу.
E>Только вопрос мелкий и неинтересный, на самом деле.

Как мелкий? Он же за краткость. А тут получается наоборот. ";" в два раза короче "E ". Но вроде он уже отказался от своего Е
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[27]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 10:20
Оценка:
Здравствуйте, PC_2, Вы писали:

S>>Я предлагаю их вместо (I>10?I), для того что бы задавать перебор явно, а не пытаться угадать оптимальный перебор из булевого условия.


PC_>А зачем задавать перебор явно ?

PC_>Тогда будет закрыта дверь в вкусностям вроде "подбор пароля произвольной длины". Или подбор по шаблону/алфавиту и тд.

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

PC_>>>оно помойму нормально эффективно.

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

PC_>Давайте опустим что там входит а что выходит, пооптимизируем потом


PC_>Микро программа выполняется 0,001 секунду или 0,005 секунд, какая разница ?


И таких микропрограмм миллионы. В результате вся программа выполняется 1000 секунд или 5000 секунд. Действительно, какая разница.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[32]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 10:20
Оценка: +1 -1
Здравствуйте, PC_2, Вы писали:

PC_>Но главное что все велосипеды примерно одинаково, правда твой будет самый медленный ...


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

PC_>
PC_>Enumerable.Repeat(1, 5).Select(_ => (char)('a' + rnd.Next('z' - 'a')));
PC_>


PC_>Довольно прикольное решение.

PC_>Во-первых оно опять надругалось над решением Немерле,
PC_>которое ниразу понятней и короче.
На немерле тебе показали функцию, а я привел выражение. Ты сравнивал число байт функции на немерле и выражения на C#?
По поводу понятности в следующий раз советую не острить. Этим ты показываешь только уровень своего восприятия общепринятых паттернов кода.

PC_>Во-вторых имеет теже проблемы что и перловки. Ибо это нагромождение

PC_>встроенных функций.
Эти проблемы только в твоей голове. Для остальных разработчиков проще комбинировать существующие решения, чем изобретать 3 велосипеда для того что бы взять 5 случайных букв.

PC_>Следовательно если я изменю условия так,

PC_>"Перебрать все пароли от a-z с длиной 5 символов,
PC_>причем дважды одна и таже буква не может встречаться в пароле"
Изменишь условие? Это другая задача. Кстати, образованные люди называют ее числом размещений.
Есть несложный рекурсивный алгоритм получения всех размещений. В твоем языке на рекурсию табу, значит решение будет гораздо сложнее.

PC_>"Перебрать все пароли от a-z c длиной 5 символов,

PC_>а вот пароли начинающиеся на A не должни быть больше 3 символов"
решается путем комбинации генератора размещений с фильтрами и конкатенаторами.

PC_>То решение разобьется о острые камни реальности.

Решение задачи получения 5и случайных букв не годится для решения задач размещения никаким образом. Если пригодится, значит ты оригинальную задачу решил через зад.
PC_>А мне расширить свой алгоритм на РС секунд 30 наверное и плюс десять пятнадцать символов
PC_>в микро программку
Ты за неделю так и не представил ни одно работающее решение, куда там за 30 сек получить размещения из случайной выборки!!!

PC_>

С тобой не скучно
Сам все время палишься и выпячиваешь уровень своей подготовки, еще и обижаешься на тех кто это подмечает.
Re[33]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 25.12.10 10:37
Оценка: +1
Здравствуйте, PC_2, Вы писали:

PC_>>>В смысле, ты сомневаешся что языки будуйщего будут ультракомпактны ?

S>>Даже не сомневаюсь что они НЕ будут ультракомпактны. Открой пару библиотек и посмотри, сколько там функций для решенных задач. Этим функциям нужны внятные имена.

PC_>Зачем им внятные имена.


Затем, что код еще и люди читают

PC_>Для тебя жизненно необходимо нагромождение быдло интерфейсов с мильярдом функций вроде GetPtrIntToStr в жаваподобном шпагетти ?


А что у тебя есть на замену?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[55]: Ультракороткий язык программирования RS
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.12.10 11:27
Оценка: 3 (1) +1 -1
Здравствуйте, PC_2, Вы писали:

PC_>
PC_>Enumerable.Repeat(1, 5).Select(_ => (char)('a' + rnd.Next('z' - 'a')));
PC_>


PC_>Довольно прикольное решение.

PC_>Во-первых оно опять надругалось над решением Немерле,

В смысле надругалось? Это прикольное решение является валидным nemerle-кодом, если что.

PC_>которое ниразу понятней и короче.


только для тех, кто не знаком с ФВП, лямбдами и замыканиями. Т.е. для подавляющего меньшинства профессиональных программистов.

PC_>Следовательно если я изменю условия так,

PC_>"Перебрать все пароли от a-z с длиной 5 символов,
PC_>причем дважды одна и таже буква не может встречаться в пароле"

def p(l, n)
{
    l.Fold([], (e, a) => if (n==1) [e]::a else p(l.Filter(x => x != e), n-1).Fold(a, (s, b) => (e::s)::b))
}


Вы выше спрашивали, как эта функция вызывается... Вот так:

WriteLine(p($['a'..'z'], 5));


PC_>или


PC_>"Перебрать все пароли от a-z c длиной 5 символов,

PC_>а вот пароли начинающиеся на A не должни быть больше 3 символов"

Частное решение:

def p(l, n, f)
{
    l.Fold([], (e, a) => if (n==1) [e]::a else p(l, n-1, f).Fold(a, (s, b) => (e::s)::b)).Map(if (x.Head != 'a' && x.Length > 3) x.FirstN(2) else x)
}


Общее решение:

def p(l, n, f)
{
    l.Fold([], (e, a) => if (n==1) [e]::a else p(l, n-1, f).Fold(a, (s, b) => (e::s)::b)).Map(f)
}

WriteLine(p(
        $['a'..'z'],
        6,
        x => if (x.Head != 'a' && x.Length > 3) x.FirstN(2) else x
        )
);


Заметьте, теперь мы можем передавать в p() произвольную функцию f, по которой сможем добавить любые ограничения к выходному списку.

PC_>То решение разобьется о острые камни реальности.

PC_>А мне расширить свой алгоритм на РС секунд 30 наверное и плюс десять пятнадцать символов
PC_>в микро программку

Не, че-то не разбивается. Напротив, чем обширнее и комплекснее будут исходные условия, тем больше вас придется хардкодить в интерпретаторе, чтобы избежать нагромождения кучи неудобочитаемого кода. Который, к тому же, не является повторно используемым. Решение же на nemerle будет усложняться только в той строчке, где определяется функция, реализующая ограничивающее условие.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[75]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 11:35
Оценка: :)
Здравствуйте, samius, Вы писали:

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


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


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


S>>>>>>
S>>>>>>[|for i in 1..10 -> i*i|]
S>>>>>>


S>Да, нормальная такая ошибка, показывающая что ты все время халтуришь. Полный код твоего решения будет такой

S>
S>x=1..10
S>!m=1..10
S>x.m=m*m
S>

S>Что даже длинее F#-овского, который никуда не спешит, не говоря уже о многострочности твоего решения (корявости встраивания его в качестве подвыражения) и невозможности использования его во вложенных генераторах (требует глобальные переменные, которые невозможно переопределить).

что-то я вас разбаловал.
По две переменных обьявляю в разных строках. Рефакторю.
Потом выиграите 2 байта на 20 символах, и радости нет предела

а если вот так ?


x=1..10
x.i=x.i*x.i


Ф шарп длинее

На счет то что не понятней решение на Немерле или Ф Шарпе так это истинная правда.
Достаточно привести статистику сколько программисту нужно чтобы разобьраться в функциональном языке,
а сколько в той императивной "игрушке" вроде меня. Мне хватит чтобы в своем языке человека раздуплить нулевого,
трех абзацев. А вам талмуд, от Богов функциональщины
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[56]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 11:42
Оценка: -2
PC_>>Во-вторых имеет теже проблемы что и перловки. Ибо это нагромождение
PC_>>встроенных функций.
S>Эти проблемы только в твоей голове. Для остальных разработчиков проще комбинировать существующие решения, чем изобретать 3 велосипеда для того что бы взять 5 случайных букв.

Да, все эти ваши решения выглядят примерно так.
Заказчик говорит — Нужен трактор.
Отдел закупок начинает листать желтые страницы, трактора не находит.
Но находит ВАЗ 2101 .
Не беда, покумаем ВАЗ 2101, выбрасываем магнитолу, выбрасываем обшивку салона (переплатили однако),
откручиваем колеса, переставляем мосты, делаем полноприводным, и получаем трактор
Зато мы использовали то жигули которое уже есть.

PC_>>Следовательно если я изменю условия так,

PC_>>"Перебрать все пароли от a-z с длиной 5 символов,
PC_>>причем дважды одна и таже буква не может встречаться в пароле"
S>Изменишь условие? Это другая задача. Кстати, образованные люди называют ее числом размещений.

Сеня, это боевые будни программистов между прочим.
Заказчику всегда нужно "еще чуть чуть" доделать.
И все эти паттерны библиотеки, рефакторы, чтобы сделать как можно гибче разработку, предугадывая следующий шаг изменений в программе.
И если программу нужно переписать при небольших изменениях то это гайки

PC_>>"Перебрать все пароли от a-z c длиной 5 символов,

PC_>>а вот пароли начинающиеся на A не должни быть больше 3 символов"
S>решается путем комбинации генератора размещений с фильтрами и конкатенаторами.

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

PC_>что-то я вас разбаловал.

PC_>По две переменных обьявляю в разных строках. Рефакторю.
PC_>Потом выиграите 2 байта на 20 символах, и радости нет предела
Радость от 2х байт только у тебя.

PC_>а если вот так ?


PC_>
PC_>x=1..10
PC_>x.i=x.i*x.i
PC_>


PC_>Ф шарп длинее

Но юзабельнее
и длинее чем это
map(^2)[1..10]


PC_>На счет то что не понятней решение на Немерле или Ф Шарпе так это истинная правда.

PC_>Достаточно привести статистику сколько программисту нужно чтобы разобьраться в функциональном языке,
PC_>а сколько в той императивной "игрушке" вроде меня. Мне хватит чтобы в своем языке человека раздуплить нулевого,
PC_>трех абзацев. А вам талмуд, от Богов функциональщины
дупли себя
Re[56]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 11:46
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

Гаспадин Качетков, я этот пост ваш читал не очень внимательно.
Вы забыли, что я тут главный школьник который бегает с линейкой для замера длины
А другие говорят что и тупой в функциональщине,
тоесть наборы джедайских теорий от функциональных таинственых манускриптов, както тоже
выходят за пределы моих интересов в приследовании простоты кода
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[56]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 11:48
Оценка: :)
Здравствуйте, kochetkov.vladimir, Вы писали:

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


PC_>>
PC_>>Enumerable.Repeat(1, 5).Select(_ => (char)('a' + rnd.Next('z' - 'a')));
PC_>>


PC_>>Довольно прикольное решение.

PC_>>Во-первых оно опять надругалось над решением Немерле,

KV>В смысле надругалось? Это прикольное решение является валидным nemerle-кодом, если что.


Жесть, опять для меня осталось загадкой зачем нужно Немерле.
То решение Шарп короче и проще, то решение Linq.

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

S>
S>map(^2)[1..10]
S>


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

PC_>Но находит ВАЗ 2101 .

PC_>Не беда, покумаем ВАЗ 2101, выбрасываем магнитолу, выбрасываем обшивку салона (переплатили однако),
PC_>откручиваем колеса, переставляем мосты, делаем полноприводным, и получаем трактор
PC_>Зато мы использовали то жигули которое уже есть.
Даже C# обладает относительно полным набором инструментов для работы. В твоем языке пока шаром покати. Так что сравнение не в твою пользу.

PC_>>>Следовательно если я изменю условия так,

PC_>>>"Перебрать все пароли от a-z с длиной 5 символов,
PC_>>>причем дважды одна и таже буква не может встречаться в пароле"
S>>Изменишь условие? Это другая задача. Кстати, образованные люди называют ее числом размещений.

PC_>Сеня, это боевые будни программистов между прочим.

Ты свои будни профукал и не справился с задачей выборки 5и символов за неделю. Еще с чем-то споришь.

PC_>Заказчику всегда нужно "еще чуть чуть" доделать.

PC_>И все эти паттерны библиотеки, рефакторы, чтобы сделать как можно гибче разработку, предугадывая следующий шаг изменений в программе.
PC_>И если программу нужно переписать при небольших изменениях то это гайки
Я жду (но не надеюсь, потому как ты неоднократно продемонстрировал что ты балабол) что ты наконец-то предоставишь рабочее решение выборки 5и случайных букв и решение по всем размещениям букв, так что бы одно из другого можно было получить за 30 сек.
Re[78]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.12.10 12:01
Оценка: +2
Здравствуйте, PC_2, Вы писали:

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


S>>
S>>map(^2)[1..10]
S>>


PC_>Сеня что это за грушка,

PC_>сейчас усложним слегка (только слегка!) задачу,
PC_>и пойдешь вследом за Перлистом
Ты бы для начала изобразил бы решения тех задач что наобещал, а то игра в одни ворота получается. Все тут упражняются, а ты условия меняешь.
Re[79]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 25.12.10 12:07
Оценка:
S>Ты бы для начала изобразил бы решения тех задач что наобещал, а то игра в одни ворота получается. Все тут упражняются, а ты условия меняешь.

Да будет.
Ты говорил унарные операторы в моем воображении — выложил
Говорили Е убрать — убрал
Говорил переборщиков нет — пофиксил баги
Говорили про лямды — сделал евал

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

PC_>Говорили про лямды — сделал евал

Особенно веселит это. Ну да лямбды-то действительно тебе не нужны, раз табу на функции.

PC_>Не переживай, сделаю.

PC_>Просто за выходные нужно сделать не только это.
Ага, и еще постарайся что бы код получения всех паролей длины 5 из уникальных букв не превышал бы по длине вызов функции с названием из 11 символов, иначе какой смысл будет его изобретать каждый раз...
Re[57]: Ультракороткий язык программирования RS
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.12.10 12:45
Оценка: +2
Здравствуйте, PC_2, Вы писали:

PC_>Гаспадин Качетков, я этот пост ваш читал не очень внимательно.


Зря, значит то был мой последний пост с каким-либо кодом написанным по вашей просьбе. Тратить свое время на разбрасывание бисера в мои планы не входит.

PC_>Вы забыли, что я тут главный школьник который бегает с линейкой для замера длины


Вы не школьник, зачем же так, вы лишь год как не студент. Собственно, это многое объясняет, Вячеслав. Уверен, что со временем это пройдет и, если у вас останется та энергия, которая наблюдается сейчас, то вы безусловно добъетесь действительно значимых результатов.

PC_>тоесть наборы джедайских теорий от функциональных таинственых манускриптов, както тоже

PC_>выходят за пределы моих интересов в приследовании простоты кода

Простота кода и краткость кода — два ортогональных понятия, т.к. код не только пишется, но и читается, причем второе происходит намного чаще и преимущественно не только его автором. Практически каждый пример вашего кода вам пришлось разжевывать и здесь и на sql.ru. Это значит, что ваш код нечитаем, в отличии от.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.