Re[9]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 21.12.10 18:53
Оценка: :)
Здравствуйте, 24, Вы писали:

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


PC_>>В сети есть еще 5К Chess. Но эти интересны уже тем, что 1кб занимают ))


24>Они интересны _только_ тем, что занимают 1 КБ. Никакой другой пользы от них нет.


Да, потому что это говнокод полученный за многие человекодни а может и месяцы.

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

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


PC_>>Например Квик Сорт у меня выглядит примерно вот так, хоть пока и не работает в трансляторе:


PC_>>//7. квик сорт

PC_>>E ( S.I.J<S.I.(S.I.Len/2)?
PC_>> S.(I*2+1):
PC_>> S.(I*2+2)
PC_>> ),=S.I.J

PC_>>Это ультрапонятный короткий и лаконичный код


VD>А можно разжевать (очень подробно) все элементы этого кода.

VD>Зачем в быстрой сортировке умножения?
VD>Где здесь вообще функция которая вызывается рекурсивно? Или где и за счет чего здесь появляется рекурсия?

VD>Пойми, то что ты демонстрируешь — это набор букв и знаков препинания. Без объяснений их можешь понять только ты.


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

PC_>Вот очень приблизительный набросок Шахмат, в 1 кб на РС

PC_>Просьба хорькам не разбирать код, тут еще ничего не работает !
Аккуратнее, распугаешь половину тех кто пытается хоть что-то разобрать.
Re[10]: Ультракороткий язык программирования RS
От: alexeiz  
Дата: 21.12.10 18:57
Оценка: +3
Здравствуйте, PC_2, Вы писали:

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

PC_>это будет совсем другой формат.

За полчаса, не напрягаясь, ты даже и подумать толком про шахматы не сможешь, не то что закодить на любом языке программирования.
Re[9]: Ультракороткий язык программирования RS
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.10 19:01
Оценка: +7
Здравствуйте, PC_2, Вы писали:

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


Ты серьезно думаешь, что скорость набора кода хоть что-то значит в программировании?
Если бы это было так, то скорость программирования примерно равнялась бы скорости набивки текста.

Время уходит на отладку, продумываине, развитие, подбор нужных типов... Скорость чтение кода (и понимания) в тысячи раз важнее скорости его набивки. Кроме того скорость набивки тоже мало зависит от объема набиваемого кода. Она скорее зависит от качества используемых абстракций и от интеллисенса.

PC_>У меня же квик сорт можно написать за 2 минуты, с нуля. На пузырек мне например хватит 30 секунд. И это факт, я считаю.


Я тебе и так напишу квик-сорт за две минуту. Причем на С. И что? Я их много писал. Только вот все не для работы, а так... для тестов.

PC_>А что мешает мне оформить функцию Сорт в функцию и ее также использовать ?


Ничего. Но это делает не важным то сколько символов заняло ее тело.

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

PC_>Просто код библиотеки будет занимать например не 1000 строк, а 200.

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

Багов меньше не будет. Ты пишешь точно такой же императивы алгоритм. То что он короче выглядит, не значит, что он реально стал короче. Короче код делают абстракции. Вот выдели в быстрой сортировке в отдельную функцию разделение массивов и будет не только короче, но и проще. А это уже что-то.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Ультракороткий язык программирования RS
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.10 19:07
Оценка: +1
Здравствуйте, PC_2, Вы писали:

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


Квиксорты и фобоначи — это ни разу не реальные задачи.

Классикой для пенесометрии в области краткости кода давно считается простой алгоритм raytracer-а.

Вот здесь ты можешь найти несколько реализаций на C#, ML и Nemerle:
http://code.google.com/p/nemerle/source/browse/nemerle/trunk/snippets/raytracer/?r=9462
Можешь ради разнообразия попытаться повторить и сравнить размеры кода.

Это тоже не очень реальная задача, но хоть что-то по сравнению с сортировками.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: dogfood
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.10 19:13
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>Кстате что там Немерла,

PC_>ато както дошло дело до примеров и сразу быстренько в кусты.

Да все в порядке.

PC_>Однако практика критерий истины, не ?


Ага. Вот тебе простенькая (для Немерле) залачка. Напиши на своем языке парсер C#. Когда закончишь сравним объем кода.

Если это для тебя сложно, то можно помериться письками и на менее амбициозных задачах. Создай парсер JSON-а или XML-я и сравним код с немерловым... по всем критериям. Про скорость я уже даже молчу.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Ультракороткий язык программирования RS
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.10 19:14
Оценка: +1
Здравствуйте, PC_2, Вы писали:

M>>Что в нем понятного? Такая же невменяемая каша. Имхо


PC_>Сейчас нет времени обьяснять, но обьяснить код можно на пальцах. Уж поверьте. Все очень и очень просто.


Нет, уж. Ты потрудись хотя бы объяснить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Ультракороткий язык программирования RS
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.10 19:15
Оценка: +3
Здравствуйте, samius, Вы писали:

S>Т.е. ультрапонятности все-таки нет, раз нет времени на объяснение ультрапонятных вещей.


Не верно формулируешь. Правильно так:

Т.е. ультрапонятности все-таки нет, раз НУЖНО временя на объяснение ультрапонятных вещей.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Ультракороткий язык программирования RS
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.12.10 19:41
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>Если при любой операции получилось это значение то в итоге тоже будет NULL.

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

Хочу осторожно заметить, что уязвимости null-dereference и integer overflow при должном старании и упорстве, также достижимы и на C#, на котором реализован ваш язык.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[11]: Ультракороткий язык программирования RS
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.10 19:59
Оценка: +1
Здравствуйте, PC_2, Вы писали:

PC_>>>>>//7. квик сорт

PC_>>>>>E ( S.I.J<S.I.(S.I.Len/2)?
PC_>>>>> S.(I*2+1):
PC_>>>>> S.(I*2+2)
PC_>>>>> ),=S.I.J
PC_>Как видим профиты налицо.

M>>
M>>E(Expr),=Expr2
M>>       ^^-----------трэш, угар и содомия (с)
M>>


PC_>Что значит трешь.

PC_>Это ультрапонятная операция прибавить еще один элемент к массиву

PC_>, — это операция конкатенации элементов. Например 1,2,3 получим массив из трех элементов

PC_>А ,= это чтото вроде +=. Тоесть 1,2,3 ,= 4 получим 1,2,3,4. Все очень и очень просто !

Вот с объяснения таких соглашений и надо было начинать.
Но неперь становится очевидно, что приведенный в начале сообщения код не является реализацией классического квиксорта, так как не производит его по месту.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Ультракороткий язык программирования RS
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.10 20:10
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>Спасибо, но это не Квик сорт. Это его пародия.

PC_>Алгоритм Квик сорт включает перемещение элементов на "одном участке" памяти.
PC_>Тоесть не требует дополнительных ресурсов памяти.

PC_>Тоесть банально этот код не решает поставленную задачу. Точка.


А этот говнобред решает:
PC_>>>//7. квик сорт
PC_>>>E ( S.I.J<S.I.(S.I.Len/2)?
PC_>>> S.(I*2+1):
PC_>>> S.(I*2+2)
PC_>>> ),=S.I.J



По твоим же объяснениям мы выяснили, что ,= добавляет элемент к массиву. Значит сортировки по месту мы уже не имеем. Так что дальше уже разбираться не в чем.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.12.10 20:13
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А этот говнобред решает:

PC_>>>>//7. квик сорт
PC_>>>>E ( S.I.J<S.I.(S.I.Len/2)?
PC_>>>> S.(I*2+1):
PC_>>>> S.(I*2+2)
PC_>>>> ),=S.I.J

VD>


VD>По твоим же объяснениям мы выяснили, что ,= добавляет элемент к массиву. Значит сортировки по месту мы уже не имеем. Так что дальше уже разбираться не в чем.


Именно что по месту. ,= вызывает метод Add у List<Number>
Re[11]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 21.12.10 20:13
Оценка:
Здравствуйте, samius, Вы писали:

S>Именно что по месту. ,= вызывает метод Add у List<Number>

Точнее как бы почти по месту
Re[19]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 21.12.10 20:20
Оценка: +1
Здравствуйте, PC_2, Вы писали:

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


PC_>>>Да, кое что уже есть.

PC_>>>Вот например наброски на другие типовые задачи.

PC_>>>

PC_>>>//8. ферзи
PC_>>>$8D8
PC_>>><queen Key:="Q" 
PC_>>>  count=8 
PC_>>>  do="i:1..8 j:-1..1"
PC_>>>  [x,y]!=[x+i*j,y+i*j]>

PC_>>>//9. сторожевые ферзи
PC_>>>$8*8
PC_>>><queen Key:="Q" 
PC_>>>  count=8 
PC_>>>  do="i,k,l:1..8;j:-1..1"
PC_>>>  [x+i*j,y+i*j]=$[k,l]>

PC_>>>



M>>Перл такой перл. Или K/J/Q такой K/J/Q.


