Re[82]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 01:23
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>вот только для двух концов надо все таки 4 числа. И при этом в р1 лежат два числа и в р2 тоже два числа. Так что они никак не могут быть копиями чего-то третьего.


тамже в мануале написано.
Копия при инициализации

тоесть

х = 5
x1,x2,x3 — уже будут содержать 5 и будут того же типа что Х, но это разные переменные. Это копии.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[71]: Ультракороткий язык программирования RS
От: Пацак Россия  
Дата: 31.12.10 03:15
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>Ты опоздал с сравнениями. Уже все сравнили, перемеряли, переделали и забыли ...


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

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

PC_>Я уже не говорю о проще и гибче.

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

П>>При том, что одна из причин их использования (помимо быстродействия) — как раз борьба с sql-инъекциями. Т.е. даже в sql люди стараются как можно дальше уйти от интерпретации динамически слепленного кода.

PC_>Чтото они плохо стараются уйти, если честно ...

Нормально стараются. Параметризованные запросы вполне успешно работают в подавляющем большинстве случаев.

PC_>У вас за любой EXEC пытают каленым железом ?

PC_>Странно что такие тимлиды еще живы ...

Всё просто: нет exec'ов — нет железа. И жизнь светла и прекрасна!
Ку...
Re[75]: Ультракороткий язык программирования RS
От: Пацак Россия  
Дата: 31.12.10 03:20
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>у когото не хватает оперативки ...


Ну дык!
int = 4 байта.
1 000 000 000 int'ов ~= 4 гига
И это все ради простого перебора нечетных чисел.

PC_>помойму гдето это я уже слышал ....


Почему-то я совсем не удивлен.

ЗЫ Так что там с перспективами — как планируется реализовать эту фичу в будущем?
Ку...
Re[72]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 31.12.10 08:10
Оценка:
Здравствуйте, PC_2, Вы писали:

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


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


PC_>Тогда давайте я вам подскажу.

PC_>Может быть ... ммм ... генерация паролей ?

Разве что для языков, которые без евала не умеют комбинировать вычисления
let pg xs n = List.fold(fun ps _->[for p in ps do for a in xs -> p + a]) xs [2..n]

pg [for c in 'a'..'z' -> new System.String(c, 1)] 3
|> printfn "%A"
Re[72]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 08:28
Оценка:
Здравствуйте, Пацак, Вы писали:

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


Это регекспы, к которым я уже страниц 50 пытаюсь перейти, а публика застряла на обычной генерации паролей.

П>Всё просто: нет exec'ов — нет железа. И жизнь светла и прекрасна!


Тогда почему бы exec и eval не искоренить на правах goto ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[94]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 31.12.10 08:29
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>>>Трехмерные массив можно представить в виде коллекции строк, в каждой ячейке которой тоже строка но уже с атомарными значениями...


AV>>Чего? Что-то я туплю уже. Можно поразвернутее?


PC_>Любой многомерный массив можно представить в виде дерева.

PC_>Например массив 3*3*3 будет деревом и трех вершин, из каждой которой исходит еще три вершины, из каждой из которой исходит ещет три
PC_>Таким образом количество вершин нижнего уровня будет 27, равно количеству ячеек в многомерном массиве.
PC_>Поиск значения в таком массиве будет равноценен последовательному спуску в дереве в нужную точку.

PC_>Короче говоря многомерный массив это есть частный случай дерева ...


Не, конечно можно и так. Но что мешает быть попроще и многомерный массив реализовать как массив массивов?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[83]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 31.12.10 08:29
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>вот только для двух концов надо все таки 4 числа. И при этом в р1 лежат два числа и в р2 тоже два числа. Так что они никак не могут быть копиями чего-то третьего.


PC_>тамже в мануале написано.

PC_>Копия при инициализации

PC_>тоесть


PC_>х = 5

PC_>x1,x2,x3 — уже будут содержать 5 и будут того же типа что Х, но это разные переменные. Это копии.

А что произойдет если я заведу свои переменные с именами x1, x2, x3?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[76]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 08:31
Оценка:
Здравствуйте, Пацак, Вы писали:

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


PC_>>у когото не хватает оперативки ...


П>Ну дык!

П>int = 4 байта.
П>1 000 000 000 int'ов ~= 4 гига
П>И это все ради простого перебора нечетных чисел.

PC_>>помойму гдето это я уже слышал ....


П>Почему-то я совсем не удивлен.


i%2==0 & i<1000000000?i и оперативки не нужно.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[95]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 08:32
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Не, конечно можно и так. Но что мешает быть попроще и многомерный массив реализовать как массив массивов?


он и есть массив массивов
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[84]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 08:32
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>А что произойдет если я заведу свои переменные с именами x1, x2, x3?


