-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80




Форум на Исходниках.RU


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://forum.sources.ru.
Данный дневник сформирован из открытого RSS-источника по адресу http://forum.sources.ru/yandex.php, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

"Фальконы" таки летают!

Среда, 28 Апреля 2021 г. 00:09 + в цитатник
Prince: Батут не актуален уже. Вчерашний день.
Рогозин будет атомный космический буксир строить, в том числе для полётов за пределы СС. Поскольку в пределах СС подходящих для жизни условий нет и колонизировать нечего, а выцыганивать деньги у доверчивых обывателей на бесполезные прожекты Рогозин не намерен(почти цитата, он там на Маска и спейсХ намекнул). Правда, по некоторым отзывам в интернете, буксир "Нуклон" никуда не полетит. Кому верить.
Ещё придётся разработать систему гибернации для космонавтов, для покорения дальнего космоса.
Вообще, стоит послушать всё его выступление. Тааак интересно.

https://forum.sources.ru/index.php?showtopic=278766&view=findpost&p=3846880


Метки:  

Создание бесплатного SSL-сертификата

Вторник, 27 Апреля 2021 г. 22:02 + в цитатник
scrambrella: Бесплатный сертификат - всё равно, что его нет.

https://forum.sources.ru/index.php?showtopic=414913&view=findpost&p=3846875


Метки:  

Boost md5

Вторник, 27 Апреля 2021 г. 21:58 + в цитатник
scrambrella: Используйте проприетарные библиотеки, а не мусор с интернета.

https://forum.sources.ru/index.php?showtopic=421289&view=findpost&p=3846874


Метки:  

Что делать с жунами

Вторник, 27 Апреля 2021 г. 21:02 + в цитатник
D_KEY:
Цитата applegame @
Почему мне не нравится общепринятое определение, я тебе уже объяснял, но ты игнорируешь мои объяснения.

Ты не объясняешь, а приводишь странные примеры, в основном :) Как и ниже, собственно.

Цитата
Теперь это функциональщина?

Зависит от наличия побочных эффектов :)
Ты приводишь очень маленькие куски кода.

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

Так если оно так и есть?

Цитата
Ты похоже один из тех, кто думает, что const в C/C++ - это и есть иммутабельность.

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

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846871


Метки:  

Что делать с жунами

Вторник, 27 Апреля 2021 г. 18:36 + в цитатник
D_KEY:
Цитата applegame @
То что в моем определении нет необходимости в мутабельных переменных, не означает, что ИП не может иметь побочных эффектов. В общепринятом определении наличие последовательности инструкций - это необходимое, но недостаточное условие для ИП, а в моем это необходимое и достаточное условие.

Если это условие достаточное, то может быть такая реализация ИП, где мутабельности нет, а значит, побочным эффектам в приведённом тобой коде неоткуда взяться.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846868


Метки:  

"Фальконы" таки летают!

Вторник, 27 Апреля 2021 г. 18:12 + в цитатник
applegame: Хан Всея Батутстана

https://forum.sources.ru/index.php?showtopic=278766&view=findpost&p=3846867


Метки:  

"Фальконы" таки летают!

Вторник, 27 Апреля 2021 г. 18:03 + в цитатник

Метки:  

Что делать с жунами

