23.7
Karma
82.5
Rating

Инженер

Усложнение C++ неизбежно. И не только C++

0
Советую почитать доказательства по математике иностранцев, да тех же американцев.

Там по сути тоже другой язык, система обозначений, теорем (

И я бы не сказал, что это проще чем выучить разные ЯП, скорее сильно наоборот. ЯП описывается в пару страничек БНФ, а базис математики — в несколько томов.

Усложнение C++ неизбежно. И не только C++

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

Усложнение C++ неизбежно. И не только C++

0
И так же точно можно сказать про все операции. просто у каждой есть область определения (см.школьную математику)

Усложнение C++ неизбежно. И не только C++

0
Нет, серьёзно? Ядро линукса 23 года могло быть скомпилировано только одним компилятором (gcc) со включенными нестандартными расширениями. С какого тут боку наличие стандарта? Что оно дало?
Оно дало переносимость прикладных приложений, которые появились позже, на линухе свет клином не сошелся — есть еще Солярис, хБСД и AIX, не считая сонма менее распространенных.
И АФАИК, тсс тоже тестировался на компиляции ядра линуха, с теми же расширениями

Усложнение C++ неизбежно. И не только C++

0
Почему вдруг опровергает? C вырос в С++, а С++ вырос в С++11, которому С уже не нужен.

История с продолжением: собственный компилятор Паскаля для Windows с чистого листа

История с продолжением: собственный компилятор Паскаля для Windows с чистого листа

+1
Но зачем?

К сожалению, в языках вечно чего то не хватает, и создатели добавляют то атрибуты то трейты…

А когда эта магия добавлена, то язык начинает расплываться от спецификаций.

История с продолжением: собственный компилятор Паскаля для Windows с чистого листа

0
В штатах питон — язык для обучения в ВУЗах. Оттуда такой рост на Тиобе.

История с продолжением: собственный компилятор Паскаля для Windows с чистого листа

+4
Прямой наследник Паскаля и Оберона — Go (для меня это был сюрприз)

Когда доделаю очередную статью по надежности, будет чуть подробнее.

Независимый обзор PVS-Studio (Linux, C++)

0
Хорошая идея. Берешь 3 разных, и по пересекающимся смотришь. Или компилятор в стрикт + 2 линтера…
Да сложно там все, робот может и не дотумкать

Независимый обзор PVS-Studio (Linux, C++)

+3
Ложноположительный срабатывания не делают их бесполезными. Главное, чтобы при этом были и истинноположительные.
Делают. Получишь 1000 ложных предупреждений и пропустишь важных 2

Cython: более чем 30-кратное ускорение Python-кода

Зачем нужны дженерики в Go?

+1
Это перевод статьи (ткнуть надо в «Автор оригинала...») под заголовком, а не драфта.

Встречайте Deterministic Garbage Collector Pointer

0
Некоторые примеры показывают, что паузы с GC достигают 300мс на 1.5Гб памяти на мелких объектах.

Стоит бы сравниваться с Боехм GC

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

-1
Предлагаю флейм вести не ради флейма, а хотя бы сохраняя топик.

А топик, напоминаю, замена С/С++.

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

Т.е я теперь запутался в позиционировании Раста.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

0
С каких пор это двусвязный список что-то реальное? Я вот в жизни кроме лабораторок в универе ни разу его не использовал нигде. Расскажете о вашем опыте, когда он нужен?
Я даже затрудняюсь ответить на этот вопрос. То ли надо бы побольше опыта иметь, кроме лабораторок, то ли не пытаться применять подход «да зелен виноград» по отношению к Расту =)

Я последний раз применял 2-список в менеджере динамической памяти.

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

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

Ах, еще. Модель с одним владельцем применялась еще с Дельфи 1 — где прекрасно себя зарекомендовала и без заумных механизмов.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

0
А, ну как обычно. Если нужно на Расте сделать что то реальное, например ОПАСНЫЙ двусвязный список, то OB уже не работает и только unsafe =)

Что ес-но, ценность unsafe делит на нуль. 26шт только в этом файле.

Как мы тестировали несколько баз данных временных рядов

CMake и C++ — братья навек

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

-2
Кое куда не влезает и С++ с его минимумом в 10-100Кб кода. Но если погуглить «rust huge binary» масштаб проблемы проясняется.

Хотя я не могу точно сказать, это ли временное решение/баг или св-во языка, которое не удастся устранить.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

0
Компиляторов С очень много и описания функций, даже идентичные, могут и находятся в разных заголовках. Их расположение вроде унифицировали, но не все еще подтянулись под стандарт.

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

Но в целом — скрипт сборки под мультиплатформу получается как Лабиринт Минотавра.

Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло

0
Наблюдаю VS с версии 5. Это VS97.
Никогда не было особый требований по оперативке.

Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло

0
Пишешь статью вечером, потом с утра вычитываешь после кофе и только тогда публикуешь. Минус 90% ошибок.
съедала почти всю оперативку (4Gb под Windows + VS)… В итоге программа заняла около 40Gb памяти
Очень спорно. Хотелось бы увидеть пруфы — рабочую память и выделенную память.
По-моему обе среды достаточно компактны (сравнивая с Нетбинс, Эклипс, Андроид Студио).

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

0
Ага, а потом пишет в плюсы D то, что он компилируется быстрее С++. Хотя, сравнивать стоило бы все же с С.
С Си стоит сравнивать BetterC режим в D, хотя я думаю, что рассматривать BetterC всерьез – стоит не ранее, чем этот режим появится в компиляторах для ARM, тех же LDC и GCC 9 (GDC).
На скорость компиляции в С++ пагубно влияет метапрограммирование. Это верно и для D, хотя и в меньшей степени.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

0
Да как бы полно радостных криков типа «Питон всех победит!», «PHP7 теперь в джва раза быстрее!!», «На Яваскрипт теперь можно делать бэкэнд!!!», и финальное «А скриптовые языки продуктивнее!!!!».

Так что они вполне чувствуют себя конкурентами и надо поддерживать марку.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

+1
Простой язык -> простой и быстрый компилятор.

Упомянуто в контексте хорошего тулсета в 10х Инженерии.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

+1
Раст для эмбеддед не подходит пока что размером бинарника. В эмбеддед _очень_ мало места.
Еще, вероятно, потребуется свобода распределять память и данные нужным образом в ПЗУ, ППЗУ. Ну и нужна уверенная поддержка АРМ и подобных платформ, которые пока в Тир-2

Но это прямое таргетирование Раста, так что должен со временем подойти.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

+2
Ява заняла свою нишу, но притом С++ не заменила. И за ней тоже уже пришли, в виде того же Go, в контексте данной статьи.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

-1
Хотелось бы посмотреть на реализацию простого [шизофреничного] двусвязного списка на Расте…

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры)

0
Хорошо, посмотрел ассемблер через objdump.
Цикл есть, но разницы в коде нет…
gcc 6.3

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры)

0
так просто было удобнее сунуть в годболт.

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

если что, то от вашей программы осталось
cout << 499999999500000000; 

Владение и заимствование в D

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

+3
Это да. Но жалуются на то, что _приходится менять_ архитектуру решения под язык.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

+3
Да, и тоже пока присматриваются.
While researching Rust, we found some issues that gave and continue to give us pause...
Возможно, подключатся и помогут.

Их похоже, не устраивает
~70% of the vulnerabilities Microsoft assigns a CVE each year continue to be memory safety issues
. Это из предыдущей статьи в их блоге.

Кстати, статьи интересные, подкидываю идею Растерам про перевод.

Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?

+1
Ок, пишите замечания в личку, буду править, пока карма позволяет.
А по мне так перевод вышел корявым =)

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры)

+1
Как глупо породивший этот весь флейм в упомянутом топике таки спрошу — чем не устраивает полный и развернутый ответ в книге Мейерса?

Кстати, std::string в случае SSO (small string optimization), не относится к объектам с дешевым перемещением.

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры)

Опасности конструкторов

0
Не очень понял, какой тип, если это статическая типизация, выведет Кристалл для test
play.crystal-lang.org/#/r/7a17 — ошибка выведения типа,
если же test += 1 — то тоже ошибка…

Владение и заимствование в D

0
Ну в D и так неплохо с лайфтаймами, так что доработки вряд ли будут большими.

Опасности конструкторов

-7
Не неадекватно, но неэффективно. См чуть выше

Посмотрел. У «известного автора», выпустившегося 5 лет назад, целый 1(один) репозиторий на С++.
Впрочем молодые революционеры такие и есть — им плевать на индустриальный опыт поколений. Я уж молчу про очередную попытку рассказать, что везде все плохо, только в Расте [будет] хорошо…
1 There