Как стать автором
Обновить

Комментарии 85

Согласен с автором, Скетч хорош на самого начального детского класс.
Но почему-то он не упомянул старый добрый Паскаль, который для англоязычных можно назвать как естественный язык. Для начального текстового он тоже очень не плох.
По поводу синтаксиса не согласен, надо с самого начала научить прежде чем запустить программу её проверить, тем более в том же Паскале он минимум.
Так же текстовый язык помогает делать структуру программы более понятной.
Все же визуальный язык это комиксы, а текстовый это нормальное книжное чтение.
Так же желательно все же ознакомить еще с графическим обозначением алгоритмов (блок-схемы). Тогда можно быстрее запомнить основные алгоритмические конструкции.
Ну а потом можно если не Java то Processing, очень хороший для графических вещей.
Считаю плохой идеей учить детей программированию с помощью паскаля. Надо использовать тот язык, который является актуальным и позволит им достаточно быстро начать созидать (чтобы начать получать от этого удовольствие)

К примеру python, простой синтаксис и хорошая стандартная библиотека (и множество других хороших библиотек), с помощью которых можно достаточно быстро сделать что-то интересное.
Язык программирования это прежде всего ОДИН из инструментов демонстрации АЛГОРИТМОВ! Для детей тем проще тем лучше. ;) Хорошо отношусь к Питону, но некоторые его принципы для начального обучения ДЕТЕЙ мне кажется тяжеловаты.
Надо использовать тот язык, который является актуальным

понятие актуальность очень и очень зыбкое, сейчас да, а через несколько лет уже нет ;)
Детям которым сейчас 12-14 лет самое главное это понять что и как, и по возможности быстро увидеть результат, вот кстати чем хорош Processing даже мобильные приложения под Андроид можно быстро сделать. Профессионально они столкнутся с актуальными средами, лет через 6-8, а какая на тот момент времени будет актуальность мало кто знает :)
Я про актуальность на момент изучения. Разве ребенок захочет учить алгоритмы? Он хочет делать что-то интересное, создавать
Соглашусь! он хочет не просто что то создавать, а видеть плод своих трудов :)
НО при обучении любому искусству (а программирование это искусство) начинают всегда с азов, художники с карандашных рисунков, музыканты с гамм, танцоры со «станка». Вот и у нас тоже, с блок-схем, Паскаль (некоторые кому программирование не нужно (только на экзамены) на этом останавливаются ), Processing, Java :)
Позволю встрять в обсуждение.
«он хочет не просто что то создавать, а видеть плод своих трудов :)»
Не факт. «Просто создавать» — это процесс — и результат (на котором сосредоточено) внимание появляется каждую секунду. Видеть плод своих трудов — это уже несколько опосредованно. Возникают проблемы тактика/стратегия, сильная/слабая воля.
«НО при обучении любому искусству (а программирование это искусство) начинают всегда с азов, художники с карандашных рисунков, музыканты с гамм, танцоры со «станка».»
Нет. Музыканты начинают с простых, но вполне музыкальных произведений. Гаммы идут когда учитель и ученик понимают, что ученику не хватает техники пассажей и тот с радостью бросается играть гаммы.
Впрочем есть хорошие учителя/преподаватели, а есть не очень. И методики у всех разные, и нюансы — важны.
Тоже встряну :)

Гаммы идут когда учитель и ученик понимают, что ученику не хватает техники пассажей и тот с радостью бросается играть гаммы.

Гаммы начинаются с самого начала и они не от того, что ученику чего-то не хватает.
Гаммы для наработки навыков:
1. Равной громкости звукоизвлечения всеми пальцами (это я про фортепиано говорю). Т.е. громкость звука каждым пальцем должна быть одинакова. Пальцы ведь изначально имеют разную силу.
2. Ритмичности звукоизвлечения. Т.е. звуки должны извлекаться равномерно: пам-пам-пам-пам..., а не пам-пам… пампам-пам…
3. Синхронности работы рук. Звук извлекаемый обеими руками должен сливаться в один. А не «блям-блям».
4. Аппликатуры. Этим нарабатывается постановка пальцев при игре в стандартных ситуациях.
5. Ключевых знаков. Мозг привыкает к тому в какой тональности какие клавиши — чёрные (грубо говоря).

И «с радостью» гаммы вряд ли кто-то бросается играть :)
Забыл нулевой пункт:
0.Беглость пальцев.
Вы мыслите не как школьник, а как профессиональный программист.

В школьном образовании первая задача — научить детей составлять алгоритмы, и лишь вторая — ввести эти алгоритмы в компьютер с помощью какого-либо языка программирования. А начинать сразу с питона и библиотек — это все равно, что в 5 классе давать интегралы.

Впрочем, это не означает, что детям нельзя давать питон. Наоборот, я считаю, что 9-10-летние дети способны осваивать программирование не хуже взрослых, и я не вижу смысла в создании обучающей среды, ориентированной только на детей.
«Все же визуальный язык это комиксы, а текстовый это нормальное книжное чтение.».
Картины, например, Репина — тоже комиксы? Там тоже визуальный язык — язык визуальных образов.
Сценарий «Дом 2» — тоже нормальное книжное чтение? Тоже на текстовом языке.

Какой «он» в Паскале минимум? Несколько кривоватая фраза. А, видимо, синтаксис. Тогда уж Оберон.
Картины, например, Репина — тоже комиксы? Там тоже визуальный язык — язык визуальных образов.

Это вы батенька загнули ;) изобразительное искусство конечно язык образов, но мы то с вами обсуждаем языки программирования ;)
Могу даже больше сказать, есть комиксы уровень не ниже известных классических художников :)
На счет сценария ;) думаю польза будет, хоть читать научатся :)
Про Оберон сказать не могу, мало с ним знаком ;) но в Паскале действительно синтаксис более логичен и минимален. :)
Не я заговорил о комиксах и нормальном книжном чтении. Это моё высказывание — всего лишь последствие неосторожно ляпнутого слова. Так что не ко мне притензии.

Ну Оберон же потомок Паскаля, так что про логичность синтаксиса — это и к нему относится. К тому же синтаксис Оберона ещё и проще.
Так я без претензий :)

На счет Оберона ;)
будет данный в ЕГЭ или ОГЭ тогда подумаем :)
а так приходится то что будет спрашивать на экзамене
Так ведь в статье вроде об обучении, а не об этих порождениях дьявола.
Надо забыть про паскаль, питон на порядок проще и яснее синтаксис имеет и при этом это реальный язык с полным набором актуальных библиотек.
Ну во первых, всех с Новым годом! :)
Пусть этот год будет для вас лучше предыдущего!
Счастья, здоровья и всего всего чедо душа пожелает :)

Во вторых
Надо забыть про паскаль,

Мне такие призывы напоминают революционные лозунги ;)

питон на порядок проще и яснее синтаксис


возьмем несколько примеров:
Python
def f(x):
return (x — 16)*(x + 25)

a = -100
b = 100
n = 0

for t in range(a, b + 1):
if f(t) <= 0:
n = n + 1
print(n)

Си
#include<stdio.h>
int F(int x) {
return (x — 16)*(x + 25);
}

void main() {
int a, b, N, t;
a = -100; b = 100;
N = 0;
for (t = a; t <= b; t++) {
if (F(t) <= 0) {
N++;
}
}
printf("%d", N);
}

и всеми не «любимый» Паскаль :)
var a, b, N, t: integer;
Function F(x: integer):integer;
begin
F := (x — 16)*(x + 25)
end;
begin
a := -100; b := 100;
N := 0;
for t := a to b
do
begin
if (F(t) <= 0) then N := N + 1;
end;
write(N);
end.

