6.7
Karma
0.3
Rating

Инженер

Установка sdl2 на основные дистрибутивы

Уроки по SDL 2: Урок 1 — привет, SDL 2

0
Было бы неплохо указывать целевую платформу примеров. Ну и жиденько содержания.

Как общаются машины — протокол MQTT

Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки

Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки

0
«мнимый продакшн»…

независимо от темы, это высказывание стоит скрижали для высечения!

Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки

0
все говорят «используй третий», но сами используют второй
Потому что библиотеки переписывать долго, муторно, и главное — зачем?

А питон весь в зависимостях. В папку пипа смотреть страшно.

Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки

0
Не то слово. Например WebRTC (Chromium) build system — gclient тоже работает только на 2.8

Причем это нигде не написано и при попытке запустить на 3.6 она просто не работает _без_ адекватной диагностики.

Впрочем на 2.8 билд тоже пожужжал часов несколько и повис.

Такой вот прекрасный язык для крупных проектов =)

Можно ли рендерить реалистичные изображения без чисел с плавающей запятой?

0
На современных процессорах всё зависит от оптимизаций. Вычисления с плавающей точкой так же быстры, как целочисленные вычисления
Про ARM не забываем. Там все не так радужно

Парадокс Питона (The Python Paradox)

-1
А еще было время, когда IBM искало «нетрадиционных» программистов. Да и про Диснея был скандал.

Гуглите, если еще не вырезали из поиска и с контролем рвотного рефлекса норм

Парадокс Питона (The Python Paradox)

0
Отличная идея. Но есть альтернативная практическая трактовка:
-«Солдат думать не должен, солдат должен выполнять приказ (с)

Парадокс Питона (The Python Paradox)

0
Обычная, косвенная, инкремент/декремент. Факториал 3 это вроде всего 6.

Парадокс Питона (The Python Paradox)

+2
Простыня ни о чем. Все изучающие С++ начинают с С-основ.
И такие вопросы не возникают в принципе.

Но если писать надежный код на С++11/14, основы нужно напрочь отринуть.
Вот именно в этом сложность

Парадокс Питона (The Python Paradox)

0
Ну эта псевдохоливарная статья как раз против такого стагнационнного подхода =)

Надежное программирование в разрезе языков — нубообзор. Часть 1

0
Чтобы он был промышленным, нужен хороший компилятор и стандартная библиотека. И с тем и с тем у АО большие проблемы

Не купили DLC: функцию, которая спасла бы упавшие 737, «Боинг» продавал как опцию

Не купили DLC: функцию, которая спасла бы упавшие 737, «Боинг» продавал как опцию

+31
вопрос не в цене, а в том, что это просят за исправление показаний сбойного датчика

а клевая идея — давайте софт продавать за одну цену, а софт с обработкой ошибок — за двойную!

Топ 10 ошибок в C++ проектах за 2018 год

+3
За пятое место срабатывание «просто повезло», т.к CursorShowing могла быть и 4.

Должна быть другая диагностика — обнаружение минимально отличающихся именами переменных/типов/классов/enum…

Я про это писал в «Надежном программировании»

MySpace потерял музыку, фото и видео, которые пользователи загружали с 2003 по 2015 годы

0
О, это новое поколение облака! Поздравляю.

Когда невозможно даже найти ответственного за поломанный блок.

/sarcasm

где то тут была статья про восстановление распределенной ФС

Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их

C# является языком низкого уровня?

0
Скачал и посмотрел — на С# там как раз только библиотека и написана.

А основа на С++.

C# является языком низкого уровня?

0
Не путаешь с самым .net фреймворком, который написан на C#?

В любом случае пруф бы не помешал.

В данном случае я не разделяю С/С++

C# является языком низкого уровня?

0
Не приметили только слона =)

Ведь C#/IL-код выполняется именно поверх слона — машиной CLI/CLR, которая внезапно написана на С++.

О каком низком уровне можно говорить?
А вот о низкоуровневых возможностях — вполне.

Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их

+1
С чего бы? Буфер у каждого вызова свой — там нет реентерабельности.

Надо конечно посмотреть кот, но вряд ли это убирает лок. Скорее всего просто каждый поток выплевывает пачку вызовов cout << x << y<< z <<… << endl единой пачкой через этот буфер, но также по очереди между потоками.
ЗЫ (а вы видели, какой это ад в ассемблере ?)

Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их