эксепшин и выстрел в ногу
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[73]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 08:38
Оценка: -1
Здравствуйте, samius, Вы писали:
S>Разве что для языков, которые без евала не умеют комбинировать вычисления
S>
S>let pg xs n = List.fold(fun ps _->[for p in ps do for a in xs -> p + a]) xs [2..n]

S>pg [for c in 'a'..'z' -> new System.String(c, 1)] 3
S>|> printfn "%A"
S>


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

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

В примером я разбираться могу в двух случаях, если он
а) Короче чем у меня
б) Если он гибче
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[96]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 31.12.10 09:07
Оценка: -1
Здравствуйте, PC_2, Вы писали:

AV>>Не, конечно можно и так. Но что мешает быть попроще и многомерный массив реализовать как массив массивов?


PC_>он и есть массив массивов


А зачем дерево тогда приплетать? Что это полезного дает?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[85]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 31.12.10 09:07
Оценка: -1
Здравствуйте, PC_2, Вы писали:

AV>>А что произойдет если я заведу свои переменные с именами x1, x2, x3?


PC_>эксепшин и выстрел в ногу


Да? Гениально. То есть я не могу объявить переменную с таким именем как мне нравится. Думаешь много найдется тех, кто с радостью отнесется к этому?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[74]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 31.12.10 09:07
Оценка: +1 -1
Здравствуйте, PC_2, Вы писали:

PC_>а) Короче чем у меня


Видишь ли, практически никто не разделяет твоей идеи фикс насчет "короче"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[86]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 10:27
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Да? Гениально. То есть я не могу объявить переменную с таким именем как мне нравится. Думаешь много найдется тех, кто с радостью отнесется к этому?


думаю нада прекращать говнокодить и удалить в коде переменные вроде MySuperValue123.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[97]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 10:28
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>А зачем дерево тогда приплетать? Что это полезного дает?


учи матчасть. Наблюдается серьезный пробел
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[75]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 31.12.10 10:29
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

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


PC_>>а) Короче чем у меня


AV>Видишь ли, практически никто не разделяет твоей идеи фикс насчет "короче"


пишите длинее, непонятней, менее гибче ...

Это право нужно закрепить правом каждого говнокодера в Конституции РФ
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[73]: Ультракороткий язык программирования RS
От: Пацак Россия  
Дата: 31.12.10 10:45
Оценка: +1
Здравствуйте, PC_2, Вы писали:

PC_>Это регекспы, к которым я уже страниц 50 пытаюсь перейти, а публика застряла на обычной генерации паролей.


Зачем тут регекспы? Не нужны тут регекспы.

П>>Всё просто: нет exec'ов — нет железа. И жизнь светла и прекрасна!

PC_>Тогда почему бы exec и eval не искоренить на правах goto ?

Потому что в редких (очень) случаях и в умелых (достаточно) руках он все-таки бывает нужен. Но конкретно здесь — далеко не такой случай.
Ку...
Re[77]: Ультракороткий язык программирования RS
От: Пацак Россия  
Дата: 31.12.10 10:46
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>i%2==0 & i<1000000000?i и оперативки не нужно.


Это вывод нечетных чисел на печать, а переборщик-то как сделать?
Ку...
Re[74]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 31.12.10 10:49
Оценка: +1
Здравствуйте, PC_2, Вы писали:

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

S>>Разве что для языков, которые без евала не умеют комбинировать вычисления
S>>
S>>let pg xs n = List.fold(fun ps _->[for p in ps do for a in xs -> p + a]) xs [2..n]

S>>pg [for c in 'a'..'z' -> new System.String(c, 1)] 3
S>>|> printfn "%A"
S>>


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

PC_>нужно написать в пять раз больше кода и осилить стопку талмудов по функциональщине ?
Не кипятись. Это лишь еще один рабочий пример
А вот еще один
let a=[[x]|x<-['a'..'z']]in foldl(\r _->[p++c|p<-r,c<-a])a[2..3]

И он тоже рабочий.
Кстати, никаких талмудов осиливать не надо. Тут нет ничего такого, чего бы не было в C#. генераторы да свертка.

А тебе предстоит определиться таки, как воспользоваться результатом евала, что бы с ним можно было что-то сделать, а не смотреть на него в отладчике

PC_>Еще раз, мнение для окружающих.

PC_>Если вы видите что на какомто языке задача решается плохо, то даже не пытайтесь присылать мне решение.
PC_>Это бесполезно ... И тем более предложить мне потратить мне свое время и разобраться в ущербной реализации.
А это не для тебя решение.

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

PC_>а) Короче чем у меня
Ну кто бы сомневался
PC_>б) Если он гибче
Любые приведенные решения гибче твоего, т.к. могут быть использованы в дальнейшем, например, при выводе в консоль 20-го пароля из результата.
А результатом твоего решения является некий ResultSet, что делать с которым — непонятно. Походу придется тайпкастить
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.