Вы меня конечно простите НО я не вижу что бы в Python был проще и яснее синтаксис.
Любой человек который знает английский в рамках 4-5 класса школы сможет понять что делает программа на Паскале без объяснений, с Си сложнее НО логика тоже хорошо видна, а Python простите увы НЕТ или у меня интеллект ниже шимпанзе :)
Даже наличии «программных скобок» begin… end и {...} уже дают ясность.
Могу как учитель сказать что дети даже при их наличии с трудом осознают структуру программы особенно если не делают отступы, в Python где они не видимы и все зависит от отступов вообще кошмар.
Ваш покорный слуга пробовал сразу после блок-схем давать Python НО это плохо кончилось.
Да есть дети которые алгоритмические структуры схватывают моментом, но увы, таких один из сотни.
С ними работают отдельно.
Конечно в таких простых конструкциях все языки похожи, разница не особо велика, но по мне так даже в данном примере питон без лишнего мусора выражает то что требуется на английском языке (при том, что я не питонист, только интересуюсь).
И обязательность отступов это отлично — учиться нужно сразу правильным подходам.

Вы лучше возьмите немного другой пример, питон ведь более высокоуровневый язык, сделайте аналоги конструкций
if variable is None:

или
if variable in list:

всего и не упомнишь, но я многократно сталкивался с тем, что в питоне можно коротко и ясно выразить суть, максимально близко к английскому языку.

Ну и стандартная библиотека питон сразу предлагает хорошие практики — logging, configparser и т.п., конечно в качестве учебных задач можно написать их аналоги, но нужно знать, что эта работа уже хорошо сделана до нас.
worldmind
Приятно иметь дело с умным человеком :)
Вы все правильно говорите
НО
Вы лучше возьмите немного другой пример, питон ведь более высокоуровневый язык, сделайте аналоги конструкций
if variable is None:
или
if variable in list:
всего и не упомнишь, но я многократно сталкивался с тем, что в питоне можно коротко и ясно выразить суть, максимально близко к английскому языку.

Дело в том что и английский язык тоже многоуровневый, я специально обозначил возрастную категорию (4-5 класс) и уровень школьников в иностранном языке обычной школы не велик.
К 6-7 классу (в этом возрасте попадают ко мне ;) ) они знают лишь небольшой запас слов и конструкций, поэтому слова «begin», «end», «for», «if», «then»,«and», «or» и др. для них не представляют трудностей в понимании.
Все что вы приводите это удел старших возрастов (старшие классы, студенты) которые уже нормально осознают логические цепочки (хотя и там бывают проколы :) ).

И обязательность отступов это отлично — учиться нужно сразу правильным подходам.

именно так и делаем, через слезы, ругань, конфеты :)
Ну и стандартная библиотека питон сразу предлагает хорошие практики — logging, configparser и т.п.,

Я с вами полностью согласен! :) НО все ЭТО нужно потом, когда они осознают что такое программирование.
Вы же не предлагаете вместо Азбуки сразу читать Диккенса что бы учится читать? ;)
То, что я привёл в примерах ничем не сложнее ваших примеров, во всяком случае в питоне, а вот в других ЯП это реализуется значительно менее читаемо и понятно.
> Вы же не предлагаете вместо Азбуки сразу читать Диккенса что бы учится читать? ;)

