LINUX.ORG.RU

Утверждён стандарт C++20

 


1

5

На opennet.ru обсуждают утверждение стандарта С++20:

https://www.opennet.ru/opennews/art.shtml?num=53670

На лоре ещё 7 месяцев назад обсудили :)

Стандарт C++20 утверждён

Но может кто ещё хочет :)

★★★★★

Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от paramon

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

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

Потому что ты учишься в заборостроительном ПТУ. И преподы там соответствующие.

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

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

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

Как то не последовательно уж совсем

У фортрана матрицы де-юре: они часть синтаксиса языка, что позволяет оптимизировать/векторизовать векторно-матричные вычисления компилятору с давних времён.

В питоне матрицы де-факто: numpy основа большинства библиотек, и никто не пытается придумать матрицы/многомерные массивы снова.

В С++ матриц нет ни де-юре, ни де-факто: есть 100500 реализаций, но нельзя выделить ни одной, на которой построено большое число библиотек.

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

В С++ матриц нет ни де-юре, ни де-факто: есть 100500 реализаций, но нельзя выделить ни одной, на которой построено большое число библиотек.

Просто разрыв шаблона, как говорится. По отдельности твои утверждения мне понятны и я с ними согласен. Но ты умудряешься их объединить в одно очень противоречивое и из которого банально непонятно - есть ли матрицы в плюсах, и если их нет ни де-юре, ни де-факто, то почему тогда их 100500 реализаций.

Но ладно, разговор не вижу смысла продолжать, мысль я понял, просто формулировка очень неудачная.

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

Boost Linear Algebra чем тебе не подходит?

C++ template class library that provides BLAS level 1, 2, 3 functionality for dense, packed and sparse matrices.

Lzzz
()
Ответ на: комментарий от fsb4000
  1. Новичков это только раздражает, вызывает вопросы
  2. Новичкам нафиг не нужно, а необзходимость может появится только у профильных направлений, а тут уже тогда Си++
  3. В си тоже есть, в винде требует лишь пары строк для включения, не вижу острой проблемы, особенно для новичков.
AKonia ★★
()
Ответ на: комментарий от anonymous

Ok, какие-то неявные преобразования есть, это не Rust. Но части нет, также сделал тест деструктора:

https://imgur.com/a/OSIVQLJ

Про виртуальные методы почитай тут: https://www.freepascal.org/docs-html/ref/refsu27.html

Также там можешь найти и про строки и про перегрузку операторов…

fsb4000 ★★★★★
() автор топика
Ответ на: комментарий от Lzzz

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

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

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

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

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

фортран не для бигдаты, а для вычислений

Линейная алгебра это вычисления? Прикинь каким ужасом будет софт фортране на 5-7 млн. строк без потоков и сборки мусора?

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

не выйдет такой финт ушами, напишут ликающего дерьма, но хуже всего что оно будет работать вроде как и как будто даже правильно.

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

А почему тогда препод нам говорил, что фортран практически не используют, т.к. в языке нет средств многопоточного программирования, как в java?

Логичнее препода и спросить.

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

5-7 млн строк это ужас на чем угодно, что-то ты как-то подрезал область применимости фортрана, пора вызывать визарда.

anonymous
()

Переименовали бы его уже. Этот ужас уже ничем не напоминает тот ужас на котором я убучасля и диплом писал. в типа c+++ :D

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

не кажется, Паскаля ждёт со стороны студентов такое же неприятие, как и Фортрана. Лучше уж тогда действительно Julia.

Нет чего лучше паскаля в обучении - даже школьники его понимают для не ит самое-то, но применений у него сейчас нет. Так что выбор один - пистон. Прост, понятен (у меня жена не программист его вовсю использует для скриптования в раб. целях, вообще, очень многие, практически все, программистки, которых я знаю, лабают на пистоне) и сейчас используется везде, ну и моден. у Julia такие же проблемы как у паскаля, очень ограниченное применение и соответственно малый к нему Энтерес.

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 2)

Ниши у c++ уже практически не осталось, даже qt по факту уже скорее мертво. Это язык 90стых, который позволял в то время на mfc, atl быстро писать гуевые программы, компоненты в ie/office, но его время уже давно прошло, сейчас с++ классическое не нужно - чисто поностальгировать, но лучше бы этого Франкенштейна уже закопали бы.

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

Линейная алгебра это вычисления? Прикинь каким ужасом будет софт фортране на 5-7 млн. строк без потоков и сборки мусора?

При желании системное API доступно и из фортрана. Слегка через задницу, но доступно. Указатели в нем, начиная с фотран-90 имеются.

Значит и потоки и сборки мусора возможны.

Но фортран - это очень хороший язык для ВЫЧИСЛЕНИЙ, использовать его для чего-то еще можно, если захотеть, но не рационально.

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

А интернет-вещи и разные прошивки для контроллеров? С++ намного более безопасный чем С, а главное разработка на нем в 3-4 раза быстрее за счет мощных абстракций.

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

Ручками? Через malloc/free? Нет, спасибо.

