The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Утверждён стандарт C++20, opennews (?), 07-Сен-20, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


9. "Утверждён стандарт C++20"  +3 +/
Сообщение от anonimm (?), 07-Сен-20, 09:53 
Что вам мешает писать код, ограничиваясь старыми возможностями? А многие из нововведений c++-профессионалы долго ждали.
Ответить | Правка | Наверх | Cообщить модератору

15. "Утверждён стандарт C++20"  –12 +/
Сообщение от Sw00p aka Jerom (?), 07-Сен-20, 10:09 
Как же они долго ждут динамической типизации :)
Ответить | Правка | Наверх | Cообщить модератору

87. "Утверждён стандарт C++20"  +2 +/
Сообщение от Аноним (87), 07-Сен-20, 12:38 
В компилируемом языке?
Ответить | Правка | Наверх | Cообщить модератору

179. "Утверждён стандарт C++20"  +/
Сообщение от коржик (?), 07-Сен-20, 19:19 
в c# dynamic есть. Вижу крайне редко, чтобы кто-то пользовался
Ответить | Правка | Наверх | Cообщить модератору

204. "Утверждён стандарт C++20"  –4 +/
Сообщение от bOOster (ok), 07-Сен-20, 21:25 
С шарп компилируемый язык!? Издеваешься чтоли? То что является кодом для виртуальной машины - компиляцией называться не может. Это интерпретатор.
Для тех кто в танке.
Ответить | Правка | Наверх | Cообщить модератору

207. "Утверждён стандарт C++20"  +/
Сообщение от Sw00p aka Jerom (?), 07-Сен-20, 21:29 
> Для тех кто в танке.

забыли про рантайм, а шаблоны в ц++ что это?


Ответить | Правка | Наверх | Cообщить модератору

209. "Утверждён стандарт C++20"  +/
Сообщение от bOOster (ok), 07-Сен-20, 21:35 
>> Для тех кто в танке.
> забыли про рантайм, а шаблоны в ц++ что это?

Это не аналог Си шарп и Java

Ответить | Правка | Наверх | Cообщить модератору

214. "Утверждён стандарт C++20"  +/
Сообщение от Sw00p aka Jerom (?), 07-Сен-20, 21:55 
> Это не аналог Си шарп и Java

не С#, не Java - не исполняют программу читая построчно исходный код (ака интерпретация)


Ответить | Правка | Наверх | Cообщить модератору

240. "Утверждён стандарт C++20"  +/
Сообщение от daemontux (?), 08-Сен-20, 04:49 
Вопрос не в этом.
Сможете запустить прогу на Java, без самой явы? На компилируемом языке сам компилятор не нужен ля запуска.
Ответить | Правка | Наверх | Cообщить модератору

256. "Утверждён стандарт C++20"  –1 +/
Сообщение от alex312 (?), 08-Сен-20, 10:21 
вопрос в том, что ты придумал себе определение и квакаешь.

Ознакосься, для начала, с википедией https://ru.wikipedia.org/wiki/%D0%9A%D0%...

Ответить | Правка | Наверх | Cообщить модератору

267. "Утверждён стандарт C++20"  –1 +/
Сообщение от Sw00p aka Jerom (?), 08-Сен-20, 11:59 
> Ознакосься, для начала, с википедией https://ru.wikipedia.org/wiki/%D0%9A%D0%...

продублирую и вам "моё" определение

В исполнение инструкций тем же ЦП это что? Зачем путать понятия процесса исполнения с процессом подготовки к исполнению? Интерпретация - это процесс исполнения, компиляция - процесс подготовки к исполнению. Отсюда сам по себе исходный код джава прогрыммы не готов к исполнению, а вот тот же питоновский код - готов к исполнению посредством его интерпретации. И говоря о ЯП - говорят об иго исходном коде, а не промежуточных состояниях (байткодах, биткодах и тд).

> вопрос в том, что ты придумал себе определение и квакаешь.

ква, ква и не вижу от вас опровержения истинности моих определений.

Ответить | Правка | Наверх | Cообщить модератору

269. "Утверждён стандарт C++20"  +/
Сообщение от alex312 (?), 08-Сен-20, 12:27 
>Сможете запустить прогу на Java, без самой явы?

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

И то что компилятор Явы компилирует в инструкции виртуальной машины Явы не делает его менее компилятором чем clang, который компилирует в LLVM IL.

Ответить | Правка | К родителю #267 | Наверх | Cообщить модератору

244. "Утверждён стандарт C++20"  +1 +/
Сообщение от bOOster (ok), 08-Сен-20, 07:20 
>> Это не аналог Си шарп и Java
> не С#, не Java - не исполняют программу читая построчно исходный код
> (ака интерпретация)