нет, я такого не предлагал
Еще раз прошу прощения, но именно вы данное и предлагаете ;)
говоря что сразу надо начинать с тех вещей которые сейчас в «ходу» :)
Паскаль — это одна из Азбук (Букварь) :)
Нет, паскаль это не азбука, это один из языков по которым можно обучать программированию, он был создан как замена менее подходящему для этого си, но перед питоном у него нет преимуществ, скорее недостатки
А у Питона перед Си\С++ нет преимуществ.
Обучать Си\С++ можно с 7 класса (а по моим «оценкам» — с 5 класса.
Методика была описана тут
https://habrahabr.ru/post/179307/
Обучать можно чему угодно и с какого угодно возраста, вопрос не в том можно или нельзя, а в том, что лучше подходит.
Паскаль как раз и стал языком для обучения потому что си это уродливый и низкоуровневый язык, но паскаль это мёртвый язык, неудивительно, что сегодня есть лучшие альтернативы.
Как можно так позорить себя?
ВОПРОС:
— Какому языку можно обучать грудничков?
Предлагаю Вам извиниться перед сообществом и больше не писать в подобных темах то того, как хоть не много изучите тему…

Мы уже поняли, что вам нравится Паскаль, это не повод переходить на личности.


Кроме прочего необходима мотивация. Паскаль мертв, Он не нужен в будущем, а Питон — нет. Не надо заставлять детей зря тратить время на ненужные вещи из-за собственных стереотипов про Паскаль.


Мне вот, как человеку, который не знает ни питон ни паскаль как раз питон более читабельный.


И нет, Вы понимаете кол на паскале не потому что он похож на английский, а потому что вы знаете паскаль. Он не ближе к английскому, чем любой другой высокоуровневый.

Вы верно ошиблись ответом — я конечно, знаю Паскаль, но знаю и еще пол-сотни, да-да пятьдесять + других языков программирования: ассемблер (на который я перешел после Паскаля...))), Си, С++, Весёк, Фортран, Пролог… — нужно ли перечислять все??
Если говорить о ЯП для обучения — посмотрите мой пост в самом конце:
— визуальное программирование (Скрэтч — урбанизирован под девочеч, которые увлекаются куклами — девочки бывают разными, например, Алиса Шевченко
— она же Esage — http://www.forbes.ru/tekhnologii/internet-i-svyaz/275355-kontrakt-na-ugrozu-kak-khaker-stroit-biznes-na-zashchite-bankov
Так вот Скрэтч — жалкое подобие GameMaker 8.1
Паскаль создан для изучения программирования, но после создания методики обучения Си\С++ (см. мой пост в конце...) — нахожусь в твердом убеждении, что с визуального GameMaker 8.1 следует переходить на Си\С++ — особенно, если переписать GameMaker 8.1 под GNU\open source…
А Питон — пусть развивается...)))
Как это Паскаль мёртв? А как же Delphi, который по рейтингу TIOBE находится на 12 месте по популярности? Я скорее поверю в то, что через 5-10 лет умрёт Питон, чем Паскаль.
Паскаль он конечно азбука — но азбука латинского. Который мёртвый язык.
И неважно как они знают английский, главное что код более близок к естественному языку
И неважно как они знают английский, главное что код более близок к естественному языку

а это и есть естественный язык
If (если) условие then (тогда)
for ( для) имя переменной :=(присвоить) начальное значение to (до) конечное значение
do ( выполнить)
не говоря уже о
begin и end ;)
Да, только это урезанный язык, в питоне он ближе к естественному, примеры я привёл в самом первом посте
Я с вами полностью согласен! :) НО все ЭТО нужно потом, когда они осознают что такое программирование.

К сожалению это нужно сразу — потому как отсутствие какого-нибудь findall(r'(\d+)',txt) ведёт к невозможности написать выдающую результат программу.
Без сопутствующего фреймворка любой язык способен разве что вывести «привет, мир» — а это интересно детям только один раз
Ну и стандартная библиотека питон сразу предлагает хорошие практики — logging, configparser и т.п., конечно в качестве учебных задач можно написать их аналоги, но нужно знать, что эта работа уже хорошо сделана до нас.

Какой логгинг, какой конфиг? Дети ещё не особо понимают, что такое файл, про слово «процесс» вообще не слышали, а вы их грузите какой-то технической ерундой. Это профдеформация.

Задача школьного обучения: научить понимать и писать алгоритмы, а не научить писать код.
Ученики должны писать велосипеды, а не пользоваться сразу готовым кодом. Это и есть непосредственная часть обучения.
Вы с кем-то другим спорите, я о том же
worldmind
Вы с кем-то другим спорите, я о том же

простите но это ваши слова
хорошие практики — logging, configparser и 
Да, если вырвать их из контекста
DistortNeo
Задача школьного обучения: научить понимать и писать алгоритмы, а не научить писать код. 
Ученики должны писать велосипеды, а не пользоваться сразу готовым кодом. Это и есть непосредственная часть обучения.

Приятно сознавать что есть разумные люди :)
Как там у классиков «мы с тобой одной крови...» :)