Вторник, 27 Апреля 2021 г. 12:59 + в цитатник
applegame:
Цитата korvin @
Отлично, "не читал, но мнение имею", "слышал звон, но не знаю где он". Как-то так.
Я твой последний код не читал и никакого мнения по нему не высказал. Я давно изучал Хаскель и мне приходится прилагать усилия для расшифровки его закорючек если код чуть сложнее тривиального. Я просто не хочу это делать потому что, полностью уверен, что из анализа твоего примера не будет добавлено к уже сказанному ничего нового.
Цитата korvin @
А ещё есть шутка, что Хаскелл --- это лучший императивный язык.
https://wiki.haskell.org/Do_notation_considered_harmful
Я читал эту статью. Первый раз лет пять назад, когда изучал Хаскель, второй раз позавчера :)
То что там написано не опровергает того что пишу я. Результат выполнения инструкций в do-нотации будет таким же как если бы они выполнялись последовательно, вне зависимости от того чистые там функции или грязные. Согласен? В точности как в ИП. Статья большая, а ты выбрал одну фразу и выдрал ее из контекста. Молодец, чо. :)
В шутке про лучший императивный язык, как обычно только доля шутки. На Хаскеле можно извратиться и писать императивно, я видел даже эквивалент обычных циклов, сделанный на монадах. Правда Хаскель скорее все же худший императивный язык :)
Цитата korvin @
А если б не было побочных эффектов?
Без побочных результат не изменится. Но в ИП мы не знаем есть ли там побочные эффекты или нет. Компилятор может знать, а может и не знать об этих эффектах.
Поэтому в ИП последовательность инструкций важна, а в ФП нет. Нужели ты оспариваешь даже этот тезис? Он жн полностью согласуется как с моим определением, так и с общепринятым. Повторю вопрос, у тебя какое-то свое определение?
Цитата korvin @
Не потерял, я тебе специально такой кусок привёл, где можно поменять порядок композиции, чтоб ты подумал:
Я ответил на этот вопрос, ты правда никак не отреагировал.
Цитата korvin @
Впрочем, давай рассмотрим твой кусок:
:facepalm: И ты мне предлагаешь проверить память после этого. Обсуждали же уже этот кусок и этот вопрос. Смотри конец поста: Что делать с жунами (сообщение #3846765)
Цитата D_KEY @
Так ты же выше отказался от общепринятого определения ИП, убрав оттуда изменение состояния. Откуда тогда побочные эффекты? До сих пор не понимаю, чем тебе не нравится "обычное" определение ИП.
То что в моем определении нет необходимости в мутабельных переменных, не означает, что ИП не может иметь побочных эффектов. В общепринятом определении наличие последовательности инструкций - это необходимое, но недостаточное условие для ИП, а в моем это необходимое и достаточное условие.
Почему мне не нравится общепринятое определение, я тебе уже объяснял, но ты игнорируешь мои объяснения. Еще примеры:
Это императивщина?
    int a = foo(x)
    if(a == 0) return 1;
    a = a + bar(a);
    if(a == 1) return 2;
    return 3;

Теперь добавим иммутабельности.
    immutable a = foo(x)
    if(a == 0) return 1;
    immutable a1 = a + bar(a);
    if(a1 == 1) return 2;
    return 3;
Теперь это функциональщина?
Опять начнешь растекаться мыслью по древу, что тут нельзя точно сказать, что это смесь разных парадигм и так далее?
Цитата D_KEY @
Почему первое предложение про тебя, а второе про всех?
Вот ты и не парился, когда писал

За const парятся в обязательном порядке.
Ты похоже один из тех, кто думает, что const в C/C++ - это и есть иммутабельность.
За const в мейнстриме начали парится с появлением его в C++ и C, то бишь в начале 90-х. С иммутабельностью мало кто парится и по сей день.
Что касается лично меня. Я начал париться за const с 1994-го когда мне в инстутуте объяснили зачем он нужен. На иммутабельность я обратил внимание когда начал писать на D (лет 7 назад), а окончательно уверовал в ее полезность, когда начал изучать ФП на примере Хаскеля (лет 5 назад).
Цитата D_KEY @
Да даже на системном уровне попадается что-то в духе RCU, например
RCU прямого отношения к иммутабельности не имеет. Имутабельность может форсировать RCU, но не наоборот.

Добавлено
Цитата OpenGL @
Именно в таком виде нет, т.к. если бы было можно, то легко было бы нарушить правило BC "на объект есть только одна mut ссылка". Но тем не менее это не иммутабельность, т.к. ничто не мешает менять объект, на котором нет mut, посредством Cell:
Мде. Похоже и правда полноценную иммутабельность можно сделать только в языках с GC.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846854


Метки:  

Что делать с жунами

Вторник, 27 Апреля 2021 г. 12:14 + в цитатник
OpenGL: Именно в таком виде нет, т.к. если бы было можно, то легко было бы нарушить правило BC "на объект есть только одна mut ссылка". Но тем не менее это не иммутабельность, т.к. ничто не мешает менять объект, на котором нет mut, посредством Cell:
    use std::cell::Cell;
    struct Foo
    {
    field: Cell,
    }
    impl Foo
    {
    fn new() -> Self
    {
    Foo{field: Cell::new(42)}
    }
    }
    fn main() {
    // Иммутабельный объект
    let f = Foo::new();
    println!("{:?}", f.field.get());
    f.field.set(-42);
    // Упс, он поменялся
    println!("{:?}", f.field.get());
    }

Вывод:
    42
    -42

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846851


Метки:  

Что делать с жунами

Вторник, 27 Апреля 2021 г. 11:49 + в цитатник
applegame:
Цитата OpenGL @
В расте нет, там в этом плане всё точно так же.
Да ладно? :blink: Раст позволяет такие вот фокусы?
https://glot.io/snippets/fy2i5lgz8g
    import std.stdio;
    struct Foo {
    int a;
    this(int x) { a = x; }
    }
    struct Bar {
    Foo* foo;
    this(Foo* f) { foo = f; }
    void print() const {
    writeln(foo.a);
    }
    }
    void main() {
    auto foo = new Foo(10);
    const bar = const Bar(foo);
    bar.print();
    //bar.foo.a = 11; // ошибка компиляции, bar иммутабелен?
    foo.a = 11; // опаньки, bar мутировал, компилятор не возражает
    bar.print();
    }

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846850


Метки:  

Не поздно ли начать изучать С++?

Вторник, 27 Апреля 2021 г. 11:22 + в цитатник
Alexandrietz:
Цитата scrambrella @
Цитата Alexandrietz @
А Лафоре норм?

Это кто?

Книга по С++ от Роберта Лафоре. У него еще вроде по Питону есть. Есть еще Шильдт, Липманн, Страуступ(но для нуба она тяжелая)

https://forum.sources.ru/index.php?showtopic=421325&view=findpost&p=3846849


Метки:  

Что делать с жунами

Вторник, 27 Апреля 2021 г. 09:25 + в цитатник
OpenGL: А всё-таки, какое имеет отношение opaque struct к иммутабельности?

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846847


Метки:  

oracle + аналог триггера на select

Понедельник, 26 Апреля 2021 г. 21:44 + в цитатник
estra: >MIF
Я не противоречу, я просто не упоминал о деталях, не относящихся к сути вопроса. Ни кто не будет этого делать не данном этапе. Сейчас задача собрать статистеку, на эту задачу выделено 5 дней времени и 1 человек. После выноса картинок из БД на рефакторинг кода клиентсого приложения будут выделены отдельные, более серьезные, ресурсы.

>Akina
Спасибо, годная идея, попробую ею воспользоваться.

https://forum.sources.ru/index.php?showtopic=421384&view=findpost&p=3846835


Метки:  

Что делать с жунами

Понедельник, 26 Апреля 2021 г. 19:11 + в цитатник
korvin:
Цитата applegame @
Честно говоря лень уже дальше разбираться. Мое знание Хаскеля достаточно базовое и довольно тяжело копаться даже в несложных кусках.
Погуглив по словам "haskell do imperative" обнаружил кучу упоминаний о том, что на хаскеле можно (но не нужно) писать имеративно, применяя монады, что do-нотация является псевдоимперативной или imperative style и так далее.

А ещё есть шутка, что Хаскелл --- это лучший императивный язык.

https://wiki.haskell.org/Do_notation_considered_harmful
Цитата
Criticism
Haskell's do notation is popular and ubiquitous. However we shall not ignore that there are several problems. Here we like to shed some light on aspects you may not have thought about, so far.

Didactics
The do notation hides functional details. This is wanted in order to simplify writing imperative style code fragments. The downsides are that:

- Since do notation is used almost everywhere IO takes place, newcomers quickly believe that the do notation is necessary for doing IO,
- Newcomers might think that IO is somehow special and non-functional, in contrast to the advertisement for Haskell being purely functional,
- Newcomers might think that the order of statements determines the order of execution.

Обрати внимание на последний пункт. Да и остальные.

Ну и там далее в статье примеры "misunderstanding"

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846834


Метки:  

Что делать с жунами

Понедельник, 26 Апреля 2021 г. 19:02 + в цитатник
D_KEY:
Цитата applegame @
Цитата korvin @
А за счёт чего наблюдаемый результат может измениться?
За счет побочных эффектов, очевидно. Причем побочных эффектов в реальности может и не быть, но если компилятор об этом не знает, то он не будет переставлять местами инструкции.

Так ты же выше отказался от общепринятого определения ИП, убрав оттуда изменение состояния. Откуда тогда побочные эффекты? До сих пор не понимаю, чем тебе не нравится "обычное" определение ИП.

Добавлено
Цитата applegame @
Я писал много и на Си и на C++. Никто на парится иммутабельностью вообще.

Почему первое предложение про тебя, а второе про всех? :D
Вот ты и не парился, когда писал :)

За const парятся в обязательном порядке.

По поводу иммутабельности в узком смысле обычно задумываются в контексте структур данных и многопоточности. Зачастую что-то используют.

Да даже на системном уровне попадается что-то в духе RCU, например :-?

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846833


Метки:  

Что делать с жунами

Понедельник, 26 Апреля 2021 г. 18:52 + в цитатник
korvin:
Цитата applegame @
Честно говоря лень уже дальше разбираться. Мое знание Хаскеля достаточно базовое и довольно тяжело копаться даже в несложных кусках.
Погуглив по словам "haskell do imperative" обнаружил кучу упоминаний о том, что на хаскеле можно (но не нужно) писать имеративно, применяя монады, что do-нотация является псевдоимперативной или imperative style и так далее.

Отлично, "не читал, но мнение имею", "слышал звон, но не знаю где он". Как-то так.

Цитата applegame @
За счет побочных эффектов, очевидно.

А если б не было побочных эффектов?

Цитата applegame @
Ты похоже потерял нить, проследи эту ветку немного назад. Речь вроде шла об этом куске:

Не потерял, я тебе специально такой кусок привёл, где можно поменять порядок композиции, чтоб ты подумал:
    foo x = x + 1
    bar x = x * 2
    gee = foo . bar
    qux = bar . foo

