LINUX.ORG.RU

Семантически и синтаксически корректное изложение C++

 , ,


0

3

Так случилось, что последние несколько дней пришлось посмотреть различные видео с лекциями по C++ (все лекторы с нехилыми регалиями и чью компетенцию не ставлю под сомнение), почитать статьи по теме. А сегодня ещё почитал треды, где обсуждается новый стандарт.

В связи с этим возник простой запрос. Хотелось бы узнать о существовании русскоязычного автора/лектора, который бы:

  • (самое главное!) осознавал и проговаривал отличие C++ от STL (и стандартов);
  • при объяснении директивы include не употреблял словосочетание "подключение библиотеки";
  • не называл операцию «=», как и арифметические операции, "операторами";

P.S.

блог/сайт (анонимный или со многими авторами) с аналогичным подходом также сойдет

UPD.

убрал в 3 пункте слово «прочие» перед «арифметические операции» - классификация операции присваивания (пусть и ошибочная) не имеет отношения к теме.

Ответ на: комментарий от Edward_I

А волюнтаристские приписки библиотек написанных на ЯП к самому ЯП - это не является корректным отражением реальности, как мне кажется.

Это является корректным отражением стандарта языка, начиная с 98-го года

annulen ★★★★★ ()
Ответ на: комментарий от Ivan_qrt

Не забудь ещё вывести отличие С++ от классов. Они ведь тоже могут быть написаны на С++ и можно написать программу без них

Возможность писать без std:: всё-таки является доказательством моего тезиса, хотя и не достаточным (не спорю). Но от этого он не становится ложным. А выводимость с необходимостью следует из ЯП на котором написана STL.

Edward_I ()
Ответ на: комментарий от annulen

А волюнтаристские приписки библиотек написанных на ЯП к самому ЯП - это не является корректным отражением реальности, как мне кажется.

Это является корректным отражением стандарта языка, начиная с 98-го года

"Миллион мух не могут ошибаться". Я не согласен со стандартизаторами. Всё что написано на ЯП не может быть, не должно рассматриваться как часть ЯП. Простая логика.

Edward_I ()
Ответ на: комментарий от Edward_I

Я не согласен со стандартизаторами

Тогда ты программируешь на каком-то своем языке

annulen ★★★★★ ()
Ответ на: комментарий от Edward_I

Не знаю как вы, а я отделяю человека от его органов.

Херург штоле?

А волюнтаристские приписки библиотек написанных на ЯП к самому ЯП - это не является корректным отражением реальности, как мне кажется.

В стандарте написано, что STL — часть языка. Значит, это часть языка. Что непонятно?

hateyoufeel ★★★★★ ()
Ответ на: комментарий от Edward_I

Всё что написано на ЯП не может быть, не должно рассматриваться как часть ЯП. Простая логика.

Это испорченная логика. Например язык (абстрактный) предоставляет тебе тип «строка». Тебе какая разница, как она реализована, на этом же языке или специальным кодом в компиляторе?

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

filosofia ()

JFYI, STL - это название старой библиотеки, которая стала частью C++ Standard Library.

Язык от стандартной библиотеки неотделим, например, оператор typeid возвращает значение типа std::type_info, nullptr имеет тип std::nullptr_t.

Begemoth ★★★★★ ()

Так случилось, что последние несколько дней пришлось посмотреть различные видео с лекциями по C++

заставили?

все лекторы с нехилыми регалиями и чью компетенцию не ставлю под сомнение

спецыолисты уяндэкса? у меня для тебя плохие новости, иди книжку почитай

Хотелось бы узнать о существовании русскоязычного

не бывает, учи язык

luntik2012 ()

не называл операцию «=», как и арифметические операции, «операторами»;

Что такое в терминах C++ я не знаю. А в терминах английского языка, «operator» должно переводится на русский как «операция».

Определение слова operator: https://www.oxfordlearnersdictionaries.com/definition/english/operator

Там видим определение:

(mathematics) a symbol or function which represents an operation in mathematics

которое не подпадать под определение операции:

a process in which a number or quantity is changed by adding, multiplying, etc.

Int64 ★★★ ()
Ответ на: комментарий от Edward_I

Всё что написано на ЯП не может быть, не должно рассматриваться как часть ЯП. Простая логика.