Странно, ни слова про LabView — ярчайший пример визуального программирования для взрослых. Собственно, я только с ним и научился эффективно программировать, несмотря на все попытки отца-программиста меня чему-то научить. Кто не в курсе, LabView — среда для программирования научного эксперимента.

А вот я наоборот. Учился на курсах по LV не посредственно в NI, показалось все это… надуманным каким-то.
Вот LabWindows CVI — там все понятно ))).
Скетч — набросок, эскиз. Скретч — каракуль. Язык в обсуждаемой статье называется скретч.
Автор, по-моему, сравнивает одно и то же.
Скретч — это просто «руками не набирать», а по сути — тот же «текстовый» язык.
Интересно а детей реально научить в том же майнкрафте создать компьютер и «поставить — активировать» свою программу? Например на готовой карте с компьютером, активировать факелами нужные репиторы и запустить хотя бы змейку/калькулятор?
Да, но скорость работы — аховая и создавать надо очень долго.
Поищите «redstone calculator» на ю-тюбе.

С меньшим успехом можно делать водяной компьютер даже в Dwarf Fortress.
НЛО прилетело и опубликовало эту надпись здесь
А что считается полезной программой? Существует, например, куча игровых движков, позволяющих создавать игры без программирования: Construct, GameMaker, RPG Maker и т.д. И с их помощью разрабатываются коммерческие проекты. Не говоря уже о том, что обучение детей несколько отличается от программирования станков.
НЛО прилетело и опубликовало эту надпись здесь
Когда дядя уже всё сделает, а им останется выбрать комбинацию из красивых пиктограмм.

Ну в принципе Matlab Simulink по сути набор пиктограмм. А еще есть специализированные Real-Time Digital Simulatior, там тоже набор пиктограмм, аналогично Simulink.
Тут стает вопрос, что важнее — за три-четыре года работы над докторской использовать готовые решения и все же заняться основной задачей или заново написать программу. Программирование, оно ведь не вещь в себе, а всего лишь один из компонентов существующей экономики.
НЛО прилетело и опубликовало эту надпись здесь
Любое утверждение можно довести до абсурда неуместными сравнениями.

Вы же написали, что Когда дядя уже всё сделает, а им останется выбрать комбинацию из красивых пиктограмм. , а в случае Матлаба это именно тот самый случай, когда не нужно разбираться в деталях и сосредоточится на главном. Что же касается:
Причем тут разработка математических моделей?

Язык программирования это не вещь в себе. Она по сути должна взять исходные данные и выдать результат после математических расчетов. Просто с помощью Симулинка они визуализированы, чтобы не выискивать, если надо быстро набросать алгоритм для проверки. Или вы хоть раз написали не программу-математическую модель?
Я говорю конкретно про то, что написано в сабже — обучение детей с помощью визуальных языков программирования.

Так вроде вполне последовательный переход от схем на бумаге к схемам на компьютере. Главное понять идею и увидеть ее в действии, что гораздо проще на таком материале, чем отрабатывать на бумаге. Как минимум проще исправить, если надо еще один цикл внести или проверку. Нормальный процесс во всех отраслях науки и техники.
Ничего удивительного. Основные затраты в современных играх уходят на графическую часть и маркетинг.
Интересно, существуют люди, которых учили программированию в школе и они стали программистами?
Тут есть такие?
Конечно, есть. Школа вполне успешно показала, что есть такая штука — программирование, и она вполне интересна, что подтоклнуло к самостоятельному изучению программирования.
Как учили? На чём учили? Назовите вашу цепочку изучения языков =)
BASIC с 5 класса — этого уже было достаточно, чтобы программирование заинтересовало, вплоть до изучения мануалов по системе, что, понятное дело, не входило в школьную программу. После бэйсика всякие лого и графические языки казались языками для детей с особенностями развития.

Затем паскаль с 8 класса — стало ещё интереснее, потому что с помощью паскаля можно было написать абсолютно что угодно. А преимуществом Паскаля перед C было значительное меньшее количество способов выстрела в ногу. Напомню, что тогда были времена DOS, и основными языками программирования были C, Pascal и ASM, никаких хаскель-питонов и в помине не было.

После 8 класса изучение программирования стало полностью самостоятельным: школа и университет уже ничего нового не могли предложить. Ну были C, C++, но мне они не очень нравились.

Слез с паскаля я в итоге только на 3 курсе: перешёл с Delphi на MSVS C#, когда вышел .NET 2.0.
Интерес к C++ проснулся уже позже, с выходом С++11 и необходимостью в написании высокоэффективных по скорости приложений (обработка изображений: параллелизм, векторные инструкции).
Похоже, что таки школе нет нужды учить программированию, достаточно познакомить. А там уже кто заинтересуется — начинает сам.

Встряну со своим опытом.


  1. Искусственный язык с русскоязычными операторами без компьютера.
    Дало общее понимание процесса программирования от построения модели до реализации в коде.
  2. Fortran. Повезло. Практика на "живой" ЕС-1025 с перфораторами, перфокартами и печатной машинкой в качестве терминала. Это было применение полученных знаний на практике.
  3. ЯМБ. Это был УПК. По итогам имею диплом оператора ЭБМ.
    Это было скучное "обучение языку", когда давали только операторы и стандартные приемы решения стандартных задач.

Основное школа таки дала — общее понимание того, что такое программирование, и что это в общем-то интересно.
Остальное — исключительно самообразование (даже простой программируемый калькулятор МК-61 дал немало) и внешкольная система образования (что-то вроде кружка по программированию при институте).
После уже стало однозначно понятно, куда я буду поступать и чем буду заниматься после.

НЛО прилетело и опубликовало эту надпись здесь
жаже работу с дебаггером изучали

А почему «даже»? Если рассматривать Turbo Pascal, то там IDE — неотъемливая часть процесса программирования. И в голову бы не пришло писать отладочный вывод и ломать голову вместо использования отладчика.
НЛО прилетело и опубликовало эту надпись здесь
Я так же заинтересовался программированием только из-за дебаггера: белый экран с текстом-кодом нагонял уныние, а вот осознание, что ты становишься богом для программы в дебаггере — замораживаешь её, прокручиваешь, перематываешь, меняешь значения… Вот это чувство и привлекло, наверно у них так же.
Мне всегда не нравилась плохая наглядность кода, приходится в своей «нейронной сети», в мозге, выстроить алгоритм и анализировать его, почему не создать визуальный язык с нодовой системой который избавлял бы от этого? Одновременно можно было бы и в код заглянуть, если кому-то нравится работать так.

Неподготовленные люди смогли бы создавать нужные им приложения, без изучения огромного количества информации, а сложные программы остались бы за специально подготовленными программистами.
Однажды, лет 5 назад, понадобилось мне, маглу непрограммисту сделать простую игру. Каково же было моё удивление, что с супертехнологиями второго десятилетия 21 века простой человек не может просто нарисовать кружок на экране и двигать им с устройства ввода (джойстик, клавиатура, мышь...).
С тех пор я разрабатываю среду, в которой на первом месте скорейшая обратная связь в виде воплощения замысла человека, а технические детали/подробности скрыты или отложены на потом или вообще для специалистов.
Надеюсь, это сильно повлияет на мир, когда любой человек любого возраста и пола станет полноправным хозяином своих компьютеров/смартфонов =)
В Unreal Engine реализован собственный скриптовый язык, который выглядит как блок-схемы.
Недостаточно, нужно больше наглядности =)
Я долго искал предел наглядности и пока дальше этого продвинуться не могу:image
Т.е. только примитивы и анимация. Среда должна визуализировать внутренности программы, алгоритмы.
И оказалось, что такое становится понятным уже любому человеку, не только программисту.
Надеюсь в будущем написать статью про это на Хабре.
Интересно, ждёмс…
Спасибо. Выглядит очень интересно. Сам попробую, и попробую на людях, которые программировать не умеют.

Когда запускал, на консоли появилось:

