Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Философия программирования > Подходит ли JavaScript как школьный яз.прог.? |
Автор: 12345c 24.1.2006, 13:49 |
В порядке досужего рассуждения всказываю такую мысль, что он подходящ для обученя языку программирования как первый язык программирования в школе. Возникают многочисленные оговорки насчёт особенностей языка, синтаксиса и объектной модели - он не адаптирован в плане простоты, в нём можно было бы сделать несколько шагов для упрощения. Он не имеет доступ к ресурсам компьютера - только к виртуальной среде кэша браузера, а доступ к функциям компьютера, наоборот усложнена и подавляется (печать, буфер обмена). Конечно, на его месте удобнее другой язык, но имеются серьёзные плюсы, заставляющие говорить о JS как о языке-кандидате. 1. Он стандартизирован и безопасен для запуска. 2. Он имеется на каждом компьютере. 3. Он работает с очевидными объектами окна браузера. 4. Он запускается сразу, без установки среды отладки и фазы компиляции. Минусы - не приучает к строгой типизации, не ограничивает формат выражения, как Паскаль, не создаёт представления о компьютере, а только о модели браузера, не имеет клона типа Джава-приложения для работы с компьютером. Для полноценной работы требует представления о связке клиент-сервер и о серверном языке программирования. У кого каие мысли по поводу того, какой бы из языков наиболее подошёл бы для обучения? Вот, появился вариант - серверный + клиентский PHP 5.0 - довольно перспективно, думаю, если бы он был у каждого. |
Автор: Cr@$h 24.1.2006, 15:33 |
Что ты имеешь в виду, говоря, JS и PHP? Если для обучения созданию интернет-приложений, то лучше PHP. Если программирование как таковое, то для школы лучше Pascal ничего не нахожу. Помню, после него и Delphi (5) с легкостью усваивал в школьные годы. Важна строгая типизация и маленькое число подводных камней. |
Автор: LSD 24.1.2006, 15:41 |
Чего? |
Автор: Се ля ви 24.1.2006, 16:18 |
А это что за пташка? ![]() Вообще, я перепробовал в жизни не мало языков, но, оглядываясь назад, очень сожалею, что сразу не начал с C, испугался и полез на более простые языки - Бейсик, Паскаль. ИМХО, вообще зря люди ставят принципиальную качественную разницу между обучением и работой - это деление и превращает институты, например, непойми во что. Помню, когда писал диплом, хотел сделать из него нормальный проект - погрузился в бизнес-планирование, архитектуру, стал писать бизнес-план, спецификацию и прочее и... не пропустили. Выяснилось, что приём диплома будет осуществляться людьми, с несколько устаревшими представлениями о проектах, бизнесе и программировании - огромных трудов стоило вообще убедить их в том, что блок-схемы в ООП языках не приемлемы впринципе и тут полюбому нужны нотации моделирования типа UML или IDEF. В итоге на прямой вопрос "Так что получается, в работе нам понадобится одно, а тут вы учите другому?" декан (мой дипломный руководитель) просто ответил - "да, а как же ты хотел? Так везде...". По большому счёту, весь смысл объяснений сводился к тому, что эти люди считают выше своего достоинства гнаться за прогрессом - бесконечная череда обновлений и пересмотров всего-всего-всего их утомляет. В бизнесе от этого успех или провал зависит, большие деньги у людей на кону, а в институте - нет, только лишнее беспокойство. Хотя, если подойти к вопросу системно, становится очевидно, что первоначальный смысл создавать любое образовательное учреждение - это готовить людей к успешной работе и карьере, но... система устроена так, что они с одной стороны, не несут ответственности за уровень образованности населения, с другой - реально в этом не заинтересованы. Тольно при планой системе обучения мне удалось найти понимание и то только потому, что я хорошо знаю, что мне нужно и умею требовать, платя за это большие деньги. Поэтому я стороник подхода, что с обучением во всех сферах нужно поступать примерно как с обучением плаванию - кинули и плыви, только следить, что бы реально человек не утонул и объяснять, если у него возникают конкретные вопросы, а так - всё сам. Без реальной необходимости - ничему действительно хорошо не научишься. Сравнить хоть первый и второй язык. Первому обучаешься дома просто что бы объяснить что-то родителям и сверстникам, а второй - нафига нужен? Придумали что-то в школах - талдычат своё "хау ду ю ду?", а мне и с родным хорошо - все меня и так понимают. А потом, когда упираешься в незнание языка - уже поздновато бывает... И так почти со всем. В том числе и с программированием. Всё это, канешь, лично моё IMHO... |
Автор: spin2 24.1.2006, 18:15 |
ИМХО наоборот лучше сначала учить языки вроде Бейсика, а не Паскаля, потому что сначала нужно именно на логике концентрироваться - если алгоритм неправильный, то все остальное не имеет значения. А из новых языков я бы предложила в школы python. |
Автор: Cr@$h 24.1.2006, 18:26 | ||||||
или Ruby ![]()
Да и в Pascal одно другому не мешает. Сам через это прошел. + в некоторых вузах всех выравнивают на первом семестре именно по Pascal. Добавлено @ 18:33
![]()
Согласен с тобой, Void. Мне умные и опытные люди говорят, что, пока учишься, нужно хватать все, что дают и даже больше, т. е. разбрасываться. Неизветсно, что в жизни пригодится. Можно стать классным специалистом по какой-то одной области, Джаве например, но тогда теряеешь устойчивость. Если берешь на себя слишком много, то теряешь в глубине знаний. Так везде. |
Автор: Се ля ви 24.1.2006, 18:55 | ||
здесь проблема другого характера. "Только" - это смотря кто об этом судит. Я, например, думаю, что и философия через психологию важна при программировании для построения качественных интерфейсов и общения с заказчиком. И так с многим другим. Если более в общем виде, то я просто стронник полноценного обучения. Ещё в советские времена иногда выборочно применялась, но не была распространена т.н. "система физтеха". Идея заключается в том, что во всевозможных учебных заведениях учат лишь решать задачи, а реальная жизнь часто заставляет их самому себе ставить. По-этому обучение лишь решать задачи - это всё равно что обучение боксёра боксировать одной рукой. В этом замечательном институте (уровень подготовки физиков в котором считается до сих пор выше, чем на физ. факе МГУ), как раз учили решать не задачи, а регулировать проблемные ситуации, полноценно развивая творческое мышление, позволяя видеть проблемы в комплексе, взаимосвязи. Если вам действительно интересно, как правильно по моему мнению должен быть организован учебный процесс, советую ознакомиться с работами одного из моих любимых авторов - Рассела Акоффа, професора Вартонской школы и крупнейшего гуру менеджмента, главу собственной консалтинговой фирмы. Например, http://www.taom.ru/educat/docs/russel.doc небольшая статья, где кратко и по делу расписано как есть и как надо было бы, что бы было. ![]() По сути такая система воспитывает творческих лючностей, управленцев и успешных людей - но такое общество становится неуправляемым, а этого боялись в СССР. В итоге доигрались. Сейчас это гораздо нужнее, но - не нужно тому же западу, по-этому нужна волна сильнейшей реформации нашей образовательной системы. |
Автор: Cr@$h 24.1.2006, 19:18 | ||
Пока ты молодой, не стоит спешить стать управленцем. В свои годы ты можешь создать, разработать, исследовать что-то сам, что уже не смогут люди в зрелом возрасте. В МФТИ готовят, прежде всего, исследователей и правильно делают. С годами творческий порыв ослабевает, и это касается каждого. На местах управленцев должны стоять люди с опытом и интуицией в этой области -- предельной формацией знаний, как я считаю. Таким человеком нужно становиться. Добавлено @ 19:22 К школьной теме добавлю, что чем ближе будет изучаемый язык к реально используемым на практике, тем лучше. При этом он не должен быть слишком сложным и запутанным. |
Автор: 12345c 24.1.2006, 19:27 | ||||
Джава (не JS) имеет режимы работы как приложение или как апплет. Это дало бы полноценное представление учащемуся, что можно иметь полный доступ к компьютеру, а можно частичный, специально ограниченный в идеологии языка или его подмножества. Если же он будет учить только клиентский язык, он не получит представления о программировании вообще. Но Джава слишком сложна, чтобы быть учебным языком.
клиентский PHP 5.0 - в мануале написано, что может запускаться типа как JS. Сам не пробовал, но смысл понятен - язык, который будет работать с объектами документа в браузере. Се ля ви, я подразумеваю под языком для обучения не то, чтобы поучили язык - и забыли, как Бейсик для ДОСа, а начать работу в программировании с таким языком, который бы ко всему прочему не искажал представление о программировании вообще. В этом плане JS не очень хороший кандидат, и об этом рассуждаю. Он не даёт представления об ООП и традиционных классах. Сильно оторван от аппаратуры, значит, трудно с ним говорить об оптимизации. Правда, это уже другая и третья темы. Но если взять спектр того, что есть, JS - не очень плохой кандидат научить человека управлять объектами, да быть при этом полезным. |
Автор: Void 24.1.2006, 19:45 | ||||||
Хорошая, интересная статья.
+++ Т.о., одной из важнейших задач педагогики ставится развитие мотивации к обучению и реализации полученных знаний. Неудивительно и логично. Но дьявол, как известно, в деталях ![]()
+++ Еще одна статья, также затрагивающая несостоятельность системы образования, хотя и с несколько другой, более частной позиции: Р. Фейнман о бразильском образовании (http://warrax.net/70/feiman.html) |
Автор: Се ля ви 24.1.2006, 21:28 | ||
Тоже понравилась! ![]() Вспомнился случай, рассказанный мне одним знакомым. Его друг как-то поехал пожить в штаты. Хотел устроиться программистом, но первое время так получилось, что несколько месяцев вынужден был проработать в макдональдсе, что бы дождаться открытия нужной вакансии. Там он работал на кассе и как-то, когда он рассчитывал одного покупателя, его позвали к телефону. Покупатель покупал много гамбургеров и программист-продавец поймал какую-то девушку за хвост и попросил её рассчитать человека, пока он поговорит по телефону. Гамбургеры лежали примерно так: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Когда он договорил и вернулся, он увидел, что она ВСЁ ЕЩЁ СЧИТАЕТ! Считала она по одному, ходя указательным пальцем по каждому гамбургеру! - Девочка, ты что? - А что? - В столбике 3 гамбургера, 5 столбиков, 3 х 5 = 15 ЧЕГО ТУТ СЧИТАТЬ? - Хм.......... странно. 1, 2, 3, 4, ... да, их действительно 15! Оригинально! А как вы догадались, что здесь надо умножение применять? ![]() ![]() ![]() |
Автор: LSD 24.1.2006, 21:54 | ||
JavaScript который выполняется в браузере, тоже сильно ограничен. А тот который выполняется в Windows Based Script Host нет, и может даже с файлами работать. А насчет сложности Java, Java не сильно сложнее JavaScript если не ставить своей задачей рассказать обо всем framwork-е. |
Автор: 220v 24.1.2006, 22:55 |
По-моему, все-таки если учить программированию - язык не столь важен. Важнее научить алгоритмизации, умению мыслить как программист, раскладывать задачи на составляющие. И находить решение на любом языке. |
Автор: Medved 24.1.2006, 23:02 | ||
Необходимо для начала обучить хоть какому-нибудь языку, прежде чем учить тому, о чем Вы говорите. |
Автор: Cr@$h 24.1.2006, 23:18 | ||
Посему язык должен соответствовать нормам структурного программирования и поддерживать модульность. |
Автор: Ch0bits 24.1.2006, 23:48 |
12345c Какой JavaScript!? Вы что? Дети в школах толком не умеют даже с Word'ом и Excel'ем работать! ![]() ИМХО гораздо полезнее было бы изучать VBA, он уж точно есть почти на каждом компе. ![]() Вообще ИМХО Excel замечательная вещь, может быть единственное стоящее приложение в Office. Какой нафиг python и ruby, спуститесь с облаков на грушную землю. Если уж на то пошло, то Delphi для школы самый подходящий продукт. И язык простой, и современные концепции с технологиями программирования имеются. А в продвинутых спец.классах вообще C++ сразу изучать - доходить будет долго, но зато фундаментально. |
Автор: 12345c 25.1.2006, 00:13 |
Ch0bits но браузером-то они умеют пользоваться? И он для них актуальнее, чем Ворд. Браузер не привязан кОС, поэтому JS с успехом можно учить на Линуксе, а VBA уже в OpenOffice работать не будет. Поэтому чистый от плптежей и потому политически чистый только JS из наиболее распространённых программ - носителей скриптовых языков. |
Автор: S.A.P. 25.1.2006, 00:21 |
Python слишком рисковано ставить как язык для обучения программированию. Конструкции у него слишком необчные. Хотя не скрою, что на Python я возлагаю большие надежды, как на язык для написания основной логики приложений. Язык действительно замечательный. На Java Script можно научиться программировать, но язык слишком уж узкоспециализированный. ИМХО не стоит вобще преподавать информатику в школах. Кому не надо - никогда не научатся, кому надо сами быстрее дойдут, надо только интерес затравить, для чего и создавать побольше сабжевых кружков и клубов, взамен содержания комп. классов и преподавателей, которым на все пофиг. |
Автор: Ch0bits 25.1.2006, 00:23 |
12345c Я всегда смотрю на вещи со стороны их жизненной ценности. JS скрипт - он скрипт, не полноценный язык. К тому же JS мало чего стоит без HTML, т.к. создан "быть на побегушках" у web страниц. И у многих ли школьников дома Linux и OpenOffice? |
Автор: Cr@$h 25.1.2006, 11:45 | ||
Ruby позволит не загромождать себе голову о тонкостях разных типов и вообще очень эффективный и незатейлевый. Что пишешь, то и полуается ( ![]() VBA я тоже изучал (первый язык в школе), но вот потом мой опыт не нашел выхода, когда начался Pascal. Не знаю, не сросся со старым языком ![]() |
Автор: Се ля ви 25.1.2006, 13:01 | ||
Угу - вот тогда уж точно от Wind`ов их будет потом за уши не оттащить. JavaScript в стандартной реализации - она хоть и под Линухом и под Маком пашет - везде где браузеры есть. А есть ли VBA под OpenOffice, к примеру? Боюсь, что нет. Нет, образование нужно давать такое, что бы человек сам потом мог выбрать - на Wind`е сидеть, на Linux`е или на Mac`е. Свободных людей надо учить, а не зависимых от MS. К тому же согласен с LSD - Java не намного сложнее JavaScript. Сложность программирования на Java в обилии библиотек, шаблонов и framework`ов, а просто синтаксису и ООП-модели на ней можно научить людей прекрасно и без лишних заморочек. А если не хочется дать детям возможности самим себе навредить - лучше тада с апплетов начинать - в песочнице они полностью безопасны ![]() Опять же, в продолжении темы независимости от конкретной компании-поставщика ПО - Java и тут, как вы понимаете, тоже выигрывает ![]() Вобщем, учиться лучше на том, на чём потом работать, хотя бы что бы не было мучительной ломки при переходе от учёбы к работе... |
Автор: batigoal 25.1.2006, 13:21 |
Для школы это еще неактуально. |
Автор: Се ля ви 25.1.2006, 14:16 | ||
Моё мнение относительно JavaScript - он приучает к расхлабанному отношению к типизации, что может потом сильно навредить при переходе на более серьёзные языки. Да и ООП в JS не то что бы примитивное - просто другого, довольно редкого типа - а это уже уход от традиционного серьёзного ОО программирования. С, С++ и - Java. Таков мой вердикт. И вообще, я считаю, что пора постепенно стирать разницу между обучением и работой - мир настолько быстро меняется, и скорость этих изменений всё больше возрастает, что это должно со временем стать единым процессом. |
Автор: Cr@$h 25.1.2006, 15:00 |
Боюсь, не потянут школяры Си. А без объектов и смысла неимеет. Хотя в школе можно учить только структурному программированию, тогда Си -- кандидат. ИМХО такие вещи надо апробировать, а говорить можно сколько угодно. Но то, что это должен быть не Лого, сомений ни у кого вызывать не должно. |
Автор: 220v 27.1.2006, 00:52 | ||
Нет, ну почему же, например представлять задачи блок-схемами. Если конечно и блок-схемы считать языком.. тут вы правы ![]() |
Автор: Void 27.1.2006, 08:49 |
Можно конечно... Много разных извращений можно придумать ![]() |
Автор: LSD 27.1.2006, 11:20 | ||
У нас в школе была программа которая могла интерпритировать блок схемы. Так что вначале мы их рисовали, а потом могли понаблюдать как это дело работает. |
Автор: 12345c 27.1.2006, 19:58 |
Мнение человека, измученного нарзаном. : ) Если бы Вы посмотрели на эти языки глазами обычного школьника, который даже уравнения 6-го класса забыл как решать... Нет, ни один не подходит, потому что в первом тяжёлый синтаксис и убогая типизация (нет нормальных строк), во втором очень неочевидные классы. Третий подойдёт лучше, но т.к. JS проще и по запуску доступнее, то почему бы не его? Во всяком случае - меньшее из зол. Блок-схемы - рисовать неудобно, линии занимают много места на бумаге, хотя как альтернативу тексту показать надо. Во всяком случае, показывают, что поток - это одна нить. |
Автор: Cr@$h 27.1.2006, 23:23 | ||||
Этим лучше заниматься параллельно.
![]() ![]() Главное под досом не сидеть, чтобы глаза не портить, мало кто переходит в оконный режим доса, а при полноэкранном частота развертки очень мала. Школяры часами могут сидеть, губя свои здоровые глаза. ![]() |
Автор: 220v 27.1.2006, 23:29 | ||
Блин, наверное я в свое время в меньшенстве была ![]() |
Автор: LSD 28.1.2006, 00:15 | ||
Я как человек который решал задачи на всю группу, могу сказать. Что самое сложное для понимания это восве не синтаксис. У народа проблемы с формальным изложением алгоритма. Вот попроси любого по шагам рассказать как отсортировать массив, максимум что добъешься: ну берем и сортируем. И что подразумевается под доступностью, наличие на любом компьютере где есть браузер? Ну и тольку-то с того? Ни один школьник не будет посвящать программированию любую свободную минуту за компьютером, в лучшем случае посидит 10 минут дома порешает. А дома можно и IDE поставить, проблем это особых не вызовет. А уж про то что компьютерный класс в школе оборудовать, это вообще не вопрос. Для С++ и Java есть бесплатные IDE с отладчиком и прочими радостями, а для JavaScript есть? |
Автор: Void 28.1.2006, 11:16 | ||||||||
Однако, как хитро процитировали ![]() ![]() Блок-схемы, ИМХО, в большинстве случаев не дают лучшего представления об алгоритме, чем текстовое описание в форме пошаговых инструкций (псевдокод); а после определенного момента — и чем просто код на ЯВУ.
Я, как человек, делавший то же самое, могу подтвердить.
А нужны ли они вообще на этом этапе? Мне очень тяжело поставить себя на место среднестатистического школьника ![]() Давайте вообще определимся, с какой целью проводится обучение школьников программированию? Хотелось бы послушать ответ 12345c. Да, и еще: на каких именно школьников рассчитывается программа? Все-таки 7-8 или 10-11 классы — это существенная разница. |
Автор: LSD 28.1.2006, 13:01 |
Думаю да: - продемонстрировать как пошагово работает программа - в IDE код удобней писать да и справка там встроенная есть (если немного помучиться, то можно научить народ ей пользоваться, главное чтоб английский знали) |
Автор: 220v 28.1.2006, 22:14 |
Если человек не захочет, хоть тресни ничему его не обучишь, будь это какой-либо язык программирования или способы алгоритмизации ![]() Зачем учить Java и C\С++ детям, которые врачами да музыкантами собираются стать??? |
Автор: Cr@$h 28.1.2006, 23:38 | ||
Присоединяюсь к мнению. Главное, считаю, научить алгоритмизации, а не кодированию. Иначе потом все будут скорее садиться кодировать при решениии какой-то задачи и превратятся в кодеров ![]() ![]() |
Автор: Void 28.1.2006, 23:54 |
Еще раз: с какой целью мы (ну т.е. не мы, мы только советовать пытаемся ![]() Мое видение возможных вариантов:
|
Автор: Cr@$h 29.1.2006, 00:23 | ||
Их лучше учить работать с офисными программами, которые им потом и помогут, даже в вузе. ![]() |
Автор: 12345c 30.1.2006, 16:08 | ||
Насчёт скриптов в офисных программах. Мне приходилось перед работой в среде Word сначала почитать книжку про VBA, чтобы понять заложенные идеи. У школьников не будет столько времени и опыта, чтобы на 2 недели отвлечься и почитать книжку, и извлечь то, что надо. Я не говорю про тот 1%, который это сможет. Говорю про ощущение, что для въезжания в VBA надо умственных усилий и абстрагирования несколько больше. Возможно, я неправ, потому что и в JS в своё время потратил времени на чтение книжек немало. Но разница такая, что c VB ты открываешь окно IDE, встроенное в приложение, но делать можешь только через него - не видишь, где лежит скрипт, сколько он занимает места, в какой точке обработки документа начинает выполняться. В скрипте ряд ограничений на применение событий и интеграцию с вёрсткой. (Возможно, просто меньше опыта работы с VBA?) Важна ещё политическая сторона: учителя всегда окажутся в проигрыше, подавая VB как первый язык - не могут сказать "Учите язык продуктов MS, носителя мировых стандартов", ни "Покупайте продукцию", ни "Пользуйтесь "свободными" копиями этой продукции" - ни в чём не слышно истины в смысле разумного и относительно вечного, каким должны быть знания в школе. С JS и прочими открытыми стандартами сложностей этого плана в корне не возникает. |
Автор: LSD 30.1.2006, 17:46 | ||||
Мне для написания первого макроса в Word хватило встроенной справки. Так же мне приходилось писать на VBS под PowerDesigner, Corel Draw, Photoshop и вегда обходился справкой. Так что это не показательный опыт.
Зато возникают сложности с тем как разные браузеры поддерживают этот стандарт. Да и вообще как учить программированию JavaScript без знания HTML? Или тогда им и верску до кучи давать? |
Автор: 12345c 30.1.2006, 19:18 | ||
![]() А основы HTML - само собой, надо, и без этого никуда. Если даже до скриптов не доберутся, то хотя бы будут знать, что ссылки делаются не чудесным образом, а простым текстом для браузера. Кстати, не собирается ли OpenOffice встраивать нечто подобное в себя? Довольно логичный ход будет, и альтернатива макросам. |
Автор: Void 30.1.2006, 19:30 | ||
Открыл свой OO.o 2.0 и был немало удивлен: потому что макросы на JavaScript там таки есть ![]() |
Автор: Cr@$h 30.1.2006, 19:36 | ||
Все-таки считаю, что ориентация на интернет-приложения при обучении программированию будет не очень хоошей идеей. Эт нам с вами "все" понятно, а потом школяры будут все свои поделки и лабы на скрипте писать. Что в этом плохого? Не знаю. Представление о компиляторе тоже нужно давать с молоком матери. |
Автор: 12345c 30.1.2006, 20:10 |
Согласен, но если на Бейсике будут писать - тоже не очень хороший вариант. Также не уверен, что будут писать на уровне, когда понадобится компилятор Бейсика. Другой альтернативы нет, кроме Джавы, да и та - не настолько компилируема, как Делфи (если задаться целью научить компилируемому языку). Все они из того рода, который сложен для школы, на мой взгляд. Потом, думаю, что хотя бы через 15-20 лет, но сделают глубокие оптимизаторы, которым на входе нужен алгоритм и модель автомата, а компилировать будут сами, а также минимизировать автомат в зависимости от требований задачи. Тогда о компиляторах забудут как о кошмарном сне ранней эпохи программирования. Точнее, будет отрасль теории, мощные базы знаний (хорошо, если открытые). Важнее алгоритм, а не реализация. По крайней мере, будет. Но, может, в потребительском плане вполне достаточно знать, что есть компиляторы и Си, а для практики - не бояться пользоваться скриптовыми языками, которых много будет в разной бытовой электронике. Типа как сейчас Джава в сотовых телефонах. Всё равно для представления о программировании этого больше чем достаточно. |
Автор: Void 30.1.2006, 20:32 |
Э-э... Пардон, а в каком виде вы собираетесь задавать этим чудо-системам алгоритмы? Какая форма задания алгоритма будет принципиально отличаться от имеющихся ЯП, настолько, что систему, транслирующую ее в исполняемый вид, нельзя уже будет назвать компилятором? Описание входных и желаемых выходных данных? Так это уже ИИ получается ![]() |
Автор: LSD 30.1.2006, 21:14 | ||||
Я утверждаю, что школьник не разберется сам ни в VB ни JS. И примеры из серии: "я сразу разобрался" или "нифига не понял без мануала", здесь не подходят.
Основы верстки в курсе программирования? Оригинально ![]() Если смотреть современные вакансии на рынке труда (я говорю не об ИТ специалистах), то самые востребованые знания это работа с MS Office. В данном контексте VB как раз будет кстати. А если из людей готовят ИТ специалистов, то тут нужен более "серьезный" язык чем JS, чтобы там и типизация была, и полноценное ООП, и поддержка всех современных технологий (типа работы с СУБД, рапределенных вычислений и т.д.). |
Автор: Void 30.1.2006, 21:19 | ||
Ты случаем не забыл, что речь идет о школьниках? ![]() |
Автор: LSD 30.1.2006, 21:25 | ||
Преподавать их может и не имеет смысл (если только как факультатив), но язык поддерживать все эти вещи должен. А то опять получится, учим одному, а в жизни понадобится совсем другое. |
Автор: 12345c 30.1.2006, 21:48 | ||
Будет миграция в сторону постановки задач для ИИ, но сейчас этот процесс сдерживает не только отсутствие ИИ в области преобразования алгоритмов, но и неразобранность задач оптимизации. Сейчас имеет значение, на каком языке и в каком виде представлен алгоритм, системы не умеют преобразовывать алгоритмы, а вообще - неважно на каком. А в нашем контексте это означает, что компиляция будет всё более неотличима от интерпретации и даже от постановки задач, но пока до этого далеко, как до ИИ. Как же без знания объектов, с которыми работаешь? К тому же, они - даже более необходимый компонент общего образования, чем скрипты. (Тут важно понимать не только структуру документа, а вообще классификацию информации, т.е. структуру ХМL). Важно понимать назначение и ценность организации данных в СУБД, но это другая часть философии ![]() Насчёт поддержки современных технологий в языке - полностью согласен, но пока на роль такого вырисовывается только PHP 5+. Его необходимо упомянуть как важную составляющую часть клиент-серверных технологий, но программа школы не резиновая, чем-то надо жертвовать, поэтому его (или Python какой-нибудь) оставят на факультатив. Вообще, в этих технологиях зияет дыра, которую занимают ActiveX и COM/Corba, поэтому в ближайшие лет 7 стандартизируют модуль доступа к ресурсам компьютера, и тогда клиентский язык не будет столь ущербным. Идеально, если бы он научился брать на себя роль сервера (подобие bitTorrent), но это тоже другая история. Думаю, появлению такой технологии мы будем свидетелями в ближайшие 10 лет. |
Автор: Sardar 30.1.2006, 22:44 | ||||||||||
Есть разного рода stand alone интерпретаторы JS, тот же Rhino или JS Shell.
Python очень сильно оторван от аппаратуры (как и любой другой язык), но в нём очень хорошо преставлять что происходит и как это оптимизировать, разного рода обьекты генераторы, подгружаемые коллекции и прочее ![]()
ООП не есть идеал программирования ![]() Сам начинал с JS, затем Java, потому ООП подход для меня родней, но замечаю что от задачи к задаче тренуються "вариации". Тот же Python если он разовьёт "простую (приятнуюту за уши) обьектную модель", то вряд ли кто сии фичи будет использовать в окружении без жёсткой типизации.
MS JScript это скорей клей для разного рода ActiveX обьектов доступных через WSH. Сам по себе JScript "ничего не умеет". Проблема в том что библиотека таких обьектов не богата, многое платное.
Всеми конечностями за. Мои 3 копейки: за всё время что изучал с JS понял что это совершено сырой язык, рождённый как полуфункциональный со свежей идеей прототипов (не встречал ни где более...), обькетный, но не перегруженный ООП, красивый но не везде выразительный. JS очень ограничен по возможностям языка (core), никаких контейнеров, здесь Python делает всех по моему, даже монстров из функционального (декларативного) мира ![]() Интерфейсы стандартных обьектов очень ограничены, о обьектах думаем о встроеных в JS, т.е. Array, Function etc, а не о document и прочих DOM 0 обьектах. Вообще JS это очень мощный по концепции клей для обьектного API любого окружения. Может использоваться для разного рода автоматизационных задачь или как скриптовый интерфейс к сложному софту. Также как скриптовый интерфейс к железу, например электронному микроскопу с распознованием изображений (форм). Преподовать JS как первый язык считаю не лучшей идеей, всё таки нет той гибкости и аморфности в методологии как у Python например. Вообще считаю что Python очень подходит как первый язык, по которому учишся думать, а не изучаешь синтаксис и "возможности стандартной библиотеки". Java мне не нравиться в этом плане тем что навязывает ООП, отсюда может появиться фанатизм "за" или даже "против" ООП, что плохо. Python хорошь глубиной своих возможностей, не в плане "найти в стандартной библиотеке готовый FTP клиент", а тем как можно "жонглировать", всём в языке, любая конструкция это некая сущность. После Python имея опыт человек перейдёт к Java/C#, затем ещё что нибудь, а затем снова в Python и откроет для себя "новое море возможностей" ![]() Мне также нравиться Ruby, но его изучение отложил, т.к. в переди практика пол года Jython'a. |
Автор: Void 30.1.2006, 23:03 | ||||||
Ну дык, это напрямую и прописано в ECMA-262 ![]()
С этим можно поспорить... Но мы не будем, по крайней мере здесь ![]() Возвращаясь собственно к обучению. Теоретизировать можно до бесконечности ![]() Главное, надо
+++ |
Автор: Cr@$h 30.1.2006, 23:10 |
Да, я что-то сам начал склоняться к декларативным языкам в этом вопросе. Простота и наглядность. Есть над чем подумать... |
Автор: Void 30.1.2006, 23:28 | ||
Раз уж пошла такая пьянка, сразу дам ссылку на учебно-ориентированную IDE для Scheme со встроеным интерпретатором: http://www.drscheme.org/. Правда я Схему не считаю самым подходящим языком для начального обучения. AFAIK, в MIT она используется в программе первого курса... но то MIT. |
Автор: Cr@$h 31.1.2006, 00:38 |
Ой. Значит, наоборот не такой уж показатель. Хотя это я уже отошел. Если язык выразительный и наглядный, то можно. |
Автор: 220v 31.1.2006, 20:52 | ||
Вот тут вы правы! |
Автор: Cr@$h 31.1.2006, 21:19 | ||||
и на два порядка больше от самого ученика. |
Автор: ПапаМишка 19.4.2006, 10:49 |
Я работал преподом и в школе и универе, моё убеждённое мнение: программирование нет никакого смысла преподавать в НЕ специальных классах, так как большей части детей оно во первых ни к чему, во вторых... во творых всё равно очень мало тех, кто понимает. И если уж преподавать программирование, то лишь для того что бы развить у детей логическое мышление, у кого это возможно |
Автор: Се ля ви 24.4.2006, 15:48 |
Action Script во Flash`е ![]() |