Menu

Tree [b51718] default tip /
 History

Read Only access


File Date Author Commit
 Dev 2014-08-09 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [b51718] ~_cexit -> _tx_cexit, linked dynamically via pa...
 Doc 2014-08-09 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [b51718] ~_cexit -> _tx_cexit, linked dynamically via pa...
 Examples 2014-04-14 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [06c12d] ~txSleep(): changed return value
 Wizard 2014-08-09 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [b51718] ~_cexit -> _tx_cexit, linked dynamically via pa...
 .hgignore 2012-08-18 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [db99a3] ~hg branches->tags, +.hgtags. +.hgignore
 .hgtags 2012-08-18 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [a155b4] 0172a stable
 README.txt 2012-11-28 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [0ac9fb] ~txCreateWindow: failed with _txWindowStyle &= ...
 TXLib-Help (HTML).htm 2011-02-02 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [d45ce2] ~ _txOnExit parent terminating and _txCanvas_Dr...
 TXLib.h 2014-08-09 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [b51718] ~_cexit -> _tx_cexit, linked dynamically via pa...
 __todo 2012-11-28 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [0ac9fb] ~txCreateWindow: failed with _txWindowStyle &= ...
 _build.bat 2014-04-14 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [06c12d] ~txSleep(): changed return value
 _clean.bat 2011-02-02 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [d45ce2] ~ _txOnExit parent terminating and _txCanvas_Dr...
 _init.bat 2011-01-23 Ded (Ilya Dedinsky, http://txlib.ru) Ded (Ilya Dedinsky, http://txlib.ru) [806e1b] +CVS keywords, ~startup/exit/console staff

Read Me

-----------------------------------------------------
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.

Трекеры на SourceForge:
Сообщить об ошибке:   https://sourceforge.net/tracker/?func=add&group_id=213688&atid=1026710
Предложить улучшение: https://sourceforge.net/tracker/?func=add&group_id=213688&atid=1026713

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

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

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

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

Принципы, заложенные в 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! :)

-----------------------------------------------------
Поддерживаемые платформы
-----------------------------------------------------
   
- Среды программирования и компиляторы
  - CodeBlocks 10.05  + MinGW GCC 4.6.1 (TDM-GCC)
  - CodeBlocks 10.05  + MinGW GCC 4.4.1
  - CodeBlocks 8.02   + MinGW GCC 3.4.5
  - CodeBlocks 1.0rc2 + MinGW GCC 3.4.4
  - Dev-CPP 4.9.9.2   + MinGW GCC 3.4.2
  - Microsoft Visual Studio 10.0 (2010)
  - Microsoft Visual Studio  9.0 (2008)
  - Microsoft Visual Studio  8.0 (2005)
  - Microsoft Visual Studio  7.1 (2003)
  - Microsoft Visual Studio  6.0 (1998)
- Операционные системы
  - Windows 7              ru/en
  - 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 10.04, 11.04 + Wine 1.2.2+
  - MacOS X + Wine
    - Snow Leopard 10.6.8 + Wine 1.4-rc2