<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF149%3ASchool1</id>
		<title>LXF149:School1 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF149%3ASchool1"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF149:School1&amp;action=history"/>
		<updated>2026-05-13T08:43:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF149:School1&amp;diff=15479&amp;oldid=prev</id>
		<title>2sash-kan: Новая страница: «==Программирование в Linux – так ли это сложно?==  : Программирование в Linux должно быть интуит…»</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF149:School1&amp;diff=15479&amp;oldid=prev"/>
				<updated>2014-07-24T13:18:34Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «==Программирование в Linux – так ли это сложно?==  : Программирование в Linux должно быть интуит…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Программирование в Linux – так ли это сложно?==&lt;br /&gt;
&lt;br /&gt;
: Программирование в Linux должно быть интуитивно понятно. Если для вас это не так, '''Александр Казанцев''' расскажет, как разрешить данную проблему.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|Заголовок=Наш эксперт|Содержание=Александр Казанцев&lt;br /&gt;
Старший научный сотрудник ЗАО «Тырнет» и автор образовательного проекта Edumandriva в настоящий момент посвящает все свое время скрещиванию железа и софта под свободными лицензиями.|Ширина=20%}}&lt;br /&gt;
&lt;br /&gt;
Оглянувшись назад на наши публикации в рубрике Школа LXF, вы заметите одну особенность: вопросам программирования не уделялось много внимания. Да, среды программирования упоминались в статьях про исполнители, web-сервисы, учебники по информатике. Но, как показывают поступающие к нам вопросы от учителей, тема до сих пор, спустя несколько лет внедрения СПО в школах, как никогда актуальна. В рамках LinuxFormat опубликовано немало уроков по написанию программных продуктов на разных языках и в разных средах. Но единого обзора, увы, не было. И это надо срочно исправить.&lt;br /&gt;
&lt;br /&gt;
Поэтому я решил снова пройтись по азам инструментария для изучения алгоритмических основ и программирования в рамках школьного курса информатики. Возможно, некоторые вещи для вас будут уже прописными истинами – тогда эта статья не для вас. Но многие найдут в ней нужную и полезную информацию, особенно те, кто пропустил предыдущие этапы перехода на Linux.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|right|Заголовок=Мы об этом писали|Содержание=Мы уже касались вопросов данной темы ранее. Чтобы полнее понять, о чем идет речь, советуем прочитать следующие статьи:&lt;br /&gt;
&lt;br /&gt;
* [[LXF126-127]] Школа LXF: Исполнители и псевдокод&lt;br /&gt;
* [[LXF135]] Школа LXF: СПО и новый стандарт для начальных классов&lt;br /&gt;
* [[LXF143]] Школа LXF: Олимпийский ЕГЭ&lt;br /&gt;
* [[LXF148]] Школа LXF: Школа в «облаках»|Ширина=20%}}&lt;br /&gt;
&lt;br /&gt;
Первым делом давайте заглянем в школьную программу. Какие языки программирования и среды нужны и уже описаны в учебниках и методике, а также в заданиях ЕГЭ (что может быть самым важным выбором)? Ничего необычного – Паскаль, Бейсик, Алгоритмический язык и Си. Плюс упоминаются VisualBasic, Gambas и Delphi в качестве сред для изучения ООП. Для младших классов предлагаются свои решения – обычно это аналоги NetLogo (Черепашка, Кенгуренок, ЛогоМиры и т. п.). Также встречаются исполнители, представляющие собой смесь Черепашки и Паскаля (Паркетчик в учебниках А. Г. Гейна). Мы не будем касаться исполнителей (о них у нас была отдельная статья – см. врезку вверху), а поговорим о языках программирования.&lt;br /&gt;
&lt;br /&gt;
===Scracth. Начало===&lt;br /&gt;
&lt;br /&gt;
Начнем мы со Scratch (http://scratch.mit.edu) – языка и среды написания программ в виде «кирпичиков», выросшего из NetLogo и исповедующего его принципы. Для начальной школы и уроков технологии в 5-6-м классе лучшего способа вливания в траекторию алгоритмизации не придумаешь. В процессе создания с помощью Scratch интерактивных историй, игр и анимаций ученик может получить базовые навыки программирования приложений. Также в процессе работы в данной среде развиваются логическое и алгоритмическое мышление; системный подход к решению проблем; развитие идей, начиная от исходной концепции и до конечного результата создания проекта; навыки и опыт создания интерфейса пользователя; умение отладки и тестирования результата; развитие настойчивости и умения концентрироваться. Упор делается именно на алгоритмическую составляющую: программа однозначно задает компьютеру его действия шаг за шагом, а само составление программ требует не специальных знаний, а тщательной и ясной продуманности действий.&lt;br /&gt;
&lt;br /&gt;
Работая со Scratch, ученики изучают следующие основные понятия и концепции:&lt;br /&gt;
&lt;br /&gt;
* Интерфейс пользователя&lt;br /&gt;
* Команды, блоки, процедуры и скрипты&lt;br /&gt;
* Работу с объектами, методами и событиями&lt;br /&gt;
* Различные виды и типы данных, константы, переменные, списки&lt;br /&gt;
* Работу с переменными и присваиванием&lt;br /&gt;
* Выражения и операции&lt;br /&gt;
* Основы рисования и черчения&lt;br /&gt;
* Ввод и вывод символьных данных&lt;br /&gt;
* Управление процессами – последовательные и параллельные процессы, циклы и ветвления.&lt;br /&gt;
* Событийный аппарат и взаимодействие объектов&lt;br /&gt;
* Алгоритмизацию и моделирование.&lt;br /&gt;
&lt;br /&gt;
Но Scratch не всемогущ. В нем вы не сможете&lt;br /&gt;
&lt;br /&gt;
* задавать функции;&lt;br /&gt;
* использовать параметры и аргументы;&lt;br /&gt;
* использовать рекурсию;&lt;br /&gt;
* определять свои классы объектов;&lt;br /&gt;
* обрабатывать запросы и ошибки;&lt;br /&gt;
* работать с вводом/выводом файлов.&lt;br /&gt;
&lt;br /&gt;
В следующих статьях мы постараемся уделить побольше внимания данному отличному продукту, и ваши письма на info@linuxformat.ru подскажут нам, интересно ли вам данное направление.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|Заголовок=Как использовать Geany|Содержание=На сайте IBM Developers Works размещен прекрасный цикл по работе в Geany с разными средами программирования:&lt;br /&gt;
&lt;br /&gt;
* Часть 1.Основы работы в Geany. Создание простого приложения – http://www.ibm.com/developerworks/ru/library/l-Geany/&lt;br /&gt;
* Часть 2. Работа в Geany с проектом – http://www.ibm.com/developerworks/ru/library/l-geany2/&lt;br /&gt;
* Часть 3. Работа в Geany с исходным кодом на языке Free Pascal – http://www.ibm.com/developerworks/ru/library/l-geany3/&lt;br /&gt;
&lt;br /&gt;
Чтобы программировать в Geany с использованием синтаксиса QBasic нужно, установив FreeBASIC, изменить строку в Сборка — Установить команды сборки на&lt;br /&gt;
&lt;br /&gt;
 fbc -w all -lang qb “%f”|Ширина=30%}}&lt;br /&gt;