Executing: /usr/lib/squeak/4.10.2-2614/squeakvm -encoding UTF-8 -vm-display-x11 -plugins /usr/lib/scratch/plugins/:/usr/lib/squeak/4.10.2-2614/ -vm-sound-pulse /usr/share/scratch/Scratch.image

squeak — виртуальная машина SmallTalk.

На самом деле, когда я глянул что оно умеет — у меня была одна фраза «ВЕРНИТЕ МНЕ МОЁ ДЕТСТВО». Потому что деревянный синклер, прибитый ассемблером к магнитофону — это вся романтика, которая у нас была.
Вставлю свои три копейки, ибо много занимаюсь с детьми…
Не всё «графическое» одинаково вредно\полезно, ИМХО скрэтч хорош именно тем, что концептуально близок к написанию кода, в отличии от лабвью вообще и леговского в частности, где решение задач отличающихся от тупой коммутации датчиков-исполнителей, превращается в адский адъ!

За написание кода я ратую лишь потому, что Монтессорщик и дети у меня маленькие, так-что клавиатура им проще, чем таскание даже скрэтчивых блоков.
Замолвлю и я словечко за визуальные ЯП. Одним из ярких примеров, который крепко и давно используется в совсем не детском и высоконагруженном продакшене телекома, является TIBCO BusinessWorks, достаточно долго и плотно с ним работал. По сути, это визуальная надстройка над Java с парадигмой «всё есьм xml», позволяющая в пару телодвижений писать middleware для взаимной интеграции зоопарка всевозможных разрозненных систем.

Если интересно посмотреть, как это всё выглядит — просто вбейте в гугл-картнках «TIBCO BusinessWorks». Очень мощная штука.
Сам научился программировать на Minecraft-модах. Правда не в 9 лет, а в 15, но и то неплохо. Сейчас уже 20, таки работаю программистом, хотя некоторые minecraft-related проекты до сих пор поддерживаю.
Племянника (7 лет) все думаю посадить на Scratch. До сегодняшнего дня был уверен, что там все по-английски, так что ему будет сложновато. Ан нет, русский имеется.
… Поигрался с scratch. Оно очень старое. Я (вроде бы не сильно тупой пользователь PC) не смог найти метода сделать рабочую область побольше. Всё очень пиксельное и никакого антиалиасинга — на больших экранах больно смотреть, а что будет на highdpi — страшно себе представить.

Система команд не сильно интуитивна (например, поворот не поворачивает фигурку), как удалить действие из середины стека не удалив все под ним — я тоже не нашёл.

По нажатию F11 просто показывает белый экран и назад не восстанавливается (по повторному нажатию).
Вы наверное в Scratch 1.4 поигрались.
В Scratch 2/0 https://scratch.mit.edu/projects/editor/
можно импортировать векторные изображения, и это выглядит гораздо лучше чем 1.4
— Поворот поворачивает фигурку, если включить соответствующий стиль вращения
— чтобы удалить блок из середины, надо отцепить все что ниже, затем удалить блок, затем вернуть все что ниже.
— F11 не понял вопроса. Зачем его вообще нажимать?

И вопрос к любителям паскаля, сколько строк на паскале чтоб написать вот такую игру типа пинпонга?
https://scratch.mit.edu/projects/10128515/
На Скретч всего 25 блоков
Внесу свои «три копейки»…
1. Перевод статьи — как будто создан для споров, А НЕ ДЛЯ ПОИСКА ИСТИНЫ…
В переводе не указаны возраста детей — результат: можно спорить до посинения…
— один — про 5-6-7 летних
— другой — про 4-5 класс (10-11 лет)
— третий — про 9-10 классников…
и каждый будет прав — по своему — так как все три указанных возраста — абсолютно разные…