+1
немного не так. в пределах одного треда/без прерываний — да, в отсутствие оптимизатора — тоже да

но оптимизатор может в другом треде ее заранее закешировать, например вынести из цикла =)

volatile запрещает именно такое поведение. Тем не менее стандарт явно прописывает, что не годится для использования для многопоточного обращения

Языки программирования: PowerShell захватывает всё больше разработчиков под Linux, macOS и Windows

+1
Был в Win нормальный cscript/jscript. Почему MS решила вдруг сменить язык управления инфраструктурой — для меня загадка.

На PS не пишу принципиально — и язык ужасный, и плюнули в душу похерив все разработки.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Добавил строчку по Расту.

Если осилить синтаксис и концепции, выглядит неплохо.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Справедливости ради, большинство нынешних уязвимостей вызвано скорее ошибками доступа к памяти/ресурсам, а не арифметики как таковой.
К которым приводит неверное вычисление индекса или адреса…

Но в целом в Расте хоть есть выбор — как считать.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Не так. Нужно брать x := g(f1(), f2()) и y := f1() + f2() — порядок вызовов f1 и f2 не определен.

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

Тут даже более жесткий пример.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
По поводу устойчивости к ошибкам человека надо читать 1ю часть. Простой и понятный и при этом однозначный синтаксис тут в помощь.

Перерасход памяти для строк зависит от реализации. Пусть строка s1 содержит 1024 символа. Сколько будет задействовано памяти (и какой — стек, хип?) после операций s1[14] = 'x'? s1 += 'x'?

>ФП — повсюду — прошу ссылку для оценки

Контроль времени выполнения — это не про рантайм этап, а про время исполнения, например что функция выполнялась не дольше 100мс.

> Можно кастомизировать глобальный аллокатор либо сделать свои арены — тоже прошу ссылку

Надежное программирование в разрезе языков. Часть 2 — Претенденты

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Просто я совсем не верю в чистое ФП и в применимость его на практике для рассматриваемой области применения (см часть 1). Как элемент ЯП для мультипарадигменных языков — наоборот хорошо, и в таблице выделена отдельная колонка.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Автодоказательство — экзотика, лично мне не встречалось в реальных применениях.

Eiffel — элементарно забыл. Посмотрел сейчас, очень специфический сайт — неудобно находить информацию. Не возьмусь сам оценивать.

Контрактное программирование в таблице даже выделено отдельной колонкой.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

Моя система домашней автоматики

0
Присоединяюсь к вопросам. Слегка сумбурный стиль изложения.

Очень бы помогла структурная схема с основными компонентами и указанием — что где крутится (ака автоматика) и как эти компоненты — сервер, диммеры, контроллер, датчики, (блок симисторов тоже компонент ?) связаны.

Пришлось погуглить, чтобы понять хоть что то. Хотя ардуинщикам наверное, все очевидно, чтобы объяснять )

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Отсеяны в 1й части.

Я за их потери производительности платить не буду. 1:100

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Группа — это Паскаль, Оберон, Модула.

Проигрывает АО из-за ручного управления памятью и многопоточностью. Также нетипизированные указатели и приведение типов никуда не делись.

Но поскольку это языки одной группы — разница небольшая.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Я не путаю, я считаю что postblit достаточно. Аналогично с инициализацией структур по умолчанию.

Остальное в этом DIP — абстрактные игры разума, не нужные на практике (ок, наверняка возможно придумать пример нужности).

Такие вещи и угробили D2 — ненужное переусложнение. К огромному моему сожалению — я даже TDPL с Амазона купил (

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
ОК, по таблице есть желание дополнить по пунктам?
Навскидку я вижу не более 50% соответствия, но я не знаю Раст.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
Не согласен. Например ПО управления автомобилем — извините, завершилось =)

Автоматический перезапуск и циклический анализ ситуаций — типичный кстати для IEC 61131-3, здесь гораздо лучше.

Надежное программирование в разрезе языков. Часть 2 — Претенденты

0
С const и в С++ проблема — просто надо привыкнуть к проектированию архитектуры. Один из вариантов — элементарно 2 варианта ф-ции с const и без.

Про конструкторы создания и копирования структур добавили же
1 There