Pull to refresh

Comments 114

для 8го класса подойдёт думаю.
Я учусь на преподователя информатики, у нас в университете есть предмет «логомиры» там учат тому как научить пятиклассников программировать незабвенных черепашек.
И спасибо что написали, думаю что когданибудь мне это пригодится.
UFO just landed and posted this here
К сожалению, далеко не во всех школах информатика со 2 и даже с 5 класса.
В нашей школе, к сожалению, только с восьмого. Мешает специализация…
я — последня буква в алфавите. И вообще нужно было в футбол играть и в бассейн ходить.
UFO just landed and posted this here
мы за вас рады.
А СИ для большинства школьников будет не более очередной ненужной занозы в одном месте… А для спецшкол — бога ради
UFO just landed and posted this here
для спецшкол? Это в качестве наказания чтоли :)
ну школьника родители засунут программистскую спецшколу, когда тот хочет стать литературоведом, то да, наказание)
а есть разве спецшколы программерские?
Хотя если даже и есть, то наврядли есть смысл начинать учить в ней бейсик. Разве что вместо азбуки чтоли? :)
в качестве наказания шалунам)
А Онотолей в 5 лет вел блог на ассемблере! )))
Ну да, на словах ты Лев Толстой… ну и дальше по тексту.
UFO just landed and posted this here
learning BASIC causes permanent brain damage, %username%
Паскаль чем удручает? Тем что специально для обучения создавался?
Нет. Возникает много «соглашений», например о том, что если в условии или теле цикла содержится более двух строк неплохо бы поставить Begin End. Достаточно простая программа превращается для некорепших мозгов в кучу неоправданных Begin… End.
В бытность свою школяром мне потребовалось минут 20, чтобы понять, что else if в бейсике работает только при наличии табулятора. Это гораздо, гораздо хуже, чем паскалевские операторные скобки.
Это правило давно кануло в лету.
UFO just landed and posted this here
UFO just landed and posted this here
Это естественный язык в отличии от фигурных скобок.
UFO just landed and posted this here
Поверьте мне… Уже не первый раз наблюдаю, как на первых порах изучения ветвлений и циклов возникает куча вопросов, которые рассеиваются только через два-три урока.
А жалко времени.

Может Вы предложите как доступно объяснить особенность использования begin… end в Паскале…
гм… для учебной программы — ставить их везде.
или все же объяснить что такое оператор, и что он может быть составным.
поверьте, не так это сложно ученики воспринимают.
Может Вы предложите как доступно объяснить особенность использования begin… end в Паскале…
Очень просто. Скажем if:

if условие then begin
  оператор;
  оператор;

  оператор;
end
else begin
  оператор;
  оператор;

  оператор;
end;

Для продвинутых: некоторые части этой конструкции можно опустить. Хотите узнать больше — почитайте описание языка. Вот и всё. Усваивается — на раз. Никаких проблем ни с «висячим else» ни с «точкой с запятой, которая разделяет операторы, а не оканчивает их» — нету. Продвинутые — могут сами почитать, 90% этого не нужно.
на басике проще и выходит
if… then

else

endif
и без двоеточей перед равно и без точек с запятой… и без непонятной точки после end.
у питона нет гламурной DE, плюс он слишком удобный :) А детям нужна абстракция — не программистов же из них поголовно делать стоит задача, а дать представление об общих принципах и правилах.
Абстракция, умение думать логично, воспитание правильного стиля, это как раз о Питоне.
Вспомним что на него повлиял тот же язык ABC который разарабоатывался для обучения программированию.
А стиль я считаю это очень важно, это должно быть на уровне рэфлекса.
К тому же немаловажное добавление Python заработает даже на Windows 98 и 2000, у меня в школе стоит ещё 98-ая. Linux, FreeBSD, Solaris нет проблем есть и там. Нужно показать ребёнку что мир не заключён в стекляном шаре Майкрософт, Сан или кого либо.