бедные-бедные lisp`еры :-) их любимый язык можно поместить в один коммент, а всё прочее тлен и суета сует.

MKuznetsov ★★★★★ ()
Ответ на: комментарий от Begemoth

nullptr имеет тип std::nullptr_t

Наоборот.

https://timsong-cpp.github.io/cppwp/n4659/support.types.nullptr#1

The type nullptr_­t is a synonym for the type of a nullptr expression

utf8nowhere ★★ ()
Ответ на: комментарий от Edward_I

Не знаю как вы, а я отделяю человека от его органов.

Отдели себя от своего мозга :) Ну или мозг от себя. Хотя...

а я отделяю человека от его органов

Ты уже что ли?

slackwarrior ★★★★★ ()

слишком большие требования…

kunden ()
Ответ на: комментарий от Edward_I

операция присваивания является операцией над данными и не является оператором C++?

Тебе уже отвелили раза два или три, я добавлю четвёртый - тут ты обосрался, и оператор «=» в С++ является точно таким же оператором как и оператор «+».

А в терминах английского языка, «operator» должно переводится на русский как «операция».

Нет, не должно. В технической литературе используют специальные термины. Принятая в русском языке терминология используется со времён публикации перевода второго издания «The C Programming Language» (1988, ISBN-13: 978-0131103627, ISBN-10: 0131103628) на русский язык - «Язык программирования Си». — Москва: Финансы и статистика, 1992. — 272 с. — ISBN 5-279-00473-1.

P.S.

Хотелось бы узнать о существовании русскоязычного автора/лектора, который бы:

Это не возможно. Задача лектора сделать из «нуля» кого-то, кто может подправить «hello world», за минимальное время. Задача в такой формулировке позволяет покрыть максимально возможную аудиторию.

LamerOk ★★★★★ ()
Ответ на: комментарий от luntik2012

спецыолисты уяндэкса? у меня для тебя плохие новости,

В том числе.

иди книжку почитай

Уже. Потому и возникли вопросы.

Edward_I ()
Ответ на: комментарий от LamerOk

и оператор «=» в С++ является точно таким же оператором как и оператор «+».

Нет.

В технической литературе используют специальные термины. Принятая в русском языке терминология используется со времён публикации перевода второго издания «The C Programming Language»

Кем принятая? Точно не всеми. Например, из последних трёх книг, которые открывал - Страуструпа , Лукаса (из AT&T, переведена в 1993) и одного русскоязычного автора (совсем свежее переиздание) - везде говорится об операциях. Про то, что кто-то это называет операторами узнал после просмотра пары-тройки видео на youtube и чтения комментов на ЛОРе и Хабре. Т.о. пока что мой опыт чтения технической литературы говорит об обратном.

Edward_I ()
Ответ на: комментарий от LamerOk

Задача лектора сделать из «нуля» кого-то, кто может подправить «hello world», за минимальное время. Задача в такой формулировке позволяет покрыть максимально возможную аудиторию.

Большая часть просмотренного видео - это лекции из семестровых курсов/спец.курсов, прочитанных в лучших (какие есть) тех.вузах/факультетах страны, специалистами из лучших (тут конечно можно поспорить) IT-компаний. Я не смотрел видео-ролики из серии "выучи C++ за 2 часа и устройся джуном". Я просто рассчитывал на минимальную академическую строгость.

Edward_I ()
Ответ на: комментарий от Edward_I

Нет.

Шизика ответ.

Я просто рассчитывал на минимальную академическую строгость.

Как ты можешь на неё рассчитывать, если споришь с терминологией? Если ты отрицающий реальность шизик, у тебя нулевые шансы найти соседей по палате.

LamerOk ★★★★★ ()
Ответ на: комментарий от Edward_I

Я не согласен со стандартизаторами.

просто рассчитывал на минимальную академическую строгость.

Это так не работает =)

LINUX-ORG-RU ()
Ответ на: комментарий от LINUX-ORG-RU

Это так не работает =)

Возможно слово «академическая» у меня лишнее.
Впрочем это касается только первого пункта.

Edward_I ()
Ответ на: комментарий от eternal_sorrow

Почему один вариант более верный чем другой?

По критерию «верности». Он более верный, потому что более точный, более подходит по смыслу.

В русском языке, процесс вычисления значения выражения - это операция над членами выражения, а не оператор.

Edward_I ()
Ответ на: комментарий от Edward_I

Это оператор для выполнения операции.

Вот я был на работе оператором тесторазделочных машин для выполнения операции разделения теста по весу на полуфабрикаты из которых далее формовались хлебобулочные изделия.

То есть оператор это символ = который в данном контексте его применения делает операцию. Его же кратко можно назвать просто операцией. Так что говорить что = это операция это более не строго чем называть его оператором. Тоже самое и с +/-/* и остальное это операторы для которые обозначают операцию.

И вообще весь это формулизм до добра не доведёт. Языки это просто выдумка и логики там ровно столько сколько от желания левой пятки архитектора языка он туда вложил. Операторы я в своём языке могу назвать бананчики. =)

LINUX-ORG-RU ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ограничение на отправку комментариев: только для зарегистрированных пользователей