Тут согласен. Плюс rolling release иногда выстреливает в ногу, если долго не обновляться, и приходится решать конфликты в зависимостях. Я поэтому ушёл с арча на федору, с ней пока ни разу не возникало таких проблем
На самом деле ничего сложного в том, чтобы поставить арч нет, надо просто следовать инструкциям с вики, но согласен новичку оно нафиг не надо. Можно взять голую федору, например, и на неё поставить всё, что нужно. Я так сделал и почти ни о чём не жалею
UPD: вспомнил, что glBufferData можно и во второй версии использовать, тогда и правда интересно, что там такое из новой версии используется (мб какие-нибудь возможности glsl, которые с 3-й версии появляются)
Вопрос был, почему кто-то ради 2.5 человек с компами из 2008 должен использовать старый OpenGL? Это претензия на уровне, почему 32-х битный интел перестают поддерживать. Я не специалист в OpenGL, но смею предположить, что третья версия производительнее, чем вторая, как минимум засчёт того, что не надо точки отдельно друг от друга грузить, а можно сразу одним вызовом загрузить их все (я про glVertex3f и glBufferData).
Ну так Вам более защищённая альтернатива нужна - с управлением памятью - или полная свобода маньяка-мазохиста, где кодинг - это хождение по краю пропасти!
Мы явно друг друга не поняли. Там где можно взять Go или Kotlin не стоит вопроса брать или не брать C, C++. Ответ однозначный - не брать.
У Rust тоже есть управление памятью - но да - переложенное на плечи программиста и компилятора - маньякам-мазохистам понравится!
rand() % wordsA.size() - насчет UB не скажу, но, лично для меня, такая конструкция при индексировании массива выглядит угрожающе (выход за границы массива 99,9% не произойдет, но таки вдруг).
С чего бы ему произойти? Результат же будет лежать в интервале [0; wordsA.size() - 1]
Можно узнать зачем? Я такого стиля ни разу не видел до этой статьи и, честно, не вижу ни одной причины так писать. Это усложняет чтение и заставляет читающего думать, зачем автор добавил пару лишних скобок
Если в системе недоступен OpenGL 3.0, то GNOME работает в режиме программного рендеринга, а mutter полностью отключает все оконные анимации, что может быть проблематично, ведь юзабилити GNOME сильно зависит от его анимаций. Почему mutter не может откатиться к OpenGL 2.0 или даже к режиму CPU для обработки этих простых анимаций? Сложно поверить, что их анимации сложнее, чем в Quake 2 или Unreal Tournament — играх, работавших в программном рендеринге на CPU конца 90-х.
Почему разработчики ради 2.5 динозавров с видеокартами из 2008 должны тратить время на поддержку двух версий OpenGL или вообще использовать только вторую?
А что не так с виндовым интерфейсом? Я не особо часто им пользуюсь, но когда пользуюсь, проблем обычно не возникает (только приходится горячие клавиши вспоминать)
В целом да, но надо учитывать, что GUI тулкитов не так много (Gtk, Qt и WxWidgets), если Gtk испортится в будущем (пока не замечал существенных багов в Gtk приложениях, которые использую), будет печально, ибо придётся искать аналоги куче приложений или авторам этих приложений придётся всё переписывать
Go и Kotlin точно не являются альтернативами Си, т.к. у них есть GC. Rust вполне можно использовать, как замену.
То есть - это по большей части проблема Си и чуть меньше C++ (где правильно выделять память через оператор new.
Насколько знаю, сейчас уже принято использовать unique_ptr и shared_ptr вместо чистого new, так что даже об освобождении думать не нужно. В целом некоторые чисто сишные проблемы в C++ уже решили, так что я бы его выбрал, но там всё равно есть свои заморочки с UB, такие же, как в си
Тут согласен. Плюс rolling release иногда выстреливает в ногу, если долго не обновляться, и приходится решать конфликты в зависимостях. Я поэтому ушёл с арча на федору, с ней пока ни разу не возникало таких проблем
На самом деле ничего сложного в том, чтобы поставить арч нет, надо просто следовать инструкциям с вики, но согласен новичку оно нафиг не надо. Можно взять голую федору, например, и на неё поставить всё, что нужно. Я так сделал и почти ни о чём не жалею
UPD: вспомнил, что glBufferData можно и во второй версии использовать, тогда и правда интересно, что там такое из новой версии используется (мб какие-нибудь возможности glsl, которые с 3-й версии появляются)
Вопрос был, почему кто-то ради 2.5 человек с компами из 2008 должен использовать старый OpenGL? Это претензия на уровне, почему 32-х битный интел перестают поддерживать. Я не специалист в OpenGL, но смею предположить, что третья версия производительнее, чем вторая, как минимум засчёт того, что не надо точки отдельно друг от друга грузить, а можно сразу одним вызовом загрузить их все (я про glVertex3f и glBufferData).
Мы явно друг друга не поняли. Там где можно взять Go или Kotlin не стоит вопроса брать или не брать C, C++. Ответ однозначный - не брать.
Ну не знаю, тут совсем надо быть мазохистом
С чего бы ему произойти? Результат же будет лежать в интервале [0; wordsA.size() - 1]
А про коды клавиш верно заметили
Можно узнать зачем? Я такого стиля ни разу не видел до этой статьи и, честно, не вижу ни одной причины так писать. Это усложняет чтение и заставляет читающего думать, зачем автор добавил пару лишних скобок
Скорее, кнопочная звонилка, желательно собранная самостоятельно из отдельных компонентов
На будущее: лучше так не делать, потому что так никто не пишет.
Я бы ещё кое-что добавил к вашему списку:
Почему разработчики ради 2.5 динозавров с видеокартами из 2008 должны тратить время на поддержку двух версий OpenGL или вообще использовать только вторую?
Надо будет приглядеться, а то неоднородность я не особо заметил (кроме диспетчера устройств ничего в голову не приходит).
А что не так с виндовым интерфейсом? Я не особо часто им пользуюсь, но когда пользуюсь, проблем обычно не возникает (только приходится горячие клавиши вспоминать)
Не заметил, что комментарий создался фигово:
Не понятно, только, для какого порядка. Или это была шутка?
UPD: хабр заглючил, у меня предыдущий коммент был в одну строку, я поэтому новый создал.
_kbhit() и _getch уже не переносимы, собственно остальные функции по работе с консолью тоже
Кстати, а в чём смысл оборачивать циклы for в фигурные скобки?
В целом да, но надо учитывать, что GUI тулкитов не так много (Gtk, Qt и WxWidgets), если Gtk испортится в будущем (пока не замечал существенных багов в Gtk приложениях, которые использую), будет печально, ибо придётся искать аналоги куче приложений или авторам этих приложений придётся всё переписывать
Go и Kotlin точно не являются альтернативами Си, т.к. у них есть GC. Rust вполне можно использовать, как замену.
Насколько знаю, сейчас уже принято использовать unique_ptr и shared_ptr вместо чистого new, так что даже об освобождении думать не нужно. В целом некоторые чисто сишные проблемы в C++ уже решили, так что я бы его выбрал, но там всё равно есть свои заморочки с UB, такие же, как в си
Мышки плакали, кололись, но продолжали страдать, чтобы быть нетакусями
Или ImGui. Он как раз на C++ написан, в отличие от nuklear, который на си.
На эту роль больше whitespace подходит, там в отличие от bf стековая машина.