powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Куда катится C++
25 сообщений из 285, страница 4 из 12
Куда катится C++
    #39292781
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury Или всё-таки у С++ строгая типизация

У С++ и С строгая типизация. Строгая, статическая.
То, что во время исполнения можешь по-разному трактовать участки памяти, это никак не влияет на вид типизации языка, это можно сказать такая суперфича языка -- иметь возможность интерпретировать как угодно просто любые байты памяти.
...
Рейтинг: 0 / 0
Куда катится C++
    #39292935
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему об этом ничего не сказано ни в стандарте ни в книгах BS? Вообще, нигде ничего не сказано однозначно о том, какая типизация у языка С++. Статическая? Это понятно. Но строгая или слабая мне не понятно. Я не нашел даже точного определения данных понятий. Но интуитивно я понимаю это как отсутствие возможностей неявного преобразования между типами явного небезопасного приведения типов
...
Рейтинг: 0 / 0
Куда катится C++
    #39292936
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как отсутствие возможностей неявного преобразования между типами И явного небезопасного приведения типов
...
Рейтинг: 0 / 0
Куда катится C++
    #39292943
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

язык с сильной типизацией - стрелять не годится.
А Ариан-5 без сильной типизации распадется на куски.
Впрочем, он и с сильной типизацией на куски таки распался.

нет у этих терминов хрустальных значений.
Они каучуковые - принимают форму контекста, в котором их пытаются использовать.
...
Рейтинг: 0 / 0
Куда катится C++
    #39292944
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobySashaMercury,

язык с сильной типизацией - стрелять не годится.
А Ариан-5 без сильной типизации распадется на куски.
Впрочем, он и с сильной типизацией на куски таки распался.

нет у этих терминов хрустальных значений.
Они каучуковые - принимают форму контекста, в котором их пытаются использовать.

Если это правда, то разговоры о строгой и слабой типизации языка есть разговоры о пустом месте
...
Рейтинг: 0 / 0
Куда катится C++
    #39293087
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryПочему об этом ничего не сказано ни в стандарте ни в книгах BS? Вообще, нигде ничего не сказано однозначно о том, какая типизация у языка С++. Статическая? Это понятно. Но строгая или слабая мне не понятно. Я не нашел даже точного определения данных понятий. Но интуитивно я понимаю это как отсутствие возможностей неявного преобразования между типами явного небезопасного приведения типов
Саш. Да на что нам эти словесные крючкотворства. Давай подумаем. Как часто нам в коде
нужно было делать кастинг (int64) -> (int) или (double) -> (int). Я не думаю что очень часто
но и без этого жить нельзя. Даункастинг нужно? Нужно. И хоть обложи язык законами и поправками
но программисту-то нужно делать свою работу.

Главное что я, как создатель своего ПО утверждаю, что я могу преобразовать (int64) -> (int)
и в данном алгоритме и я полагаю что все будет нормально.

И наличие строгости или не-строгости языка не влияет на мое решение.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293094
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryboobySashaMercury,

язык с сильной типизацией - стрелять не годится.
А Ариан-5 без сильной типизации распадется на куски.
Впрочем, он и с сильной типизацией на куски таки распался.

нет у этих терминов хрустальных значений.
Они каучуковые - принимают форму контекста, в котором их пытаются использовать.

Если это правда, то разговоры о строгой и слабой типизации языка есть разговоры о пустом месте

можно иногда википедию глянуть.
Там как откровенный мусорные статьи бывают (когда химики и географы про базы данных рассуждают), так и вполне годный.

При типизацию в русской версии +- годный текст.
Для начала - уж точно
https://ru.wikipedia.org/wiki/Сильная_и_слабая_типизация
...
Рейтинг: 0 / 0
Куда катится C++
    #39293208
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonSashaMercuryПочему об этом ничего не сказано ни в стандарте ни в книгах BS? Вообще, нигде ничего не сказано однозначно о том, какая типизация у языка С++. Статическая? Это понятно. Но строгая или слабая мне не понятно. Я не нашел даже точного определения данных понятий. Но интуитивно я понимаю это как отсутствие возможностей неявного преобразования между типами явного небезопасного приведения типов
Саш. Да на что нам эти словесные крючкотворства. Давай подумаем. Как часто нам в коде
нужно было делать кастинг (int64) -> (int) или (double) -> (int). Я не думаю что очень часто
но и без этого жить нельзя. Даункастинг нужно? Нужно. И хоть обложи язык законами и поправками
но программисту-то нужно делать свою работу.

Главное что я, как создатель своего ПО утверждаю, что я могу преобразовать (int64) -> (int)
и в данном алгоритме и я полагаю что все будет нормально.

И наличие строгости или не-строгости языка не влияет на мое решение.

Марк, дело в том, что в случае, если мы наверняка знаем что язык обладает строгой типизацией, то это автоматически даёт нам гарантию отсутствия определенных нежелательных видов поведения и как следствие значительно упрощает разработку. А первоначально я подумал, что Илья обозначил различие между Си и С++ в виде строгой типизации, но видимо я не так его понял.

booby, простите, но информация на той странице мне не понравилось, отсутствуют источники.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293229
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryМарк, дело в том, что в случае, если мы наверняка знаем что язык обладает строгой типизацией, то это автоматически даёт нам гарантию отсутствия определенных нежелательных видов поведения и как следствие значительно упрощает разработку. А первоначально я подумал, что Илья обозначил различие между Си и С++ в виде строгой типизации, но видимо я не так его понял.

Для тех кто которые кодили на Ассемблере вообще таких вопросов не возникает. Для асма типично
что тип данных - это просто призма сквозь которую мы смотрим на сырую memory. К примеру
QWORD можно рассматривать как пару DWORD и также применять к нему либо арифм операцию
класса QWORD либо векторную операцию над двумя WORDS. Или знаковые-беззнаковые типы
как таковые даже не существуют. Это просто семантика операций над регистрами. И сам по себе
cast приобретает другой смысл. Разыменовать кусок памяти для другого типа или слегка преобразовать
raw-data и еще раз разыменовать.

Вобщем я хочу сказать - не парься.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293238
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фундамент любого языка - система типов. Если я не буду понимать фундамент, то никогда не пойму С++. Возможно смогу применять к решению каких-то задач, но это не самое главное. Мне хочется понимать этот язык
...
Рейтинг: 0 / 0
Куда катится C++
    #39293242
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryФундамент любого языка - система типов.
В С++ типы важны только для реализации полиморфизма.
В остальных случаях это просто контроль криворукости программиста.
Скорее штукатурка, а не фундамент
...
Рейтинг: 0 / 0
Куда катится C++
    #39293252
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskySashaMercuryФундамент любого языка - система типов.
В С++ типы важны только для реализации полиморфизма.
В остальных случаях это просто контроль криворукости программиста.
Скорее штукатурка, а не фундамент

Основная причина появления данного языка как нового языка, это появление пользовательских типов данных - классов. Серьезные изменения в системе типов языка привели к появлению нового языка. Разве это не так? Что-же по вашему является фундаментом С++ ?
...
Рейтинг: 0 / 0
Куда катится C++
    #39293294
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryОсновная причина появления данного языка как нового языка, это появление пользовательских типов данных - классов.
Нет, это не причина, а следствие.

SashaMercuryЧто-же по вашему является фундаментом С++ ?
* работа на низком уровне (указатели и тп)
* поддержка ООП в синтаксисе
* автоматизация рутинных действий программиста (RAII, шаблоны, лямбды, исключения)
...
Рейтинг: 0 / 0
Куда катится C++
    #39293343
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskySashaMercuryОсновная причина появления данного языка как нового языка, это появление пользовательских типов данных - классов.
Нет, это не причина, а следствие.

SashaMercuryЧто-же по вашему является фундаментом С++ ?
* работа на низком уровне (указатели и тп)
* поддержка ООП в синтаксисе
* автоматизация рутинных действий программиста (RAII, шаблоны, лямбды, исключения)

мое скромное мнение здесь так стоит:
Это уже не фундамент, а а-ля "операционный скелет" языка.
Фундамент будет тем же самым, что и у Fortran, COBOL и Basic -
императивная модель вычисления, настаивающая на том, что состояние - существенная часть самого вычисления, и поставленная поверх операции присваивания, l-value и r-value.

Из этого фундамента типизация вытягивается клещами в любом полюбившемся направлении.

как-то так.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293410
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryФундамент любого языка - система типов. Если я не буду понимать фундамент, то никогда не пойму С++. Возможно смогу применять к решению каких-то задач, но это не самое главное. Мне хочется понимать этот язык
Фундамент любого здания это то, что скрыто от внешнего наблюдателя\потребителя
В данном случае - это свободный и примитивный язык машинных команд. Хочешь просмотреть "фундамент" С++ - изучай ассемблер

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

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

предметы обихода - это ООП

крыша - это шаблоны

поймёшь ассемблер - увидишь всё как Нео в Матрице
тебе какую таблетку ??? :-)
...
Рейтинг: 0 / 0
Куда катится C++
    #39293435
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskySashaMercuryОсновная причина появления данного языка как нового языка, это появление пользовательских типов данных - классов.
Нет, это не причина, а следствие.


Не очень понял. Рассуждаю так, язык Си развивался, Сообщество программистов требовало перемен(а BS хотел PhD), но эти перемены был настолько серьезны, что было принято решение о создании С++. Язык, в котором на уровне синтаксиса реализована работа с классами, работа с которыми и определило его дальнейшее развитие

Anatoly MoskovskySashaMercuryЧто-же по вашему является фундаментом С++ ?
* работа на низком уровне (указатели и тп)
* поддержка ООП в синтаксисе
* автоматизация рутинных действий программиста (RAII, шаблоны, лямбды, исключения)

Анатолий, но где были бы указатели, если бы система типов языка не подразумевала составные типы, частным случаем которых являются указатели.

Ладно, вы безусловно знаете в разы больше, и я не в коем случае не претендую. Но всё-же мне кажется, эти вопросы очень важны. Меня гонят уже спать(
...
Рейтинг: 0 / 0
Куда катится C++
    #39293447
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryАнатолий, но где были бы указатели, если бы система типов языка не подразумевала составные типы, частным случаем которых являются указатели.
Я не говорю что типы не важны.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293529
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryПочему об этом ничего не сказано ни в стандарте ни в книгах BS? Вообще, нигде ничего не сказано однозначно о том, какая типизация у языка С++. Статическая? Это понятно. Но строгая или слабая мне не понятно.


Потому что эти понятия не очень строго определены.

В С статическая строгая. В С++ то же самое.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293554
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobySashaMercuryпропущено...


Если это правда, то разговоры о строгой и слабой типизации языка есть разговоры о пустом месте

можно иногда википедию глянуть.
Там как откровенный мусорные статьи бывают (когда химики и географы про базы данных рассуждают), так и вполне годный.

При типизацию в русской версии +- годный текст.
Для начала - уж точно
https://ru.wikipedia.org/wiki/Сильная_и_слабая_типизация
Фуфло там написано. Читай хотя бы английский вариант этой же статьи.

Ни разу в жизни не использовал reinterpret_cast, т.к. сишное приведение типа короче при том же результате.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293557
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglboobyпропущено...


можно иногда википедию глянуть.
Там как откровенный мусорные статьи бывают (когда химики и географы про базы данных рассуждают), так и вполне годный.

При типизацию в русской версии +- годный текст.
Для начала - уж точно
https://ru.wikipedia.org/wiki/Сильная_и_слабая_типизация
Фуфло там написано. Читай хотя бы английский вариант этой же статьи.

Ни разу в жизни не использовал reinterpret_cast, т.к. сишное приведение типа короче при том же результате.

Там написаны вполне правильные вещи, кроме того, что в С/С++ слабая типизация.
(Начиная со слов "Например, яркими примерами слабой системы ..." и далее).

P.S. "сишное приведение типа короче при том же результате" -- нет, результат далеко не тот же. Хотя бы reinterpret_cast можно легко искать в тексте программы поиском. Только за это его уже нужно использовать.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293558
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я поясню, почему там написана хрень в отношении С/С++.

Во-первых, потому что их объединяют, а это в принципе неправильно. С++ гораздо более строк с типами.
Во-вторых, потому что рассуждают о reinterpret_cast и им подобных вещах с точки зрения типов данных языка программирования, хотя очевидно, что по сути это -- средства языка, позволяющие оперировать непосредственно байтами памяти, и не имеющие к типам данных почти никакого отношения.

По сути эти средства -- это такой особый встроенный ассемблер, которым если нужно можно напрямую обрабатывать
память любым образом.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293593
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

По степени внятности английская версия
а) не превосходит русскоязычную (это я тебе как бывший писатель на Visual Basic рассказываю)
б) не противоречит русскоязычной текстуально
в) уступает русскоязычной версии в следующих отношениях:
-- англоязычная версия просто упоминает о том, что лучше было бы не использовать эти плохо определенные понятия, заменяя их по месту сходными с устоявшимся смыслом, а русскоязычная, в отличие от, дает представления о времени и контексте, в которых такие и сякие авторы пытались придать этим словам смысл технических терминов. Что дает объемное представление о степени успешности этих попыток.
-- По вышеуказанной причине (давая намек на историю) русская версия дает, имхо, лучшее представление о причинах повторения таких попыток, источниках, заставляющих авторов высказываться в терминах силы и слабости.
Английская версия, не давая даже намека на генезис, может приводить к ошибочному предположению об обычном слабоумии этих самых авторов (т.е., по ходу, ru еще и с большим уважением к существу вопрос описывает, чем en).

SiemarglНи разу в жизни не использовал reinterpret_cast, т.к. сишное приведение типа короче при том же результате.
Ну, прекрасно это, - здорово.
Я reinterpret_cast тоже в жизни ни разу не использовал.
Правда, по другой причине - я ни разу в жизни ни C, ни C++ не использовал
Факт не использования может быть как-то связан с выявлением силы или слабости типизации в этих языках?
...
Рейтинг: 0 / 0
Куда катится C++
    #39293595
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyПравда, по другой причине - я ни разу в жизни ни C, ни C++ не использовал

Анафема! Гнать тебя отсюда!
...
Рейтинг: 0 / 0
Куда катится C++
    #39293603
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
и вам не хворать, а вообще - приятно, что не перевелись еще на свете лыцари, готовые кого-то куда-то гнать.
...
Рейтинг: 0 / 0
Куда катится C++
    #39293610
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

Если не использовал, то твое суждение о тонкостях, увы, бесполезно.
...
Рейтинг: 0 / 0
25 сообщений из 285, страница 4 из 12
Форумы / C++ [игнор отключен] [закрыт для гостей] / Куда катится C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]