&lt;br /&gt;
===Geany — Великий и Ужасный===&lt;br /&gt;
&lt;br /&gt;
Pascal и BASIC – два языка, с которых начинается погружение в увлекательный мир программирования для многих школьников. И начинался для нас – тех, кто дает знания в текущий момент. TurboPascal от Borland и QBasic от Microsoft стали де-факто стандартом для многих школ в части процедурных языков. Синенькие оболочки эпохи DOS, увы, до сих пор властвуют в школах России, и тут есть одна причина, кроме банальной устаревшей техники: начинать сразу с объектно-ориентированного «накидывания элементов на форму» не является лучшим способом погружения в увлекательный мир программирования. Абстрагирование от внешнего вида и сосредоточение на структуре кода – вот главное, за что ценили данные среды и языки. Доводы про обучение с самого начала на Си или других языках, типа Python, возможно, правильны. Но если глянуть на ЕГЭ, то сразу станет понятно, почему процедурные языки еще в ходу.&lt;br /&gt;
&lt;br /&gt;
В Linux мы имеем две отличных замены проприетарных компиляторов и интерпретаторов: FreePascal и FreeBasic, которые (для FreeBasic это достигается с помощью специального ключа) совместимы с TurboPascal и QBasic, но по сути предлагают гораздо больше возможностей.&lt;br /&gt;
&lt;br /&gt;
Но писать программу в текстовом редакторе и запускать ее компиляцию с помощью командной строки современным детям очень и очень трудно. И тут на помощь нам приходит Geany.&lt;br /&gt;
&lt;br /&gt;
Geany – это свободная среда разработки программного обеспечения, написанная с использованием библиотеки GTK2. Geany не включает в свой состав компилятор. Вместо этого используется GNU Compiler Collection (или любой другой компилятор) для создания исполняемого кода. Особенностями Geany являются:&lt;br /&gt;
&lt;br /&gt;
* Подсветка исходного кода с учетом синтаксиса используемого языка программирования (язык определяется автоматически)&lt;br /&gt;
* Автозавершение кода&lt;br /&gt;
* Автоматическая подстановка закрывающих тэгов HTML/XML&lt;br /&gt;
* Простой менеджер проектов&lt;br /&gt;
* Поддержка модулей расширения&lt;br /&gt;
* Встроенный эмулятор терминала&lt;br /&gt;
* Поддержка большого количества кодировок&lt;br /&gt;
* Гибкий интерфейс&lt;br /&gt;
&lt;br /&gt;
Вы можете использовать Geany не только для написания программ на Паскале или Бейсике, но также как простой HTML-редактор, для написания программ на C, Haskell, Python и множестве других языков.&lt;br /&gt;
&lt;br /&gt;
Еще раз хотим напомнить, что вам нужно установить компилятор для данного языка, чтобы получить возможность работы в Geany. К примеру для дистрибутива Edumandriva нужно установить пакеты fpc и FreeBASIC.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|right|Заголовок=Методика по BASIC256|Содержание=Вы можете найти и свободно скачать методику и руководства по следующим ссылкам:&lt;br /&gt;
&lt;br /&gt;
* Справочник синтаксиса BASIC256&lt;br /&gt;
*: http://doc.basic256.org/doku.php?id=ru:start&lt;br /&gt;
* Джеймс М. Рено Хотите научиться программировать?&lt;br /&gt;
*: http://www.altlinux.org/Books:Basic-256&lt;br /&gt;
* Компьютерный практикум с использованием BASIC256&lt;br /&gt;
*: http://metodist.lbz.ru/authors/informatika/3/|Ширина=20%}}&lt;br /&gt;
&lt;br /&gt;
===Еще Бейсики===&lt;br /&gt;
&lt;br /&gt;
BASIC (или Бейсик) до сих пор остается самым простым языком программирования, и FreeBASIC не является единственным выбором в Linux. Существуют и другие среды. Наиболее известными из них являются BASIC256 и Gambas.&lt;br /&gt;
&lt;br /&gt;
BASIC256 – это упрощенная версия языка BASIC, созданная для обучения детей младшего возраста основам программирования. Она использует традиционные управляющие структуры, такие как gosub, for/next и goto, что помогает детям легче понять, как происходит управление выполнением программы. Язык имеет встроенный графический режим, позволяющий в считанные минуты рисовать на экране картинки. Набор подробных и простых для повторения уроков знакомит с концепциями программирования посредством веселых упражнений. Данный язык набирает популярность и обрастает документацией и методикой (см. врезку внизу).&lt;br /&gt;
&lt;br /&gt;
Gambas — объектно-ориентированный диалект языка BASIC, дополненный интегрированной средой разработки и работающий на GNU/Linux и других UNIX-подобных операционных системах. Он представляет собой средство разработки программного обеспечения, аналогичное Visual Basic в плане разработки программ на бейсике. Gambas задумывался как альтернатива Microsoft Visual Basic для разработчиков, которые решились перебраться на Linux.&lt;br /&gt;
&lt;br /&gt;
Gambas – рекурсивный акроним от англ. Gambas Almost Means BASic, что в дословном русском переводе выглядит как «Gambas Почти Означает Basic», а более привычно русскому уху «Gambas – почти Basic». Само слово Gambas с испанского переводится как «креветка», которая, собственно, и изображена на логотипе. Gambas позволяет:&lt;br /&gt;
&lt;br /&gt;
* Работать с базами данных, такими как MySQL, PostgreSQL, Firebird, SQLite и ODBC.&lt;br /&gt;
* Создавать приложения KDE с DCOP.&lt;br /&gt;
* Использовать 3D API OpenGL.&lt;br /&gt;
* Портировать программы с Visual Basic на Gambas.&lt;br /&gt;
* Создавать сетевые решения.&lt;br /&gt;
&lt;br /&gt;
Особенно стоит отметить, что Gambas используется как альтернатива VisualBasic в учебниках по информатике авторства Н. Д. Угриновича, что автоматически снимает вопрос о методической составляющей.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|Заголовок=Почитаем про КуМир|Содержание=Пройдя по данным ссылкам, вы сможете найти исчерпывающую информацию об использовании системы КуМир в учебном процессе.&lt;br /&gt;
&lt;br /&gt;
* Курс алгоритмизации с использованием исполнителей системы КуМир и автоматического тестирования&lt;br /&gt;
*: http://server.179.ru/wiki/?page=DenisKirienko/Kumir&lt;br /&gt;
* Учебные пособия по КуМир&lt;br /&gt;
*: http://www.niisi.ru/kumir/books.htm&lt;br /&gt;
* Решения задач в КуМир&lt;br /&gt;
*: http://lpm.org.ru/kumir2/files/solutions.7z|Ширина=20%}}&lt;br /&gt;
&lt;br /&gt;
===Алгоритмический язык===&lt;br /&gt;
&lt;br /&gt;
Если же вы поклонник национального продукта и считаете, что использование иностранного языка при написании программ вредно (похоже, так же считают создатели 1С), то можете обратить свой взор на алгоритмический язык и среду написания программ на нем – КуМир.&lt;br /&gt;
&lt;br /&gt;
КуМир – это система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе. Основана на методике, разработанной во второй половине 1980-х годов под руководством академика А. П. Ершова. Эта методика широко использовалась в средних школах СССР и России. В системе КуМир используется придуманный А. П. Ершовым школьный алгоритмический язык – простой алголоподобный язык с русской лексикой и встроенными командами управления программными исполнителями (Робот, Чертежник).&lt;br /&gt;
&lt;br /&gt;
Кроме этих исполнителей, доступны Водолей (задачи на переливание между сосудами), Кузнечик (аналог машины Поста) и Черепаха (замена Logo Turtle), а также Рисователь. По всем исполнителям доступна исчерпывающая справочная информация, а система команд за счет русского языка понятна всем.&lt;br /&gt;
&lt;br /&gt;
===Хотим формы===&lt;br /&gt;
&lt;br /&gt;
Мы уже упомянули одну среду, предназначенную для изучения объектно-ориентированного принципа программирования. Но таких сред много, и они в основном представляют собой RAD IDE. Если на Windows вы привыкли к Delphi, то в Linux стоит обратить внимание на Lazarus.&lt;br /&gt;
&lt;br /&gt;
Lazarus представляет собой свободную среду разработки программного обеспечения для компилятора Free Pascal. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении и на первый взгляд неотличима от 7-й версии Delphi. Те же визуальные компоненты, такой же принцип построения приложений. Более того, вы можете импортировать в Lazarus проекты из Delphi, и если не использовались какие-нибудь экзотические примочки, это сработает. Вам останется только поправить ОС-специфические вещи – такие, к примеру, как различие задания путей файлов в Windows и Linux – и перекомпилировать проект (особенно в последних версиях, начиная с 0.9.30). Дьявол, как говорится, таится в мелочах. В нашем случае «мелочью» будет работа с базами данных. В Lazarus применяется отличный механизм, достаточно сложный для неподготовленного пользователя. С другой стороны, разобравшись в нем, вы не будете привязаны к Interbase, а сможете работать с MySQL, PostgreSQL, Firbird и другими СУБД. Также стоит отметить наличие портов под Lazarus таких известных компонентов, как Indy, GLScene и других. Много полезной информации по использованию Lazarus можно найти на сайтах http://lazarus.su/ и http://freepascal.ru/, а также на русской Вики http://wiki.lazarus.freepascal.org/Main_Page/ru.&lt;br /&gt;
&lt;br /&gt;
Поклонников C# (да и VB) обрадует тот факт, что их программы, написанные на данном языке, можно запускать в Linux, при минимальной переделке. И помогает в этом проект Mono и среда разработки Monodevelop. Также любителям VisualBasic стоит обратить внимание на KBasic (http://www.kbasic.com) – открытый аналог VB на Qt, который очень похож на его шестую версию.&lt;br /&gt;
&lt;br /&gt;
И это только начало списка. Linux хорош тем, что вырос из Unix. А следовательно, большинство языков программирования имеют реализацию под Linux. Хотите перейти на C? Тогда можете установить GCC, и воспользоваться простотой Geany или мощью Anjuta в совокупности с графическими возможностями GTK2 (а еще лучше – современного GTK3). Хотите изучить C++? Тогда, начав опять же с Geany, впоследствии можете перейти к связке с прекрасным графическим фреймворком Qt (на нем основана среда KDE4, к примеру) и открыть для себя QtCreator или Code::Blocks. Нравится Python – Geany или Eric помогут вам погрузиться в язык. Ruby, PHP, Perl, Java, JavaScript – список можно продолжать до бесконечности, и я уверяю вас, что скорее всего для каждого языка найдется подходящая среда, пригодная для обучения программированию. Напишите нам, если вам интересна данная тема: какие языки программирования стоит рассмотреть в рамках школьной рубрики, какие проблемы вас волнуют; или оставьте сообщение на форуме linuxformat.ru.&lt;/div&gt;</summary>
		<author><name>2sash-kan</name></author>	</entry>

	</feed>