Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/254: Рейтинг темы: голосов - 254, средняя оценка - 4.70
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.02.2015, 20:55  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
И, что бы два раза не вставать: в .NET и моно нет совместимости по библиотеке из за разных осей (?).
C#, F# - всё .NET, поэтому и нет у MS пути на Unix'ы.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
08.02.2015, 20:58
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
У меня сложилось впечатление, что f# идёт, как бы в довесок к другим #. В смысле, гуи всякие на C# делают. А f# для вызывать из них.
под веб все можно писать пользуясь только f#. гуевые (сколько их щас осталось то?) тоже можно писать, там только дизайнера форм не будет. xamarin (мобильные апп) может пользовать f# вроде как тоже полноценно, но не проверял еще врать не буду. fsx для скриптинга вместо vbs можно как родные дергать. так что все относительно
в .NET и моно нет совместимости по библиотеке из за разных осей
есть xamarin да и основную библиотеку .нет вроде как пилят пот совместимости под разные оси
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.02.2015, 20:58  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
после этого
Ну ничего страшного. D всё равно найдёт свою аудиторию перфекционистов даже после этого.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
08.02.2015, 20:58
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
нет у MS пути на Unix'ы
курить xamarin до потери сознания
ну или тут. http://fsharp.org/ раздел use. юнихи там
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.02.2015, 21:00  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
есть xamarin да и основную библиотеку .нет вроде как пилят пот совместимости под разные оси
Xamarin Studio уже давно D поддерживает и этот C# с F# тоже.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
08.02.2015, 21:08
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Xamarin Studio уже давно D поддерживает
серьезно? откуда у D столько биндингов к .нет платформе то? да и на старновой странице там весьма неоднозначно рекомендуют к использованию совсем не D
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.02.2015, 21:09  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
курить xamarin до потери сознания
Так я и курю. Вот только в последних версиях перестал дебаггер для D работать. Обещают, что скоро восстановят после смены API.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.02.2015, 21:14  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
да и на старновой странице там весьма неоднозначно рекомендуют к использованию совсем не D
А D тайно вытесняет C# и F# из Xamarin'a. Вот посмотрите:
Миниатюры
D vs C++  
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
08.02.2015, 21:19
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А D тайно вытесняет C# и F# из Xamarin'a.
пока вытеснял потерял асп.нет мобильные апп и андроид . вообщем как и предполагалось, все что на .нет фреймворк завязано в дэ отсуствует как класс
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.02.2015, 21:21  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
все что на .нет фреймворк завязано в дэ отсуствует как класс
Так .NET помрёт вместе с Биллом.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
08.02.2015, 21:24
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Так .NET помрёт вместе с Биллом.
а... понятно... осталось угадать с кем помрет дэ.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.02.2015, 21:48  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
а... понятно... осталось угадать с кем помрет дэ.
А тот, с кем помрёт D, ещё Страуструпа переживёт.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
09.02.2015, 00:43
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А тот, с кем помрёт D, ещё Страуструпа переживёт
Что-то он за 14 лет не выстрелил, даже при том что с++ был сём с классами и шаблонами.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 01:17  [ТС]
Цитата Сообщение от castorsky Посмотреть сообщение
Что-то он за 14 лет не выстрелил, даже при том что с++ был сём с классами и шаблонами.
Конечно, не выстрелил. Кто же захочет слезать со старого изученного C++? IDE's для D ещё мало хороших. Либо IDE хорошее, но нет отладчика для D; либо отладчик работает хорошо, а IDE плохого качества.
Кстати, не за 14. Андрей Александреску начал разрабатывать D только с 2006 года. Если бы не он, то D был бы полной шляпой. По-моему, D стал развиваться только сейчас, а раньше он был в забвении. К тому же Александреску практически полностью переписал D, поэтому версия D2 стала почти полностью несовместимой с версией D1. Англоязычные сайты по D начали появляться относительно недавно. DConf'ы тоже стали появляться недавно (не помню: либо с 2012, либо с 2013). Я хочу сказать: "То, что есть сейчас в D, появилось абсолютно недавно."

Почему не выстрелил Go? Потому что плохой. Почему не выстрелил D? Потому что в эпоху тирании и захвата масс C++'ом выстрелить невозможно. Возможно, что D и не выстрелит никогда, но обязательно найдёт свой узкий круг пользователей-перфекционистов (возможно, он будет по популярности там же, где и Haskell). Но ведь вы понимаете, что Haskell достоин большего? Я не советую бросать C++ и полностью переходить на D. Но я советую изучать C++ и D (языки синтаксически похожи - программистам не составит труда переключаться с одного языка на другой). C служит для системного программирования, C++ выручает в большинстве случаев, D - отличная вещь для высокоуровневых работ.

