Рубрика «c++» - 171

Давайте взглянем на эти два языка внимательнее. Что важно для прилежного программиста? Чтобы его код был удобочитамым, дабы в любой момент, спустя любое время можно было изменить этот код.

C++

Чему учит нас C++, что он нам говорит, какие парадигмы он воздвигает?

1. Что можно именовать типы, методы и переменные маленькими буквами

        std::list<std::string> L;
	L.push_back(50);
	L.push_front(-50);

Вы спросите, что же плохого в именовании элементов маленькими буквами?

А то, что, во-первых, C++ не различает контекст типа и контекст переменной и функции! И вы не можете никак взять и объявить поле, скажем, size size или point point! Поэтому, имеет смысл именовать функции и переменные маленькими буквами, но только если тип именуется в стиле C#, а именование типа маленькими буквами портит весь смысл такого действия! А смысл заключается в невозможности пересечения имени типа и его членов!

Ну, а во-вторых, именование как C#, выглядит солиднее, красивее.

Хотя, конечно, вы можете именовать именно так как сейчас предложено, но не факт, что другие будут следовать этому правилу.
Читать полностью »

Цель статьи

  • Рассказать о своем опыте разработки ПО с использованием wxWidgets.
  • Поделиться готовым решением в области подготовки и печати шаблонов документов.
  • Получить рекомендации и конструктивную критику по функционалу.

Но сначала история

Итак, однажды, работая на одном из промышленных предприятий, которое имело собственное оборудование для коммерческого учета нефти, со своими программными решениями под разными ОС, все чаще и чаще стал задумываться над кроссплатформенной разработкой ПО.

Хлебнул я тогда разных библиотек. Были в этом списке и Gtk+, и QT. Но по настоящему, меня привлекла wxWidgets.
Читать полностью »

Смешиваем цвета правильно или оптимизируем AlphaBlend - 1Я пишу мультипротокольный (но не мультиплатформенный, увы, сейчас только windows) мессенджер, который пока что поддерживает только протокол TOX. Но речь не о мессенджере, а о его интерфейсе, а если точнее, об основной его функции — AlphaBlend. Да, я решил написать свой велосипед GUI. Ну а какой современный GUI без полупрозрачных элементов и плавных закруглений? Поэтому остро встала необходимость смешивать изображения с учетом полупрозрачности, т.е. альфа-смешивание или alpha blending. К счастью, в windows GDI такая функция имеется — AlphaBlend. Работает как надо, делает то что нужно. Но я тот еще строитель велосипедов, и мне стало интересно, смогу ли я написать такую же функцию, но более быструю. Результат моих трудов под катом.
Читать полностью »

Хотелось бы поделиться своим первым опытом создания такой штуки, как Arduino аквариум. Ранее я вообще не работал с электроникой, и, тем более, не знал как программируются микроконтроллеры. Но все-же решил попробовать свои силы и хотел бы поделиться результатами.

Система автоматического управления аквариумом на Arduino - 1
Читать полностью »

Google открыла для всех библиотеку машинного обучения TensorFlow - 1«Ещё пару лет назад вы не могли разговаривать с приложением Google в городском шуме или прочитать вывеску на иностранном языке с помощью переводчика Google Translate, или мгновенно найти фотографии своего лабрадуделя, — пишет Google в официальном блоге. — Наши приложения просто не были достаточно умными. Но за короткий промежуток времени они стали намного, намного умнее. Сейчас, благодаря машинному обучению всё это доступно. Несмотря на весь прогресс, которого мы добились, всё ещё остаются возможности для улучшения. Поэтому мы создали совершенно новую систему машинного обучения, которую назвали TensorFlow. Она быстрее, умнее и гибче, чем наша старая система, так что её намного проще приспособить к новым продуктам и исследованиям».

Итак, компания Google выложила свою новейшую разработку TensorFlow во всеобщее пользование под свободой лицензией Apache 2.0.
Читать полностью »

Совсем недавно github в своем блоге разместил статистику за 8 лет. Нашему сервису чуть меньше года и пользователей, конечно не так много, но 20K регистраций мы перешагнули (да, достаточно много джуниоров, но об этом попозже) плюс мы можем рассказать не только о процентах, но и об абсолютном количестве

Топ 10 на GitHub:
image

Наш рейтинг языков программированияЧитать полностью »

Сегодня хочу рассказать о своем опыте в работе с AVR-микроконтроллерами.
Читать полностью »

Добрый день, читатели!

Введение

В свободное от работы время увлекся написанием приложений на PyQt5. И свой давний проект по ведению домашней бухгалтерии MyWallet решил в конце мая переписать с плюсов на Python, так как в предыдущей версии были допущены ряд архитектурных ошибок, которые на хотелось исправлять. Поэтому собрав PyQt5 из исходников под Fedora 21, где-то за две недели реализовал весь функционал, который был ранее. И теперь встает вопрос в визуализации данных по расходам/доходам помесячно. Так как имел опыт визуализации данных с помощью QCustomPlot , хотел визуализацию сделать с помощью этой либы. Но к огорчению, не нашел биндов.

Читать полностью »

Как команда PVS-Studio улучшила код Unreal Engine - 1Наша компания создаёт, продвигает и продаёт статический анализатор кода PVS-Studio для C/C++ программистов. Однако, наше взаимодействие с клиентами не ограничивается исключительно продажей им лицензий на продукт PVS-Studio. Например, мы занимаемся некоторыми контрактными работами. В силу NDA обычно рассказать о них мы не можем, да и интересного рассказа не получится. Названия проектов, в которых мы принимаем участие, тоже ничего не скажут большинству наших читателей. Но в этот раз, название как раз говорит о многом. Мы поработали вместе с компанией Epic Games над проектом Unreal Engine. Об этом и будет наш рассказ.
Читать полностью »

Вот уже 3-й год как я нарадоваться не могу на Qt. В нем нахожу только достоинства. Он позволяет почти все. А что не позволяет, но очень надо — можно добавить и пользоваться. Так получилось и в этот раз.

image

Предыстория

Почему-то у меня к Arduino было отношение как к игрушке. До тех пор, пока не набрел на Arduino Due. Зацепила строчка в описании к модулю, что он построен на контроллере ATSAM3X8E (ядро Cortex M3). Дело в том, что с данным контроллером (вернее, с его младшей версией) я знаком не понаслышке.

Второе — и это заставило его уже купить — это цена. У меня есть опыт разработки железа на похожем контроллере (разрабатывал автомобильный трекер), и этот опыт настойчиво зашептал, что цена за модуль с доставкой в 15$ при стоимости только контроллера на Диджикее в 12$ — это очень выгодно. Бонусом шел интегрированный источник питания c диапазоном входного напряжения от 18В до 7В, 2 USB (Programming и Native).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js