А вообще боюсь у нас разные подходы к образованию, я преподавал только в ВУЗе, но в школе считаю что задача не столько обучить программированию, а научить мыслить логически, аристотелевой логики, Питон как нельзя лучше подходит для этой цели. Но кроме того его применение не ограничевается рамками обучения, что подталкивает фантазию, можно давать творческие задания, показывать разные «трюки» именно это побуждает интерес. Черепашка ну да может первое время интересно, но потом унываеш, а что мешает добавить двигающиеся препятствия, аля Пакман, исходник доступен.

А насчёт гламурности, она нивелируется отсутствием динамичности. Я можу на ходу трансформировать объект в интерактивном режиме, что в плане наглядности на порядки полезнее гламурной дополнялки. Когда азы освоены, SmallBasic остаётся красивой игрушкой, а с Питоном можно продолжать решать реальные задачи.
Та же математика, вроде бы есть Math, но нет способа просто изобразить график, а с matplotlib.sourceforge.net/ можна от сложных поверхностей до простых прямых изображать.
я-то был бы счастлив, если бы мне вместо бейсика-паскаля питон преподавали…
Недавно открыл для себя этот язык, читал мануалы просто с восторгом! Тут я больше контр-доводы противников приводил :)
Паскаль плох хотя бы тем, что для него не существует лёгких и удобных сред, пригодных в школе. Допотопный турбо-паскаль просьба не называть.

А здесь мы видим действительно современную разработку. Очень рад, что наконец такое появилось!
Исключительно согласен с Вами, уж если учить детей в школе программированию — то точно не на BASIC. Си думаю перебор, а паскаль — то что нужно
почему паскаль, а не бейсик? Си явно перебор… может лучше учить perl?
UFO just landed and posted this here
яростно плюсую. Питон вот есть, например, зачем детей мучать :(
как раз таки питон для детской психики опасен, после него на другом языке писать будет очень сложно
Ну не всем же быть программистами. Язык только средство для решения алгоритмических задачек… Чем меньше при решении задач мы отвлекаемся на особенности синтаксиса — тем лучше.

Тот кто будет учиться по ИТ-направлению — познакомится с другими языками. А вы предлагаете начать с Си?
UFO just landed and posted this here
Лично на конференции (как раз об Обероне) от Никлауса Вирта слышал призыв забыть о Паскале, как об устаревшем языке ;)
Вы бы спросили у него что он думает на тему использования Бейсика вместо Паскаля — услышали бы другие песни. Ему и в голову, наверное, не может придти что кто-то будет переходить с Паскаля на Бейсик.

А конкретно Small Basic просто на уровне FAQ убивает: Unlike QBASIC, Small Basic is based on .Net and can consume (not produce) «Objects». Just like the early variants of BASIC, Small Basic is imperative and doesn't use or expose beginners to concepts like scopes, types, object orientation, etc.

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

Да, далеко не всем нужно уметь программировать — ну так и расскажите им как быстро рассчитать разные полезные вещи с помощью электронных таблиц! По крайней мере ну будет возникать иллюзий. А для тех кто таки хочит учиться программировать — есть нормальные языки. С системой типов, областями видимости и прочим.
лучший язык — типизированный язык — спорное утвержение.
Сферический конь в вакууме класная штука, но только в теории. Без определения что такое «лучший» это как говорить о током не реализированном Евересте, вроде рвёт Пентиум, но Пентиум вот он со всеми его недостатками, а Эверест в серию не пошёл, поэтому и сравнять несчем.
Вы же не учите детей «албанскому», хотя на нем тоже можно говорить и писать и не надо знать никаких правил.
В литературных текстах сразу стоят в нужных местах запятые и прочие знаки препинания, никто ж не ждет, когда дети выучат правила их расстановки.
Чтобы в голове изначально были правильные шаблоны, надо сразу учить правильному кодированию. А научиться сокращать лишние операторы — это действительно уже следующий шаг для «немного продвинутых».
UFO just landed and posted this here
Тем не менее, в своё время дважды взял первое место на областной олимпиаде, программируя на этом самом Бейсике.
Олимпиады по программированию имеют столь же много общего с программированием как олимпиады по литературе — с написанием романов и повестей.

Каждый пинает тот язык и ту технологию, которую не умеет использовать. А все остальные доводы — не более чем оправдания.
Почему же — есть вполне объективные критерии. Типа времени потребного для обучения человека хорошему стилю. Для фанатов Бейсика это время, как правило, больше, чем для фанатов Паскаля а зачастую и вообще стремится к бесконечности.
Могу сделать… Чуть попозже прикреплю.
У нас в универе пошла тенденция не привязываться к MS. О чем нам сообщают преподователи. Пишем на cpp + qt
Тоже, кстати, хороший довод: зачем учить человека технологиям, за которые ему потом придётся платить? Если есть разумная открытая и бесплатная альтернатива — нужно учить именно ей, а платный вариант он всегда освоить успеет.
UFO just landed and posted this here
Обучать надо тому, что будет необходимо человеку, а не тому, что бесплатно.
Назовите хоть один продукт, который можно было бы изучить 10 лет назад и сейчас придти с тем багажом знаний и работать. В любом случае придётся переучиваться — будь то MS Office или Eclipse. За 10 лет (срок между началом обуучения в школе и выходом на работу) интерфейс всех продуктов успевает сильно измениться.

Учить нужно базовым принципам. Ну а если человек с может с собой на диске забрать именно ту версию, которой он учился — у него и практически полезные навыки будут. А попробуйте сейчас легально купить MS Office 2000 или Windows 98!
UFO just landed and posted this here
В школе-же, необходимо преподавать то, что не заставит человека изучить все «внутренности» (в том числе и лицензирование)
А куда вы денетесь от этого? Что вы будете делать если к вам придёт существо с дискеткой (сегодня — с флешкой) и попросит переписать всё чем вы тут пользуетесь чтобы он мог дома с этим поработать и с друзьями поделиться?
UFO just landed and posted this here
Ась? Вы уверены что вот эти дистрибутивы, входящие в пресловутый пакет «Скорая Помощь» можно вот так вот запросто распространять? Я как-то сомневаюсь.
UFO just landed and posted this here
А вот нифига подобного:
1. Огромное количество вещей нельзя распространять. На распространение бесплатного триала нужна отдельная лицензия. Как пример — но это вообще скорее правило, чем исключение.
2. Урезанная функциональность — вы вынуждаете человека начинать разбираться с лицензированием только чтобы понять почему у него дома всё работате не так, как в школе.

Короче если вы используете проприетарное ПО, то вы вынуждены учить детей отказывать другим в их просьбах о помощи — хорошо ли это? Конечно же нет. В редких случаях его приходится использовать из-за отсутствия приемлемой альтернативы, но это никогда не должно делать с лёгким сердцем просто потому, что в проприетарной версии кнопочки красивее.
UFO just landed and posted this here
Распостранять можно, но есть ограничения. Как и везде. В вашем примере, кстати, это бесплатная версия ;)
Абсолютно бесплатная, но даже при этом распространять её нельзя.

Да прекратите… И я, и многие мои знакомые, обучались на закрытом ПО. И что? Никто не стал жлобом из-за этого. Доказывать подобное — бред и наивность. Не надо переворачивать с ног на голову.
Зачем же доказывать очевидное? Всё и так прекрасно видно.

Я предпочитаю проприетарное ПО не из-за красоты кнопок, а из-за надлежащей тех.поддержки, более быстрому развитию и еще по куче других причин. Обучать же бесплатному, но убогому — это заранее загонять обучаемых в самое дно.
А обучать продукции Adobe, Microsft, Corel и т.п. — это совершать преступление. Либо разбазаривание госсредств (если с них перейти на свободное ПО и ПО созданное в России быстро и быстро, но при этом куча денег тратится на закупку ПО «в стране вероятного противника»), либо просто диверсия (если, как любят говорить фанаты проприетарного ПО, оно настолько далеко впереди что перейти на свободное ПО проблематично — в этом случае можно говорить о снижении обороноспособности за счёт привязывания к ПО, контролируемому «вероятным противником») — выбирайте за что будете сидеть по вкусу.

P.S.: давайте прекратим диалог. Я противник OpenSource и GPL, т.ч. переубедить меня будет сложно, а мне переубедить вас будет сложно.
Я боюсь что ни то, ни другое невозможно — отчасти потому что вы обучались на закрытом ПО, а я — нет. И вы поступаете в строго соответствии с давней истиной (раб мечтает не о свободе, а о собственных рабах).

P.S. Насчёт уголовоной ответственности из-за использования продукции Microsoft в школах: понятно что в современной России за использование проприетарного ПО никого не посадят ибо «распил» со свободного ПО не такой богатый получается, но формально — это таки преступление…
Я немного вмешаюсь, ладно?
Главная задача государства в области образования, это обучить таких людей, которых требует рынок труда.

Если рынок труда требует ms, значит ms, если linux значит linux. Убеждайте бизнесменов, которые выбирают платные технологии взамен бесплатных, а не учителей, которые лишь следуют спросу.

Почему они предпочитают _свои_ средства тратить на ms, а не на линукс? Наверно потому что линукс их чем-то не устраивает. Свои деньги все умеют считать, я вас уверяю.

И государство тоже имеет право выбирать те технологии, которые более удобны и эффективны. Те кто вопят об откатах — сильно упрощают картину.

Все остальные разговоры, про «преступление» и т.д. — в пользу бедных.

Я своего ребенка 6 лет учу именно на Small Basic, сам в 10 лет начинал с quick basic, что не мешает мне сейчас работать в IT и создавать успешные работающие системы для пользы моего работодателя.
Главная задача государства в области образования, это обучить таких людей, которых требует рынок труда.
Если государство ставит цели образования именно так — то это не государство, а так, колония.

Если рынок труда требует ms, значит ms, если linux значит linux.
Если рынок труда требует ms, значит люди выучат ms — или за свои деньги или их обучат работодатели. Почему государство должно тратить деньги налогоплательщиков чтобы спонсировать бизнесменов?

Почему они предпочитают _свои_ средства тратить на ms, а не на линукс? Наверно потому что линукс их чем-то не устраивает.
Известно чем: за обучение продуктам ms платят налогоплательщики, а изучать linux придётся за свои деньги.

И государство тоже имеет право выбирать те технологии, которые более удобны и эффективны.
Не должно государство лезть не в свою тарелку! Эффективность обеспечивает рынок — и весьма эффективно обеспечивает. Лучше чем государство. Государство должно вмешиваться тогда, когда стремление рынка к эффективности создаёт угрозу безопасности людей. Прямую (когда, например, ради эффективности в котельных не оставляют запасы топлива ибо эффективнее людей заморозить, чем тратить деньги на резервное топливо) или косвенную (когда использовании продукции ms на почте создаёт ситуацию при которой в случае войны товары элементарно не смогут доставляться в регионы). Со своей обязанность в случае России государство справляется отвратительно — уж не знаю почему: откаты виноваты или что другое. И да, использование американского ПО в школа при наличии альтернативы — это невыполнение государством своих обязательств.

Я своего ребенка 6 лет учу именно на Small Basic, сам в 10 лет начинал с quick basic, что не мешает мне сейчас работать в IT и создавать успешные работающие системы для пользы моего работодателя.
Да ради бога! За ваши деньги — любые капризы. Но вот обучение ms в государственных школах — это преступление.
Если государство ставит цели образования именно так — то это не государство, а так, колония.

Я честно говоря не понял утверждения. Доказывать как-то будете? Так я вам не поверю.
Если рынок труда требует ms, значит люди выучат ms — или за свои деньги или их обучат работодатели. Почему государство должно тратить деньги налогоплательщиков чтобы спонсировать бизнесменов?
пардон, нажал на ентер
Если рынок труда требует ms, значит люди выучат ms — или за свои деньги или их обучат работодатели. Почему государство должно тратить деньги налогоплательщиков чтобы спонсировать бизнесменов?

Вы как-нибудь определитесь. Скажу вам по секрету, налогоплательщики=бизнесмены. Других налогоплательщиков пока не придумали. Поэтому если государство хочет жить и успешно конкурировать с другими государствами, оно должно в первую очередь должно заботится о снижении затрат бизнесменов. Путем подготовки правильных кадров. И если работодателям на 95% требуется знания винды и офиса, значит нужно в школе изучать винду и офис. Если вам, как сторонникам «свободного» ПО, это не нравится, уменьшайте эти 95%, ваше право, а не отрывайтесь на бедных школьниках. Сделаете продукт лучше винды-отлично, все будут только рады.
когда использовании продукции ms на почте создаёт ситуацию при которой в случае войны товары элементарно не смогут доставляться в регионы)

Ну, предположим вариант, война с США. Забудем, для чистоты эксперимента, что MS это транснациональная компания, доходы которой вне США больше, чем внутри США. То есть интересы MS!= интересы США.
Итак война. И что, все компьютеры почты россии тут же перестанут работать? Скорее всего нет, они спокойно доработают до своей физической смерти. Ну, не будут получат апдейты, и что? При таком форс-мажоре можно было бы действительно перейти на линукс. Но поскольку вероятность это крайне мала, выбор винды может быть оправдан не только откатами. Не забудем также, что все заинтересованные спецслужбы (в том числе ФСБ) имеют полный доступ к исходникам виндовс.

Гораздо сильнее на вашем месте я бы озаботился тем что это ПО работает на камнях интел/амд.

И да, использование американского ПО в школа при наличии альтернативы — это невыполнение государством своих обязательств.

Опять говорю — сделаете продукт, который добровольно выбирать не 2%, как щас, а хотя бы 30% — тогда можно об это говорить. Пока изучение линукса для обычного школьника (который не собирается делать IT своей професией) — пустая трата денег налогоплательщиков.
UFO just landed and posted this here
UFO just landed and posted this here
«вы можете публиковать свои разработки… На одном из» what?
Хотел написать, что на одном из скринов видно как импортируются программы из онлайн-базы… =)
Хотя скрин есть этот… если пройти по ссылочке.
Имхо Си тоже ужасен. Вернее располагает к написанию ужасающего кода.
Вижу смысл в обучению программированию детей при помощи Питона.
Чтобы понять что такое программирование — достаточно.
Более того; те, кому понравится программировать, уже смогут это делать. Язык мощный и актуальный.

А учить детей Бейсику сейчас не вижу смысла… SmallBasic не катит, потому что, как уже было сказано выше, там все в кучу и объекты, и обычный ситнаксис.

Паскаль, единственный язык на котором я написал более менее приличные программы за всю свою жизнь, уже давно и безнадежно устарел. О чем тоже уже говорилось выше. Все эти неоднородности вроде лишних begin..end, to/downto, и необходимости; после конца строки удручают.

Питон, питон и еще раз Питон. :)
UFO just landed and posted this here
Да бросьте… Учить язык, в котором табы имеют большее значение, чем операторы — бред. Да, читается легко, но когда пробел имеет больший вес, чем сама операция — это не язык, а клетка.
Вообще-то так были устроены все «псевдоязыки» в разных книжках типа вот этой уже давно. Для чтения (и, стало быть, для написания простых программ) это удобно, а в сложных — да, бывают проблемы, но редко. В конце-концов так ли велика разница между дополнительным отступом и begin/eng, {/}, case/esac и т.п.? Причём отступы-то обычно всё равно есть!

По поводу begin..end и т.д. — можно конечно объяснять, что IDE уже сами ставят, но зачем?
А читает их за вас тоже IDE сама? Эмпирически установленно: количество отлаженных строк кода, которое человек может выдать «на гора» слабо зависит от языка. Разница примерно в два раза от самого многословного (Assembler) до самых «плотных» (Haskell, Prolog, Ocaml, etc). Потому что IDE может ускорить написание программы, но никак не её чтение! В частности многословие — самая большая моя претензия к такому языку как Java.

Причём это ещё программист с опытом может «пропускать взглядом» на экране лишние конструкции — новичёк (а школьник — по определению новичёк; те кто не новички с любым языком справятся) будет долго и тщательно прочитывать все эти лишние слова и по втором разу и по десятому.

В общем — не могу сказать что Python идеален для обучения (сложноват он), но такой вариант вполне имеет право на существование…
Мне кажется ничего сложного нет…

Даже проще бейсика…

Приучить человека к аккуратности, в написании кода — это да…
Я видал как мой друг, во время обучения в Лицее писал код… операторы были где попало по строке, в некоторых строках было несколько операторов. Все налеплено. Работало конечно, но отлаживать невозможно.

А в остальном, что нужно знать школьнику? :) Базовые операторы: присваивание, условие, цикл, ввод-вывод, арифметика, да вызов функций. Пожалуй всё.

Представьте как учили бы школьника Си… они бы вечно забывали выделить или освободить память.
Путались в областях видимости переменных, и неочевидности присваиваний/сравнений. А понятие об оперировании памятью… что есть ссылки, есть указатели, а есть сами значения… Школьнику оно абсолютно не надо.

Я не говорю что язык плох… просто обычно учат ему отвратно. И потом такие программисты пишут отвратный код, который без ИДЕ вообще читать невозможно.

>самая большая моя претензия к такому языку как Java.
«немногословная» java — это groovy, имхо вполне даже ничего для обучения.

>Эмпирически установленно: количество отлаженных строк кода, которое человек может выдать «на гора» слабо зависит от языка.
однако сам процесс отладки может быть весьма и весьма зависим от языка, особенно если брать новичков и, скажем, (VS + C++) vs (IDEA + Java)
Я серьезно. И как раз разравнивание кода пробелами и табами считаю огромным приемуществом Питона. Он не дает писать ужасный код.
По одному оператору на строке — это же замечательно в плане понимания.
Вот например ассемблерный код читается просто отлично! Также и с Питоном.
А выравнивание — это же просто песня. Даже с первого взгляда видно что к чему относится.

Как то, еще до того, как я решил поучить Питон, мне понадобилось поставить NNTP-сервер. Всякие страшные юниксовые поделия вроде inn меня просто убили. А тут попался довольно простенький (в конфигурировании), модульные сервер Papercut. И он был написан на Питоне.
Да вот беда… попалась мне бета, и работать у меня ни в какую не желала.
Безо всякого знания RFC на NNTP, без знания Питона, я за вечер смог понять вообще всю логику работы как протокола NNTP, таки самого сервера, поправить что мне нужно, и запустить его. :)
За плечами правда были Basic,Pascal,C,Perl и немного других языков.
Но они мне совершенно не помогали, когда я пытался править код драйверов мультипортовой карты под Линукс, и в недавней ситуации, когда я пытался понять как работает FreeRADIUS…

В общем я считаю что программистов полезно бы усадить в некоторые клетки.
Ведь усадили же в клетку «пишем без goto», усадили в «оформляем все в процедуры и функции, делим программу на кусочки», и в «инкапсулируем все в объекты». И ниче… пишет народ в этих парадигмах и радуется, как все удобно стало… А раньше такие простыни были — ужас.
UFO just landed and posted this here
UFO just landed and posted this here
Да, может быть.
Я вообще чаще пишу то, что мне нужно на Перле. Там как раз полная свобода. Я бы даже сказал Анархия…
Но и программы бывают… голову сломаешь, пока поймешь что делает.
Полезно давать полезные привычки, а не металлические клетки.
Металлические клетки гораздо практичнее. Ещё раз: point212 — не так важно как удобно писать код на том или ином языке — важно как его читать. Ибо пишется код один раз, а читается — от десятков раз (если с ним работает один человек) до десятков и сотен тысяч (если это популярный проект). Клетка очень эффективна в упрощении чтения и уже поэтому имеет право на жизнь.

P.S.: сам питон, говорят, очень мощный язык — этого я не касаюсь. Меня оттолкнуло именно форматирование.
Ну это уже совсем детский сад.
UFO just landed and posted this here
Что мы и видим — перейти с бейсика/php на питон сложнее, чем с питона на бейсик/пхп.
Да, это одно из важных достоинств языка Python. Если человек на него переходит, то он вынужден изучать и использовать общий стиль. За это я готов многое простить этому языку.

UFO just landed and posted this here
Ну кто сделал отсылку по Ctrl-Enter при невозможности редактировать сообщения? Гррр…

У меня противоположная точка зрения — «металлические клетки» менее практичны, чем хорошие привычки. Клетки заставляют думать только в одном направлении, что очень плохо для любого человека.
Клетки приводят к тому, что стиль имеется у языка, а не у проекта. Посмотрите на языки со «свободным стилем»: C++, PHP, Perl. Приходится изучать новый стиль при переходе от проекта к проекту, либо, что ещё хуже в одной программе оказывается десяток разных стилей.

А насчёт «заставляет думать только в одном напревлении» — покажите что ваше «напревление» правильное и Гвидо язык изменит (хороший пример — операторы with и раздел else в for/while/try). Если же «что-то этакое» вам что-то приходится делать раз в год и вы не можете ждать — можно и как-нибудь криво запрограммировать.
Отсылать форму по Ctrl Enter — стандартное поведение браузера ;)
Доброе утро, страна!
UFO just landed and posted this here
Не поленился — проверил в Mosaic, так практически c самого становления World Wide Web ;)
UFO just landed and posted this here
Чтобы писать на питоне надо хорошо знать ООП, а чтобы знать ООП надо немного понять структурное программирование.
Совсем необязательно. Опять же, тем же детишкам, чтобы строить простейшие алгоритмы достаточно будет базовых конструкций языка.
На крайняк, все необходимые им функции можно импортировать.

Мы же говорим сечайс о применении SmallBasic как простую альтернативу в освоении и обучении? И в частности о том, что питон, пожалуй, больше подходит.

Конечно, чтобы сделать серьезное приложение, прийдеться поучиться.
А импорты детишки должны заучить как мантру или священую истину, не понимая что она делает?

Я не понимаю чем плох обычный ANSI C, без каких либо извратов. Конечно, свой пример плох, но я писал простенькие программы на C когда мне было 6-7 лет, ничего мозг не сломал :)
а include у вас с потолка возмётся. Python класный тем что уже есть абстракции списков, словарей, черепашка и куча готовых модулей, а ГЛАВНОЕ, это интерактивность, никакой компиляции, хочу прямо в динамике с интреактивной консоли чвет объекта поменял, сделал волку 10 глаз. Это очень важно.
Вы Питон в глаза видели?
Ruby, С#, Java, Smalltalk — это ООП язык, где каждая функия должна быть членом класа.
Python язык мультипарадигменный, подджерживает структурный, объектноориентированый и функциональный(функциональный с многими ограничениями) стили програмирования.
Он не навязывает вам своего стиля, хотите пишете операторы последовательно и они в том же порядке будут исполнятся и их не обязательно запихивать в функции.
Кому пайтон, а кому Руби ;)

Посмотрите Hackety Hack. Эдакое алгоритмирование на самом высоком уровне :) Не знаю, насколько полезно детям (я далеко не педагог), но жутко увлекательно
Ну вот, минусы (мне не жалко, просто видимо не до конца меня поняли ;)

Конечно, здорово учить детей детей Бейсику, Паскалю и Си — мы все такие умные, учим детей алгоритмированию, пусть они знают, как сортировать массивы, объявлять переменные и т.д. Я сам недавно из школы — нас тоже пытались чему-то учить. Поверьте мне, если два-три человека из класса что-то поняли, то остальные лишь переписывали задания (я и в вузе поучился на ИТ-специальности — там ровно то же).

На хабре уже затрагивалась тема, что ЯП стоит учить «сверху», начиная с высокоуровневых.

Так вот о том самом Hackety Hack. Давайте с детьми напишем записную книжку, TO-DO, блог, плейер, текстовый и графический редактор — это будем интересно и доступно всем! Затем каждый начнет предлагать идеи о том, что хотелось бы усовершенствовать, какие возможности добавить. Тут мы опускаемся до Ruby + Shoes, например, затем с Shoes переходим на GTK. А потом ставим вопрос — а как все это работает? И вводим новый язык. И транслируя методы Руби в Си, например, переписывая написанные ранее программки — покоряем следующий язык.

Или я ошибаюсь?
Я считаю, что Вы правы… Так будет интереснее. Но Вы сами сказали, что два-три человека… с плеерами, блогами, записными книжками будет всё тоже самое.
Хотя имело бы смысл попробовать.
Стоит брать интересом. Да, среди школьников много гуманитариев, для которых и экзамен по математике сдать на три — большая задача, им еще паскаля не хватало. Зато у абсолютного большинства учеников дома есть компьютер. Они любят играть, копаться в винде, смотрят фильмы, пишут в ЖЖ и соцсетях. И тут оказывается, что они и сами могут сварганить что-то свое, что это не так и сложно. Это, наверное, должно быть каким-то открытием для ученика. Программиста школа все равно из него не сделает, как бы преподаватели не старались (банально не хватит времени), да и не стоит этого делать. Тут главное заинтересовать, показать, что такое программирование и как оно может помочь, и тогда начнут открываться таланты, которые пойдут по этой тропе дальше
Полностью согласнен. Интерес. Ruby, Python — на них можно делать что-то реальное, а SmallBasic гламурная игрушка ограниченная рамками намеченіми их создателями.
Те же графики для решения матфукций matplotlib.sourceforge.net/
Хотя лично меня решение математических задач удручало, но вот PyGame думаю очень бы заинтересовало, взять простую OpenSource игрушку, помодифицировать геймплей это интересно.
Черепашка есть?

Ну и для меня главный минус, это обязательный ООП, функция член класа.
В Python можно просто операторы последовательно исполнять.
Ой, в Руби тоже можно обойтись без ООП. В том смысле, что не концентрировать внимание, откуда взялись методы. В Hackety Hack, насколько я помню, ООП в туториалах и не встречалось. А ООП можно вводить как следующий этап («смотрите, дети, вот мы так часть делаем одно и то же в программе, давайте сделаем наш собственный метод» и показать def, а к классам переходить уже только по самой необходимости)

А вот о черепашке не знаю :(
Пусть лучше бейсик учат, чем паскаль. Бейсик хоть в среде администрирования, скриптования офиса и 1С пригождается.

Хотя ИМХО лучше давать сразу что-нибудь .NET-ное после бейсика и беглого разбора программ на функциях
Потом будет легко на VBA переключиться и решать сложные задачи в Excel'е, например.
Сложные задачи лучше решать не в VBA.
сложные задачи вообще решать не хочется:-(
Посмотрел на скрин, посмотрел на название и нахлынули воспоминания… Эх… ностальгия… может накопать где на компе старый добрый QBasic и понастольгировать :)…
Я вот тоже заинтересовался Small Basic -вчера весь вечер игрался: сырой он — рано его ещё детям показывать. Синтаксис очень неоднородный. Например, массивы там только ассоциативные (словари) с чудовищным синтаксисом: запись значения в массив — Array.SetValue(имя_массива, индекс, значение)
Может, к релизу его у «вылижут» до вменяемого состояния, а пока это чудовище какое-то. Головоломка для гика.
Какой Python? Какой Ruby?
Не в языке же счастье! Учить нужно принципам. Формировать алгоритмический склад ума. Пока маленький человек не поймет, что каждое действие можно разложить на последовательность шагов, что всё сложное состоит из простого и т.д. все языки для него будут для него только правилами расстановки закорючек.
Учите на псевдокоде!

А если хотите, чтобы компилировалось вот вам боярское программирование. ;)
Даёшь Erlang в 8-й класс :) Нет, ну серьезно. Дело ведь не в языке, а в программисте. CCleaner написан на VB, но программа-то хорошая.
Ну лично я бы предпочел Pascal, не согласен насчет неоправданных begin...end. Паскаль учит аккуратности, не дает скатиться в пучину вседозволенности и быдлокодерства аки PHP. Хочешь использовать переменную? Изволь её объявить. Сложить «12» и 5? Ни в коем разе — это разные типы данных. Учить надо именно этому, а не Small Basic'у.
З.Ы. Насчет Erlang не шутка. Он безумно простой и логичный. В отличие от.
Завяжите мне глаза, не верю! Холивар на Хабре: питон против бейсика! О чем можна тут спорить? )
Информатика, программирование, язык — хоть на китайском.
Алгоритмическое мышление.
Если ребятенку не объяснить цикл, массивы, то и черепашка не поможет.
Ок. появился (появился ли новый язык). Информатика!!!
Все остальное — суета.

Sign up to leave a comment.

Articles