gee и qux --- это одинаковые функции или разные?

Впрочем, давай рассмотрим твой кусок:
    a = foo(x)
    bar(a)

заменим a на сам вызов:
    bar(foo(x))


программа из императивной сразу стала функциональной?

Добавлено
Цитата applegame @
Я писал много и на Си и на C++. Никто на парится иммутабельностью вообще.

Про никто довольно смелое заявление. И даже если действительно не существует ни одного человека/проекта, использующего такую возможность, это не означает отсутствие самой возможности.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846832


Метки:  

Что делать с жунами

Понедельник, 26 Апреля 2021 г. 18:40 + в цитатник
OpenGL:
Цитата applegame @
В Rust есть полноценная иммутабельность

В расте нет, там в этом плане всё точно так же.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846831


Метки:  

Что делать с жунами

Понедельник, 26 Апреля 2021 г. 18:29 + в цитатник
applegame:
Цитата korvin @
А если не встречал, то что это доказывает? Я так-то на Си не пишу.
Я писал много и на Си и на C++. Никто на парится иммутабельностью вообще. Раньше даже const-ом не заморачивались, сейчас юзают const, который тоже не является полноценной заменой иммутабельности. В общем никакой поддержки иммутабельности в самих языках C/С++/JS/PHP и многих других нет. Есть только попытки эмулировать ее теми или иными способами, и эти эмуляции мало кого интересуют. В Rust есть полноценная иммутабельность, в D тоже есть.
Цитата korvin @
"Не имеет значения" и "отсутствует" --- не одно и то же
А ты не противопоставляй эти тезисы. Последовательность отсутствует в ФП-коде, потому что не она не имеет значения. То бишь сам ФП-код не задает никакой последовательности действий. Это уже реализация имеет какую-то последовательность, которая тоже может быть любой.
Цитата korvin @
Не обязательно. И do-нотация не завязана на монаду IO, она работает с любой монадой, например монадой списков:
Честно говоря лень уже дальше разбираться. Мое знание Хаскеля достаточно базовое и довольно тяжело копаться даже в несложных кусках.
Погуглив по словам "haskell do imperative" обнаружил кучу упоминаний о том, что на хаскеле можно (но не нужно) писать имеративно, применяя монады, что do-нотация является псевдоимперативной или imperative style и так далее.
Цитата korvin @
За счёт чего же результат может измениться? )
Цитата korvin @
А за счёт чего наблюдаемый результат может измениться?
За счет побочных эффектов, очевидно. Причем побочных эффектов в реальности может и не быть, но если компилятор об этом не знает, то он не будет переставлять местами инструкции.
Цитата korvin @
Это в первом случае, где у функций разные типы. А во втором? Там всё прекрасно скомпилируется. А результат поменяется?
Ты похоже потерял нить, проследи эту ветку немного назад. Речь вроде шла об этом куске:
    a = foo(x)
    bar(a)
