Мда, в статье имеется ввиду, что на JS легко начать программировать (действительно нужно лишь открыть консоль браузера) и он прост для изучения (по крайней мере до прототипов), а вы тут про какие-то баги и фичи, с которыми даже матерые js программисты встречаются раз в год.
Я про то, что он не подходит для начинающего, как первый язык программирования. Подходит Pascal, Python, C и еще многие другие. Но не JS. Минусуют люди, которые пишут на JS и я наверное оскорбляю их ремесло. Но, когда человек, не знакомый с программирование, первым языком видет JS, он будет и дальше опираться на свои знания JS при изучении других языков.
Программирование — прежде всего ответ на вопрос, как заставить компьютер делать, то что я хочу, и JS черт возьми позволяет сразу начать решать эту проблему, без лишних слов, на нем можно реализовать любой алгоритм, и при этом все что тебе надо — это браузер. При этом JS обладает классическим синтаксисом так, что переход на C/Java будет намного менее болезненным.
по-моему, весьма спорное решение.
да, доступность и наглядность у JS не занимать, НО!
даже по сравнению с бейсиком у JS есть масса проблем в плане типобезопасности:
в basic навичок сразу видит — вот это int, это string, а это array. это учит его правильному пониманию вещей.
basic: int + array = errors
js: {} + [] = 0 (wtf?)
Canvas — это отлично, но возможность рисовать, хотя и не так просто, есть и в VB
вместе с JS — новичок учит и DOM. а это вообще плохо, ибо абстрактный подход в плане приложений у него не развивается. только мысль $(«div»).css и т.п.
я молчу про модули, которые сущ-ют даже практически в каждом языке, и отсутствуют в JS.
если их и опустить, можно добавить еще
5. особый стиль написания приложений — callback на callback'e. для примеров и небольших демок подойдет, но не более.
Здесь нет ни одного препятствия для обучения работы с основными аспектами программирования (циклы, условия, работа с массивами и т.п.), а динамическая типизация позволит не заморачиваться на первых парах с приведением типов и прочими языкоориентированными особенностями.
Люди не ставят задачу изучить js и все его тонкости, люди хотят просто научить учеников писать программы, реализовывать алгоритмы. Единственное все же про ООП они загнули мне кажется…
На начальном этапе, мне кажется, можно использовать обычный процедурный стиль. А затем уже, когда человек поймет как работают условия, циклы, что такое функции, изучит пару алгоритмов, можно начать познавать функциональное программирование.
Уже год веду начальное программирование в кружке для 9-10 классов на JS.,
Логика выбора была другая — язык с C-подобным синтаксисом, но без заморочек C (есть хорошая статья на тему почему C не подходит для первого языка). В 11 классе даю С для подготовки к ЕГЭ.
Тоже постепенно понял что нужно подключать canvas. Пока абстрактное мышление у ученика не сформировано, наглядно-образное выручает.
Так что хорошие мысли приходят во множество голов одновременно.
Посмотрел. Классная вещь. Но по моему не русифицирована.
НО все равно спасибо за совет. Попробую и если понравится, то надо заняться переводом хотя бы начального руководства.
Чтобы нормально программировать нужно изучить кучу дисцеплин, по сравнению с которыми сложность установки питона или любой другой среды программирования ничтожна.
Khan Academy будет использовать JavaScript для обучения программированию