@dlangru

Страница 329 из 719
qwerty
02.12.2017
09:11:54
в D придется заморочиться с reduce

вопрос так и остался открытым. Стоит и это в циклах показывать или надо выносить в отдельное место

Igor
02.12.2017
09:27:33
да… для сравнения: flat = [item for sublist in l for item in sublist] auto flat = l.reduce!"a~b”;

qwerty
02.12.2017
09:31:44
да, что-то я затупил

Google
qwerty
02.12.2017
09:31:52
никаких заморочек

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

Igor
02.12.2017
09:33:41
дело не только в длине

qwerty
02.12.2017
09:33:51
хорошо)

дело в том, что я не знаю, куда добавить эти сравнения

Igor
02.12.2017
09:34:12
)))

этого я не знаю, думаю что нужно сделать так как кажется правильным, в если что - потом поправить )

Dmitry
02.12.2017
11:01:23
Igor
02.12.2017
11:10:48
Да, еще chain

И joiner и chain ленивые, в отличие от reduce

Dmitry
02.12.2017
11:12:45
Ну в питоне вроде тоже не обязательно массив делать, можно итератором оставить последовательность..

qwerty
02.12.2017
15:16:48
надо квадратные скобки заменить на круглые)

еще в python для простого for используется range. Нужно ли показывать сравнение с iota?

Google
qwerty
02.12.2017
15:38:43
или просто for написать

Eto
02.12.2017
17:04:12
И то и другое стоит показать.

Pavel
03.12.2017
09:22:16
в питоне for - foreach

qwerty
03.12.2017
10:41:14
Да

Ладно в общем сейчас набросаю и ПР отправлю

Потом разберемся

Можно ещё показать тему с duck typing через шаблрны

Oleg
03.12.2017
11:59:57
Чёт я сейчас понял что сравнение по языкам надо делить, а внутри уже по категориям

Есть возражения?

Dmitry
03.12.2017
12:51:53
В чем фишка JIT компиляции LDC ?

Oleg
03.12.2017
15:10:31
В чем фишка JIT компиляции LDC ?
в возможной оптимизации во время работы программы

Dmitry
03.12.2017
15:39:52
А часто это бывает нужно? Просто обычно же от этого в сторону компиляции наоборот уходят

qwerty
03.12.2017
16:43:53
Есть возражения?
Нет, потому приколы с duck typing актуальны только для python

Это например

Oleg
03.12.2017
16:48:04
А часто это бывает нужно? Просто обычно же от этого в сторону компиляции наоборот уходят
А часто ли вообще это возможно в компилируемых языках? Я впервые встречаю, например. В основном это фишка Java и C#

Нет, потому приколы с duck typing актуальны только для python
Помимо различий языков ещё и навигация не совсем удобной будет. Исхожу из такой мысли: я знаю C++, хочу смотреть отличия от C++, значит это должно быть сконцентрировано в одном месте.

qwerty
03.12.2017
16:51:13
Меняйте уже) Это вполне логично

Oleg
03.12.2017
16:53:13
Уже поменял)

qwerty
03.12.2017
16:56:15
?

Завтра ещё немного напишу

Google
Igor
03.12.2017
16:56:36
А часто ли вообще это возможно в компилируемых языках? Я впервые встречаю, например. В основном это фишка Java и C#
возможно. наверное пишут оптимизированный код в какие-то страницы и помечают их исполняемыми.

Oleg
03.12.2017
16:58:28
В целом если и делает это кто-то, то это огромная редкость

Igor
03.12.2017
16:58:56
вот какая-то статья на эту тему https://habrahabr.ru/post/254831/

Oleg
04.12.2017
11:26:42
@chebotarevp а почему тебя тут нет? https://github.com/proton/highloadcup17_solutions

Pavel
04.12.2017
11:27:09
Я не публиковал свое решение

Oleg
04.12.2017
11:27:20
есть причина?

Pavel
04.12.2017
11:27:43
Да, я просто хотел дописать статью и выложить все вместе но все заглохло ?

Статью где-то на 2/3 написал

Oleg
04.12.2017
11:28:08
очень грустно(

кстати о проектах на D https://github.com/skilion/onedrive

Eto
04.12.2017
12:14:15
Eto
04.12.2017
12:14:53
Статью где-то на 2/3 написал
Так может допиши? Немного ведь осталось.

Pavel
04.12.2017
12:16:38
Допишу. У меня тут на 3 месяца случился некоторый пиздец и я немного выпал из жизни

Я не записывал мои эксперименты с метриками, придется повторно делать и восстанавливать.

qwerty
04.12.2017
18:32:20
стоит ли добавить раздел со сравнением контейнеров?

массив, хэш таблица, очереди, двусвязные списки

и если да, то как? Просто показать декларацию не очень интересно. Нужно еще показать какие-нибудь операции

добавление, удаление

Oleg
04.12.2017
18:38:53
Google
qwerty
04.12.2017
18:38:59
да да

с python

только вот я смотрю, что в python особенные контейнеры(

Oleg
04.12.2017
18:39:22
мне кажется это может быть отдельной темой

qwerty
04.12.2017
18:39:25
там list очень крутой

Oleg
04.12.2017
18:39:35
а что там в нём в питоне?

qwerty
04.12.2017
18:39:40
и он решает сразу проблемы нескольких контейнеров

Admin
ERROR: S client not available

qwerty
04.12.2017
18:41:36
там например не нужны двусвязные списки. Их проблемы решается вот листом (стандартный массив). Там есть double ended queue, которого не могу найти в D. OrderedDict - это ассоциативный массив, но отличается тем, что запоминает, когда в него добавили какой ключ.

Oleg
04.12.2017
18:43:42
https://dlang.org/phobos/std_container_dlist.html

qwerty
04.12.2017
18:44:17
defaultdict - это тоже ассоциативный массив. Но при его инстанциировании указывается фабрика. И когда у этого контейнера получаешь ключ, для которого нет значения, то эта фабрика создает значение, возвращает его и сохраняет в этом контейнере

https://dlang.org/phobos/std_container_dlist.html
вот это в python не надо. Там в стандартном массиве элементы связаны

и по индексу доступны

Oleg
04.12.2017
18:45:15
ну не бывает же волшебства)

если это double-linked list, то время доступа линейное

у каждого контейнера свои плюсы и минусы

qwerty
04.12.2017
18:45:52
я в курсе

сейчас

лучше подумайnt про те, что есть в python и нет в D

Oleg
04.12.2017
18:46:59
я то питон знаю достаточно поверхностно, никогда под капот не лез

Google
qwerty
04.12.2017
18:47:42
Oleg
04.12.2017
18:47:51
но описать для питониста чем нужно пользоваться в D нужно

qwerty
04.12.2017
18:47:57
OrderedDict, defaultdict

Oleg
04.12.2017
18:48:13
окей

qwerty
04.12.2017
18:48:13
как тогда лучше написать об этом?

ладно я подумаю

Oleg
04.12.2017
18:48:44
в папке питона файл contaiters

ну это куда я бы полез, знай я питон в такой ситуации

qwerty
04.12.2017
18:49:32
да это понятно все

я вот и заполняю его сейчас

Oleg
04.12.2017
18:49:52
тогда я не понял в чём вопрос

qwerty
04.12.2017
18:50:37
попробую по порядку

Первое, что меня смущает — простую аналогию между контейнерами проводить, мне кажется, не очень-то много смысла дает. Мне кажется, что нужно показать какие-то операции над контейнерами. Например удаление, добавление, что-то еще. Стоит это показать?

Oleg
04.12.2017
18:52:55
если они различаются, то да

а они различаются, насколько я помню

qwerty
04.12.2017
18:54:51
хорошо. Как лучше это описать? Сейчас у меня на примете динамический массив, ассоциативный массив, кортеж. Мне под каждым сравнением показать базовые операции?

Oleg
04.12.2017
18:55:54
смущает кортеж

qwerty
04.12.2017
18:55:58
почему?

tuple

Oleg
04.12.2017
18:56:24
compile time в D, а чем он от массива на python отличается не знаю

Страница 329 из 719