Прикинь в Си и C++ тоже нет сборки мусора, надо ручками. Ее даже в C# или Java нет, если делаешь unsafe вызовы системного API.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от anonymous

Микросервисная архитектура приложения например. 20 штук компонент, каждый размером от 200 до 500 kloc.

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

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

Хотя кстати можно и про указатели по спрашивать на чем угодно, хоть на Perl, хоть на ассемблере, хоть на программируемой калькуляторе МК-61 (косвенная адресация К ПП регистр)если Си совсем не знает. Смысл в указателях вообще и если программист их не знает какой он нафиг программист?

Тем более найти не учебный язык на котором делают коммерческий софт и чтобы там совсем не было указателей, даже в unsafe ещё постараться надо, я как-то даже не припомню.

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

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

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

LOL. Тупо выучи ноты, и исполняй.

С таким подходом наверно и мартышку можно надрессировать рисовать как будто она интегралы умеет брать, хотя бы некоторые, только математиком она все-равно не будет.

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

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

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

Смотря где - unix обычно на c, на винде .net. Ниша с++ это браузеры и тому подобный софт, который важен, но в общем объёме незначителен.

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

.net

быстрый софт

/0

Ниша с++ это браузеры и тому подобный софт

То есть тот софт, которым пользуются почти всё население Земли. Подумаешь.

Ну и не стоит забывать про игры, проф. софт (фото/аудио/видео редакторы, кады и прочее), компиляторы (llvm) - это всю плюсы.

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

Ядро линукса например. Ужас, закопать

А ты сомневаешься в дырявости линукса? Другое дело, что огромные толпы людей вытестирывают эти дыры, потому в результате получается более менее. Но если кусок функциональности оказывается не оттестированным, то вылазит что-то вроде недавного 12-летнего бага в IPv6 стэке. Вся разница между C и C++ заключается в том, что последний, как правило, требует на порядок меньше ручной работы, а значит на порядок меньше возможности ошибиться.

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

более 10 лет педалил на нем. после rust и python уже не хочется возвращаться к C++. вакансии пока есть, денежка капает, через «не хочу» работаешь

А расскажи хоть, как там эта ниша себя чувствует? Я сам хочу вкатиться во что-то очень близкое, да вот сомневаюсь.

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

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

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

потому что avx avx2 avx512 и даже sse компиляторы не очень хорошо используют

Потому что avx-sse — это принципиально непортируемого говнище и путь вникуда. Даже у видеокарт код портируем между разными процессорами, кодера там не волнует, есть ли в мультипроцессоре множественные АЛУ, сколько их, или же вычисления придется производить на единственном вычислителе.

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

Смартпоинтеры умные, пока ты в своём соку варишься, как начинаешь внешние либы использовать тебя могут много сюрпризов ожидать, начиная с необъяснимого подтекания и продолжая сегментейшн фолт.

Так то в Фортране указатели и ручная чистка тоже не нужны.

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

Но Julia — это уже почти как Питон... Тогда вместо Питона Юлю?

Проблема в том, что питон на текущий момент — это принципиально неоптимизируемое и немногопоточное говнище. Но все им пользуются.

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

на современном Фортране проще писать параллельные вычисления для многоядерных машин, чем на си. А также фортран как бы не вообще единственный язык, в котором компилятор может автоматически векторизовать перемножение матриц под sse2/avx , хотя тоже не всегда

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

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

Питон - клей. Какая разницы какую либу он дёграет внутри

Нарокоманы, нанюхаются клея... Проблема в том, что иногда таки приходится писать какую-никакую логику, и если готовой ее нет, то ты в дерьме, потому что будешь писать ту самую логику на фортране/си/c++/etc.

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

На самом деле, я ни то ни другое не использую... Так что не уверен, что это «серебрянная пуля»

Numba является попыткой сделать Julia в питоне. Естественно, кучу фич питона отваливаются в процессе, и вообще получается чуть ли не новый язык, поскольку теряется святая святых — классы и объекты.

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

ты обожаешь делать фатальные высказывания, и если что-то нельзя сделать в рамках языка, то сразу расстраиваться и говорить что язык неоч, хватит истерить, расширяй свой питон си или делегируй задачи с которыми питон справляется плохо тому коду который это делает хорошо :3

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

В Ada нет указателей в смысле «как в C», но какая доля из современных «профпригодных» программистов знает об том, как в Ada люди живут без тупых C’шных указателей?

А как там работают с динамическими данными? Как в Расте?

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

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

Пф-ф, дружище, у меня уже 10к строк кода на Си биндинга к питону, и это кол-во растет. Проблема в том, что как бы где там питон и зачем он вообще?

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от byko3y

Что значит «как в Расте»? В расте есть указатели, ваш КО.

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

Потому что avx-sse — это принципиально непортируемого говнище и путь вникуда.

Зачем тебе его портировать куда-то? Для не слишком требовательного кода не все ли равно как математика скомпилируется? А для требовательного числодробления очень вряд ли, что в ближайшие лет 10 понадобится не х86-64, если же таки нужно не на х86-64, там свой ассемблер придётся использовать для выжимания соков.

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

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.