А ты о каком?

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846830


Метки:  

Вкусненькое с БАШа

Понедельник, 26 Апреля 2021 г. 17:11 + в цитатник
kopilov: Если в комбинации с жабой и котом (Томом?) — то, вероятно, GlassFish

https://forum.sources.ru/index.php?showtopic=151229&view=findpost&p=3846827


Метки:  

Что делать с жунами

Понедельник, 26 Апреля 2021 г. 13:40 + в цитатник
korvin:
Цитата applegame @
А ты встречал чтобы кто-нибудь в C/С++ задействовал opaque типы ради иммутабельности? Пруфы пожалуйста.

А если не встречал, то что это доказывает? Я так-то на Си не пишу.

Цитата applegame @
В GHC задан, в другом компиляторе может быть не задан. Ты же надеюсь понимаешь, что мы обсуждаем не конкретные реализации, а ФП в целом? Ты же сам признал, что порядок вычисления аргументов функции в ФП не имеет значения.

"Не имеет значения" и "отсутствует" --- не одно и то же

Цитата applegame @
Как минимум она означает, что foo будет выполнена раньше чем bar. Вся эта ваша монада IO для этого и предназначена: дать возможность в Haskell выполнять код последовательно, потому что IO - это связь с внешним миром, который императивен.

Не обязательно. И do-нотация не завязана на монаду IO, она работает с любой монадой, например монадой списков:
    import Data.Char
    foo = map chr . map (+ ord 'a')
    bar = filter even
    gee x y = (x, y)
    main =
    let x = [1,2,3]
    y = [4,5,6]
    in print $ do
    a <- foo x
    b <- bar y
    return $ gee a b

https://ideone.com/0wW9IY
    [('b',4),('b',6),('c',4),('c',6),('d',4),('d',6)]

Порядок определяется реализацией монады для конкретного типа, а не do-выражением.

Цитата applegame @
Результат может измениться. А вот в чистом ФП (например Хаскеле) ничего измениться не может.

За счёт чего же результат может измениться? )

Цитата applegame @
Ключевое тут "не изменяет наблюдаемый результат"

А за счёт чего наблюдаемый результат может измениться?

Цитата applegame @
Если поменять местами строчки, оно просто не скомпилируется.

Это в первом случае, где у функций разные типы. А во втором? Там всё прекрасно скомпилируется. А результат поменяется?

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846820


Метки:  

Поиск сообщений в rss_forum_sources_ru
Страницы: 2628 ... 2538 2537 [2536] 2535 2534 ..
.. 1 Календарь