Гость
Форумы / C++ [игнор отключен] [закрыт для гостей] / C vs C++ - философские рассуждения / 11 сообщений из 11, страница 1 из 1
08.12.2020, 17:22
    #40025694
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
Очень милая статья рассуждающая о C vs C++ с философско-социальной точки зрения.

https://cor3ntin.github.io/posts/c/?fbclid=IwAR32tYcUVbDPT769des1m3nJTrXE9dGbcn5t7bPascEme3YK0fdCnVp5_LI

Несколько цитат оттуда, которые кажутся мне наиболее значимыми.

C trusts developers while C++ trusts compilers


The C landscape is also rather different from the C++ landscape. C caters to more platforms and a lot more compilers. Everybody and their dog is writing C compilers because the language has a surface area small enough to make that possible, whereas the C++ committee will only really consider 4 implementations, all of which are represented at every meeting. As a result, many features in C are implementation-defined or optionally supported so that the variety of compilers that exist can claim conformance without doing much work, which I’m told pleases regulatory bodies.


C++ these days is more interested in portability than implementation freedom.


If you are a C developer, I imagine you see C as a neat programming language. But for the rest of us, C is something else.
C is the universal, cross-language glue that ties it all together.
...
We care about declarations. Not definitions. C++ wants to call functions in C libraries (or Python, Fortran, Rust, D, Java, etc, in all cases C can be used at the interface boundary).
In that light, C is an interface definition language. The more bells and whistles are added to C, the harder it gets to define interfaces. And the less likely it is that these interfaces will remain stable over time.
...
Рейтинг: 0 / 0
09.12.2020, 00:46
    #40025823
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
Сложно комментировать все сразу. Давайте как-то по пунктам.

C trusts developers while C++ trusts compilers
C доверяет разработчикам, в то время как С++ доверяет компилляторам.
Хм... смысловой перевод немного может быть другой. Я-бы предложил
С доверяется разработчикам...

Да. Простая истина. Если С - это portable assembler, то так оно и должно быть.
...
Рейтинг: 0 / 0
09.12.2020, 01:23
    #40025828
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
mayton
Сложно комментировать все сразу. Давайте как-то по пунктам.

C trusts developers while C++ trusts compilers

C доверяет разработчикам, в то время как С++ доверяет компилляторам.
Хм... смысловой перевод немного может быть другой. Я-бы предложил
С доверяется разработчикам... Ну вообще-то, именно "доверяет". Прямая форма глагола, а не возвратная :) "доверяться кому-то" будет "trust oneself in someone".

И я совершенно согласен с этим утверждением. Как явные примеры:
- Передача void указателей в Си. Я (программист) знаю что там скрывается под void и компилятор мне верит. Если я ошибся - ну опаньки, или GPF или какая-нибудь плавающая ошибка. Но компилятор возбухать не будет.
- auto в С++. Вот сказано в документации что функция foo вернет vector<T> значит auto v=foo() будет вектором, а какие конкретно T в этом векторе хранятся - компилятор знает, он умный, а мне (программисту) сейчас не до того, я тут алгоритм для массив разрабатываю...

mayton
Да. Простая истина. Если С - это portable assembler, то так оно и должно быть.
Автор тоже прямо говорит в статье: "But C is proudly a low-level language. A nicer assembly." Мне, это кажется не совсем верным, от ассемблера мы ушли очень далеко. И в качестве "nicer assemly", лично я вижу C--, хоть он и не особо "portable" (собственно говоря я встречал только две имплементации, одна для Z80, другая для i8086, а потом его вроде как забросили). Но с другой стороны, знание ассемблера чрезвычайно помогает в Си. Та-же адресная арифметика, отличие стека от кучи - это не просто что-то такое что надо заучить или понять, а совершенно естественная вещь которая просто... естественна! Лично я, уже имея в запасе два с половиной ассемблера до прихода в Си, просто не понимал что может быть сложного в указателях. Они же совершенно элементарны, а тут люди их учат-учат... странные такие.
...
Рейтинг: 0 / 0
09.12.2020, 01:35
    #40025830
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
А как-бы ты это перевел?

Everybody and their dog is writing C compilers...
Насчет собак. Это устойчивое выражение или поговорка?
...
Рейтинг: 0 / 0
09.12.2020, 03:10
    #40025839
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
mayton
А как-бы ты это перевел?

Everybody and their dog is writing C compilers...

Насчет собак. Это устойчивое выражение или поговорка?ээээ.... это оффтопик.
Но, да, это устойчивое выражение, смысл: "все, совсем все". Этимологию не скажу, но встречается это выражение не так чтоб уж редко.
...
Рейтинг: 0 / 0
09.12.2020, 09:52
    #40025872
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
Типа нашего "каждая собака" [знает]...
...
Рейтинг: 0 / 0
09.12.2020, 10:47
    #40025879
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
White Owl
Лично я, уже имея в запасе два с половиной ассемблера до прихода в Си, просто не понимал что может быть сложного в указателях. Они же совершенно элементарны, а тут люди их учат-учат... странные такие.
+1, тоже никогда таких не понимал
...
Рейтинг: 0 / 0
09.12.2020, 11:06
    #40025883
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
White Owl
просто не понимал что может быть сложного в указателях.
ну, во первых, в IT идёт автоматизация. Во вторых, смециализация.
Кому нравится работа с памятью, тому сложно автоматизировать бизнес процессы (прикладник).
Вот и делятся на узких специалистов и языки.
В java. происходит тоже самое. Перестали код писать. Ставят только аннотации значки над методами.
...
Рейтинг: 0 / 0
09.12.2020, 11:53
    #40025894
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
Да этому бреду уже 100 лет в обед В смысле не этой конкретной статье, а вот этому нытью неосиляторов.
смысла ноль.
...
Рейтинг: 0 / 0
09.12.2020, 12:53
    #40025909
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
MasterZiv
неосиляторов
полез смотреть термин.... Смешно)))))
...
Рейтинг: 0 / 0
10.12.2020, 01:08
    #40026200
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C vs C++ - философские рассуждения
White Owl,

статья-пустышка, вроде статеек и книжек Спольски Джоэла.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / C vs C++ - философские рассуждения / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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