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

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Dev
Jul 8, 2020
Doc
Jul 8, 2020
Jul 8, 2020
Jan 30, 2020
Jul 8, 2020
Mar 26, 2020
Mar 26, 2020
Mar 26, 2020
Mar 26, 2020
Jul 8, 2020
Jul 8, 2020
-----------------------------------------------------
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