Ситуация такая: нужна IDE для обучения школьников программированию с 0. Дети 6-10 класс. Последние N лет для этого использовался Delphi 7, но сколько ж можно. Язык не принципиален, принципиально именно IDE.
Требования:
1. Полное мышкотыкательство в плане создания интерфейса. Нужна IDE, в которой для создания формы с кнопочками и текстовыми полями и навески обработчиков на нажатие кнопок не нужно писать ни строчки кода. Это требование критично, ибо никакой консольной разработки из-за специфики курса быть не может в принципе. На первом же занятии создаём форму с кнопочками и тестовыми полями и начинаем в функциях-обработчиках потихоньку понимать, что есть переменные, что есть всякие if'ы и прочие каракули. Вывод — в какие-нибудь MsgBox или в Edit'ы, ввод — из Edit'ов.
2. Простота и полное автоматизирование работы со стандартными элементами форм + нечто типо делфовского Canvas, настолько же простое в обращении. Дети не должны писать ни одной непонятной строчки кода, т.е. никакого ручного добавления обработчиков, никаких шаманств с классами, ничего. Дети не изучают ООП, дети изучают что есть if и что есть переменная, дальше они не идут. Самое сложное в курсе — это двумерные массивы. Поэтому ничего, отвлекающего их от if'ов и переменных быть не должно. Т.е. если оно есть — то оно должно делаться автоматически, как в Delphi. Вручную дети должны писать только if'ы.
3. Хоть язык и не важен, это должен быть не трупик, вроде Delphi, а что-нибудь современное.
4. IDE должна быть бесплатной.
3. Желательно, чтобы это работало под Linux. Хотя можно и всякие .NET, главное, чтобы IDE была бесплатной))
Язык, как я уже сказал, не сильно важен. Сейчас мы учим на примере Делфи, хотя практически ни слова не говорим про ООП. Смысл в том, чтобы предоставить интересный (считай — кнопочки и формы для рисования) интерфейс для изучения простейших конструкций и понятий языка.
Воот… Понимаю, вопрос глупый, но я вообще не разбираюсь в том, как современные IDE относятся к мышкотыкательству. А деток хочется учить не на убогом трупике.
Ну visual studio express + c# — бесплатна. Но можно обучить принципам на бейсике.
Под linux — для c# можно использовать mono
имхо, цепочка должна быть basic->pascal->c#
т.е. от структурному программирования к функциональному, а затем ООП.
Нет, времени у нас учить бейсику нету. В принципе, как показала практика, за год обучения дети способны на делфях написать самостоятельно что-то по типу змейки. Посему вообще не вижу смысла в таких убожествах, как паскаль и тем более бейсик. Переменные — везде так или иначе переменные, а if уж точно везде if. Мизерные отличия синтаксиса и структуры никого не волнуют, поэтому смысл есть сразу обучать на чём-нибудь современном и востребованном, чтобы дети потом не переучивались.
Да, .NET и экспресс студию гляну, спасибо! У меня просто винды нигде нету — так бы уже посмотрел))
Просто хочется что-нибудь не виндовое, всё же детей нужно учить на свободном, или как минимум кроссплатформенном софте. Вот и решил вопрос задать — чтобы все варианты собрать и потом глянуть на них.
Хоть Delphi и «трупик», но для обучения прекрасно подходит — семантика языка понятна школьникам. Данный факт проверял на оных — Delphi воспринимается лучше, чем другие языки.
Ещё подобной «лёгкой» семантикой обладает VBA и AutoIt.
Не уверен, что обойдётся только if и переменными, но в голову приходит только MonoDevelop и C# из линуксового/кроссплатформенного визуального и востребованного. Qt Creator формы, конечно, рисовать умеет, но всё же не для детей имхо C++ с надстройками. Можно ещё попробовать Qt Creator вместе с PyQt/PySide но тоже не уверен, что возможно обойтись только переменными и if.
В общем посмотрите (в порядке убывания субъективных предпочтений, IDE/язык):
MonoDevelop/C#
Qt Creator/Python(PyQt)
Qt Creator/C++
Хотя, может имеет смысл и Qt Creator/Python(PyQt) на первое место поставить — динамическая типизация всё же проще по идее, и сам код не такой «грязный» — ни скобочек для структуры, ни классов вроде System.Windows.Documents.DocumentStructures.ListItemStructure в типах переменных и параметров (да простят меня знатоки .NET за некорректность примера)
Eclipse или что-нибудь на базе Eclipse: Aptana например. Пускай делают «живые» странички на html + javascript. Интересно, современно и творчески. Понимание интернета и браузеров — точно в жизни лишним не будет. Даже если они не станут программистами.
Возможно, возможно. Правда тут одна проблема: по факту чтобы научить детей верстать нужно пол учебного года по 2 ак. часа в неделю. А курс всего на год — получается, что для проги времени не остаётся(( А не умея хорошо верстать соваться в JS — мне кажется, не лучшая идея.
Касательно текстового редактора: текстовым редактором нельзя заинтересовать. А специфика такая, что детям, которых приходится учить, это программирование изначально даром не сдалось. Отсюда и такие требования к IDE.
Так ведь цель — заинтересовать не средой разработки, а технологией. Делать страницы и выкладывать их на бесплатный хостинг, чтобы потом посмотреть на смартфоне у своего соседа — это гораздо интереснее, чем создавать win32-приложения. Я в аспирантуре давал эти технологии превокурсникам-практикантам, и они это делали с куда большей охотой, пониманием и энтузиазмом, чем классические приложения под Windows.
Ну судя по описанию вам только Delphi и подходит имхо.
В свое время мы учились на Pascal и потом уже Delphi. Паскаль конечно для детей не так интересен (даже скучен для многих). И нас тоже сначала учили строго процедурному подходу, а свойствами объектов (окон, объектов на форме) пользовались не представляя что такое ООП, просто некая переменная связанная с этим полем, которая делает его видимым/не видимым например.
Ну Dephi меня не устраивает)) Заинтересовать современных балбесов DOS программкой и консолью тоже не получается. Поэтому так и выходит — нужна максимально автоматизированная современная IDE.
Да, и верстать учить не надо — сами научатся, если захотят. Достаточно показать им эту игрушку как песочницу и полигон для экспериментов, без лишних упрёков по поводу стандартов и совместимости. И они начинают в неё играть. Не все конечно, но очень многие, особенно девушки (как ни странно).
anderston: ну под нужный вам язык программирования, C/C++: https://www.jetbrains.com/clion/
php: PHPStorm, ruby: RubyMine, Java: IntelliJ. и так далее. я кстати не из JetBrains, просто пользователь PHPStorm
anderston: PyCharm - это то что нужно, попробуйте и вы влюбитесь в эту IDE, реально помогает быть профи и упрощает жизнь, прививает правильные привычки