Re[3]: Языки, расширяющие язык C (надмножество языка C)
От: Muxa  
Дата: 11.02.22 09:42
Оценка: 6 (1) +2
S>Почему? Пример можно?
enum BOOL {FALSE, TRUE};
typedef int BOOL;

int class;

int main;


C — ok
C++ — compile error
Отредактировано 11.02.2022 10:35 Muxa . Предыдущая версия . Еще …
Отредактировано 11.02.2022 10:30 Muxa . Предыдущая версия .
Языки, расширяющие язык C (надмножество языка C)
От: Shmj Ниоткуда  
Дата: 11.02.22 07:15
Оценка: -3
Вот, тот же C++ включает в себя C, т.е. все что написано на C там будет работать 100% + еще добавляет некие удобные фичи, которыми можно дополнительно выстрелить в ногу.

Вроде еще Objective C похожим образом устроен, но орудий для отстрела ног меньше, что не может не радовать (а кому то наоборот — для ЧСВ хочется чтобы орудий отстрела ног было больше!).

Какие еще есть достойные надмножества C?
Отредактировано 11.02.2022 7:15 Shmj . Предыдущая версия .
Re[3]: Языки, расширяющие язык C (надмножество языка C)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 11.02.22 09:44
Оценка: 6 (1)
Здравствуйте, Shmj, Вы писали:

S>Почему? Пример можно?


Compatibility of C and C++
Re: Языки, расширяющие язык C (надмножество языка C)
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.02.22 08:25
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Вот, тот же C++ включает в себя C, т.е. все что написано на C там будет работать 100% + еще добавляет некие удобные фичи, которыми можно дополнительно выстрелить в ногу.


Даже чистый C эволюционирует в несовместимую с собой сторону. Причем в очень тонких местах. То, что раньше формально считалось UB, но все знали, как оно работает и пользовались, теперь на самом деле становится UB и развязывает компилятору руки молча генерировать в качестве выходного кода любую чушь.
Re: Языки, расширяющие язык C (надмножество языка C)
От: LaptevVV Россия  
Дата: 11.02.22 08:33
Оценка: +1
S>Вот, тот же C++ включает в себя C, т.е. все что написано на C там будет работать 100% + еще добавляет некие удобные фичи, которыми можно дополнительно выстрелить в ногу.
Нет, новые стандарты С и С++ разводят эти языки все дальше.
Например, в С11 есть массивы переменной длины, а в С++, хоть тресни, не припомню такой синтаксической конструкции.
Хотя gcc ее поддерживает. А вот компилер студии — нет (или да? )
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Языки, расширяющие язык C (надмножество языка C)
От: ononim  
Дата: 11.02.22 09:43
Оценка: +1
S>Почему? Пример можно?
    char *foo = malloc(123);
Как много веселых ребят, и все делают велосипед...
Re: Языки, расширяющие язык C (надмножество языка C)
От: Carc Россия https://vk.com/gosha_mazov
Дата: 11.02.22 07:43
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Какие еще есть достойные надмножества C?

Go
Aml Pages Home
Re[2]: Языки, расширяющие язык C (надмножество языка C)
От: Shmj Ниоткуда  
Дата: 11.02.22 08:57
Оценка:
Здравствуйте, Carc, Вы писали:

S>>Какие еще есть достойные надмножества C?

C>Go

Точно ли? Разве C-программы являются валидными Go-программами?
Re: Языки, расширяющие язык C (надмножество языка C)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 11.02.22 09:26
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот, тот же C++ включает в себя C, т.е. все что написано на C там будет работать 100%


Не будет.
Re[2]: Языки, расширяющие язык C (надмножество языка C)
От: Shmj Ниоткуда  
Дата: 11.02.22 09:34
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

S>>Вот, тот же C++ включает в себя C, т.е. все что написано на C там будет работать 100%

ЕМ>Не будет.

Почему? Пример можно?
Отредактировано 11.02.2022 9:35 Shmj . Предыдущая версия .
Re[2]: Языки, расширяющие язык C (надмножество языка C)
От: Shmj Ниоткуда  
Дата: 11.02.22 09:39
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Хотя gcc ее поддерживает. А вот компилер студии — нет (или да? )


Идея вроде бы такая — что все написанное на C валидно с т.з. C++. Если пока не поддерживает компиллер — то это временно по идее.
Re[3]: Языки, расширяющие язык C (надмножество языка C)
От: LaptevVV Россия  
Дата: 11.02.22 12:06
Оценка:
LVV>>Хотя gcc ее поддерживает. А вот компилер студии — нет (или да? )
S>Идея вроде бы такая — что все написанное на C валидно с т.з. C++. Если пока не поддерживает компиллер — то это временно по идее.
Нет. В стандарте С++ такого не припомню.
Там обычные массивы — они как в С, и динамические — через new().
А вот таких как в С — нету.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Языки, расширяющие язык C (надмножество языка C)
От: awkravchuk  
Дата: 12.02.22 07:40
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Нет. В стандарте С++ такого не припомню.

LVV>Там обычные массивы — они как в С, и динамические — через new().
LVV>А вот таких как в С — нету.

Да что вы говорите. https://godbolt.org/z/MnEGha3Yb
Re[5]: Языки, расширяющие язык C (надмножество языка C)
От: LaptevVV Россия  
Дата: 12.02.22 09:37
Оценка:
LVV>>Нет. В стандарте С++ такого не припомню.
LVV>>Там обычные массивы — они как в С, и динамические — через new().
LVV>>А вот таких как в С — нету.
A>Да что вы говорите. https://godbolt.org/z/MnEGha3Yb
А прочитать?
Компилятор реализует, но это не значит, что есть в стандарте.
И не всякий компилятор реализует.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Языки, расширяющие язык C (надмножество языка C)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 12.02.22 09:42
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Компилятор реализует, но это не значит, что есть в стандарте.


Насколько я знаю, в стандартах C (за исключением, может, самых современных) динамических массивов тоже нет.
Отредактировано 12.02.2022 9:42 Евгений Музыченко . Предыдущая версия .
Re[7]: Языки, расширяющие язык C (надмножество языка C)
От: LaptevVV Россия  
Дата: 12.02.22 09:52
Оценка:
LVV>>Компилятор реализует, но это не значит, что есть в стандарте.
ЕМ>Насколько я знаю, в стандартах C (за исключением, может, самых современных) динамических массивов тоже нет.
Да вроде в С11 есть.
У меня книжка Дейтела по программированию на С11.
Дейтел обычно стандартов придерживается в своих книжек.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Языки, расширяющие язык C (надмножество языка C)
От: vsb Казахстан  
Дата: 12.02.22 10:03
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Например, в С11 есть массивы переменной длины, а в С++, хоть тресни, не припомню такой синтаксической конструкции.


Насколько я знаю, это опциональная фича согласно стандарта. Т.е. использовать её не рекомендуется.
Re: Языки, расширяющие язык C (надмножество языка C)
От: AleksandrN Россия  
Дата: 12.02.22 22:11
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Какие еще есть достойные надмножества C?


В вики перечислены диалекты Cyclone, Unified Parallel C, Split-C, Cilk, C*
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.