На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (56) « Первая ... 51 52 [53] 54 55 ... Последняя »  ( Перейти к последнему сообщению )  
> D vs C++ , почти сурковская пропаганда: не пора ли C++ потихоньку готовиться к пенсии?
    Цитата OpenGL @
    Владение и заимствование в D. Что-то растом запахло
    Тут не запахло, они реально делают это под влиянием идей раста. Правда с вполне конкретной целью. Они хотят библиотечно реализовать всякие RC-контейнеры и хотят сделать это максимально безопасно. Вот и пыжатся, чтобы нельзя было так просто поломать RC.
    Цитата OpenGL @
    Хз. Если выпилят GC и пойдут по тому же пути, что и раст - управление всеми ресурсами, включая память, через деструкторы, то может и смогут выехать на нормальном метапрограммировании.
    Выпиливать GC никто не будет. Программист сам может выпилить GC если он ему не нужен, или прицепить свой собственный GC. Я тут развлечения ради попиливаю на D мелкую RTOS для микроконтроллеров STM32 с кооперативной многозадачностью, никакого GC очевидно там нет. Другой вопрос, что без GC большая часть стандартной либы отваливается, также отваливается и часть фич самого языка. Они работают над этим, добились довольно серьезного прогресса, надо признать.
    Цитата D_KEY @
    Ты про что? Про производительность? Тут за C++ вряд ли кто сможет угнаться.
    Странная фраза. Чего за ним угоняться-то? Компиляторы для эквивалентного кода в плюсах и D генерят абсолютно одинаковый асм. То же самое касается и сяшки и раста.
    Цитата Qraizer @
    Кстати, applegame, всё хочу спросить, но постоянно забываю, так, что даже не помню, спрашивал ли уже: реально ли на D напрограммить полноценные мультиметоды? По идее, его метафичи равноценны плюсовым, так что почему бы и нет.
    Не знаю, что ты подразумеваешь под "полноценные". Но все, что можно наметапрограммить в плюсах, можно наметапрограммить в D.
    Сообщение отредактировано: applegame -
      Цитата D_KEY @
      Как в мейнстрим языках. Классы, интерфейсы, наследование и т.п.

      Почему ты считаешь, что оно и только оно — нормальное?
        Цитата applegame @
        Странная фраза. Чего за ним угоняться-то? Компиляторы для эквивалентного кода в плюсах и D генерят абсолютно одинаковый асм. То же самое касается и сяшки и раста.

        Разница есть даже между разными компиляторами C++. Rust если и у гонится, то только за счет llvm, но, насколько мне известно, пока сам компилятор оптимизации на уровне языка особых не делает. В отличие от того же clang. Т.е. только llvm.
        За D не скажу, но вроде тесты тоже не в его пользу попадались.

        Добавлено
        Цитата korvin @
        Цитата D_KEY @
        Как в мейнстрим языках. Классы, интерфейсы, наследование и т.п.

        Почему ты считаешь, что оно и только оно — нормальное?

        Нормальное не в смысле "правильное", а в смысле "привычное", "обыденное", как раз "мейнстримные"
          Цитата korvin @
          В первый раз слышу. Откуда это?

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

          Цитата Астарот @
          Ну, и, разумеется, там пропущено "не".

          Фак. И правда :lol:
            Цитата applegame @
            Выпиливать GC никто не будет. Программист сам может выпилить GC если он ему не нужен, или прицепить свой собственный GC. Я тут развлечения ради попиливаю на D мелкую RTOS для микроконтроллеров STM32 с кооперативной многозадачностью, никакого GC очевидно там нет. Другой вопрос, что без GC большая часть стандартной либы отваливается, также отваливается и часть фич самого языка. Они работают над этим, добились довольно серьезного прогресса, надо признать.

            Это хорошо. Так они собираются убрать зависимость стандартной библиотеки от GC полностью или такой цели не стоит, а просто потихоньку убирают там, где можно обойтись?

            Цитата
            Не знаю, что ты подразумеваешь под "полноценные". Но все, что можно наметапрограммить в плюсах, можно наметапрограммить в D.

            А наоборот?
              Цитата applegame @
              RC-контейнеры

              Что это за зверь?
                Цитата OpenGL @
                Цитата Астарот @
                Ну, и, разумеется, там пропущено "не".

                Фак. И правда :lol:

                С «не» да, слышал такой мем.

                Добавлено
                Цитата D_KEY @
                Нормальное не в смысле "правильное", а в смысле "привычное", "обыденное", как раз "мейнстримные"

                Тогда почему ты указываешь это как критерий какого-то положительного качества языка?
                  Цитата korvin @
                  Тогда почему ты указываешь это как критерий какого-то положительного качества языка?

                  Потому, что будет легче на него перейти и переводить существующие системы на него.
                    Цитата D_KEY @
                    Потому, что будет легче на него перейти и переводить существующие системы на него.

                    Не факт. Все зависит от привычек. Я вот тоже как только начал читать про Раст, сразу как-то воспринял в штыки, что в нем весь фарш ООП реализуется средствами синтаксиса частично. Остальное конечно тоже можно сделать, но чуть сложнее (если не ошибаюсь OpenGL показывал). Но если, к примеру, сравнить С++ и Раст, просто подход разный. У С++ основной подход - это реализация свойств путем объявления методов, наследования для расширения этого "набора свойств", виртуализации методов для переопределения свойств после наследования. У Раста другой подход - реализация поведений. Тоже подход, который имеет право на жысть, как основная концепция. Могу конечно ошибаться, пока только изучаю, но во многих статьях именно это ставят как особенность языка (не говоря конечно о заимствованиях и временах жизни).
                      Цитата JoeUser @
                      Цитата D_KEY @
                      Потому, что будет легче на него перейти и переводить существующие системы на него.

                      Не факт. Все зависит от привычек.

                      Да, зависит от привычек. И если их не надо или не обязательно менять, то переход будет легче :)
                      Сообщение отредактировано: D_KEY -
                        Цитата D_KEY @
                        И если их не надо или не обязательно менять, то переход будет легче

                        А если есть привычка не использовать ООП - переход будет труднее :)
                          Цитата D_KEY @
                          За D не скажу, но вроде тесты тоже не в его пользу попадались.
                          Есть и обратные тесты, где D обгоняет плюсья. Но это все синтетика, в которых если порыться выясняется, что код нихрена не эквивалентный. Референсный компилятор dmd довольно паршиво оптимизирует, а вот gdc (который уже в gcc) и ldc оптимизируют не хуже соответственно g++ и clang. В моей Fedora и gdc и ldc ставится из стандартных реп.
                          Цитата D_KEY @
                          Так они собираются убрать зависимость стандартной библиотеки от GC полностью или такой цели не стоит, а просто потихоньку убирают там, где можно обойтись?
                          Там где можно обойтись убирают. Полностью отвязать в принципе невозможно, так как встроенные массивы и замыкания могут задействовать GC.
                          Цитата D_KEY @
                          А наоборот?
                          Наоборот нет. В D полно метапрограмминга пока недоступного плюсам.
                          По мультиметодам нагуглил вариант реализации: https://github.com/jll63/openmethods.d
                          и блогпост посвященный ей же: https://dlang.org/blog/2017/08/28/open-methods-from-c-to-d/
                            Цитата applegame @
                            Но все, что можно наметапрограммить в плюсах, можно наметапрограммить в D.
                            А насколько просто переносится туда метакод оттуда?
                            Сообщение отредактировано: Qraizer -
                              Цитата JoeUser @
                              А если есть привычка не использовать ООП - переход будет труднее :)

                              Да, но людей с такой привычкой много, мейнстрим же.
                                Цитата applegame @
                                Не знаю, что ты подразумеваешь под "полноценные".
                                На джитхабе есть их, но все неполноценные. Например, требующие предоставить полный набор перекрывающих сигнатур. Или всего лишь двупараметрические. Без статических параметров. ...итп. А для полноценности требуются мультиметоды, максимально похожие на обычные функции: произвольная -арность, отсутствие ограничений на типы параметров, лишь некоторые из которых, указывается в прототипе, должны связываться в рантайм, перекрывающие сигнатуры не должны обязательно покрывать полный перебор вариантов, для не предоставленных вариантов должны применяться стандартные правила перегрузки most viable. Как минимум.
                                Сообщение отредактировано: Qraizer -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0789 ]   [ 15 queries used ]   [ Generated: 25.04.24, 14:04 GMT ]