Pull to refresh
30
0.1

Пользователь

Send message

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

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

На будущее: лучше так не делать, потому что так никто не пишет.

Я бы ещё кое-что добавил к вашему списку:

Если в системе недоступен OpenGL 3.0, то GNOME работает в режиме
программного рендеринга, а mutter полностью отключает все оконные
анимации, что может быть проблематично, ведь юзабилити GNOME сильно
зависит от его анимаций. Почему mutter не может откатиться к OpenGL 2.0
или даже к режиму CPU для обработки этих простых анимаций? Сложно
поверить, что их анимации сложнее, чем в Quake 2 или Unreal Tournament —
играх, работавших в программном рендеринге на CPU конца 90-х.

Почему разработчики ради 2.5 динозавров с видеокартами из 2008 должны тратить время на поддержку двух версий OpenGL или вообще использовать только вторую?

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

А что не так с виндовым интерфейсом? Я не особо часто им пользуюсь, но когда пользуюсь, проблем обычно не возникает (только приходится горячие клавиши вспоминать)

Не заметил, что комментарий создался фигово:

        {
            for(int m = 6; m < 14; m++)
            {
                SetXY(15,m); cout <<"*";
            }
        }
        {
            for(int m = 6; m < 14; m++)
            {
                SetXY(30,m); cout <<"*";
            }
        }

Не понятно, только, для какого порядка. Или это была шутка?

UPD: хабр заглючил, у меня предыдущий коммент был в одну строку, я поэтому новый создал.

_kbhit() и _getch уже не переносимы, собственно остальные функции по работе с консолью тоже

Кстати, а в чём смысл оборачивать циклы for в фигурные скобки?

{ // я про эти
    for(int m = 19; m < 26 ;m++)
    {
        SetXY(m,6); cout <<"_";
    }
}

В целом да, но надо учитывать, что GUI тулкитов не так много (Gtk, Qt и WxWidgets), если Gtk испортится в будущем (пока не замечал существенных багов в Gtk приложениях, которые использую), будет печально, ибо придётся искать аналоги куче приложений или авторам этих приложений придётся всё переписывать

Go и Kotlin точно не являются альтернативами Си, т.к. у них есть GC. Rust вполне можно использовать, как замену.

То есть - это по большей части проблема Си и чуть меньше C++ (где правильно выделять память через оператор new.

Насколько знаю, сейчас уже принято использовать unique_ptr и shared_ptr вместо чистого new, так что даже об освобождении думать не нужно. В целом некоторые чисто сишные проблемы в C++ уже решили, так что я бы его выбрал, но там всё равно есть свои заморочки с UB, такие же, как в си

Мышки плакали, кололись, но продолжали страдать, чтобы быть нетакусями

Или ImGui. Он как раз на C++ написан, в отличие от nuklear, который на си.

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

Я оспорил факт, что можно попортить данные других приложений или даже ОС. То, что можно испортить данные приложения, в котором нет проверки на NULL (при условии, что его не убьёт oomkiller) я не оспаривал

Может быть и так, но какие есть альтернативы?

А с чего вы взяли, что именно я вам минус поставил? Ну а так за то, что ложную информацию распространяете

Но тут дело в том, что даже простое приложение без какой-либо проверки
не упав сразу может нанести вред другим компонентам и приложениям ОС
изменив их память!

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

В коде конкретно редиса есть, но никто не мешает их убрать. Насколько помню в редиске для аргументов команды зачем-то аллоцируются новые буферы. Я когда писал ради фана свой небольшой клон избавился от аллокаций в процессе разбора комманды (это несложно, ведь все аргументы уже есть в буфере, надо просто доставать их оттуда, не обязательно аллоцировать для этого дополнительную память). Если говорить про сам буфер, в который читается команда, его аллоцировать, скорее всего, будет не нужно, так как в редисе перед запуском уже некоторое количество буферов аллоцируется, после обработки запроса клиента, память под буфер не отдаётся ОС, а возвращается в пул для того, чтобы использовать при обработке нового запроса. Ну и в случае обработки истечения времени жизни ключа аллокаций, по-моему нет.

Дико бесит, когда Android называют «Андрюшей». Особенно учитывая, что меня зовут Андрей.

Меня тоже. Все же знают, что правильно называть Android ведром

Information

Rating
4,186-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Бэкенд разработчик
Средний