Каким должен быть С++?
, Ваше мнение
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [18.97.14.88] |
|
|
Правила раздела:
| Страницы: (6) [1] 2 3 ... 5 6 все ( Перейти к последнему сообщению ) |
Каким должен быть С++?
, Ваше мнение
|
Сообщ.
#1
,
|
|
|
|
1. Недавно прочитал мнение о том, что this должен быть ссылкой, а не указателем.
2. Давно читал о том, что оператор "->" можно ( нужно ) заменить на ".". 3. От себя добавлю, что конструкции struct и class во многом совпадают, поэтому можно либо что-то из них убрать, либо сделать их более разными ( например, запретить в struct функции-члены ). Я думаю, что лучше оставить один class. А ещё лучше заменить его на type. Что ещё можно поменять? |
|
Сообщ.
#2
,
|
|
|
|
Для начала стоит взглянуть на D. Может быть все уже убрано до нас.
|
|
Сообщ.
#3
,
|
|
|
|
Совместимым с C++1x
|
|
Сообщ.
#4
,
|
|
|
|
Цитата prografix @ Что ещё можно поменять? Ничего из вышеперечисленного. Нет обратной совместимости. |
|
Сообщ.
#5
,
|
|
|
|
Цитата Нет обратной совместимости. Наверно надо было указать в первом сообщении, что совместимость нужно игнорировать. |
|
Сообщ.
#6
,
|
|
|
|
Цитата prografix @ Наверно надо было указать в первом сообщении, что совместимость нужно игнорировать. Тогда это будет не С++, а какой-нить E или какие там буквы остались еще свободны? |
|
Сообщ.
#7
,
|
|
|
|
Вот так D и получился.
|
|
Сообщ.
#8
,
|
|
|
|
Все три известных мне улучшения С++ ( Java, C#, D ) на мой взгляд оказались ухудшенными вариантами С++. Хотя по идее там должны быть и удачные изменения. Какие? Сам я давно смотрел эти языки, деталей не помню.
|
|
Сообщ.
#9
,
|
|
|
|
Java и C# никогда не позиционировались как «улучшенный C++».
|
|
Сообщ.
#10
,
|
|
|
|
Цитата prografix @ Думаю, что очень важна хорошая/удобная визуализация. Примеры:Что ещё можно поменять? 1.Вместо писанины y = sqrt(x) мы бы видели рисования корня над 'x' и далее, если надо. 2.Чтобы в записи "y = ++p[i];" был понятен=виден порядок действий. 3.Всякие goto рисовались бы полукруглыми путём со стрелками, если недалеко ведут. 4.Чтобы в for'е можно было написать: "for(a=0, int i=2; i<9; a++)" 5.Чтобы можно было: a[2..4] = {7,1,-5}; Ну или как-то так. 6.Чтобы неравенство можно было рисовать значком уникода ≠, а не городить непонятное многим "!=". |
|
Сообщ.
#11
,
|
|
|
|
Славян, пп.4,5 поддерживаю. Хотя в п.4 имеется некоторая неоднозначность. Как понимать такую запись?
![]() ![]() for (int i = 0, j = 10; i < j; ++i) А остальное можно средствами среды организовать. |
|
Сообщ.
#12
,
|
|
|
|
Цитата Славян @ Вместо писанины y = sqrt(x) мы бы видели рисования корня над 'x' и далее, если надо. Цитата Славян @ .Всякие goto рисовались бы полукруглыми путём со стрелками, если недалеко ведут. Цитата Славян @ Чтобы неравенство можно было рисовать значком уникода ≠, а не городить непонятное многим "!=". И как ты себе представляешь редактирование такого файла? Добавлено Цитата amk @ Кстати, а сейчас так писать можно? Можно, объявляются обе. |
|
Сообщ.
#13
,
|
|
|
|
Славян, тут язык обсуждают вообще-то.
amk, обе. Имя типа делает первое выражение заголовка for() определением, поэтому , интерпретируется как разделитель определяемых сущностей, а не как операция ,. |
|
Сообщ.
#14
,
|
|
|
|
Тогда пункт 4 будет противоречить существующему синтаксису. А вот групповое присваивание не помешало бы. И может присваивание части массива. Привык уже в питоне без временных переменных обходиться:
![]() ![]() a, b = b, a # Обмен значениями a, b = b + a, a # при вычислении чисел Фибоначчи a, b = b, a%b # алгоритм Эвклида x, y = x*c - y*s, y*c + x*s # поворот вектора |
|
Сообщ.
#15
,
|
|
|
|
Цитата Qraizer @ Извините. Возможно, я как-то по-своему, по-детски понял первое сообщение. Славян, тут язык обсуждают вообще-то. |