
Denis
16.06.2017
13:10:03
для шаблонов вс сложнее (тип неизвестен как бы, о на самом деле известен)
млин
потом они удивляются почему Го взлетел

Shorty(Ale Chapa) Manskiy
16.06.2017
13:12:39
кто знает, как в телеграме голосования делать?

Google

qwerty
16.06.2017
13:14:05
<sarcasm>может в rust пойдем?</sarcasm>

Denis
16.06.2017
13:14:56
меня вот ещё раздражает невозможность (?) для шаблонного типа прочитать его шаблонные аргументы
возможно она есть, но гормоздкая
везде в таких случаях стараюсь внутри шаблона сделать alias thisT = T;
и читать его через abc.thisT

Shorty(Ale Chapa) Manskiy
16.06.2017
13:19:43
Мне вот что не нравится, когда выучил первый язык программирования, то знал его очень хорошо. Потом начал учить другой, и первый очень быстро забыл, потом трерий начал учить а второй забыл, ... и т.д.
Потом нескольно месяцев вообще не программировал, и читая чат, не могу много чего вспомнить.
В общем, все очень быстро забывается, даже то, что поначалу кажется не возможно забыть...

Oleg
16.06.2017
13:26:26

Denis
16.06.2017
13:26:57
А какая?
Мне вот что не нравится, когда выучил первый язык программирования, то знал его очень хорошо. Потом начал учить другой, и первый очень быстро забыл, потом трерий начал учить а второй забыл, ... и т.д.
Потом нескольно месяцев вообще не программировал, и читая чат, не могу много чего вспомнить.
В общем, все очень быстро забывается, даже то, что поначалу кажется не возможно забыть...
У мну есть теория что обычный программист может знать 3 языка.
Специалист по компиляторам ессно больше

Shorty(Ale Chapa) Manskiy
16.06.2017
13:29:21
Не, твоя теория ошибочна. Моз будет забывать то что не используется. это аксиома. Но если ты делаеш компиляторы для разных языков, то будеш использовать много языков, и тогда твоя теория почти верна.

Denis
16.06.2017
13:32:00
Языки похожи на 90%, дьявол в мелочах ведь

Google

Denis
16.06.2017
13:32:11

Shorty(Ale Chapa) Manskiy
16.06.2017
13:34:35
Еще, кроме всего прочего, у меня есть предложение по перечеслениям, тем что enum. Но там очень много писать, и поэтому я скорее всего не напишу...

Denis
16.06.2017
13:34:46
дык ты так, на пальцах

Shorty(Ale Chapa) Manskiy
16.06.2017
13:35:41
может быть постараюсь написать. но ничего не обещаю.

Denis
16.06.2017
13:37:55
Про мозг: мозг абстракции из других языков использует, а не сам язык. Пишешь на ди - пишешь и на лиспе немножк

Shorty(Ale Chapa) Manskiy
16.06.2017
13:39:46
мы (не вожно кто это мы) тут недавно выяснили, что мозг вообще не всостаянии ничего конкретного запомнить, запоминает лиш категории и обобщения.

Dmitry
17.06.2017
07:28:46
Вроде делаю как в примере, но не работает. Что не так? :

Denis
17.06.2017
07:30:27
Напиши там так:
(new DBprocessing()).start()

Dmitry
17.06.2017
07:31:05
э... это пример не корректен? Или почему?

Denis
17.06.2017
07:31:29
Корректен, думаю. Там start() это статический метод более базового чем DerivedThread класса

Dmitry
17.06.2017
07:31:34
тоже самое...
а...
в примере этот метод просто не указан получается?

Denis
17.06.2017
07:32:51
Ага, он там в базовом классе который мы не видим
в классе Thread

Dmitry
17.06.2017
07:33:40
Хотя start это по идее функция core.thread должна быть?
start(); Starts the thread and invokes the function or delegate passed upon construction.

Denis
17.06.2017
07:34:18
в твоём class DBProcessing такого метода нет, видимо

Dmitry
17.06.2017
07:35:44
э... если у меня есть метод doSleep то я его получается могу запустить?

Denis
17.06.2017
07:36:04
скажи сначала чего ты такой конструкцией хочешь добиться

Google

Dmitry
17.06.2017
07:36:52
понять как class Thread; работает
по идее оно же для создания системных потоков нужно, верно?

Denis
17.06.2017
07:37:32
а зачем писать такую хитрую конструкцию с new и вызовом метода в одной строке?
распиши по строкам сразу понятнее станет

Andrey
17.06.2017
07:39:03

Denis
17.06.2017
07:39:43
вообще, мне вот пример с http://dlang.org/ (откройте он будет там в начале) категорически не нравится
если бы я не знал языка я бы даже не понял что это С-подобный язык
лучше бы простой hello, world написали

Andrey
17.06.2017
07:40:43
ды к он как C-й один в один был бы)

Dmitry
17.06.2017
07:41:00
согласен... куча примров только путают...
Ну он. Вот создал я экземпляр класса и вызвал метод в нем:
auto dbp = new DBProcessing();
dbp.doSleep();
Как мне сделать чтобы оно все в отдельном потоке работало?

