Category archives: Компьютерные языки

В этой категории статьи про компьютерные языки. Обычно это языки программирования, разметки, запросов и т.д.

HTML-теги kbd, var и pre, их роли и недочёты

В продолжении предыдущих тем (br, dash), продолжаю педантично-занудскую тему про HTML-теги, их роли, накладки, недочёты и пр. На сей раз макс. сжато и быстро, чтобы не развозить. Read more

Дружественные функции, методы и классы в C++. Критика.

Введённые ещё во времена, когда общая ООП парадигма не была окончательно сформирована, имеющиеся только в C++ реализации ООП парадигмы, т.н. «дружественные функции» стоят особняком в концепции ООП, и часто вызывают недоумения по многим причинам. Read more

Значения указателей по-умолч. NULL, 0 и nullptr в C и C++

Продекларированные, но ещё не инициализированные, т.е. заготовленные заранее для работы в будущем, переменные-указатели надо сразу инициализировать соответствующим нулевым значением – 0, NULL или nullptr, т.к. в дальнейшем могут возникнуть проблемы из-за того, что, если значение не было присвоено, то указатель по-умолч. будет указывать на произвольный адрес, содержимым которого является мусор. Read more

Как собрать C++ программу для 64-битной архитектуры в IDE Visual Studio

Для смены архитектуры нужно явно указать IDE, что нужно собирать проект под 64-битную/разрядную систему. Для этого в каждом проекте решения надо изменить всего 2 опции, или просто проконтролировать их правильное изменение, т.к. они могут меняться автоматически как полностью, так и частично. Read more

Ошибочная HTML-сущность тире — dash

Среди всех когда-либо офиц. декларируемых HTML-сущностей есть и ошибочные, т.е. те, которые были созданы с допущением ошибок. Самая известная такая HTML-сущность – ‐, что переводится как "тире". Read more

Правила хорошего тона программирования

Список некоторых правил хорошего тона программирования, которые применимы преимущественно для Си-подобных языков программирования. Read more

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

Бытует распространённое мнение о том, что сахарные языки почти не уступают плюсам по производительности. Всё это враньё, что ПО, написанное на Java или C#, и запущенное на их виртуальных машинах JVM (Java Virtual Machine) и CLR (Common Language Runtime) современных версий, якобы давно почти не уступает по скорости ПО написанном на C++. Наглое враньё! Уступает очень сильно и всегда будет уступать! Read more

Частые ошибки использования HTML-тега переноса строки br

В HTML/XHTML вёрстке часто используется одиночный HTML-тег переноса строки br (от англ. break – перерыв, разрыв), который вместе с синтаксисом разметки в HTML выглядит так: <br>, а в XHTML самозакрывающийся: <br />. Данный HTML-тег форматирования текста по популярности уступает разве что тегу абзаца p и заголовков h1-h6. Казалось бы, такой простой тег, но многие неправильно его используют. Этот популярный HTML-тег имеет определённые правила правильного использования, которые, если быть макс. педантичным, нельзя нарушать. Read more

Как добавить файлы в C++ проект Visual Studio?

В этом посте опишу как добавить новые заголовочные файлы и файлы кода в существующий C++ проект в IDE Microsoft Visual Studio. Не полноценную библиотеку, а только лишь дополнительные файлы кода. Read more

Облегчение управления чекбоксами

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

CSS правила для тем сайтов и их поддержка в браузерах

Многим на сайтах очень не хватает быстрой смены встроенных тем, как минимум смены светлой на тёмную и наоборот. Ситуация с темами в вебе до сих пор не самая лучшая из-за многих сложностей. Всё, что касается темы, ложится прямиком на сторону сайта. Разработчикам сайтов приходится либо на js, либо на серверной стороне создавать всякие переключатели тем, которые обычно запрятаны где-то в настройках пользователя. Т.е. просто для смены темы посетителю надо обязательно регистрироваться на сайте, либо приходится использовать cookie, если делать смену темы на JavaScript. В общем, как не крути, а для такой простой задачи надо городить много лишнего. Всё это можно в разы упростить, если добавить этот функционал в CSS и браузер. Read more

Как подключить библиотеку в программу на C++?

Как же подключить/загрузить внешнюю динамическую библиотеку в свою программу/проект, написанную на языке программирования C++ в IDE Microsoft Visual Studio, в ОС Microsoft Windows? Read more

Для чего нужен HTML-тег button? Чтобы не делать действия ссылками!

Частенько пишу собственные CMS или своими плагинами добавляю функционал к существующим. Поскольку web-страницы давно интерактивны, часто приходится создавать на них разные действия, будь то добавление заметки в фавориты, изменение темы сайта на противоположную («включение/выключение света»), изменение семейства и размера шрифта статьи, или анонимное голосование по 5 или 10-ти бальной шкале, etc. Read more

Параметры вместо разных копий одной и той же программы для разных целей

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

Предварительные настройки PHP-скрипта

Как и в большинстве других скриптовых языков программирования PHP-скрипт не требует описания каких-либо предварительных языковых конструкций, настроек, макросов, директив препроцессора, описаний стандарта, обязательных библиотек, описаний классов и пространств имён и т. д. То есть скрипт можно писать сразу сходу, но приступая к работе рекомендуется всё же сделать некоторые предварительные настройки, чтобы не возникло проблем. Read more