Обновить
61
0
Смирнов Владимир@mapron

Программист C++

Отправить сообщение
По-моему, для реализма очень нехватает пыли какой-нибудь, очень все стерильно смотрится. Много глянца.
И да, при просмотре этого видео у меня не было «ощущения погружения в виртуальную реальность».
Но для реалтайм рендера, конечно, очень круто.
Жуть какая. А там вообще что-то исправляется?
Охренеть. Я только сегодня утром размышлял вообще о такой возможности, даже не успел в доку зарыться.
Почему-то пропустил первую часть. Пишите продолжение!
Нажимайте, пожалуйста, кнопку «ответить» под текстом комментария.
1) По-моему в комментариях есть смысл отписываться только тем, у кого тест выдал положительный результат.

2) paranoid mode on.
А если разработчики irmaker уже добавили исключение на скрипт ValdikSS?
Я сперва написал реализацию канала tcp под posix сокеты, а потом портировал под винду используя Qt. И мне почему-то не казалось нелогичным создание сокета только при коннекте. Более того, я считаю setSocketDescriptor очень неплохой штукой.
Вообще изначальная ветка была про «многословность», так что оставим это =)
Кто не знает — не запускайте это под рутом, пожалуйста. Дурацкая шутка.
Я с Вами частично соглашусь, хотя бы потому что я как раз прошел это на своей шкуре. Начал изучать в 9 классе С++, долго матерился и бился упорно головой, писал в Си-стиле, не читал книжек, набивал шишки.
В итоге когда через год стал смотреть на Delphi, Javascript а через пару лет еще и PHP, то многие внутренние особенности этих языков уже не вызывали вопросов =)

с в) не соглашусь.
в С++ синтаксический сахар в виде шаблонов дается зачастую бесплатно. На хабре была статья ( увы нет в закладках), как человек на шаблонах под микроконтроллеры генерировал код, причем результирующий ASM был такой же оптимальный, как человек бы вручную соптимизировал.
inline template<> имеет такой же overhead, как и макрос, по сути.
Может это и ТИПОВАЯ задача, но я был бы сильно против, чтобы такие инструменты были в стандартной библиотеке языка.
Ну и потом, Бьёрн иллюстрирует API конкретной библиотеки, asio — на Qt, мне кажется, я бы написал в два раза короче.
С вбросом частично согласен.

Читал недавно Мейерса. Эффективный С++14.
Таки я считаю что для новичка это далеко не лучший язык (сам начинал именно с него и много страдал). Да, const, & — по началу весьма непонятно (хотя, нет, вру, как раз const как таковой не вызывал у меня вопросов в параметрах, мне не понятно было зачем его пихать везде. И что значит const после прототипа функции.).

«вызов виртуальной функции препятствует инлайнингу, что может раз в 50 замедлить вашу программу»
Для тех кто плохо знаком с внутренней кухней это «хрмбрмрмрбхппхх», однозначно! :)

А вот насчет управления памяти и жизнью объектов с вами не соглашусь. Для меня — то что компилятор САМ позаботится о деструкторах, и есть «автоматически», а не вручную. Я пишу на плюсах 10 лет, из них 4 года в коммерческой разработке (нет, не такой большой опыт, кто спорит), но я уже давно не заморачиваюсь «управлением памятью».
Контейнеры, shared-поинтеры, передача this в качестве parent в Qt — все это разные ипостаси RAII, и я не знаю как при любой из них «просто допустить ошибку». Да, ошибки допустить МОЖНО. С++ позволяет допускать ошибки (например, создать указатель и передать его в конструкторы разных shared_ptr), но это же постараться надо =)

Т.е., подытожив — в современных плюсах РУЧНОЕ управление памятью есть, но оно нафиг обычно не нужно.
Просвятите, в чем смысл НАСТОЛЬКО большого разрешения — колбочек в глазу 5 миллионов всего (не помню точно)?
Ну, тут много латинских букв и цифр, так неинтересно =)
Действительно, Вы правы.
Никогда почему-то не задумывался о необходимости на лету во время выполнения приложения переключать языки. Ну, просто даже не как программист, а как пользователь.
Для меня это все же пока остается «Установил приложение, запустил, выбрал язык в настройках, все»

P.S. QTranslator активно использую, правда NOOP гораздо реже.
Истории хорошие.
Но почему не ithappens.ru?
Дополню, я тоже использую макросы для двух вещей
1. Генерация символьных констант
2. генерация имен, через ##, например (сериализация variant-like:):
#define READ_CASE(type) case TYPE_##: dataStream >> _data.f_##type; break

struct variant {
   union {
    int8_t f_int8_t;
    uint8_t f_int8_t;
   // ...
   } _data;
   _type;
}
//..
dataStream >> _type;
switch(_type) {
READ_CASE(bool);
READ_CASE(int8_t);
READ_CASE(uint8_t);
READ_CASE(int16_t);
//..
}



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

Процессор x86 читает байты- мненмоники команд и потом — операнды.
Предположим на минуточку, если бы в памяти кода, вместо числовых кодов — были бы строки, которые процессор разбирал.
Да, у нас были бы читаемые мнемоники, но суть от этого не особо изменилась — это все равно машинный язык.

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

Поскольку дополнительного преобразования (изменения структуры программы, блоков, разворачивание процедур, подстановки адресов) не делается, то назвать это Ассемблером будет громко.
Я пункт 9 про миллиарды ВООБЩЕ не понял. О чем там речь?

upd. да, все, в оригинале перечел и дошло. Если раньше компанию оценивали в один миллиард и это было круто, то теперь чтобы получить такую же степень крутости, нужно уже 10 млрд, потому что 1млрдных уже много.
Пункт ни о чем. Инфляция понятия.
Создать новый проект — import existing project, указываем папку, имя, все.
qtc будет там make запускать. чем не поддержка makefile-ов?

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность