Anonymous
по вайршарку не могу сказать, но это и не серверный софт (ну для примера я взял апаче, который десятилетие держал самые нагруженные сайты)
Snusmumriken
Видел cpython? Это сишка.
Видел драйверы твоей мышки? И это сишка. И твоя флешка - это тоже сишка.
Ты каждый день пользуешься десятками и сотнями продуктов на сишке.
Snusmumriken
А то что "не встречаешь людей" - ну что поделать, на сишке слишком просто писать криво.
Anonymous
я не спорю, просто хочу чтобы вы признали, что написать рабочий софт, начиная с версии 0.0.1 очень трудно на сишке
Anonymous
вот именно слишком просто писать криво
Anonymous
я это и пытаюсь сказать
Snusmumriken
Ты знаешь что это значит для меня?
fgntfg
fgntfg
(тред не читай, сразу отвечай)
Anonymous
постоянные баги , вызванные просто моделью машины языка
Snusmumriken
Для меня это челлендж "научиться писать на сишке прямо и круто, попутно освоив весь местный матан и подноготную".
Anonymous
Anonymous
а, ну да
Anonymous
научиться можно
Anonymous
но после 20 лет стажа у тебя будет своя позиция, несовместимая с многими С программистами с таким же стажем
Ihor
С - прекрасный инструмент. От того, что на нем можно легко выстрелить в ногу, его прекрасность не уменьшается
Snusmumriken
Карочи, то что в сишку лезут тупенькие детишки, которые хотят без обучения написать супер-прогу чтобы быстра и крута - это их проблемы, а не сишки.
Anonymous
прекрасный это уж CAML какой-нибудь
Anonymous
Я же пытаюсь сказать что нубские ошибки возможны и у опытных С прогамммистов и это не их вина
Anonymous
не каждый сможет держать в башке все caveats си-программинга
Elias
В C почти нет type safety. И const correctness хромает даже в стандартной библиотеке
Говорить, что это програмисты виноваты - это так про все языки можно сказать
Snusmumriken
Anonymous
смотря как тестировать
Anonymous
можно ведь и юнит тестами - это уже не тестирование
Anonymous
т.е. оно не защитит от сишных проблем
Snusmumriken
Конечно. Но шаблоны тестирования - простые и доступны тупеньким детишкам.
Ihor
Можно на пользователях )
Anonymous
да, я за тестирование
Ihor
Как большинство и поступает почему-то
Anonymous
так на пользователях и тестируется большинство юзер-ленд софта
Anonymous
потому что опять таки сишка
Anonymous
невозможно оттестировать в тепличных условиях все секьюрити баги
Snusmumriken
Можно оттестировать автоматически теми же юнит-тестами. Иногда тестироваться будет дольше чем компилироваться со всеми проверками, но тем не менее. И всем лень: проще быстро калякать скрипты, пока солнце ещё высоко.
Ihor
Потому весь юзер-спейс собсно в веб в той или иной форме ушел
Anonymous
как ты оттестируешь стек-протектор юнит-тестами
Anonymous
или те же буффер оверраны
Ihor
А вообще есть go. Прост и приятен
Anonymous
у го проблема с тредингом
Anonymous
т.е. его там в простом виде нет
Tverd
Никита
в любом более-менее крупном проекте программирование на C перетекает в метапрограммирование на макросах, а это прям просто боль, плодородная почва для багов
Anonymous
Elias
Так-то и на ассемблере можно писать, а потом юнит тестить, мда
Язык сам по себе должен предоставлять возможность ловить баги уже на этапе компиляции, а потом в рантайме. У C++ с этим гораздо все лучше
Anonymous
но даже взять опенсорсные проекты типа VLC или LightTTPD
Snusmumriken
Anonymous
там без бутылки не вкуришь идею автора
Никита
и юнит тестирование - не серебряная пуля, по статистике (древней), оно отлавливает процентов 30% багов
Anonymous
просто говорю о тех которые я сам смотрел
Anonymous
Anonymous
есть хорошая ссылка
Anonymous
C++ frequently questioned answers
Anonymous
я знаю примерно человека, который это писал. У него очень большой опыт в компьюинге
Anonymous
но хотя там все о С++ 03
Anonymous
С++11 заметно лучше
Никита
в плюсах парадигм программирования гораздо больше, огромную часть багов можно просто избежать
Anonymous
Elias
А еще Линус ненавидит C++, так что вообще ужасный язык /s
Anonymous
ну линус в чем то прав
Никита
на плюсах можно кодить в C стиле, с макросами и прочей херней
Никита
отличий не будет
Anonymous
есть исчерпывающее интервью на сайте cat-v.org
Snusmumriken
Нам нужен разбор полётов: https://lurkmore.to/C
Elias
Вот да.
Никита
а можно завести type safety, и жить станет надежнее
Anonymous
typesafety через темплейты?
Anonymous
не уверен что оно лучше
Elias
Через компилятор
Никита
typesafety != template
Elias
Правила C++ более строгие
Anonymous
в чем?
Snusmumriken
Хе )))
https://youtu.be/cdX8r3ZSzN4
Elias
И касты более строгие
Anonymous
чем dynamic cast строже (int)?
Anonymous
это же одно и то же
Anonymous
просто есть ещё касты которые применимы отнюдь не везде
Anonymous
так, мне очень не удобно выходить из срача, но у меня работка
Anonymous
прошу извинить
Elias
dynamic cast используют для классов с наследованием. Там есть проверка виртуальной таблицы. Это не жесткий каст
static_cast тоже не такой тупой и прямолинейный, как C cast
Elias
Например, C cast'ом вроде можно "const" откастовать