Re[10]: Смысл функционального программирования?
От: Privalov  
Дата: 30.04.15 09:43
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Собственно дело в том, что loop гвоздями прибит к регистру CX. Из за этого тело цикла, как правило, удлинняется на две команды — push cx и pop cx, если, скажем, нужно вызвать хоть какую нибудь процедуру. Т.е. на ровном месте два дополнительных обращения к памяти.


Я знаю. Практически весь ассемблерный код с loop, который я видел, выглядел так:
   mov cx, 1000
a: loop a


Нормальные циклы делались всякими je/jne/jc — в одну сторону и jmp — в другую.
Re: Смысл функционального программирования?
От: Tourist Россия  
Дата: 30.04.15 11:24
Оценка:
Здравствуйте, rfq, Вы писали:

rfq>Какой смысл программировать в условиях искусственных ограничений? Может, это просто детская забава, типа скакать на одной ноге?

rfq>Я еще помню, как заклеивать дырки на перфокартах, но еще многого в программировании не понимаю.

Чтобы разные творчески одаренные личности не писали полную хрень.
Re[2]: Смысл функционального программирования?
От: dimgel Россия https://github.com/dimgel
Дата: 30.04.15 11:33
Оценка: +1
Здравствуйте, Tourist, Вы писали:

T>Чтобы разные творчески одаренные личности не писали полную хрень.


Тю. Это в ФП-то нельзя полную хрень написать?
Re[10]: Смысл функционального программирования?
От: cures Россия cures.narod.ru
Дата: 30.04.15 14:52
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Собственно дело в том, что loop гвоздями прибит к регистру CX. Из за этого тело цикла, как правило, удлинняется на две команды — push cx и pop cx, если, скажем, нужно вызвать хоть какую нибудь процедуру.


В архитектуре 8086 практически все регистры были к чему-то прибиты гвоздями: DS, SS — индексы в приёмнике и источнике, AX — аккумулятор, DX — расширение аккумулятора для инструкций типа умножения с делением, BX пожалуй единственный вспомогательный регистр общего назначения. А к CX прибит не только loop, но и lodsb, stosb, rep.
Re[13]: Смысл функционального программирования?
От: neFormal Россия  
Дата: 30.04.15 15:08
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Ну вот ты сам себе ответил, почему у Эрланга очень и очень узкая ниша — "у того же Erlang'а проблемы вообще с архитектурой современных машин"


не, он просто подходит для довольно узкого круга задач.
для всего остального лучше подходят иные инструменты.
...coding for chaos...
Re[15]: Смысл функционального программирования?
От: Mamut Швеция http://dmitriid.com
Дата: 30.04.15 17:05
Оценка:
M>>На практике ничего неестественного в хвостовой рекурсии нет. И на практике в подавляющем количестве задач все упрется в базу/сеть/скорость записи на диск быстрее, чем оно упрется в проблемы со производительностью ФП

I>На практике в любой большой системе всегда найдется значительная часть важного функционала, которая упирается именно в процессор-шину.


Что такое «большая система»? Что такое значительная часть?

Блин. Сплошные сферовакуумные кони, задачи, скорости Мы вообще не упираемся в процессор-шину. У нас достаточно большая система? (вычисление кредитов, посуточное вычисление процентов по кредитам, оплаты и еще вагоны и телеги всего).

I>Часть задач вообще требуют исключительно процессор-шину, например обработка звука-видео-сигналов, вычисления и тд.


Для этих задач возьмем на ФП, а C. И? Что-то изменилось в моих тезисах? Ничего

I>Здесь экзотика навроде Эрланга сосёт не нагибаясь, как раз потому, что в чистом виде Эрланг нежизнеспособен, ему нужна конская платформа, которая фактически особая ОС поверх имеющейся ОС.


Любой современный язык в чистом виде нежизнеспособен (за исключением очень узких ниш).


dmitriid.comGitHubLinkedIn
Re[11]: Смысл функционального программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.04.15 19:13
Оценка:
Здравствуйте, cures, Вы писали:


C>В архитектуре 8086 практически все регистры были к чему-то прибиты гвоздями: DS, SS — индексы в приёмнике и источнике, AX — аккумулятор, DX — расширение аккумулятора для инструкций типа умножения с делением, BX пожалуй единственный вспомогательный регистр общего назначения.


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

