Библиотека Тупого Художника (The Dumb Artist Library, TX Library, TXLib) - это компактная библиотека двумерной графики для Win32 на С++, намеренно выдержанная в стиле сугубого минимализма. Это небольшая "песочница" для начинающих, реализованная с целью помочь им в изучении простейших принципов программирования. Методическое учебное пособие для обучения основ программирования на С++. Позволяет писать прямолинейный графический код, не заботясь о событийной модели приложений в Win32. Имеет систему помощи на русском языке. Не требует компоновки с внешними библиотеками. Документация на русском языке.
Философия TX Library - облегчить первые шаги в программировании и подтолкнуть к творчеству и самостоятельности. Исходный текст библиотеки может использоваться для иллюстрации элементарных приемов работы с окнами Windows, механизмом сообщений Win32, графикой, работой с меню, растровыми образами, простейшей многопоточностью.
TX Library is a tiny 2D graphics library for Win32 written in C++. This is a small sandbox for the very beginners to help them to learn basic programming principles. The documentation is currently in Russian.
Author: Ded (Ilya Dedinsky, http://ded32.net.ru).
Официальный сайт библиотеки: http://ded32.net.ru.
См. также страницу проекта на SourceForge: http://txlib.sourceforge.net и на Google Code: http://code.google.com/p/txlib.
Это альфа-версия. Для использования требуется согласование с автором библиотеки.
Правила использования материалов библиотеки и сайта см. на официальном сайте: http://ded32.net.ru/index/0-6.
Трекеры на SourceForge: Сообщить об ошибке, Предложить улучшение.
Предупреждение, или TXLib - это всего лишь инструмент
Библиотека TXLib - это всего лишь инструмент для того, чтобы облегчить первые шаги в программировании. Однако этот инструмент, как и любой другой, может быть применен неправильно. (Тем не менее, в основу TXLib заложены некоторые принципы, помогающие конструктивному неиллюзорному обучению.)
Сама по себе любая библиотека или язык программирования не научит начинающего писать программы грамотно. Научит этому разработка своих, достаточно больших проектов, в сочетании с тесным общением профессионалов, желающих помочь начинающим. Такие профессионалы должны обладать и опытом разработки больших программ, и педагогическими навыками, чтобы передать свой опыт начинающим. К сожалению, не всегда это совпадает. Профессионалы-программисты зачастую не хотят лезть в обучение, где хватает своих проблем. С другой стороны, недобросовестные учителя, иногда даже в сильных школах и курсах, хватаются за удобные инструменты обучения (чужие или свои библиотеки, среды и языки программирования), не удосуживаясь следить за качеством кода обучаемых, за стилем и направлением их мышления, ограничиваясь лишь видимостью обучения. Такие образовательные иллюзии очень вредны. Заметны они становятся достаточно поздно, когда выясняется, что ученик, легко пишущий небольшие программы (пусть даже логически насыщенные, олимпиадные), принципиально не способен написать что-то большее, путается в коде, а другие, в том числе и профессионалы, его не понимают в силу спутанности его мышления и неумения внятно выразить мысли на уровне современных стандартов. Чтобы преодолеть этот барьер, воздвигнутый нерадивым преподавателем (или вашей собственной нерадивостью), приходится серьезно и самостоятельно переучиваться - иногда будучи уже студентом или аспирантом. Либо смириться и "носить кофе программистам".
Искусство программирования - это искусство мышления, не надо это забывать, дорогие преподаватели и учащиеся.
Принципы, заложенные в TXLib для повышения качества обучения
Сделай сам. В TXLib многие вещи сделаны или оставлены не совсем удобными для применения. Это - предложение подумать, как сделать это самому, и, как правило, для этого в TXLib есть средства. Сделав, покажите решение другим, если они быстро поймут его и оценят - ваше решение удачное.
Загляни в Help. (Слово неспроста выбрано английским, потому что большинство информации в современном программировании - на английском языке. Учите его.) Под системой помощи понимается не только TXLib Help, но и весь Internet.
Посмотри, как сделано. Загляни в код библиотеки. Он создавался в том числе как пример программной системы со своей логикой и со своей реализацией, а некоторые функции можно понять только по коду, потому что их нет в системе помощи. Не всегда решения, примененные в TXLib оптимальны даже с точки зрения автора - он надеется, что это убережет желающих обучиться качественно, но нетерпеливых учеников, от [Ctrl+C и Ctrl+V] плагиата.
Посмотри, как сделано иначе. TXLib - не единственная графическая библиотека, и реализация "простого графического холста", примененная в ней - не единственное решение. Посмотрите как устроены десятки других графических библиотек. Но избегайте плохого кода (его можно определить по тому, как морщатся профессионалы, глядя на него, если у вас нет более объективных средств такого определения) - он научит вас плохому. Хороший, но сложный код (глядя на него, профессионалы не морщатся, а вздыхают) - отложите до времени и вернитесь к нему позже.
Выйди за пределы "песочницы". Это усиление принципа "сделай сам". Собери вместе свои мысли про хорошую библиотеку, посмотри, как устроен TXLib и его аналоги, сделай свою библиотеку, лучше TXLib'а. Примеры таких библиотек можно найти на сайте TXLib и в Интернете, и некоторые из них сделаны как раз начинающими.
Удачи, и May the Source be with you! :)
Поддерживаемые платформы
Среды программирования и компиляторы
- CodeBlocks, CLion, VS Code, DevCPP... + MinGW GCC 5.3.0 - 9.2.0 (NUWEN), 64-bit
- CodeBlocks + MinGW GCC 4.7.2 - 4.8.0 (NUWEN)
- Dev-CPP 5.11 + MinGW GCC 4.9.2 (TDM)
- Qt Creator + MinGW GCC 5.3.0 (Qt), 32-bit (кодировка файлов в редакторе: только CP1251)
- Cygwin GCC 7.4.0, 32-bit и 64-bit
- Microsoft Visual Studio 16 (2010 - 2019), 32-bit и 64-bit
- LLVM + MSVC Clang-cl 9.0.0, 32-bit и 64-bit
Операционные системы
- Windows XP SP2 - Windows 10, ru/en, 32-bit и 64-bit
- Linux Ubuntu 16.04, 11.04 + Wine
См. также
|