P.S. Я не верю в D. Я верю в людей. Верю в Александреску. Верил в Денниса Ритчи.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
09.02.2015, 02:02
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Кто же захочет слезать со старого изученного C++?
Многие и с большим удовольствием, да вот не могут они это сделать и еще очень долго не смогут. Ну приблизительно как истуация с кобол.

Добавлено через 45 секунд
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Почему не выстрелил Go? Потому что плохой.
Это Ваше ИМХО. Фикс.
0
Заблокирован
09.02.2015, 02:04
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Смотрю на C#, и мне кажется, что этот язык...
Dennis Ritchie а что собственно вам в C# не нравится? Интереса ради, хотелось бы увидеть решение на языке D

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Дерево с ограничениями
а где можно условие узнать?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
C#
1
2
Array.Clear(treeL, 0, treeL.Length);
Array.Clear(treeR, 0, treeR.Length);
зачем это нужно?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 05:07  [ТС]
Цитата Сообщение от castorsky Посмотреть сообщение
Многие и с большим удовольствием, да вот не могут они это сделать и еще очень долго не смогут. Ну приблизительно как истуация с кобол.
Ничего про кобол не слышал. Ничего про кобол не читал.
Цитата Сообщение от castorsky Посмотреть сообщение
Это Ваше ИМХО. Фикс.
Это не моё ИМХО. Если на хабе иногда о Rust и о D отзываются добрым словом, то о Go практически все спецы-кодеры отозвались плохим.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dennis Ritchie а что собственно вам в C# не нравится? Интереса ради, хотелось бы увидеть решение на языке D
Это решение на C# неправильное - выдаёт неправильный ответ на третьем тесте. Вот решение на D (тоже неправильное - выдаёт неправильный ответ на третьем тесте ):
Dlang
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
import std.algorithm;
import std.conv;
import std.range;
import std.stdio;
import std.typecons;
 
void main ()
{
    int n, c;
    while (readf (" %s %s ", &n, &c) > 0)
    {
        auto a = new int [c];
        auto b = new int [c];
        auto d = new bool [c];
        enum {PARENT, LEFT, RIGHT}
        alias Edge = Tuple !(int, "v", int, "r");
        auto g = new Edge [] [n];
        foreach (i; 0..c)
        {
            auto t = readln ().split ();
            a[i] = t.front.to !(int) - 1;
            t.popFront ();
            b[i] = t.front.to !(int) - 1;
            t.popFront ();
            d[i] = (t.front == "LEFT");
            g[b[i]] ~= Edge (a[i], d[i] ? LEFT : RIGHT);
            g[a[i]] ~= Edge (b[i], PARENT);
        }
 
        auto z = new bool [n];
        auto parent = new int [n];
        auto left = new int [n];
        auto right = new int [n];
        immutable int NA = -1;
        parent[] = NA;
        left[] = NA;
        right[] = NA;
 
        int infix (int v, int last)
        {
            debug {writeln ("infix ", v, " ", last);}
            if (v == NA)
            {
                return last;
            }
            if (v < last || last == NA)
            {
                return NA;
            }
            last = v;
            last = infix (left[v], last);
            last = infix (right[v], last);
            return last;
        }
 
        bool check ()
        {
            debug {writeln ("check");}
            foreach (i; 0..c)
            {
                if (a[i] >= b[i])
                {
                    return false;
                }
                if (z[a[i]] && z[b[i]])
                {
                    int v = b[i];
                    while (v != NA)
                    {
                        int u = parent[v];
                        debug {writeln (v, " -> ", u);}
                        if (u == a[i])
                        {
                            if ((v == left[u]) !=
                                (d[i] == LEFT))
                            {
                                return false;
                            }
                            break;
                        }
                        v = u;
                    }
                    if (v == NA)
                    {
                        return false;
                    }
                }
            }
            debug {writeln (">", infix (0, 0));}
            return infix (0, 0) != NA;
        }
 
        bool place (int w, int v)
        {
            debug {writeln ("place ", w, " ", v);}
            if (w == NA)
            {
                return false;
            }
 
            parent[v] = w;
 
            left[v] = left[w];
            left[w] = v;
            if (check ())
            {
                return true;
            }
            left[w] = left[v];
            left[v] = NA;
 
            right[v] = left[w];
            left[w] = v;
            if (check ())
            {
                return true;
            }
            left[w] = right[v];
            right[v] = NA;
 
            left[v] = right[w];
            right[w] = v;
            if (check ())
            {
                return true;
            }
            right[w] = left[v];
            left[v] = NA;
 
            right[v] = right[w];
            right[w] = v;
            if (check ())
            {
                return true;
            }
            right[w] = right[v];
            right[v] = NA;
 
            parent[v] = NA;
 
            if (place (left[w], v))
            {
                return true;
            }
 
            if (place (right[w], v))
            {
                return true;
            }
 
            return false;
        }
 
        bool recur (int v)
        {
            debug {writeln ("recur ", v);}
            if (z[v])
            {
                return true;
            }
            z[v] = true;
            if (!place (0, v))
            {
                return false;
            }
            foreach (e; g[v])
            {
                if (!recur (e.v))
                {
                    return false;
                }
            }
            return true;
        }
 
        bool ok = true;
        z[0] = true;
        foreach (v; 1..n)
        {
            if (!z[v])
            {
                if (!recur (v))
                {
                    ok = false;
                    break;
                }
            }
        }
 
        if (!ok)
        {
            writeln ("IMPOSSIBLE");
            continue;
        }
 
        int [] ans;
 
        void prefix (int v)
        {
            debug {writeln ("prefix ", v);}
            if (v == NA)
            {
                return;
            }
            prefix (left[v]);
            ans ~= v + 1;
            prefix (right[v]);
        }
 
        prefix (0);
        writefln ("%(%s %)", ans);
    }
}

