Pull to refresh

Comments 32

«очень важны такие качества, как доступность и наглядность»*фейспалм*
Мда, в статье имеется ввиду, что на JS легко начать программировать (действительно нужно лишь открыть консоль браузера) и он прост для изучения (по крайней мере до прототипов), а вы тут про какие-то баги и фичи, с которыми даже матерые js программисты встречаются раз в год.
Я про то, что он не подходит для начинающего, как первый язык программирования. Подходит Pascal, Python, C и еще многие другие. Но не JS. Минусуют люди, которые пишут на JS и я наверное оскорбляю их ремесло. Но, когда человек, не знакомый с программирование, первым языком видет JS, он будет и дальше опираться на свои знания JS при изучении других языков.
UFO landed and left these words here
Согласен. Тема очень холиварная. Первый коммент предугадал)))
Программирование — прежде всего ответ на вопрос, как заставить компьютер делать, то что я хочу, и JS черт возьми позволяет сразу начать решать эту проблему, без лишних слов, на нем можно реализовать любой алгоритм, и при этом все что тебе надо — это браузер. При этом JS обладает классическим синтаксисом так, что переход на C/Java будет намного менее болезненным.
BASIC тоже прост для изучения ;-)

* дабы не быть непонятым неправильно — пишу на js уже почти лет 5 и язык мне нравится.
UFO landed and left these words here
по-моему, весьма спорное решение.
да, доступность и наглядность у JS не занимать, НО!
даже по сравнению с бейсиком у JS есть масса проблем в плане типобезопасности:
  1. в basic навичок сразу видит — вот это int, это string, а это array. это учит его правильному пониманию вещей.
    basic: int + array = errors
    js: {} + [] = 0 (wtf?)

    basic: array + array = errors
    js: [] + [] = "" (wtf?)
  2. Canvas — это отлично, но возможность рисовать, хотя и не так просто, есть и в VB
  3. вместе с JS — новичок учит и DOM. а это вообще плохо, ибо абстрактный подход в плане приложений у него не развивается. только мысль $(«div»).css и т.п.
  4. я молчу про модули, которые сущ-ют даже практически в каждом языке, и отсутствуют в JS.
UFO landed and left these words here
4. ну это полностью превратит новичка в zen-программиста ;)
2. Биндинги к Tk включены в стандартную либу. Также там есть turtle -подмножество Logo, может знакомая кому-то с уроков информатики «черепашка».
Пункты 3 и 4 не обязательны: есть Node.js.
если их и опустить, можно добавить еще
5. особый стиль написания приложений — callback на callback'e. для примеров и небольших демок подойдет, но не более.
Здесь нет ни одного препятствия для обучения работы с основными аспектами программирования (циклы, условия, работа с массивами и т.п.), а динамическая типизация позволит не заморачиваться на первых парах с приведением типов и прочими языкоориентированными особенностями.
Люди не ставят задачу изучить js и все его тонкости, люди хотят просто научить учеников писать программы, реализовывать алгоритмы. Единственное все же про ООП они загнули мне кажется…
а разве функции как объекты первого класса — разве не «языкоориентированные особенности»? сюда же можно отнести и стиль писать callback на callback'e.
На начальном этапе, мне кажется, можно использовать обычный процедурный стиль. А затем уже, когда человек поймет как работают условия, циклы, что такое функции, изучит пару алгоритмов, можно начать познавать функциональное программирование.
Функции много где объекты первого класса. И для учебного языка это скорее плюс, чем минус.
Уже год веду начальное программирование в кружке для 9-10 классов на JS.,
Логика выбора была другая — язык с C-подобным синтаксисом, но без заморочек C (есть хорошая статья на тему почему C не подходит для первого языка). В 11 классе даю С для подготовки к ЕГЭ.
Тоже постепенно понял что нужно подключать canvas. Пока абстрактное мышление у ученика не сформировано, наглядно-образное выручает.

Так что хорошие мысли приходят во множество голов одновременно.
А в чём даёте? Среда исполнения, инструменты?
Хромиум + Нотепад++;
Искал лёгкую IDE, но пока не нашёл.

Geany + plugin-webhelper не пробовали?
Geany воспринимал как Линуксовый редактор. И хотя сам сижу под линуксом, детей перевести под линукс не получилось. В следующем году попробую ещё раз.
Windows версия есть, правда сам не пробовал, винды вообще нигде нет.
UFO landed and left these words here
Посмотрел. Классная вещь. Но по моему не русифицирована.
НО все равно спасибо за совет. Попробую и если понравится, то надо заняться переводом хотя бы начального руководства.
Может, тогда Dart использовать? Он обладает всеми преимуществами JavaScript как языка для обучения и лишён некоторых его недостатков
Чтобы нормально программировать нужно изучить кучу дисцеплин, по сравнению с которыми сложность установки питона или любой другой среды программирования ничтожна.
Sign up to leave a comment.

Articles