А выполнение ПРОМЕЖУТОЧНОГО кода ПОБАЙТОВО виртуальной машиной это не интерпретация?

Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

257. "Утверждён стандарт C++20"  +/
Сообщение от alex312 (?), 08-Сен-20, 10:23 
НЕТ.
Ответить | Правка | Наверх | Cообщить модератору

266. "Утверждён стандарт C++20"  +/
Сообщение от Sw00p aka Jerom (?), 08-Сен-20, 11:55 
> А выполнение ПРОМЕЖУТОЧНОГО кода ПОБАЙТОВО виртуальной машиной это не интерпретация?

В исполнение инструкций тем же ЦП это что? Зачем путать понятия процесса исполнения с процессом подготовки к исполнению? Интерпретация - это процесс исполнения, компиляция - процесс подготовки к исполнению. Отсюда сам по себе исходный код джава прогрыммы не готов к исполнению, а вот тот же питоновский код - готов к исполнению посредством его интерпретации. И говоря о ЯП - говорят об иго исходном коде, а не промежуточных состояниях (байткодах, биткодах и тд).


Ответить | Правка | К родителю #244 | Наверх | Cообщить модератору

312. "Утверждён стандарт C++20"  +/
Сообщение от Онаним (?), 09-Сен-20, 09:50 
Там между сциллой и харибдой. JIT, который на ходу транслирует промежуточное представление в то, что исполнит конкретный проц.
Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

239. "Утверждён стандарт C++20"  +/
Сообщение от Кайф (?), 08-Сен-20, 04:23 
Шаблоны компилятся в машинный код
Ответить | Правка | К родителю #207 | Наверх | Cообщить модератору

268. "Утверждён стандарт C++20"  +/
Сообщение от Sw00p aka Jerom (?), 08-Сен-20, 12:02 
> Шаблоны компилятся в машинный код

когда я упомянул шаблоны, не шла речь о компиляциях и тд., речь изначально шла о типизации, и спрашиваю, что есть шаблоны в ц++ с точки зрения типизации?

Ответить | Правка | Наверх | Cообщить модератору

215. "Утверждён стандарт C++20"  –1 +/
Сообщение от maximnik0 (?), 07-Сен-20, 21:58 
>С шарп компилируемый язык!?

Вики утверждает что стандарт на язык придусматривает и возможность компилируемого варианта создания приложения.По крайне мере в LLVM и Mono такие возможность предостовляют для некоторых платформ,правда разиер от  80 мгб приложения ....некого не удивит сейчас простой калькулятор столько же весит.

Ответить | Правка | К родителю #204 | Наверх | Cообщить модератору

249. "Утверждён стандарт C++20"  +/
Сообщение от bOOster (ok), 08-Сен-20, 07:43 
>>С шарп компилируемый язык!?
> Вики утверждает что стандарт на язык придусматривает и возможность компилируемого варианта
> создания приложения.По крайне мере в LLVM и Mono такие возможность предостовляют
> для некоторых платформ,правда разиер от  80 мгб приложения ....некого не
> удивит сейчас простой калькулятор столько же весит.

Что чушь, а не компиляция. Включение в состав приложения виртуальной машины в промежуточном коде LLVM. А суть остается той-же. Интерпретация промежуточного кода при выполнении. Компилированные приложения не нуждаются в дополнительных средствах выполнения. Код готов для выполнения на процессоре целевой платформы.
А LLVM это компилятор уровня исполнения в данном случае. C шарп это инвалид, который при первом запуске транслирует промежуточный код своей виртуальной машины посредством LLVM в код целевой платформы, а потом выполняет интерпретацию промежуточного кода самого приложения.

И я бы тебе настоятельно рекомендовал изучать технические спецификации и документацию прежде чем это приводить в пример, а не читать википедию во всем что касается программирования и языков программирования.

Ответить | Правка | Наверх | Cообщить модератору

270. "Утверждён стандарт C++20"  +/
Сообщение от maximnik0 (?), 08-Сен-20, 12:40 
>А суть остается той-же.

Хорошо а что там с mono,старых версий ?Я помню по диску LinuxFormat -ряд приложений статически скомпилировано  без всякой виртуальных машин....
Правда там модель памяти и безопасности  была unsafe (если в терминологии не ошибаюсь).....Все статически скомпилировано под определенную платформу, правда подало как бы не чаще ,в качестве графической обертки использовался  GTK# .

Ответить | Правка | Наверх | Cообщить модератору

279. "Утверждён стандарт C++20"  +/
Сообщение от Аноним (279), 08-Сен-20, 15:00 
В танке тут ты.