Цитата Сообщение от Ev_Hyper Посмотреть сообщение
а где можно условие узнать?
Дерево с ограничениями
Разбор задач (англ.)
Разбор задач D, E, F (по-русски)
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
зачем это нужно?
Спросите у автора решения (pycture). Я никогда не писал на C#. Думаю, что это очистка массива.

P.S. Про C# напишу позже.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
09.02.2015, 09:26
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Почему не выстрелил Go?
Как это не выстрелил? Время от времени получаю оповещения от Go-группы G+, что кто-то предлагает работу Go-программистов. У знакомого в СПб на работе есть группа программеров, использующих Go. Периодически появляются новые статьи в интернете об использовании Go в продакшене. Да и вообще гуглогруппа весьма активна и темы там в большинстве своём не про учебные примеры.

А где D? В нигде. На олимпиадках, в числе кучи других языков, и всё.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Если на хабе иногда о Rust и о D отзываются добрым словом, то о Go практически все спецы-кодеры отозвались плохим.
На каком ещё хабе? На Хабре? Че, серьёзно? Что-то я не видел там такого. И да, «спецовость» хабра довольно сомнительна.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
09.02.2015, 10:06
Цитата Сообщение от korvin_ Посмотреть сообщение
Как это не выстрелил?
хех, так же как и дэ - убийца крестов.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 18:59  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
А где D? В нигде.
Точно там же, где и дэ ("убийца крестов"). На олимпиадках. Если посмотреть в подраздел Go на нашем форуме, где всего лишь 32 темы, то, наверное, будет понятно, что Go не выстрелил. На том же хабре писали, что он не выстрелил.
Цитата Сообщение от korvin_ Посмотреть сообщение
И да, «спецовость» хабра довольно сомнительна.
Ну, как правило, те, кто пишет про языке программирования, являются спецами. Я говорю, например, про представителей Яндекса и т. д., а не про каких-нибудь "самовыдвиженцев".

Добавлено через 13 минут
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
P.S. Про C# напишу позже.
Теперь про C#. Ну чем мне этот язык не нравится?
  1. Компилируется в байт-код (мне не нравятся практически все языки, которые компилируются в байт-код, даже Java).
  2. Медленный по сравнению с C++/D.
  3. Нацелен на энтерпрайз, поэтому язык "тухлый".
  4. Платформа .NET не кроссплатформенна, хотя MS позиционирует её, как ...
  5. Квалификация C++ программистов намного выше, чем C#.

P.S. Я не понимаю, как энтерпрайз язык может кому-то нравиться? Работать на нём, безусловно, можно; но чтобы он нравился, как язык для повседневного программирования... Не за что любить этот язык. Взять тот же Python: он медленный, но красивый. C# медленный и невыразительный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru