О боже, какое счасте. Дочка пришла из школы (хорошей, в которую перевели в прошлом году и никак не нарадуемся) с гордым криком «Папа, а мы на информатике уже программируем!». Ну, покажи, сказал папа (втайне содрогаясь в ожидании Borland Pascal 5 или чего-нибудь в этом духе). Ну, показала. ProcessingJS на движке Khan Academy!!!!11111
в этой же школе, как выяснилось, День Учителя отмечается следующим способом: любой из старшеклассников может провести любой урок у младших классов и проверить каково оно — быть учителем («старшеклассники» в смысле начиная с пятого класса, так што дочка в своём шестом пищит от восторга и собирается вести литературу) ‎- а меня почему-то забыли
круто ‎- былин
очень круто, да. ‎- middle out-of-sight
все всегда от людей - прошареный у них учитель информатики ‎- BSOD bluez
т.е учат на языке без строгой типизации и компилятора? ‎- Все собаки попадают в рай
↑ естественно. ‎- а меня почему-то забыли
/me написал и стер несколько комментариев :-) ‎- Все собаки попадают в рай
@denistsyplakov: начинать приходится с малого; считать детей тоже учат не через арифметику Пеано и теорию групп, а начиная с прагматики. прежде, чем объяснить детям ответ на какой-то важный вопрос, надо сначала, чтобы он мог у них возникнуть. ‎- 9000
А надо, конечно, с 5го класса в autoconf на freebsd мордой тыкать, пусть привыкают! ‎- адский хардлайн в засаде
вот как раз если на какой-нибудь джаве пытались учить - я бы тут комментарии стирал :) ‎- BSOD bluez
(В скобках задам вопрос, какой statically typed язык подошёл бы для обучения школьников. Из старых вспоминаются Рапира и Modula-2/3, из новых — Haskell и Go. Может, F# ещё. Что простое и внятное я упускаю?) ‎- 9000
(какой нафиг GO?! Хаскель из типизированных, схема из не. Может кстати racket как объединение схемы и типизации :) ) ‎- адский хардлайн в засаде
@larhat: я не о том, что выбрал бы лично я; я о в принципе пригодном. ‎- 9000
Ну вот я считаю, что он никак не пригоден, потому что совершенно отвратителен и ничему не учит :) ну то есть совсем сначала всё равно на чём писать, главное чтобы отклик был быстрый и сильно на пути не вставал. Процессинг в этом смысле должен быть хорош. ‎- адский хардлайн в засаде
Я знаю один язык специально придуманный для обучения. Он в реальной жизни несколько неудобен и для опытного программиста странен, но для обучения - офигенно выстраивает мысли в ряд. Это Паскаль. К счастью есть даже версии Паскаля не бесполезные в реальной жизни. Ну как альтернативные варианты это либо питон (налево) или C# (направо) (как мне кажется классический шарп достаточно прямолинейный, хотя по мне так для обучения сложноват). Ну я плохо знаю Go - но может быть Go может быть альтернативой Паскалю в наши дни. Вроде он тоже достаточно прямолинеен. ‎- Все собаки попадают в рай
UPD - да Go кажется таким адаптированным Паскалем для нашего времени. Все достаточно чистенько и нет некоторых прекрасных но не выживших концепций, таких как кастомные типы. ‎- Все собаки попадают в рай
^ Вместо паскаля я взял чуть более жизненную (и не более сложную) Modula-2 того же автора. В Go много идей потырено из M2 и, как я понимаю, Oberon (в частности, про такой подход к "ООП" я точно читал в середине 90-х). Да, жаль в Go порезали enumerated types. (А также прикольно было бы вообразить минимальный язык с ADT, но менее синтаксически шумный, чем ML, и простой; интересно, кто это уже делал и как называется?) ‎- 9000
вот я блядь вообще не ебу откуда взялся миф про «паскаль как хороший язык для обучения» (ну кроме того что Великий Вирт очень любил повторять эту мантру), и какое отношение к миру он имеет в 2015-м году. ‎- а меня почему-то забыли
О! А вот и Оберон. /thread. ‎- а меня почему-то забыли
^^ Такое же примерно, как руби. Мир разнообразнее. На руби можно быстро сваять веб-сервис, на паскале/модуле/си написать программу для мелкого контроллера, на bash — однострочную программку на командной строке. Right tool for the job. ‎- 9000
(Оберон я, кстати, не предлагаю :) Хотя спасибо Бретту Виктору за оживления ряда ключевых идей из Oberon environment.) ‎- 9000
Всё Очень Плохо. ‎- а меня почему-то забыли
^ Не всё! Перечитал начало поста и опять порадовался. ‎- 9000
Ну Паскаль как минимум придумали для обучения (да Модула-2 лучше но для нее либ компиляторов мало). Придумал не самый глупый, достаточно практичный чувак. Я знаю реально много людей учившихся с Паскаля и ставших хорошими инженерами и я интервьюировал наверное больше десятка людей учившихся с JS и ставших (тут идет мое субъективное мнение) не очень хорошими инженерами. Это с одной стороны. С другой - кажется что при обучении линейный язык который "как видится так и процессор команды выполняет", все это про типизацию, императив и т.п. хорошо приводит к появлению определенного типа разработчиков которых моей конторе последнее время отчаянно не хватает. ‎- Все собаки попадают в рай
Мне кажется, что учить азам программирования (в смысле умению говорить компьютеру что надо делать) лучше без байтиков. И это полезно было бы многим детям. А про байтики уже на спецкурсах для очкариках пусть рассказывают, хоть с си, хоть с паскаля. Олсо, ProcessingJS — это не жс, это Processing на JS ;-) ‎- адский хардлайн в засаде
Е-Практикум! Е-Практикум! Е-Практикум! Ктулху Фтхагн! Исполнитель робот! ‎- лицо не владеющее языком
@larhat: Паскаль можно понять без байтиков, он неплохо от них изолирует, если надо. Но он, конечно, жёстко императивный и не функциональный (хотя особых рогаток не ставит). И старинный он, конечно. Просто это один из *компактных* ЯП с внятными статическими типами. Что ещё есть компаткного, чтобы среднешкольника не прихлопнуло весом, ему на замену? ‎- 9000
^ схема? :) — там и синтаксиса практически нету ‎- адский хардлайн в засаде
(ну и заставлять пялиться в синий экран паскаля, когда можно пиу-пиу и красивая картинка — мне кажется это не нужно. с быстрым фидбеком развить и возможностью сделать симпатично ВОТ ЭТИМИ ВОТ РУКАМИ, мне кажется, можно пробудить интерес к программированию гораздо быстрее. мы же про среднешкольника, а не про учащегося профильного учебного заведения) ‎- адский хардлайн в засаде
@denistsyplakov: про «паскаль делал умный чувак как раз для обучения!» это cool story, но бля. за истекший отчётный период представление о том, как можно и нужно делать man-machine interaction (в т.ч. юзабилити машинных языков), немножко развивалось. мягко говоря. а также хочу вам напомнить, что речь идёт о шестиклассниках которым надо дать понюхать на что это вообще похоже. а не о «школе будущих разработчиков» ‎- а меня почему-то забыли
надо понимать, что у меня есть довольно подробные представления о том, как и о чём и на чём нужно учить программировать — хоть школьников, хоть студентов. ответы разные, но ни один из них не Паскаль/Модула/Оберон, сорри. При том что мой-то путь выглядел вполне классически для тех лет: Borland Pascal 5 → Turbo Pascal 7 → Delphi → C++ Builder → Visual C++, далее везде. ‎- а меня почему-то забыли
да пробовали уже учить школьников на Паскале/Ершоле/Рапире, it doesn't work ‎- лицо не владеющее языком
ПРОЦ СТАРТ КНЦ! ааааааа ‎- адский хардлайн в засаде
@larhat, @zverok: я всячески за быстрый фидбэк и первый язык с простейшим синтаксисом и без статических типов (по кр. мере лезуших в глаза). я задумался над тем, каким мог бы быть первый язык со статическими типами (а не первый вообще), для тех, кто пойдёт дальше. ‎- 9000
↑ я не очень верю в статически-типизированный язык как самоцель. если прям для уточнения ментальной модели «какое бывает программирование» — то да, функциональщина вроде хаскелля покажет что такое «идеальные небесные» типы, чтобы потом отражение их видеть в любой модели типизации. ‎- а меня почему-то забыли
"за истекший отчётный период представление о том, как можно и нужно делать man-machine interaction (в т.ч. юзабилити машинных языков), немножко развивалось. мягко говоря." -- тут видимо принципиальный пойнт мне вот кажется что не сильно поменялось. Может быть не изменилось вообще и даже немножко средний уровень деградировал с силу того что спрос сильно опережает предложение. -- но настолько субъективно что в текущем формате по этой дорожке мы согласия не достигнем. ‎- Все собаки попадают в рай
В тему ссылка http://www.wired.com/2010/11/mf_algorithmolympics/ -- Three minutes later, Korotkevich completed his first program: a mere 22 lines of Pascal. The three approved IOI programming languages are Pascal, C, and C++. The Western kids, including Wu, tend to use C++, the most modern and streamlined of the three. But Pascal still has a following in Eastern Europe and Asia, even though coding in it is like “building a car with just a screwdriver and a wrench,” says Troy Vasiga, this year’s IOI chair. ‎- Все собаки попадают в рай
это не в тему вообще, это же про олимпиадников. они ни к среднешкольникам, ни к промышленному программированию отношения не имеют. там конечно, по массивам туда сюда бегать с++ с итераторами только мешать будет. ‎- адский хардлайн в засаде
не очень понимаю, зачем детям статически типизированый язык, но из того, что есть, свифт выглядит наиболее прилично. вообще, для обучения промышленные языки плохо подходят, хотя бы потому, что в сообщениях об ошибках без поллитры не разберешься. можт в процессинге с этим получше ‎- urquan