>А к CX прибит не только loop, но и lodsb, stosb, rep.


Собственно этими командами тоже не шибко пользовались.
Re[14]: Смысл функционального программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.04.15 19:14
Оценка:
Здравствуйте, neFormal, Вы писали:

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


I>>Ну вот ты сам себе ответил, почему у Эрланга очень и очень узкая ниша — "у того же Erlang'а проблемы вообще с архитектурой современных машин"


F>не, он просто подходит для довольно узкого круга задач.


"подходит" это не с потолка берется. Причина как раз в его архитектуре.
Re[16]: Смысл функционального программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.04.15 19:22
Оценка: 12 (1) +1
Здравствуйте, Mamut, Вы писали:

I>>На практике в любой большой системе всегда найдется значительная часть важного функционала, которая упирается именно в процессор-шину.


M>Что такое «большая система»? Что такое значительная часть?


Это тебе в толковый словарь русского языка.

M>Блин. Сплошные сферовакуумные кони, задачи, скорости Мы вообще не упираемся в процессор-шину. У нас достаточно большая система? (вычисление кредитов, посуточное вычисление процентов по кредитам, оплаты и еще вагоны и телеги всего).


Точнее, у вас около нуля вычислительных задач. С кредитами на каждый чих надо лазить в базу. Собтсвенно, всё.

I>>Часть задач вообще требуют исключительно процессор-шину, например обработка звука-видео-сигналов, вычисления и тд.

M>Для этих задач возьмем на ФП, а C. И? Что-то изменилось в моих тезисах? Ничего

Твои тезисы, если в кратце, "Боже... Подумать мозгом можно..." Увлекательно, но информации около нуля слева.

Ты недавно говорил "давайте рассматривать реальные задачи". Внезапно "Для этих задач возьмем ... C"


I>>Здесь экзотика навроде Эрланга сосёт не нагибаясь, как раз потому, что в чистом виде Эрланг нежизнеспособен, ему нужна конская платформа, которая фактически особая ОС поверх имеющейся ОС.


M>Любой современный язык в чистом виде нежизнеспособен (за исключением очень узких ниш).


Хватит врать, только Эрлангу и парочке таких же языков нужна конская платформа, фактически специальная ОС.
Re[17]: Смысл функционального программирования?
От: Mamut Швеция http://dmitriid.com
Дата: 30.04.15 19:37
Оценка:
I>>>На практике в любой большой системе всегда найдется значительная часть важного функционала, которая упирается именно в процессор-шину.
M>>Что такое «большая система»? Что такое значительная часть?
I>Это тебе в толковый словарь русского языка.

Демагогия

M>>Блин. Сплошные сферовакуумные кони, задачи, скорости Мы вообще не упираемся в процессор-шину. У нас достаточно большая система? (вычисление кредитов, посуточное вычисление процентов по кредитам, оплаты и еще вагоны и телеги всего).


I>Точнее, у вас около нуля вычислительных задач. С кредитами на каждый чих надо лазить в базу. Собтсвенно, всё.


Ой, ты не поверишь. Это описывает примерно 99% всех «больших систем».

I>>>Часть задач вообще требуют исключительно процессор-шину, например обработка звука-видео-сигналов, вычисления и тд.

M>>Для этих задач возьмем на ФП, а C. И? Что-то изменилось в моих тезисах? Ничего
I>Твои тезисы, если в кратце, "Боже... Подумать мозгом можно..." Увлекательно, но информации около нуля слева.

Мои тезисы, если в кратце: перестаньте считать сферовакуумных коней.

I>Ты недавно говорил "давайте рассматривать реальные задачи". Внезапно "Для этих задач возьмем ... C"


Вот моя полная цитата:

И на практике в подавляющем количестве задач все упрется в базу/сеть/скорость записи на диск быстрее, чем оно упрется в проблемы со производительностью ФП


Там, где упрется в ФП, выбирайте другие языки

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

I>>>Здесь экзотика навроде Эрланга сосёт не нагибаясь, как раз потому, что в чистом виде Эрланг нежизнеспособен, ему нужна конская платформа, которая фактически особая ОС поверх имеющейся ОС.


M>>Любой современный язык в чистом виде нежизнеспособен (за исключением очень узких ниш).


I>Хватит врать, только Эрлангу и парочке таких же языков нужна конская платформа, фактически специальная ОС.


