Skip to content

TX Library (TXLib, The Dumb Artist 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.

License

ded32/TXLib

Repository files navigation

-----------------------------------------------------
TX Library README
-----------------------------------------------------

TX Library (TXLib, The Dumb Artist 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.

TX Library - компактная библиотека двумерной графики для Win32 на С++, намеренно выдержанная в стиле сугубого
минимализма. Это небольшая "песочница" для начинающих, реализованная с целью помочь им в изучении простейших
принципов программирования. Методическое учебное пособие для обучения основ программирования на С++. Позволяет
писать прямолинейный графический код, не заботясь о событийной модели приложений в Win32. Имеет систему помощи
на русском языке. Не требует компоновки с внешними библиотеками. Документация на русском языке.

Философия TX Library - облегчить первые шаги в программировании и подтолкнуть к творчеству и самостоятельности.
Исходный текст библиотеки может использоваться для иллюстрации элементарных приемов работы с окнами Windows,
механизмом сообщений Win32, графикой, работой с меню, растровыми образами, простейшей многопоточностью. 

Author: Ded (Ilya Dedinsky, http://txlib.ru)

Официальный сайт библиотеки: http://txlib.ru.

См. также страницу проекта на SourceForge: http://txlib.sourceforge.net
и на Google Code: http://code.google.com/p/txlib

Это альфа-версия. Для использования требуется согласование с автором библиотеки.
Правила использования материалов библиотеки и сайта см. на официальном сайте: http://txlib.ru/index/0-6.

Баг-трекер на GitHub: https://github.com/ded32/TXLib/issues/new

-----------------------------------------------------
Предупреждение, или TXLib - это всего лишь инструмент
-----------------------------------------------------

Библиотека TXLib - это всего лишь инструмент для того, чтобы облегчить первые шаги в программировании. Однако этот
инструмент, как и любой другой, может быть применен неправильно. (Тем не менее, в основу TXLib заложены некоторые
принципы, помогающие конструктивному неиллюзорному обучению.)

Сама по себе любая библиотека или язык программирования не научит начинающего писать программы грамотно. Научит
этому разработка своих, достаточно больших проектов, в сочетании с тесным общением профессионалов, желающих помочь
начинающим. Такие профессионалы должны обладать и опытом разработки больших программ, и педагогическими навыками,
чтобы передать свой опыт начинающим. К сожалению, не всегда это совпадает. Профессионалы-программисты зачастую не
хотят лезть в обучение, где хватает своих проблем. С другой стороны, недобросовестные учителя, иногда даже в
сильных школах и курсах, хватаются за удобные инструменты обучения (чужие или свои библиотеки, среды и языки
программирования), не удосуживаясь следить за качеством кода обучаемых, за стилем и направлением их мышления,
ограничиваясь лишь видимостью обучения (см.: http://www.google.ru/search?q=literate+programming). Такие
образовательные иллюзии очень вредны. Заметны они становятся достаточно поздно, когда выясняется, что ученик,
легко пишущий небольшие программы (пусть даже логически насыщенные, олимпиадные), принципиально не способен
написать что-то большее, путается в коде, а другие, в том числе и профессионалы, его не понимают в силу
спутанности или ограниченности его мышления и неумения внятно выразить мысли на уровне современных стандартов.
Чтобы преодолеть этот барьер, воздвигнутый нерадивым преподавателем (или вашей собственной нерадивостью),
приходится долго серьезно и самостоятельно переучиваться -- иногда будучи уже студентом или аспирантом. Либо
смириться и "носить кофе программистам".

Искусство программирования -- это искусство мышления, не надо это забывать.

Принципы, заложенные в TXLib для повышения качества обучения:

- [Сделай сам.] В TXLib многие вещи сделаны или оставлены не совсем удобными для применения.
  Это - предложение подумать, как сделать это самому, и, как правило, для этого в TXLib есть средства.
  Сделав, покажите решение другим, если они быстро поймут его и оценят - ваше решение удачное.

- [Загляни в Help.] См.: http://storage.ded32.net.ru/Lib/TX/TXUpdate/Doc/HTML.ru
  (Слово неспроста выбрано английским, потому что большинство информации в современном программировании -
  на английском языке. Учите его.) Под системой помощи понимается не только TXLib Help, но и весь Internet.

- [Посмотри, как сделано.] Загляни в код библиотеки. Он создавался в том числе как пример программной системы
  со своей логикой и со своей реализацией, а некоторые функции можно понять только по коду, потому что их нет в
  системе помощи. Не всегда решения, примененные в TXLib оптимальны даже с точки зрения автора - он надеется, что
  это убережет желающих обучиться качественно, но нетерпеливых учеников, от [Ctrl+C и Ctrl+V] - плагиата.

- [Посмотри, как сделано иначе.] TXLib - не единственная графическая библиотека, и реализация "простого
  графического холста", примененная в ней - не единственное решение. Посмотрите как устроены десятки других
  графических библиотек. Но *избегайте плохого кода* (его можно определить по тому, как морщатся профессионалы,
  глядя на него, если у вас нет более объективных средств такого определения) - он научит вас плохому. Хороший, но
  сложный код (глядя на него, профессионалы не морщатся, а... вздыхают) - отложите до времени и вернитесь к нему
  позже.

- [Выйди за пределы "песочницы".] Это усиление принципа "сделай сам". Собери вместе свои мысли про хорошую
  библиотеку, посмотри, как устроен TXLib и его аналоги, сделай свою библиотеку, лучше TXLib'а. Примеры таких
  библиотек можно найти на сайте TXLib и в Интернете, и некоторые из них сделаны как раз начинающими.

  Удачи, и May the Source be with you! :)

-----------------------------------------------------
Поддерживаемые платформы
-----------------------------------------------------
   
- Среды программирования и исполнения + компиляторы

  -                     MinGW  GCC 9.2.0 (NUWEN), 64-bit
  -                     MinGW  GCC 8.2.0 (NUWEN), 64-bit
  -                     MinGW  GCC 7.2.0 (NUWEN), 64-bit
  -                     MinGW  GCC 6.3.0 (NUWEN), 64-bit
  -                     MinGW  GCC 5.3.0 (NUWEN), 32-bit и 64-bit
  - CodeBlocks 12.11  + MinGW  GCC 4.8.0 (NUWEN)
  - CodeBlocks 12.11  + MinGW  GCC 4.7.2 (NUWEN)
  - Dev-CPP    5.11   + MinGW  GCC 4.9.2 (TDM)
  - Qt Creator 4.2.2  + MinGW  GCC 5.3.0 (Qt), 32-bit (кодировка файлов в редакторе: только CP1251)
  - Cygwin            + Cygwin GCC 7.4.0, 32-bit и 64-bit
  - LLVM              + MSVC Clang-cl 9.0.0, 32-bit и 64-bit
  - Microsoft Visual Studio 16 (2019), 32-bit и 64-bit
  - Microsoft Visual Studio 15 (2017), 32-bit и 64-bit
  - Microsoft Visual Studio 14 (2015), 32-bit и 64-bit
  - Microsoft Visual Studio 12 (2013), 32-bit и 64-bit
  - Microsoft Visual Studio 11 (2012), 32-bit и 64-bit
  - Microsoft Visual Studio 10 (2010), 32-bit и 64-bit
  - Intel C++ Compiler 13.0 (2013)

- Операционные системы

  - Windows 10             ru/en, 32-bit и 64-bit
  - Windows 8              ru/en, 32-bit и 64-bit
  - Windows 7              ru/en, 32-bit и 64-bit
  - Windows Vista          ru/en
  - Windows 2003 SP1 R1/R2 ru/en
  - Windows XP   SP2/SP3   ru/en
  - Windows 2000 SP4       ru/en
  - Linux + Wine
    - Ubuntu 16.04, 11.04 + Wine
  - MacOS X + Wine
    - Snow Leopard 10.6.8 + Wine

About

TX Library (TXLib, The Dumb Artist 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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published