M>>В общем, что этот код делает непонятно, что разбивает идею "ультрапонятности" в пух и прах


PC_>Ну тебе не понятно, мне понятно.

PC_>В чем проблема ?


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


PC_>Любой язык без мануала жить не может.

PC_>Даже чтобы обьяснить непосвященному что такое:

PC_>
PC_>for(int i=0; i<1000; i++)
PC_>  arr[i] = i;
PC_>


PC_>Нужно ознакомить обучающегося с след. понятиями:

PC_>1. Цикл.
PC_>2. Декларация переменной
PC_>3. Инициализация переменной
PC_>4. Оператор меньше
PC_>5. Инкремент.
PC_>6. Массив
PC_>7. Доступ к элементу массива

PC_>Очевидно этот список вкурить куда сложнее чем


PC_>
PC_>arr.I := I
PC_>


PC_>Где нужно обьяснить

PC_>1. Переменная счетчик
PC_>2. Массив
PC_>3. Присваивание

PC_>Не ?



Конечно нет. В первом случае человеку (особенно уже знакомому с программированием) понятно:
— с чего начинается цикл
— где он заканчивается
— какие условия для его завершения

Во втором ничего этого непонятно.


dmitriid.comGitHubLinkedIn
Re[9]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 21.12.10 20:29
Оценка: +1
PC_>А так программы на языке черезвычайно живучи.
PC_>Я даже позаимствовал из баз данных понятие NULL.

PC_>Если при любой операции получилось это значение то в итоге тоже будет NULL.

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

Угу. Теперь ему надо будет везде писать if результат_вычисления = NULL, то...


PC_>Ну какими макросами Немерла такое реализуешь ?


Такое даром никому не надо.


dmitriid.comGitHubLinkedIn
Re[11]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 21.12.10 20:34
Оценка:
Здравствуйте, alexeiz, Вы писали:

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


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

PC_>>это будет совсем другой формат.

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


Мне нравятся когда люди так говорят.
Это по крайней мере честно по отношению самому к себе, сказать во что веришь, а во что не веришь.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[3]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 21.12.10 20:36
Оценка: +1
VD>>Знакомься:
VD>>* АПЛ
VD>>* J
VD>>* K

VD>>Не знаю насколько быстро на них писать, но читать их кода нельзя.


PC_>Ну упоминал я уже Влад эти языки, языки эти короткие но не понятные.

PC_>Используют юникод и тд тп. Я к проектированию синтаксиса подошел основательно. Птичести языка обьявлен бой.
PC_>Цель получить и короткий и понятный язык.


Угу. И этоговорит человек, который выдумывает

E 1..5\*


Это, видимо, понятнее, чем в q/j/k, ага


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

PC_>Я хочу это неклюжее ООП заменить исключительно гибкой структурой построеной на распозновании классов.

Чего-чего?


dmitriid.comGitHubLinkedIn
Re[10]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 21.12.10 20:38
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


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


VD>Ты серьезно думаешь, что скорость набора кода хоть что-то значит в программировании?

VD>Если бы это было так, то скорость программирования примерно равнялась бы скорости набивки текста.

VD>Время уходит на отладку, продумываине, развитие, подбор нужных типов... Скорость чтение кода (и понимания) в тысячи раз важнее скорости его набивки. Кроме того скорость набивки тоже мало зависит от объема набиваемого кода. Она скорее зависит от качества используемых абстракций и от интеллисенса.


Я много не думаю. Много думать вредно.
Я просто знаю что существующие языки заставляют неоправданно писать много кода и не являются далеко не идеалом построения систем.
Поэтому когда программист говорит что я это сделаю за час, лучше говорить что я это сделаю за три часа. Инструмент слишком не совершенен.
ООП генерит не очень поворотливые конечные автоматы с заменяемыми модулями.

Каждый язык программирования является "драйверным", поскольку довольно плотно сидит на архитектуре процессора.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[4]: dogfood
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 21.12.10 20:41
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


PC_>>Кстате что там Немерла,

PC_>>ато както дошло дело до примеров и сразу быстренько в кусты.

VD>Да все в порядке.


PC_>>Однако практика критерий истины, не ?


VD>Ага. Вот тебе простенькая (для Немерле) залачка. Напиши на своем языке парсер C#. Когда закончишь сравним объем кода.


VD>Если это для тебя сложно, то можно помериться письками и на менее амбициозных задачах. Создай парсер JSON-а или XML-я и сравним код с немерловым... по всем критериям. Про скорость я уже даже молчу.


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