Ну-ну. Попробуй что-то из свой «большой системы» что-то реализовать на чистом языке программирования. Любом.


dmitriid.comGitHubLinkedIn
Re[17]: Ах да. Совсем упустил
От: Mamut Швеция http://dmitriid.com
Дата: 30.04.15 19:52
Оценка:
I>>>На практике в любой большой системе всегда найдется значительная часть важного функционала, которая упирается именно в процессор-шину.

I>Точнее, у вас около нуля вычислительных задач. С кредитами на каждый чих надо лазить в базу. Собтсвенно, всё.


Ты уже определись. В любой большой системе, или только в тех, которые подходят под выдумываемые тобой на лету определения?


dmitriid.comGitHubLinkedIn
Re[15]: Смысл функционального программирования?
От: neFormal Россия  
Дата: 30.04.15 20:02
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>Ну вот ты сам себе ответил, почему у Эрланга очень и очень узкая ниша — "у того же Erlang'а проблемы вообще с архитектурой современных машин"

F>>не, он просто подходит для довольно узкого круга задач.
I>"подходит" это не с потолка берется. Причина как раз в его архитектуре.

в дизайне.
...coding for chaos...
Re[4]: Смысл функционального программирования?
От: Ops Россия  
Дата: 01.05.15 01:34
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Кому-то и запрет глобальных переменных — тоже искусственные ограничения и скакание на одной ноге.


А кто-то на эти ограничения молится, и даже в генерируемом коде, вместо goto использует многоэтажные конструкции.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[18]: Смысл функционального программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 01.05.15 05:36
Оценка: :)
Здравствуйте, Mamut, Вы писали:

M>>>Блин. Сплошные сферовакуумные кони, задачи, скорости Мы вообще не упираемся в процессор-шину. У нас достаточно большая система? (вычисление кредитов, посуточное вычисление процентов по кредитам, оплаты и еще вагоны и телеги всего).


I>>Точнее, у вас около нуля вычислительных задач. С кредитами на каждый чих надо лазить в базу. Собтсвенно, всё.


M>Ой, ты не поверишь. Это описывает примерно 99% всех «больших систем».


В вашей конторе вполне возможно. Сейчас сложный, тяжелый софт появляется даже на планшетах и мобилах. Много ты Эрланге под мобилы написал ?

I>>>>Часть задач вообще требуют исключительно процессор-шину, например обработка звука-видео-сигналов, вычисления и тд.

M>>>Для этих задач возьмем на ФП, а C. И? Что-то изменилось в моих тезисах? Ничего
I>>Твои тезисы, если в кратце, "Боже... Подумать мозгом можно..." Увлекательно, но информации около нуля слева.

M>Мои тезисы, если в кратце: перестаньте считать сферовакуумных коней.


Сферовакуумный конь это твои 99% Сильно думаю, ты эту статистику только что придумал. Игровой софт, скажем, уже не вписывается в твою стройную картину.

I>>Ты недавно говорил "давайте рассматривать реальные задачи". Внезапно "Для этих задач возьмем ... C"


M>Вот моя полная цитата:


M>

M>И на практике в подавляющем количестве задач все упрется в базу/сеть/скорость записи на диск быстрее, чем оно упрется в проблемы со производительностью ФП


Откуда ты взял это "подавляющее количество задач" ?

M>Там, где упрется в ФП, выбирайте другие языки


Так и происходит. И как видишь, доля ФП на рынке ничтожно мала

I>>Хватит врать, только Эрлангу и парочке таких же языков нужна конская платформа, фактически специальная ОС.


M>Ну-ну. Попробуй что-то из свой «большой системы» что-то реализовать на чистом языке программирования. Любом.


При чем здесь чистый язык ? Толщина прослойки между языком и ОС стремится к нулю практически везде, кроме Эрланга.
Re[16]: Смысл функционального программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 01.05.15 05:38
Оценка:
Здравствуйте, neFormal, Вы писали:

I>>>>Ну вот ты сам себе ответил, почему у Эрланга очень и очень узкая ниша — "у того же Erlang'а проблемы вообще с архитектурой современных машин"

F>>>не, он просто подходит для довольно узкого круга задач.
I>>"подходит" это не с потолка берется. Причина как раз в его архитектуре.

F>в дизайне.


