Re[5]: Ультракороткий язык программирования RS
От: anonymous Россия http://denis.ibaev.name/
Дата: 23.12.10 09:45
Оценка:
Здравствуйте, PC_2, Вы писали:

A>>Легко. Не совсем пузырьком, но:

A>>
A>>sort(3, 2, 1, 4, 5);
A>>

PC_>бред произнесен 6й раз

Бред — это самому реализовывать алгоритм сортировки, тем более пузырьковой.
Re[21]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 09:48
Оценка: -1 :)
Здравствуйте, samius, Вы писали:

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


S>>>А, так это был бинарный поиск? Не узнал его с пробегом от 0-я до 10и.


PC_>>Не забывай про свою Лайт версию транслятора.

PC_>>У тебя разрешено только десять итераций и программы можно писать с циклом до десяти итераци
S>Если бы она хоть до 10 могла, а то
S>

S>Operators: A:=0
S>Operator: A
S>Error: 'Agregate' operation for the RS.DOM.Common.Token doesn't support.

S>Или если заменить A на что-то другое
S>

S>Operators: 0;
S>Object reference not set to an instance of an object.


S>>>Даже если N итераций, то что это за бинарный поиск с N итерациями.

PC_>>
S>Ну понятно, останавливать итерацию твое чудо не умеет, потому все что менее O(N) для него недостижимо

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

Например
"Следующий"
"Сосед"
"Средний элемент"
"Пограничный элемент справа"
"Пограничный элемент слева"

Будем бороться за простоту кода
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[6]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 09:51
Оценка:
A>Бред — это самому реализовывать алгоритм сортировки, тем более пузырьковой.

Умгу, в далекие времена Спектрумов реализации сортировок росли как груши на дереве.
Никто не знал что там внутри этих грушь, просто настоящие тру языки вызывали эти груши и отличались только
методами передачи параметров этим "грушам"
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[7]: Ультракороткий язык программирования RS
От: anonymous Россия http://denis.ibaev.name/
Дата: 23.12.10 09:54
Оценка:
Здравствуйте, PC_2, Вы писали:

A>>Бред — это самому реализовывать алгоритм сортировки, тем более пузырьковой.

PC_>Умгу, в далекие времена Спектрумов реализации сортировок росли как груши на дереве.
PC_>Никто не знал что там внутри этих грушь, просто настоящие тру языки вызывали эти груши и отличались только
PC_>методами передачи параметров этим "грушам"

И что? Какое это имеет отношение к современным реалиям?
Re[22]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 23.12.10 09:55
Оценка:
Здравствуйте, PC_2, Вы писали:

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


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


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

PC_>потому что он отличается от того что я хочу
PC_>Адресная арифметика в программах сложна для понимания и источник говнокода.
PC_>Буду пытаться расправиться с адресной арифметикой на понятия более приближенные к реальному
PC_>пониманию человеком окружающего мира

PC_>Например

PC_>"Следующий"
PC_>"Сосед"
PC_>"Средний элемент"
PC_>"Пограничный элемент справа"
PC_>"Пограничный элемент слева"
Да, это переведет задачу двоичного поиска на новый уровень. Решение будет записываться в форме "50 раз следующий от среднего элемента".

PC_>Будем бороться за простоту кода

Конечно это важнее чем принципиальное отсутствие управления.
Re[8]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 09:58
Оценка:
A>И что? Какое это имеет отношение к современным реалиям?

Имеет весьма прямое отношение.
Вырощено поколение грушоедов которые не понимают разницу между

"реализацией вызова библиотечной функции"
от
"реализацией алгоритма библиотечной функции"
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[9]: Ультракороткий язык программирования RS
От: anonymous Россия http://denis.ibaev.name/
Дата: 23.12.10 10:04
Оценка: +3
Здравствуйте, PC_2, Вы писали:

A>>И что? Какое это имеет отношение к современным реалиям?

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

Я о том и говорю, что на практике нет нужды самому реализовывать библиотечную функцию. К тому же sort() в Perl — встроенная функция, а не библиотечная. При изучении же алгоритмов лучше использовать максимально понятный язык, а не максимально короткий.
Re[23]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 23.12.10 10:10
Оценка:
PC_>>да забей, реализация бинарного поиска как и реализация квик сорт мне не нравится и отлаживать этот код не хочется,
PC_>>потому что он отличается от того что я хочу
PC_>>Адресная арифметика в программах сложна для понимания и источник говнокода.
PC_>>Буду пытаться расправиться с адресной арифметикой на понятия более приближенные к реальному
PC_>>пониманию человеком окружающего мира

PC_>>Например

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

Да ладно, забей У него в итоге все равно все скатывается в "не хочу", "не буду" и "а вот в будущем!"

Хотя на первой странице флейма на sql.ru изначально вырисовывалась этакая вариация на темы j/k/q


dmitriid.comGitHubLinkedIn
Re[10]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 10:21
Оценка:
A>Я о том и говорю, что на практике нет нужды самому реализовывать библиотечную функцию. К тому же sort() в Perl — встроенная функция, а не

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

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

А теперь в зубы свое не библиотечное sort(3, 2, 1, 4, 5); из перла ... ой, я сказал библиотечная .... ни ни ни ни ... не библиотечная
и вперед реализовывать

Если че на РС это будет занимать 30 сек и запишется так

a.I.Len<a.J.Len?a.I:=:a.J


"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[24]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 10:23
Оценка:
M>Да ладно, забей У него в итоге все равно все скатывается в "не хочу", "не буду" и "а вот в будущем!"

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

Правда они кудато потом исчезли
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[18]: Ультракороткий язык программирования RS
От: maxkar  
Дата: 23.12.10 10:24
Оценка: 3 (2)
Здравствуйте, PC_2, Вы писали:

M>>Ну для переписывания свертки, чтобы она принимала не оператор, а любуу произвольную функцию.


PC_>И как это будет на ассемблере ?


Что именно? Получение произвольной функции? Тривиально — получаем указатель на функцию. Вызов свертки:
push arr
push len
push sum_f
call fold_left


Функция свертки:
push ebp
move ebp, esp
sub esp, 8
mov ebx, [ebp + 12]
mov edx, [ebx]
mov [ebp - 4], edx // accumulator
mov [ebp - 8], 0 // last folded elt

loop:
mov ecx, [ebp - 8]
inc ecx
cmp ecx, [ebp + 8]
je ext

mov [ebp - 8], ecx
mov eax, [ebp - 4] // load acc
push eax
mov ebx, [ebp + 12]
mov eax, [ebx + 4 * ecx]
push eax
mov edx, [ebp + 4]
call [edx] // calling aggregator
mov [ebp - 4], eax // store res
jmp loop

ext:
mov eax, [ebp - 4] // returning value
mov esp, ebp
pop ebp
ret


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

Если что — не проверял, пример показывает концептуальную возможность. Может быть, где-то напутал в комбинациях допустимых регистров, неверно поставил скобки, неоптимизировал циклы, написал неверный пролог/эпилог, не добавил проверку длины и т.п. Ну нет у меня под рукой ассемблера и остнастки для проверки. Я так — идею показать.
Re[24]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 23.12.10 10:25
Оценка: +2
Здравствуйте, Mamut, Вы писали:

M>Да ладно, забей У него в итоге все равно все скатывается в "не хочу", "не буду" и "а вот в будущем!"


M>Хотя на первой странице флейма на sql.ru изначально вырисовывалась этакая вариация на темы j/k/q


Мне сначала показалось что что-то толковое может вырисоваться. Но потом, когда дали наводку на sql.ru, понял что автора интересует больше длина исходника на стандартных задачах, чем возможность практического применения.

Почитал там и о задаче о ферзях, и о повороте массива на 45 градусов. Вроде бы понятно, как следует относится к топику (снести его в КСВ), но проявляя слабость к троллингу, пытаюсь что-то автору доказать... Хотя пример куда более продвинутых и терпеливых людей с sql.ru убеждает что ни к чему это не приведет.
Re[11]: Ультракороткий язык программирования RS
От: anonymous Россия http://denis.ibaev.name/
Дата: 23.12.10 10:28
Оценка:
Здравствуйте, PC_2, Вы писали:

A>>Я о том и говорю, что на практике нет нужды самому реализовывать библиотечную функцию. К тому же sort() в Perl — встроенная функция, а не библиотечная. При изучении же алгоритмов лучше использовать максимально понятный язык, а не максимально короткий.

PC_>Ладно, если ты настаиваешь на своей глупости, усложним задачу.
PC_>Сортировать нужно не числа а строки, и не по значениям а по длине строк.
PC_>Вполне себе практичная задача.
PC_>Если че на РС это будет занимать 30 сек и запишется так
PC_>
PC_>a.I.Len<a.J.Len?a.I:=:a.J
PC_>


Хоть на Perl и чуть длинее, но, на мой взгляд, куда как выразительнее.
sort({length($a) <=> length($b)} @array);
perl sort
Re[12]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 10:30
Оценка:
A>Хоть на Perl и чуть длинее, но, на мой взгляд, куда как выразительнее.
A>
A>sort({length($a) <=> length($b)} @array);
A>


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

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


M>>>Ну для переписывания свертки, чтобы она принимала не оператор, а любуу произвольную функцию.


PC_>>И как это будет на ассемблере ?


M>Что именно? Получение произвольной функции? Тривиально — получаем указатель на функцию. Вызов свертки:

M>
M>push arr
M>push len
M>push sum_f
M>call fold_left
M>


M>Функция свертки:

M>
M>push ebp
M>move ebp, esp
M>sub esp, 8
M>mov ebx, [ebp + 12]
M>mov edx, [ebx]
M>mov [ebp - 4], edx // accumulator
M>mov [ebp - 8], 0 // last folded elt

M>loop:
M>mov ecx, [ebp - 8]
M>inc ecx
M>cmp ecx, [ebp + 8]
M>je ext

M>mov [ebp - 8], ecx
M>mov eax, [ebp - 4] // load acc
M>push eax
M>mov ebx, [ebp + 12]
M>mov eax, [ebx + 4 * ecx]
M>push eax
M>mov edx, [ebp + 4]
M>call [edx] // calling aggregator
M>mov [ebp - 4], eax // store res
M>jmp loop

M>ext:
M>mov eax, [ebp - 4] // returning value
M>mov esp, ebp
M>pop ebp
M>ret
M>


M>Фнукция получает два четырехбайтовый значения, возвращает еще одно четырехбайтовое. Можно сделать итерацию по "произвольным" массивам (с произвольным шагом), тогда функция будет получать два указателя и что-нибудь возвращать (видимо, тоже указатель). Ну и тому подобные варианты.


слишком длинный код

M>Если что — не проверял, пример показывает концептуальную возможность. Может быть, где-то напутал в комбинациях допустимых регистров, неверно поставил скобки, неоптимизировал циклы, написал неверный пролог/эпилог, не добавил проверку длины и т.п. Ну нет у меня под рукой ассемблера и остнастки для проверки. Я так — идею показать.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[13]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 10:34
Оценка:
Здравствуйте, PC_2, Вы писали:

A>>Хоть на Perl и чуть длинее, но, на мой взгляд, куда как выразительнее.

A>>
A>>sort({length($a) <=> length($b)} @array);
A>>


PC_>не чуть длинее, а в два раза, тупой вызов библиотечной функции не спас.

PC_>А теперь еще усложняем задачу. Первые пять строк сортировать не нужно

Кстате весьма практичная задача.
В дропдауне вот так должни идти айтемы

"Все цвета"
"Зеленый"
"Красный"
"Синий"

Тоесть первый элемент не сортируется, остальные сортируются по алфавиту,
стоит ли говорить что на РС это займет 45 секунд ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[5]: Ультракороткий язык программирования RS
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 23.12.10 10:44
Оценка: +4

шутка произнесена уже 5й раз ( я просто периодический бред буду нумеровать )


Я периодический бред нумеровать не буду, потому как цифры большие, но намекну: при написании на Языке Программирования прикладных программ подразумевается, что у Языка Программирования уже есть Библиотека, где реализованы все примитивы. Сортировки относятся к примитивам — они реализуются один (ОДИН) раз, после чего их код никто и никогда не видит. И реализуются они как правило не на самом языке, а в его common runtime — в виртуальной машине либо на c / c++. Соответственно, если мы хотим язык общего назначения (в противовес языку написания сортировок) то нам в первую очередь интересно, как на нем решаются практические задачи, а не радикс сортировка. Так что повторю свой вопрос — чем ваш язык лучше питона и руби в плане практического применения, а не в плане одноразового написания библиотек math и algorithms?
Re[49]: Ультракороткий язык программирования RS
От: Privalov  
Дата: 23.12.10 10:48
Оценка:
Здравствуйте, Mamut, Вы писали:

PC_>>не неси бред,


M>Бред несешь ты. Рассказываешь про крутость компилятора и в качестве доказательств показываешь код


Парни, не меряйтесь. Настоящий бред надо нести так
Автор: Privalov
Дата: 22.12.10
, чтобы его за чистую монету принимали.
Re[6]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.12.10 10:53
Оценка: :)
EOH>при написании на Языке Программирования прикладных программ подразумевается, что у Языка Программирования уже есть Библиотека, где реализованы все примитивы. Сортировки относятся к примитивам — они реализуются один (ОДИН) раз, после чего их код никто и никогда не видит.

Сортировка это примитив да не очень, смотреть серию постов выше

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

http://ru.wikibooks.org/wiki/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC

"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[13]: Ультракороткий язык программирования RS
От: anonymous Россия http://denis.ibaev.name/
Дата: 23.12.10 11:09
Оценка:
Здравствуйте, PC_2, Вы писали:

A>>Хоть на Perl и чуть длиннее, но, на мой взгляд, куда как выразительнее.

A>>
A>>sort({length($a) <=> length($b)} @array);
A>>

PC_>не чуть длинее, а в два раза, тупой вызов библиотечной функции не спас.

Длиннее только из-за названий функций, которым, если уж так хочется, можно дать короткие имена. И никаких заморочек с индексами.

PC_>А теперь еще усложняем задачу. Первые пять строк сортировать не нужно


Надеюсь, мы не дойдём до написания операционной системы в итоге:
(@array[0 .. 4], sort({length($a) <=> length($b)} @array[5 .. $#array]));
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.