/
README.txt
123 lines (98 loc) · 11.4 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
-----------------------------------------------------
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