Любые ООП языки не компилируются в машинных код. Нету в компьютерах никаких классов (там структуры), событий (там конечные автоматы) и т.д. "Компиляторы" ООП языков состоят из двух частей. Сначала они генерируют промежуточный байткод, переделывая объяекты, шаблоны и прочий неестественное для железа синтаксический сахар внутрь структурного байткода. Далее есть варианты
1. Гонять байткод как есть внутри виртуальной машины
2. Компилирровать налету в зависимости от имеющегося рантайма
3. Компилировать нативно.

С++ отличается от Java и С# тем, что С++ не имеет никакой стандартизации байткода, несовместим сам собой в рамках платформы при смене компилятора даже в рамках одной платформы, а кроссплатформенные библиотеки на С++ это Ад и Израиль. В остальном это то же самое.

Ничего не мешает скомпилировать IL, который нагенерил .NET в машинный код. Были среды для этого. Та же Unity (игровой движок) это делала сто лет назад. У самого MS есть .NET Native https://docs.microsoft.com/en-us/dotnet/framework/net-native/ Оно пока только с таргетом под UWP, но обещают расширить количество платформ в будущем.

В MSVC, кстати, С1-компилятор можно заменить на clang, чтобы вместо LLVM генерировался нативный код.

Интерпретатор - компилятор... тьфу. Это форум в Интернете, а не контрольная по информатике. Вон есть Python. Тоже такой ООП-язык. И вон он CPython, который работает так же как .NET по умолчанию. И есть PyPy который тебе и в нативный код тебе соберёт.

Причем тут язык-то?!

Ответить | Правка | К родителю #204 | Наверх | Cообщить модератору

285. "Утверждён стандарт C++20"  –2 +/
Сообщение от bOOster (ok), 08-Сен-20, 17:04 
>[оверквотинг удален]
> лет назад. У самого MS есть .NET Native https://docs.microsoft.com/en-us/dotnet/framework/net-native/
> Оно пока только с таргетом под UWP, но обещают расширить количество
> платформ в будущем.
> В MSVC, кстати, С1-компилятор можно заменить на clang, чтобы вместо LLVM генерировался
> нативный код.
> Интерпретатор - компилятор... тьфу. Это форум в Интернете, а не контрольная по
> информатике. Вон есть Python. Тоже такой ООП-язык. И вон он CPython,
> который работает так же как .NET по умолчанию. И есть PyPy
> который тебе и в нативный код тебе соберёт.
> Причем тут язык-то?!

Ты прав относительно JAVA, C шарп.
А вот относительно C++ - полная чушь хоть он также ООП, у него в принципе нет байткода/промежуточного кода, а тем более никакой стандартизации, так же как и в C. Компилятор рожает обьектный файл, который потом линкуется динамически/статически. LLVМ в расчет не берем, к языку программирования в своей сути он отношения не имеет.
То что касается MS - даже комментировать не буду. Даже если с байткодными граблями код не переносим между различными платформами - тьфу на него еще раз.
Если грызть кактус то явно не от Майкрософт.

Ответить | Правка | Наверх | Cообщить модератору

309. "Утверждён стандарт C++20"  +/
Сообщение от Аноним (279), 09-Сен-20, 00:21 
> А вот относительно C++ - полная чушь хоть он также ООП, у него в принципе нет байткода/промежуточного кода, а тем более никакой стандартизации, так же как и в C.

Мосье теоретик, как я посмотрю...

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

> Даже если с байткодными граблями код не переносим между различными платформами - тьфу на него еще раз.

И опять мосье теоретик. Все там переносимо, пока вы за пределы байткода не вырулите. Если библиотека не входящая в .NET Core требует нативную библиотеку или привязана к ядру, то это не кроссплатформенная библиотека. Тот же WPF требует DirectX, а он давно часть ядра. Это не только MS и .NET касается, это везде так.

Ответить | Правка | Наверх | Cообщить модератору

212. "Утверждён стандарт C++20"  +1 +/
Сообщение от Sw00p aka Jerom (?), 07-Сен-20, 21:51 
> В компилируемом языке?

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

Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

99. "Утверждён стандарт C++20"  +/
Сообщение от anon345634758 (?), 07-Сен-20, 13:00 
А чего ждать собственно?
Все кому надо было, давно нагородили собственные аллокаторы.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

50. "Утверждён стандарт C++20"  +3 +/
Сообщение от Аноним (50), 07-Сен-20, 11:29 
Иногда код надо еще и читать, и уже читаемый код может быть написан с применением "нововведений"
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

89. "Утверждён стандарт C++20"  +1 +/
Сообщение от Аноним (87), 07-Сен-20, 12:42 
"Новведения" позволяют избегать накруток этих "нововведений" сверху-сбоку языка самими программистами.
Ответить | Правка | Наверх | Cообщить модератору

120. "Утверждён стандарт C++20"  +3 +/
Сообщение от Аноним (50), 07-Сен-20, 14:16 
Из-за чего язык становится непростым и непонятным, об этом было исходное сообщение
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру