Re[15]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 16:13
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Э-э-э так что насчёт моего вопроса? Чем вызвано такое ограничение?


Еще раз. Какое еще ограничение?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Не пора ли нам перейти на D
От: Курилка Россия http://kirya.narod.ru/
Дата: 01.03.07 16:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Подходы к обеспечению параллельности есть разные. Например, Эрланговский. Конечно со спец. поддержкой в ВМ было бы проще, но и без ее много можно сделать.


Как раз Эрланговский очень рассчитан на поддержку ВМ (уже далеко не 1 раз ведь обсуждалось), плюс и GC там тоже использует особенности эрланга.
Re[19]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 16:21
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>А region inference ты как будешь делать не имея полной информации о потоках?


Какая еще нужна информация о потоках?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Не пора ли нам перейти на D
От: Курилка Россия http://kirya.narod.ru/
Дата: 01.03.07 16:22
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>>>
VD>>>fac 0 = 1
VD>>>fac n = fac (n-1) * n
VD>>>


VD>>>насколько я понимаю уже нельзя.


L>>Можно. Говорю же у функций приоритет больше, чем у операторов.


VD>Вот только обычны человек прочтет это код как "fac ((n-1) * n)"


Кто такой "обычный человек"?
Если брать в расчёт программистов или математиков, то очень сомневаюсь, что они бы так это увидели.
Правда есть ты в качестве опровержения
Но вот откуда там тебе скобки мерещатся — мне непонятно
Re[18]: Не пора ли нам перейти на D
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 01.03.07 16:27
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Можно. Говорю же у функций приоритет больше, чем у операторов.


VD>Вот только обычны человек прочтет это код как "fac ((n-1) * n)"


Таких примеров — масса. И это не зависит от языка.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Не пора ли нам перейти на D
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 01.03.07 16:27
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Э-э-э так что насчёт моего вопроса? Чем вызвано такое ограничение?


VD>Еще раз. Какое еще ограничение?


Использование локальной функции.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 16:28
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Как раз Эрланговский очень рассчитан на поддержку ВМ (уже далеко не 1 раз ведь обсуждалось), плюс и GC там тоже использует особенности эрланга.


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

Ну, и опять же лично мне Эрлэнг не интересен. Слишком узок его область применения. А получить аналогичный фрэймворк в универсальном языке очень даже интересно. Уверен, что он в любом случае будет полезен и даст выигрыш на некоторых задачах.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Не пора ли нам перейти на D
От: iiice Россия  
Дата: 01.03.07 16:30
Оценка:
А то С++, D, Nemerle...
Многие всё ещё с чистого С слезть не могут, ибо нет второго такого же портабельного языка. ФП, МП, ООП — это конечно хорошо, но на чём ядро того же Линукса писать прикажете? Так что в списке явно не хватает переносимости
Re[19]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 16:45
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Кто такой "обычный человек"?


Обычный значит обычный. Человек мозг которого не изнасилован, опыт которого не вилик, взгляды которого еще не предвзяты.

К>Если брать в расчёт программистов или математиков, то очень сомневаюсь, что они бы так это увидели.


Математиков вообще лучше никуда не брать.

К>Правда есть ты в качестве опровержения


Что же я могу опровергнуть?

К>Но вот откуда там тебе скобки мерещатся — мне непонятно


Мне не мерещится ничего. Я тебе говорю как будет воспринимать это человек у которого мозги не изнасилованы тремя туториалами по Хаскелю. Это называется интуитивное восприятие.

Вот знаешь как отличить кота от кошки?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 16:45
Оценка: -1 :)
Здравствуйте, lomeo, Вы писали:

L>Таких примеров — масса. И это не зависит от языка.


Зависит...
Одни языки (точнее их авторы) пытаются подстраиваться под пользователя. Их авторы проводят эксперементы... наблюдают... Если видно, что люди в массовом порядке делают такие-то предоположения, то подстраивают язык под эти предположения (чтобы они были верны).
Другие отталкиваются от собственных представлений о чистоте и т.п. Они считают, что все вокруг должны заучить их умолчания и после этого наступит счастье.
Вот я приверженец первого подхода.

Собсвтенно С++ (при всех его ошибках) создавался именно по первому приципу. И в итоге завоевал популярность. Все ошибки не помешали ему это сделать. Думаю это произошло потому, что в то время конурирующие яызки имели намного больше ошибок и били куда менее интуитивны.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 16:45
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Использование локальной функции.


А в чем заключается это ограничение? Это наоборот полезная фича. Изъясняйся, плиз, развернутее.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 16:49
Оценка:
Здравствуйте, iiice, Вы писали:

I>А то С++, D, Nemerle...

I>Многие всё ещё с чистого С слезть не могут, ибо нет второго такого же портабельного языка. ФП, МП, ООП — это конечно хорошо, но на чём ядро того же Линукса писать прикажете? Так что в списке явно не хватает переносимости

А кому сейчас нужен еще один Линкус? Сейчас исследовательские ОС как раз на новых языках и пишут.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Не пора ли нам перейти на D
От: WolfHound  
Дата: 01.03.07 16:56
Оценка:
Здравствуйте, VladD2, Вы писали:

WH>>А region inference ты как будешь делать не имея полной информации о потоках?

VD>Какая еще нужна информация о потоках?
Вся.
Допустим имеем вот такой код:
spawn запускает код в новом потоке и возвращает future
1)
def someFn() : void
{
    def str = readString();
    def foo()
    {
        str.length;
    }
    print(foo());
}

2)
def someFn() : void
{
    def str = readString();
    def foo()
    {
        str.length;
    }
    _ = spawn(foo());
}

3)
def someFn() : void
{
    def str = readString();
    def foo()
    {
        str.length;
    }
    def value = spawn(foo());
    print(value.get);
}


В первом и третьем случае строку можно разместить в стеке или в куче привязанной к функции someFn. Как это другой вопрос.
Во втором нельзя ибо мы можем выйти за приделы функции до того как свеже созданный поток будет завершон.

Болие того во втором случае можно вобще выкинуть запуск потока ибо никаких эффектов он не производит. А третий свести к первому ибо запуск потока даже если их очень сильно облегчить всеравно сильно дороже чем исполняемый код.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: Не пора ли нам перейти на D
От: igna Россия  
Дата: 01.03.07 17:12
Оценка: +3
Здравствуйте, VladD2, Вы писали:

VD>>>fac 0 = 1
VD>>>fac n = fac (n-1) * n


VD>Вот только обычны человек прочтет это код как "fac ((n-1) * n)"


Зато программист на C/C++/Java/C#/... прочтет это как "(fac (n-1)) * n".

Но возможно я не понял, что ты хотел сказать.
Re[19]: Не пора ли нам перейти на D
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 01.03.07 17:17
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>ДСЛ это лишь сахарок. Без примитивов работы с многопоточностью всеравно ничего не сделаешь. А вот качественную реализацию правильных примитивов можно сделать только на уровне ВМ ибо нужно учитывать специфику конкретного железа на котором работаешь.


Т.е. одна программа под всевозможные архитектуры (векторные, кластеры и т.д.)? Как-то не верится. Сегодня, вроде, под архитектуру выбирается язык и технология.
А попытки создать такую ВМ есть? Почитал здесь и здесь. Но там не нашёл
Re[20]: нашёл
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 01.03.07 17:20
Оценка:
Хотя, нет. Нашёл в первой ссылке. DVM и есть оно.
Re[20]: Не пора ли нам перейти на D
От: Gajdalager Украина  
Дата: 01.03.07 17:22
Оценка: :)
Здравствуйте, VladD2, Вы писали:


К>>Но вот откуда там тебе скобки мерещатся — мне непонятно


VD>Мне не мерещится ничего. Я тебе говорю как будет воспринимать это человек у которого мозги не изнасилованы тремя туториалами по Хаскелю. Это называется интуитивное восприятие.


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

VD>Вот знаешь как отличить кота от кошки?


Пинка дать? Если побежал — то кот, а если побежала — кошка?
Re[18]: Не пора ли нам перейти на D
От: WolfHound  
Дата: 01.03.07 18:11
Оценка: 12 (1)
Здравствуйте, VladD2, Вы писали:

L>>Использование локальной функции.

VD>А в чем заключается это ограничение? Это наоборот полезная фича. Изъясняйся, плиз, развернутее.
Он хочет спросить: Почему вывод типов работает только для локальных функций?
Отвечаю: Иначе компилироваться будет ну очень долго.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: Не пора ли нам перейти на D
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 01.03.07 18:43
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Использование локальной функции.


VD>А в чем заключается это ограничение? Это наоборот полезная фича. Изъясняйся, плиз, развернутее.


Ограничение заключается в том, что для нелокальной функции это использоваться не может. Впрочем, мне уже ответили, так что забей.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[21]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.03.07 18:44
Оценка:
Здравствуйте, WolfHound, Вы писали:

Это ты какие-то свои представления вываливашь. А теперь представь, что мы имеем некий фрэймворк где как в Сингулярити группы объектов крутятся в отдельном потоке. Для каждого потока одтельная очередь сообщений. Она разргребается и выполняется некая работа.

Все что синхронизируется — это доступ к очереди. Орканизуется это примитивно на интерлокедах. Все объекты в очереди доступны только для чтения.

Ну, и в чем, сажи мне на милость, проблема реализовать подобный механизм?

Что? Это не всегда будет эффективным решением? Ну, и фиг с ним. Ведь в тех случаях когда это удобно — это поволит писть простой и логичный код который будет хорошо параллилться.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.