Про визуальное программирование?
— Начинать программировать можно с 5-6-7 лет — и это должно быть визуальное программирование…
Желающие поспорить для начала должны аргументированно опровергнуть пословицу:
«Лучше один раз увидеть, чем сто раз услышать»
Начинать оптимально с программирования роботов типа MindStorm 2.0 (3.0 не видел — возможно так же подойдет)
Мой личный опыт (в том, числе — по работе с детьми с нарушениями в аффективной сфере...) — с 6-ти MindStorm 2.0 (правда, крайне желательно обучение родителями — например умножению — крайне легко для 5-ти летних, но нужны ежедневные занятия — это «под силу» только родителям — крайне легко: идем в садик, в магазин и т.д. — Давай посчитаем до 10 (1,2,..,9,10) — а теперь в обратную сторону (10,9,8,...,2,1,0 — дальше для усиления положительного подкрепления — кстати, это еще один минус перевода\статьи — ни слова не сказано о положительном подкреплении… — А теперь давай посчитаем до 20 (1,2,3,...,19,20) — а теперь в обратную сторону — А давай посчитаем побыстрее — через два (2,4,6,...,16,18,20) — а теперь в обратную сторону (20,18,16,..,4,2,0 — ПУСК (пляшем, поем и т.д. — делаем, то, что нравиться ребенку — и он будет сам просить «посчитать»...))) — Давай посчитаем до 30...- полагаю большенству уже понятно…
Но я отвлекся — с 8 GameMaker 8.1 — в 11 лет дети (с подтвержденной задержкой в развитии) сами просили научить их программированию на языке (в GameMaker 8.1 — внутренний язык очень похож на Си)
Методика обучения на Си\С++ описана тут
https://habrahabr.ru/post/179307/
На сайте методиста
http://ded32.net.ru/ (в правой колонке)
К визуальному программированию
«Как известно, все развивается по спирали...»
Обратите внимание на методики типа
— Rational Unified Process https://ru.wikipedia.org/wiki/Rational_Software
— Power Designer
и Вы увидите «развитие» визуального программирования «на новом витке»…
Следующие «пол оборота» — Александр Сергеевич Подколзин http://intsys.msu.ru/staff/podkolzin/

и так далее… вечная борьба «щита» и «меча»…
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Я думаю вы правы относительно того, что при решении задачи главная цель стоит в решении задачи, а так же и скорости ее достижения. Ведь выбор языка должен быть обусловлен применимостью в конкретной ситуации, а не продвижение всеми средствами привычного языка разработки. Другими словами, инструмент должен помогать в решении задачи, а не мешать.
НЛО прилетело и опубликовало эту надпись здесь
— «Много ли школьников станет программистами? Немного.»
Много ли школьников станут грамотными после школы — Немного…
И Вы гордитесь подобной позицией?
По моему, детей надо учить программировать в декларативной парадигме. Императивная только мешает. А визуально или текстово уже не важно.
Вот только ориентированных не детей сред, поддерживающих декларативное программирование, я не видел.
Ну собственно любой веб-дизайн и прочее рисование формочек — это декларативное программирование.
А вот управление механизмом без императивного никак. И там даже не просто императивное, а реакция на события.
Функциональное реактивное программирование хорошо подходит для реагирование на события. А логическое программирование в ограничениях для задач планирования.
— «По моему, детей надо учить программировать в декларативной парадигме.»
???...8()…
Наиболее близкое по слыслу — «зеленеет розовый желток»…

— «Вот только ориентированных не детей сред, поддерживающих декларативное программирование, я не видел.»
Это потому-что Вам нужно вернуться из страны «Зазеркалье» (Алиса в стране чудес) и не ставить «телегу впереди лошади»… Вы о каком возрасте (для какого возраста хотели бы увидеть среду декларативного программирования):
— грудничковый
— оральный возраст (это когда предмет исследования тут же оказывается во рту исследователя)
— ональный (почитайте научную психологию — идет следом за оральным)
— кризис трех лет («Я сам!»)
— 5 лет
— первый класс
— 4 класс (последний в младшей школе)
— 7 класс
— 11 класс
Вы для какого возраста хотите увидеть среду декларативного программирования?
1-4 классы. С пятого, по моему, уже можно использовать REPL и текстовый редактор.
Императивная только мешает

Мешает чему? Вообще компьютеры работают именно императивно, а фп — всего-лишь обертка.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории