
Евгений
14.08.2018
09:06:25
Кроче, прозрачный и логичный механизм импорта-экспорта - вот что надо.

Дед Пегас
14.08.2018
09:06:43

Евгений
14.08.2018
09:06:43

Roman
14.08.2018
09:07:22
я не спорю что с модулями будет более гибко, но имхо все и так почти привыкли

Google

Igor
14.08.2018
09:07:54

Евгений
14.08.2018
09:08:03
и итераторы описывать привыкли, но auto - збс

Roman
14.08.2018
09:08:51
лямбды принципиально новая фича которую функторы не заменяют
т.к. функторы не умеют захватывать контекст

Евгений
14.08.2018
09:09:12

Roman
14.08.2018
09:09:26
а модули координально ничего для меня не меняют

Евгений
14.08.2018
09:09:42

Igor
14.08.2018
09:10:47

Евгений
14.08.2018
09:11:03

Ilia
14.08.2018
09:11:05
хотя я не понимаю зачем модули нужны большинству людей
Нужны, чтобы шаблонный код можно было бы быстро компилировать и шаблоны экспортировать. Это вроде как единственная прагматичная цель.
НО, на самом деле модель компиляции и сборки в С++ очень сложна. Я вот пробовал её объяснить кому-то не Сшнику -- это воообще практически невозможно, концепций вообще никаких нет. Программист просто должен знать, как это работает ВСЁ ЦЕЛИКОМ, и что получится на выходе. Вот для того, чтобы какую-то модель сборки создать, тоже нужны модули.

Roman
14.08.2018
09:11:11

Евгений
14.08.2018
09:11:50

Google

Евгений
14.08.2018
09:12:07
обычно пишем [&x, &y]()...

Ilia
14.08.2018
09:12:59

Дед Пегас
14.08.2018
09:13:44

Ilia
14.08.2018
09:13:49
Обязательно нужно.
Зачем создавать 20 способов сделать одно и то же ?
Превратим язык в Perl.
И так уже не далеко.

Roman
14.08.2018
09:14:26
нет, ну можно ещё и external template сделать , чтобы окончально добить

Ilia
14.08.2018
09:15:32

Roman
14.08.2018
09:15:34
ладно, модули наверное действительно понятнее чем header + source
но я боюсь что всё закончится тем что будут писать как на джава
один класс, один файл, все методы inline

Anatoly
14.08.2018
09:16:11

Ilia
14.08.2018
09:16:38

Roman
14.08.2018
09:16:42

Ilia
14.08.2018
09:17:44

Roman
14.08.2018
09:18:19
почему не будут? модули это позволяют

Дед Пегас
14.08.2018
09:18:25

Ilia
14.08.2018
09:18:30

Дед Пегас
14.08.2018
09:19:33
Нет.

Google

Дед Пегас
14.08.2018
09:19:45
Любую фигню можно вытащить.

Ilia
14.08.2018
09:22:00

Stanislav
14.08.2018
09:22:37

Дед Пегас
14.08.2018
09:22:50

Ilia
14.08.2018
09:23:22
Короче, где найти последний TS по модулям?

Stanislav
14.08.2018
09:24:18
тут

Roman
14.08.2018
09:24:21

Stanislav
14.08.2018
09:25:02

Ilia
14.08.2018
09:26:39
Ну вот, поговорили про модули...
Я всё их прочитать не могу.

Nik
14.08.2018
09:30:38
Пока либо компиляторы, либо системы сборки, не станут достаточно умными, модули будут выглядеть как очередной костыль.

Roman
14.08.2018
09:31:10

Ilia
14.08.2018
09:31:10
Системы сборки и так уже достаточно умные

Nik
14.08.2018
09:32:33
здесь можно получить представление о проблеме https://build2.org/article/cxx-modules-misconceptions.xhtml

Ilia
14.08.2018
09:33:12

Roman
14.08.2018
09:33:19

Ilia
14.08.2018
09:34:44

Roman
14.08.2018
09:36:21
Интересно, а кто-нибудь знает как это работает в java? когда я пишу import org.mylib что происходит? org.mylib уже должен быть собран в class file к этому моменту? и как система сборки в java понимает в каком порядке классы компилировать?
Наверное она парсит заголовки .java файлов и автоматически строит древо завсисимостей и порядок компиляции?

Google

Aidar
14.08.2018
09:38:05
Дык джаве же пофиг

Anatoly
14.08.2018
09:38:36

Aidar
14.08.2018
09:38:38
Если потом . class подменить и там чегото не будет - свалится в рантайме

Ilia
14.08.2018
09:39:09

Nik
14.08.2018
09:39:48

Roman
14.08.2018
09:39:48

Ilia
14.08.2018
09:39:59

Nik
14.08.2018
09:40:47

Roman
14.08.2018
09:40:59
В C++ сигнатура есть в хедере

Stanislav
14.08.2018
09:41:15

Aidar
14.08.2018
09:41:20
Да там независимо
Потомучто оно ищет сначала . class

Ilia
14.08.2018
09:41:39

Aidar
14.08.2018
09:41:45
А потом если не найдет компилит . java

Roman
14.08.2018
09:41:53

Aidar
14.08.2018
09:42:11
Можешь поиграться с вызовом javac из консоли
Первая лаба в нашем вузике у студентов именно такая

Google

Roman
14.08.2018
09:44:06
Но как я понял в C++ модули так работать не будут. Т.к. в C++ нет стандарта по размещению проектов в файловой системе
Т.е. если в Java понятно где искать, то в C++ модуль может лежать где угодно

Ilia
14.08.2018
09:44:45
Надеюсь, что так

Roman
14.08.2018
09:45:48
А что в этом хорошего? В Java во всех проектах всё одинаково, в С++ в каждом проекте всё по-разному
кто-то любит хедеры в отдельную папочку сложить, кто-то любит .h и cpp вместе, кому-то нравится cpp, кому-то cxx, плохо
половина проекта на CamelCase, половина на snake_case

Дед Пегас
14.08.2018
09:47:37
Camel_Snake

Stanislav
14.08.2018
09:51:59

Побитый
14.08.2018
10:25:55

Roman
14.08.2018
10:26:20
ну модули это как раз шанс поменять
т.к. проектов использующих модули ещё нет

Alexander
14.08.2018
10:26:42

Stanislav
14.08.2018
10:27:06

Alexander
14.08.2018
10:27:20

Stanislav
14.08.2018
10:30:06

Ⱪonstantin
14.08.2018
10:57:32

Andrey
14.08.2018
11:28:13

Roman
14.08.2018
11:28:51
Ну т.е. что-то вроде http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0079r0.pdf мне кажется оптимальным
У меня сложилось впечатление что в комитете пока это мало кому нужно. Но думаю со временем популярность идеи возрастет, т.к. во многих языках она появляется

Andrey
14.08.2018
11:36:13