LINUX.ORG.RU
Ответ на: комментарий от bhfq

Последний комит 2 года назад. В подкасте qt-notes тоже сказали что qtd мёртв.

Странно
David Nadlinger pushed 5 commits to qtd/repo
2013-08-14

zJes ★★
()
Ответ на: комментарий от wota

кто знает все три языка - тот C-D-rust

anonymous
()
Ответ на: комментарий от zJes

The latest source code can be found on BitBucket. However, as of now, the project is not actively developed by any of the past main contributors.

Ага нашел, уже на битбаките с dsource убежали.

bhfq ★★★★★
()

Оно ещё живо? Я думал, уже давно подохоло.

beastie ★★★★★
()
Ответ на: комментарий от d_Artagnan

Facebook использует, а что?

по сути не использует, это Александреску (соавтор D) осилил написать 5тыс строк, но для чего они - большой секрет, кстати еще и назвиздел, что компилируется быстрее, вероятно код на С++ с бустом был, т.к.:

~$ cat a.d
import std.stdio;
 
void main()
{
  writeln("Hello, world!");
}
~$ cat a.cpp
#include <iostream>

int main() {
	std::cout << "Hello, world!\n";
}
~$ cat b.cpp
#include <cstdio>

int main() {
	printf("Hello, world!\n");
}
~$ time gdc a.d

real	0m0.166s
user	0m0.143s
sys	0m0.024s
~$ time dmd a.d

real	0m0.220s
user	0m0.183s
sys	0m0.038s
~$ time g++ a.cpp

real	0m0.122s
user	0m0.101s
sys	0m0.021s
~$ time g++ b.cpp

real	0m0.038s
user	0m0.024s
sys	0m0.015s

а на чуть более сложных примерах:

~$ cat a.d
import std.stdio;

struct Fib
{
  private:
        int _value;

  public:
        this(int n) { _value = n; }

        int value()
        {
                if(_value <= 2)
                        return 1;

                scope Fib f1 = Fib(_value - 1);
                scope Fib f2 = Fib(_value - 2);

                return f1.value() + f2.value();
        }
};

int main()
{
        for (int i = 0; i < 10; i++)
        {
                scope Fib x = Fib(40);
                writefln("n=%d", x.value);
        }
        return 0;
}
~$ cat a.cpp
#include <stdio.h>

class Fib
{
  private:
     int _value;

  public:
    Fib(int n) { _value = n; }

    int value()
    {
        if(_value <= 2)
            return 1;

        Fib f1 = Fib(_value - 1);
        Fib f2 = Fib(_value - 2);

        return f1.value() + f2.value();
    }
};

int main()
{
    for(int i=0; i<10; i++)
    {
        Fib x = Fib(40);
        printf("n=%d\n", x.value());
    }
    return 0;
}
~$ time gdc a.d

real	0m0.411s
user	0m0.363s
sys	0m0.031s
~$ time dmd a.d

real	0m0.226s
user	0m0.186s
sys	0m0.039s
~$ time g++ a.cpp

real	0m0.053s
user	0m0.037s
sys	0m0.020s

это код Крона отсюда Бенчмарк объектный Фибоначчи. Часть 3-я., кстати последнее обновление в репе gdc таки сделало его пошустрее, но все-равно компиляторы D заметно медленнее g++ (даже не clang или msvc)

wota ★★
()
Ответ на: комментарий от Loki13

в scale есть for, который повторяет linq с точностью до несущественных синтаксических различий

anonymous
()
Ответ на: комментарий от wota

на Rust уже пишется движок браузера, на D был OpenMW, но его авторы плюнули на D и переписали все на С++, nuff said

То есть разработчики из мозиллы сейчас на той же стадии, на которой был OpenMW лет 5 назад.

quiet_readonly ★★★★
()
Ответ на: комментарий от Loki13

А если ли вообще где-нибудь кроме шарпа(в джаве например) аналог linq? Я ни linq поработал и теперь не представляю как писать работу с данными без этого.

Про Active Record слышали?

quiet_readonly ★★★★
()
Ответ на: комментарий от menangen

Главное, у российской публики низкая тяга к обучению нового

У российских программистов большое желание велосипедить самим и из-за этого они не доверяют другим велосипедистам вроде авторов D и Rust.

quiet_readonly ★★★★
()
Ответ на: комментарий от wota

кстати последнее обновление в репе gdc таки сделало его пошустрее, но все-равно компиляторы D заметно медленнее g++ (даже не clang или msvc)

Это неудивительно — рулит софт, который разрабатывают, а не тот, фичи которого проработаны только в теории. Но на больших проектах D всё-таки может уйти вперёд за счёт отсутствия #include.

quiet_readonly ★★★★
()

Мешанина какая-то из С и пытона.

// интересно: я когда-нибудь еще выучу какой-нибудь язык кроме С? Что-то сильно сомневаюсь: необходимости как не было, так и нет.

Anon
()
Ответ на: комментарий от Xroft

Огого, книженция!

// но синтаксис таки страшненький

Anon
()
Ответ на: комментарий от quiet_readonly

Про Active Record слышали?

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

Loki13 ★★★★★
()
Ответ на: комментарий от menangen

Я уже использую год как)

Насколько серьёзно, если не секрет? «Мелкие вещи для себя» или что-то более мощное?

Главное, у российской публики низкая тяга к обучению нового

Честно говоря, сомневаюсь, что это именно «наша» проблема. Думаю, что в среднем люди вообще не любят новому учиться.

DarkEld3r ★★★★★
()

Может, мне объяснят, почему на лоре каждый день всыплывает одно и то же? Лучше бы разрешили оффтоп-треды, чем постоянно жевать жвачку в холиварах.

cdshines ★★★★★
()

Пилил в прошлом году GSoC-проект на D. Живёт, развивается потихоньку, ~20kLOC, с каждой новой версией компилятора приходится 10-20 строчек фиксить, что не страшно. В общем, для консольных приложений всё вполне сносно.

Производительность на уровне C легко достижима, если не дёргать GC по каждому чиху. Ну и естественно, для релизных сборок нужно использовать LDC/GDC, а не убогий в плане оптимизации DMD.

lomereiter
()
Ответ на: комментарий от Loki13

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

Вот только с этим паттерном в полной реализации весь код работы с SQL может исчезнуть вообще — а в LINQ он просто становится частью языка, не более.

quiet_readonly ★★★★
()
Ответ на: комментарий от quiet_readonly

Вот только с этим паттерном в полной реализации весь код работы с SQL может исчезнуть вообще — а в LINQ он просто становится частью языка, не более.

Я обратное хочу. Чтобы работать с обычными коллекциями с помощью SQL-синтаксиса(join, select, where).

Вообще просто интересно стало насколько такой подход популярен за пределами сишарпа.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Это ведь неудобно. С коллекциями как-то приятнее работать через всякие map, filter и пр. Ну или через for в скалке.

anonymous
()
Ответ на: комментарий от anonymous

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

Loki13 ★★★★★
()
Ответ на: комментарий от XVilka

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

fxd

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.