Сначала в архитектуре. У него своя особенная платформа, проблемы которой никаким дизайном в принципе не исправить.
Re[17]: Смысл функционального программирования?
От: neFormal Россия  
Дата: 01.05.15 08:51
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>Сначала в архитектуре. У него своя особенная платформа, проблемы которой никаким дизайном в принципе не исправить.


я вас всех тут читаю-читаю и так и не понял, что у него не так с платформой.
не портанули? ну да, но ведь и другие виртуалки не все портанули на мобилки, к примеру.
...coding for chaos...
Re[19]: Смысл функционального программирования?
От: neFormal Россия  
Дата: 01.05.15 09:03
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>>>Часть задач вообще требуют исключительно процессор-шину, например обработка звука-видео-сигналов, вычисления и тд.

M>>>>Для этих задач возьмем на ФП, а C. И? Что-то изменилось в моих тезисах? Ничего
I>>>Твои тезисы, если в кратце, "Боже... Подумать мозгом можно..." Увлекательно, но информации около нуля слева.
M>>Мои тезисы, если в кратце: перестаньте считать сферовакуумных коней.
I>Сферовакуумный конь это твои 99% Сильно думаю, ты эту статистику только что придумал. Игровой софт, скажем, уже не вписывается в твою стройную картину.

да нормально вписывается.
но везде есть нюансы, потому что разные технологии имеют разные проблемы.
например, на scala можно спокойно писать игры под мобилки. libgdx этому даже способствует, но язык не самый удобный.
на haskell можно писать игры хоть используя чистый opengl, хоть цепляясь к существующим движкам. это тоже не без проблем, но всяко легче проблем с желанием реюза кода через наследование. а приходится лепить компоненты а ля Unity3D
на erlang же графику вообще имхо бессмысленно делать, но он хорошо подходит для бэкендов. та роль, которую часто берут python/ruby. да, у энларга не самая удобная работа с БД, но зато питонораби не могут дать прозрачности между несколькими нодами в кластере. ну и надёжность достаточная, чтобы спокойно спать по ночам. а то меня немного огорчает, что саппорт может и разбудить.
...coding for chaos...
Re[5]: Смысл функционального программирования?
От: dimgel Россия https://github.com/dimgel
Дата: 01.05.15 10:14
Оценка:
Здравствуйте, Ops, Вы писали:

D>>Кому-то и запрет глобальных переменных — тоже искусственные ограничения и скакание на одной ноге.


Ops>А кто-то на эти ограничения молится, и даже в генерируемом коде, вместо goto использует многоэтажные конструкции.


Согласен, it depends. Как и всегда, в общем-то.
Re[20]: Смысл функционального программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.05.15 06:54
Оценка:
Здравствуйте, neFormal, Вы писали:

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


I>>>>>>Часть задач вообще требуют исключительно процессор-шину, например обработка звука-видео-сигналов, вычисления и тд.

M>>>>>Для этих задач возьмем на ФП, а C. И? Что-то изменилось в моих тезисах? Ничего
I>>>>Твои тезисы, если в кратце, "Боже... Подумать мозгом можно..." Увлекательно, но информации около нуля слева.
M>>>Мои тезисы, если в кратце: перестаньте считать сферовакуумных коней.
I>>Сферовакуумный конь это твои 99% Сильно думаю, ты эту статистику только что придумал. Игровой софт, скажем, уже не вписывается в твою стройную картину.

F>да нормально вписывается.


То есть, ты утверждаешь, что код игропрома составляет не более 1% ? Или игровые движки уже начали на Эрланге писать ?

F>на haskell можно писать игры хоть используя чистый opengl, хоть цепляясь к существующим движкам.


Покажи хотя бы одну прибыльную игру, которая написана на Хаскеле.

F>на erlang же графику вообще имхо бессмысленно делать


Опаньки !

И что же у тебя куда вписывается ?
Re[18]: Смысл функционального программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.05.15 07:08
Оценка:
Здравствуйте, neFormal, Вы писали:

F>я вас всех тут читаю-читаю и так и не понял, что у него не так с платформой.

F>не портанули? ну да, но ведь и другие виртуалки не все портанули на мобилки, к примеру.

Рантайм Эрланга это считай полноценная ОС со своей многозадачностью и вытекающими последствиями. Т.е. тупо оверхед над любой ОС где ты хочешь запустить Эрланг.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.