Andrey
17.06.2017
07:41:47
он у тебя не наследуется от Thread, для начала

Dmitry
17.06.2017
07:42:13
а...

Denis
17.06.2017
07:42:14

Andrey
17.06.2017
07:42:14
и с конструктором явно не то

Denis
17.06.2017
07:42:36
а...
ты вообще ООП понимаешь концепцию?

Dmitry
17.06.2017
07:42:49
ну более или менее, наследование и интерфейсы осиливаю

Denis
17.06.2017
07:43:26
А полиморфизм? Перегрузку методов со смыслом, так сказать

Andrey
17.06.2017
07:43:31

Dmitry
17.06.2017
07:43:58
Перегрузку — ну так... очень средне...

Denis
17.06.2017
07:44:06
Перегрузку — ну так... очень средне...
Короч, разберись сэтим. Прям возьми учебник и прорешай задачи.
И помни что ООП это не "серебряная пуля", это просто один из способов и иногда он удобен. (Т.е. не надо всё вокруг делать объектом)

Google

Andrey
17.06.2017
07:45:37
какие 95% знаний, причем тут вообще новички) Пример должен показать крутость языка, в чем его фишка так сказать. а не возбуждать каких то сферических "новичков"

Denis
17.06.2017
07:46:35
Тогда надо сделать 3 примера
hello, world
потом переписать его на CTFE с точечками этими
а потом уже мапы показать с этими же точечками
и не торопясь в каментах к примеру разобрать эти преобразования

Andrey
17.06.2017
07:47:46
ну, сделай форк сайта)

Denis
17.06.2017
07:47:55
Зачем мне плодить конкурентов? )
Пусть едят го и нахваливают

Andrey
17.06.2017
07:48:14
конкуренция - двигатель прогресса)

Admin
ERROR: S client not available

Denis
17.06.2017
07:48:19
у меня один товарищ недавно признался что начал кодить на го

Andrey
17.06.2017
07:48:22
а, ну это да))
))))
еще одного потеряли

Denis
17.06.2017
07:49:20
не, он до этого на пхп кодил изредка и в институте С++ и яву изучал

Dmitry
17.06.2017
07:49:47
Кстати, почему-то ПХП-шники очень Go любят я хз

Denis
17.06.2017
07:49:52
дык он с таким воодушевлением мне рассказывал о том что оказывается теперь есть такой крутой язык и там такие фичи!

Andrey
17.06.2017
07:49:57
потому что маркетинг

Denis
17.06.2017
07:50:01
(все названные фичи реализованы в ди, но я молчал)

Google

Dmitry
17.06.2017
07:50:02
Мне даже знакомя HR это подтвердила

Denis
17.06.2017
07:50:23

Dmitry
17.06.2017
07:50:30
Да все фишки Go даже в Python есть)

Denis
17.06.2017
07:50:37
если человек в 2к17 году ел ПХП то всё с ним понятно :)

Dmitry
17.06.2017
07:51:05
есть) http://www.opennet.ru/opennews/art.shtml?num=46715

Andrey
17.06.2017
07:51:16
да в Го, по моему, единственная фишка - втсроенная многопоточность...

Denis
17.06.2017
07:51:19
код неэффективным будет же питоновый, откомпиленный

Dmitry
17.06.2017
07:51:50
Проще уж на C# писать чем на Go

Denis
17.06.2017
07:51:52
shared
Вообще, я так понимаю что в Ди более правильная многопоточность - переменные в TLS лежат
Скоро вон эппл 18-ядерный комп выпускает, говорят

Dmitry
17.06.2017
07:53:11
Ура! Наконец то сайты перестанут тормозить!

Denis
17.06.2017
07:53:26
Не перестанут )

Andrey
17.06.2017
07:53:29
да хрен когда)
еще чего нить придумают, реакт=хренакт-100 какой нибудь

Denis
17.06.2017
07:53:48
18 ядер выполняют бесконечный цикл задержки на секунду за то же время, что и 1-ядерный

Dmitry
17.06.2017
07:55:28
Меня вообще поражают бенчмарки JS который чуть ли не быстрее чистого Си оказывается. loop 1000 в начале делают, а потом в график тыкают и говорят что "JavaScript так же быстр как чистый Си", и пофиг что в реале в этом loop 1000 на каждой итерации должна какая-то обработка происходить
А кто может обяъснить суть происходящего выше. Прсто зачем создавать новый Thread при этом обязательно вызывая какую то функцию в конструкторе. Почему без вызова в конструкторе нельзя?
Получается мы в конструктор базового класса передаем ссылку на функцию которую нужно запустить в отдельном потоке. Верно?
class DBProcessing : Thread
{
string s;
this(string s)
{
this.s = s;
super(&doSleep);
}
void doSleep()
{
foreach(i; 0..10)
{
Thread.sleep(200.msecs);
writeln("foo, ", s);
}
}
}

Dmitry
17.06.2017
08:55:18
Да, надо как-то сказать Thread'y, какую функцию исполнять в отдельном потоке. Это может быть твой метод. А может быть отдельно стоящая ф-я.
Можно вообще не определять свой класс