![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Что вы думаете о ковариантности и контравариантности?
Они от лукаваго, нужны только теоретикам, не существуют в реальной жизни, не нужны в продакшене, муть какая-то, вроде симфоний, балета и абстрактного искусства, или чо?
Они от лукаваго, нужны только теоретикам, не существуют в реальной жизни, не нужны в продакшене, муть какая-то, вроде симфоний, балета и абстрактного искусства, или чо?
no subject
Date: 2013-09-11 12:23 pm (UTC)а ошибки - они не в языке, они в программистах :) да,в С нет защиты от дурака. предполагается, что дурака не пустят писать ответственный код.
и, кстати, нет ничего плохого в ассемблерах. иногда особо важные куски кода нужно написать на ассемблере. или бывают ошибки в компиляторах и надо не только уметь понять, где в скомпилированном коде ошибка, но и исправить её.
no subject
Date: 2013-09-11 12:46 pm (UTC)Масштабирование же. Для обработки статыщ запросов в секунду можно взять одну супермашину или стотыщ говномашин. Один чорт затык будет не в вашем коде, а в DBMS.
> да и под микроконироллеры пишут на С
Под микроконтроллеры - да ради бога, там не то количество кода, чтобы переживать из-за [не]выразительности средств.
> в С нет защиты от дурака. предполагается, что дурака не пустят писать ответственный код
А между тем регулярно пускают, судя по поведению иных драйверов. Да и дело не том, дурак пишет или нет. От ошибок никто не застрахован.
> нет ничего плохого в ассемблерах
Так-таки и "ничего"? Даже на солнце бывают пятна.
> иногда особо важные куски кода нужно написать на ассемблере
пить можно всем! знать нужно только когда и где, и с кем, и сколько
Лучше однако, чтобы это были очень небольшие куски и достаточно хорошо изолированные.
no subject
Date: 2013-09-11 01:24 pm (UTC)что касается драйверов и ошибок - в основном, это косяки непонимания свойств новых ядер систем. железо само по себе - это не игрушкечки с софтом. там очень большая специфика и сложность отладки. но надо сказать, что некоторые косяки в принципе неразрешимы. идеологию вендозного ядра, например, придумывали люди, нихрена не соображающие в контроллерах и шинах - поэтому получилось, что иногда железо в принципе не может поддерживать эту систему. при том виндузятники стараются как можно сильнее ограничить информацию по ядру. очень мало литературы на эту тему, а на сайте у них чёрт ногу сломит. а это, естественно, приводит к ошибкам. при переходе на 7-ку пошёл бум ошибок с дровами и это были не ошибки программирования. это были ошибки, связанные с несовместимостью железа. ну и плюс "лицензирование" дров под венду, ага - ещё одна палка в колесо разработчикам.
в этом плане гораздо проще писать дрова под линь. там всё открыто и понятно, отлаживаться легче. например, под линём я находила ошибки и писала разработчикам. и они сразу вносили исправления в код. или добавляла поддержку новых устройств, которые имели схожий интерфейс. это делается быстро и без проблем.