ЛЕНТА СОБЫТИЙ
Об изучении С++
Как все-таки изучать С++? Мой личный опыт говорит что работать надо в таком порядке:
-
Вначале следует изучить С по руководству от K&R. Пусть у Страуструпа и написано, что знать С при обучении С++ не обязательно, но это знание добавляет больше понимания и уменьшает количество вопросов при изучении базовых типов и разборе примеров работы со строками и массивами.
-
Изучить С++. Вначале по руководству от Страуструпа, затем желательно что-нибудь еще на тему построения качественного объектно-ориентированного кода на основе... [ продолжение ]
Страуструп
Около месяца у меня ушло на работу с книгой “K&R”. Читал, изучал, делал примеры. Но как-то скучно все казалось. Да - основательно, да - просто, но как то однообразно. Это действительно системный язык низкого уровня - и этим все сказано.
А пару дней назад я открыл Страуструпа. К концу второго дня я понял, что “реально кайфую”. Это же надо было ТАК развить приямолинейный и академичный Си - Страуструп просто фееричен! Читая его третье издание от каждой страницы получаешь удовольствие, осознавая... [ продолжение ]
Дофамин
Ме кажется, что не очень много времени прошло с того момента, как я поставил себе задачу начать изучение языка программирования Си для работы с OpenGL, а вот уже мой мозг получил неплохую порцию дофамина. Если бы мне сказали всего пару месяцев назад, что я смогу взять код, написанный на Си и полностью переделать его на использование других библиотек, то я бы не поверил.
Но я уже делаю это. И не так уж это сложно оказывается, если разбираешься в структуре кода... [ продолжение ]
Библиотека GLM
Широко описываемые в различных учебниках по OpenGL библиотечные функции GLU - такие как glRotate, glFrustum или gluLookAt считаются устаревшими. В современных графических приложениях для работы с новыми версиями OpenGL рекомендуется вместо них использовать функции из написанной на C++ библиотеки GLM (OpenGL Математика). В документации к ней сказано, что GLM стремится использовать те же соглашения, что применяются в GLSL. Это обеспечивает более удобную работу при работе с матрицами и шейдерми.
сИмообразование
Как написано в 3-м издании пособия “Язык программирования Си” (Б. Керниган, Д. Ритчи): “Наряду с ‘goto’ указатели когда-то были объявлены лучшим средством для написания малопонятных программ”. Это и определило мое устойчивое отношение к Си. Всегда считал, что этот язык не для меня. Тем более, что в нем и goto - тоже есть!
Но все течет, все изменяется. После продолжительной серии экспериментов, тестов, проб и ошибок я выяснил, что для работы над проектом мне все-таки нужен С++. С чего начинать? Конечно... [ продолжение ]
Памятка С/С++
Несколько полезных правил, которых следует придерживаться при разработке программ на C/C++:
- Советами нужно пользоваться там, где они применимы. Не существует замены здравому смыслу.
- Не забывайте в конце своих функций добавлять "return выражение", потому что в противном случае функция обязательно выдаст "мусор".
- Программа на Си - это много "маленьких функций" и процедур, а не мало больших.
- Разбивайте сложные выражения на более простые.
- Уменьшайте набор потенциальных зависимостей (в области видимости) до набора реальных.
- Если в функции используются исключительно комментарии вида... [ продолжение ]
Удачный день
Вчера у меня был удачный денек. Во-первых, я закончил работу над дизайном сайта. Лишний раз при этом убедился, что невозможно найти бесплатно готовый шаблон для CMS. Всегда что-то будет не так, как нравится лично тебе. Поэтому не стоит тратить время на поиски халявы - сделай сам.
Во-вторых, пришло поздравление с Хабра:
“Поздравляем! Теперь вам доступен значок «Захабренный». Вы можете увидеть его в своем профиле, пройдя по ссылке …”.
Было приятно. Но сегодня во второй половине дня пожалел, что регистрировался и... [ продолжение ]
Разработка под OpenGL
В современных графических приложениях широко используется OpenGL. Успех технологии обеспечивает мультиплатформенность, открытость, доступность информации, обширное сообщество специалистов разного уровня. В Сети можно свободно найти необходимое количество материалов для начала работы с этой технологией. Кроме того, для разработки проектов на основе OpenGL существует множество готовых библиотек (FreeGlut, GLFW, SDL2, GLEW, GLM и т.д.), которые активно помогают в работе над проектом. Их использование позволяет сильно экономить усилия и время на разработку качественного графического приложения. Список возможностей можно еще... [ продолжение ]