Как проходят уроки информатики в разных странах мира: 5 основных выводов

Часто думают, что программирование — есть что-то сложное и недетское. Однако это, в принципе, играючи опровергает большое количество коммерческих компаний — от Apple (Swift Playground) и до Tynker, ориентированных на ребят от 5 лет. Ну или возьмем тот же Code.org — здесь вы можете найти курсы для детей 4+.

Но это все — про дополнительное образование. А что же происходит в это время в школах? Обучением детей начальной и средней школы программированию мы в нашей компании занимаемся уже почти 2 года и за это время прошли множество трансформаций и перечитали большое количество талмудов. И теперь хотим поделиться основными сделанными выводами…

image

Но сначала несколько пунктов относительно всего поста:

Наибольшее количество данных как всегда — на уровне Европы и США. Поэтому и выводов по ним больше. Урок информатики — это общее определение, которое используем с оговоркой. Потому как названия предмета очень варьируются в зависимости от страны и несут разную смысловую нагрузку.

Зона экспертизы автора во многом лежит в сфере обучения детей младшего школьного возраста (3-7 классы), поэтому больше выводов делается по этой зоне.

Теперь, давайте перейдем собственно к самим выводам:

1) Computer Science — это не урок по использованию Microsoft Word/Excel/Paint. Это изучение принципов алгоритмики, computational thinking и таких основ, которые не меняются. Почти все страны, где Computer Science внедрен на уровне начальной школы (это, например, Эстония, Франция, Израиль, Испания, Словакия, Великобритания, Финляндия, Польша, Португалия, частично США, Индия, Китай, Австралия), сделали одно простое открытие — обучение софту — это сдвиг парадигмы, произошедший во время популяризации Microsoft Office и вылившийся в то, что преподавателю информатики перестало нужным быть профессионалом в IT, достаточно было быть профессиональным пользователем. Но софт имеет особенность устаревать, а будучи “пользователем” — тяжело быстро переучиться на “создателя”.

Что сделали на основе этого вывода: программа по Computer Science в школах Великобритании (взяты как конкретный пример) состоит из набора блоков — алгоритмы, программирование и разработка, данные и их отображение, hardware и процессинг, коммуникации и сети, информационные технологии.

image

2) “Компьютерная наука — это такой же предмет как физика и химия и должен изучаться детьми с начала школы и вплоть до ее окончания. Вообще, есть такая особенная черта в ряде стран — у них действительно произошло радикальное изменение отношения к предмету. Согласитесь, информатика в СНГ — это в большинстве случаев — одно занятие в неделю, а уровень предмета и его статус — болтается где-то вместе с физкультурой, уроком труда/технологии, музыки и танцев.

Что сделали на основе этого вывода: вот тут универсального ответа нет. Где-то государство меняло требования к преподавателям предмета. Например, в Израиле — всех преподавателей переквалифицировали, начали требовать того, чтобы преподаватель был не просто хороших юзером офисных программ, но и действительно знал Computer Science. Где-то увеличивали количество часов.

image

3) Если начать изучать Computer Science в начальной школе — можно значительно снизить уровень гендерного неравенства в IT. Это связано с тем, что когда дело доходит до программирования в средней школе — у детей уже формируется представление о том, что “для девочек”, а что “для мальчиков”. И обычно информатика попадает в категорию “для мальчиков”. В то же самое время, если начать давать предмет в 3-4 классах, то этой проблемы можно избежать (ну или значительно снизить), так как дети, раньше познакомившиеся с программированием — легче принимают его в дальнейшем и меньше стереотипизируют.

Что сделали на основе этого вывода: учли при разработке программы. Зачастую набор предоставляемых упражнений является гендерно-нейтральным. Не похож он на Lego, которые отдельно голубые — мальчиковские и отдельно розовые и с пони — для девчонок.

image

4) Computer Science — не обязательно значит “сидя за компьютером”. Зачастую мы не представляем it-шника иначе, как за компьютером. А еще и желательно в очках. И, в плохом раскладе, еще и сгорбившись. Но обучение computational thinking — это прежде всего обучение принципам мышления и только во вторую очередь — за компьютером. Больше всего наработок в этом направлении, как ни странно, у Австралии с Новой Зеландией — именно они занимались разработкой такого направления, как CS unplugged — упражнений на развитие навыков по предмету, которые выполняются без компьютера. Тут есть и другая глубокая мысль — зачастую технологии отвлекают. Поэтому, например, презентации советуют готовить сначала на листочке/в голове, суммируя основные мысли и их порядок, а только потом использовать power point и что бы то ни было еще. Так и с изучением Computer Science — сначала стоит понять принципы, а потом уже отвлекаться на технологию.

Что сделали на основе этого вывода: задания для начальной школы и часть заданий для средней — это задания на понимание, которые выполняются без компьютера. В некоторых случаях такой подход еще и дополнительно позволяет оптимизировать ситуацию с недостатком оборудования в классах.

5) ЗадачаComputer Science — не сделать из вас программиста, а научить думать. И еще более важная задача — донести это до родителя. Вообще, для большинства стран, где внедрение предмета в расписание прошло успешно — характерна одна особенность — они очень много коммуницировали — и с преподавателями, и с директорами, и с родителями. Так, приведу в пример еще раз Великобританию (вообще, считаю, что это одна из самых показательно-образцовых стран) — в рамках внедрения нового курса были задействованы крупные телеканалы, велась активная поддержка на уровне статей “как вы можете помочь своему ребенку изучить computer science”, “что важно знать самим” и так далее.

Что сделали на основе этого вывода: строили, дотошно и детально коммуникационную стратегию по внедрению предмета.

image

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

Подробнее
Реклама
Комментарии 237
  • 0
    Пример проекта Информатика-21 показывает, что обучать информатике не-программистов (с соответствующими подходами к дидактическому материалу) гораздо правильнее, чем пытаться всех сделать привычными «программистами», на сегодняшнем этапе развития ИТ обучать программированию школьника это всё равно что математику давать сразу олимпиадной спецификой.
    • 0
      Очень согласна. Так как смысле генерить программистов в промышленных объемах нет. А вот дать базовое понимание того, как работают технологии (а не только выучить ворду и паскалю) — важно)
    • +2

      Вот чем вам не нравится советский подход к информатике? Сначала играться с бейсиком, потом писать на паскале поиски-сортировки-деревья.

      • +1
        Я уж молчу про обучение нормальным языкам, а не динозаврами, но даже не в этом суть. Вы серьезно в школе учились писать поиски, сортировки и деревья? Нет, такие школы есть, я знаю, но их приблизительно 1 на 15-20 средних образовательных, если не меньше.
        • +2
          Сначала играться с бейсиком, потом писать на паскале
          Я уж молчу про обучение нормальным языкам, а не динозаврами

          Раньше по сети гулял мем о том, что "паскаль для образования", хотя вокруг были Delphi, freepascal и прочие, даже реально учебные Pascal ABC, потом было затишье, а теперь новый мем "паскаль не для образования"?


          А что же для образования и чем надо измерять дляобразованиевость? У паскаля, бейсика и прочих кумиров отличный KPI, почти все кто их успешно изучал 10 лет назад — сегодня пишут на хабр умные статьи и получают килобаксы денег.

          • +3

            Scala, Scala, Lisp, Haskell, SML — для образования!!!:) Головоломные концепции отлично подойдут для развития мозга...:) а потом и к С++ можно в вузе будет приступать — он лёгоньким покажется.

            • 0

              Плюсанул, хотя со Scala не согласен, там слишком много разнородных концепций намешано в кучу. А для обучения лучше подходят чистые концепции аля Haskell, Scheme(всё-таки для обучения лучше Racket, чем Common Lisp), Smalltalk. Про SML ничего сказать не могу, я с ним не знаком )

              • 0

                Вы, наверное, шутите, ув. Vjatcheslav3345… Но, допустим, вы правы. Мой вопрос остаётся открытым, чем надо измерять пригодность языка для образования, чтобы потом сравнить, какой пригоден, а какой не очень?

                • +1

                  Computer Science — это ведь не про языки программирования… они лишь одно из следствий и инструментов.
                  Какие есть фундаментальные вещи, которые можно изучать в классическом курсе? К примеру, архитектура фон Неймана, простые алгоритмы, алгебраические типы данных, лямбда-исчисление, абстрактное синтаксическое дерево и т.д. и т.п. Языки можно использовать разные, но чем чище в языке выражена та или иная концепция, тем лучше он годится для её объяснения. Т.е. отвечая на Ваш вопрос, для образования непригодны языки, в которых намешаны разнородные концепции.

                  • +3

                    В каждой шутке есть доля шутки, вот я и пошутил немного, но… — я имел в виду, что программирование можно было бы изучать в школе на протяжении 10-11 лет и продолжать в профобразовании и даже в аспирантуре (итого, получится, что грамотный человек будет иметь лет 17 изучения дисциплины — и нельзя это ценное время тратить на изучение всяческих тонкостей промышленного программирования, которые недолговечнее чем подёнки).
                    Но, — изучать так как советуют корифеи программирования и педагогики — не спеша, вникая в теорию. Чтобы легче давалось погружение в теорию и нужны вот такие вот специфические языки а потом уже, ближе к вступлению в "большую жизнь" — можно пройтись по практическим инструментом.
                    И не факт, что приведённые мной языки-примеры окажутся в школе наилучшими — языки стремительно устаревают (например, сейчас появились языки для вероятностного и квантового программирования) в современный период их развития, к тому же, если, скажем начать искать место дисциплины "Программирование" в образовании, то окажется, что, скажем, математики, информатики захотят разрабатывать ещё более абстрактные языки для нужд образования, но, подходя к ним с ещё и с позиций психологии и педагогики и даже медицины и здравоохранения учащихся и их педагогов. И они будут правы — ведь в образовании мы не повторяем вульгарно и в точности путь человека, скажем, в математике — учась считать сначала камешками, потом изобретая всевозможные системы счисления, изобретая нуль и т. д. а повторяем скорее развитие идей, не пытаясь проверить каждый тупиковый путь.
                    Самое главное, чтобы языки разрабатывали и применяли в программах "на опережение", так, чтобы к окончанию 10-15-летнего учения человек мог начинать пользоваться идеями, изучаемыми ранее, уже в практических языках и целях.


                    А по поводу метрики эффективности языков в образовании — открытая, независимая, от системы образования статистика качества информ-образования (т. е. более широкая, чем статистика эффективности языков в образовании — этого и другого иного инструментария) (скажем, организованная работодателями, профильными СМИ, иными заинтересованными лицами), нацеленная на определение — знает ли человек концепции или просто "макакит" ручками по клавиатуре.

                    • 0
                      Самое главное, чтобы языки разрабатывали и применяли в программах «на опережение», так, чтобы к окончанию 10-15-летнего учения человек мог начинать пользоваться идеями, изучаемыми ранее, уже в практических языках и целях.

                      Хорошо бы, но это уже невозможно. Времена такой презсказуемости давно прошли (почему — гуглить/ютубить «Закон Времени»).

                      Потому, остаётся единственный правильный путь дать нетленные знания: это знания о том, как познавать что-либо новое вообще, и творить что-либо новое. Т.е. управлять — в самом широком смысле слова.
                      • +1

                        А ещё в разработке языков для учебного программирования имеет смысл использовать принцип семейства микроязыков — т. е. разрабатывать каждый язык этого семейства так, чтобы каждый содержал только одну идею, но доводил её до безумно отшлифованного идеала в смысле понятности и чёткости.
                        Кроме того, следует учесть и то, что учитывают в преподавании давно (и чего нет в промкомпиляторах) — разделение изучаемых идей и концепций в соответствии с возрастным и индивидуальным развитием, интересами. Встроить прямо в учебный компилятор продвинутую аналитику и статистику для объективного определения — что плохо знает ученик (заодно — и для генерации автоотчетов для серверов Минобра что нибудь предусмотреть:)), генератор задач, учитывающий индивидуальные проблемы и трудности ученика и т. д. и т. п.
                        Кроме того, работать на опережение тоже вполне можно — например, сейчас на повестке будущего дня стоят квантовые компьютеры и нейрокомпьютеры, искусственный интеллект — при этом симуляторы тех же квантовых компьютеров появились давно и вполне можно было бы на перспективу учить в них тому, к чему промпрограммирование ещё не успело прийти, причём, в связи и с другими науками, например, в этом смысле было бы информатикам интересно и полезно замутить, совместно с физиками, при изучении термодинамики, лабораторки по консервативной логике.

                        • 0
                          языков для учебного программирования

                          Мне кажется, что за деревьями становится плохо видно сам лес.
                          Какова цель системы образования?
                          * Чтобы удобно провести 10 лет жизни?
                          * Или чтобы подготовиться ко взрослости?

                          Было бы довольно внезапно, неск лет в школе изучая специальные какие-то языки, выйдя во взрослую жизнь, обнаружить, что они в принципе никому не нужны…
                          Причём, это как раз и происходит, и не только с информатикой. Взрослые люди задаются вопросом: зачем было тратить 10 лет на школу, которая учила тому, что потом оказалось не нужно?

                          Про учить на перспективу — всё ж загуглите про «Закон Времени» — там есть ролик, наглядно показывающий почему единственная перспектива — это теория управления.

                          Ну а логика да, она нужна, и она часть этой самой теории управления.
                          • 0
                            Было бы довольно внезапно, неск лет в школе изучая специальные какие-то языки, выйдя во взрослую жизнь, обнаружить, что они в принципе никому не нужны…
                            Так именно поэтому и не надо учить в школе Java/Python… Они подвержены моде, как любой мейнстрим.
                            Концепции по большей части моде не подвержены, поэтому всё что останется для перехода к production — это изучить синтаксис модного к тому моменту языка. Что как мы знаем занимает 2-3 недели, включая основную часть стандартной библиотеки.
                            А теперь подумайте сколько лет понадобится чтобы переключиться на что-то типа Haskell после 10 лет изучения Java.
                            • 0
                              Так именно поэтому и не надо учить в школе Java/Python… Они подвержены моде, как любой мейнстрим.

                              Именно!
                              • 0
                                А на чём практиковаться эти 10 лет?
                                Таких теоретиков-ни-о-чём школа плодит каждый год, и они потом пополняют статистику безработных.

                                На абстрактных концепциях не попрактикуешься (хоть знать их и нужно). Вот он конкретный комп, как руками почуствовать, что его таки реально заставить что-то делать? — только попробовав самому.
                                И чем плох так Вами названный мейнстрим в этом? Вон через дорогу от школы программеры сидят и кодят на этом мейнстриме, т.е. это реально востребовано и работает. Почему бы на нём не практиковаться?
                                Ну и пусть раз в 5 лет мейнстрим меняется — ну так обновлять программу обучения всё равно нужно. То, что счас продолжают учить уже давно неадекватному (во всех отраслях) — это ж ненормально.
                                • 0
                                  Ну и пусть раз в 5 лет мейнстрим меняется — ну так обновлять программу обучения всё равно нужно.
                                  Ахах, Вы слишком хорошего мнения о минобре, новую программу лет 5 только согласовывать будут.
                                  Да и потом, с чего Вы взяли, что предложенные языки неадекватны?.. за исключением Паскаля, остальные вполне себе используются в production, хоть и во втором эшелоне по популярности, а С так вообще — в первом, просто он уже достаточно стабилен, чтобы не дёргаться каждый год в новые фичи.

                                  P.S. Если отвлечься от школы и переключиться на действующих программистов… Перечислите, если не трудно, список языков, которые Вы считаете перспективными с горизонтом 10 лет?
                                  • 0
                                    Постановка целей — предшествует созданию/изменению структур для их реализации (см. ПФУ из ДОТУ).
                                    Так что, минобр может быть сколь угодно тормозным, но то, что нужно делать — можно определиться и не дожидаясь пока чиновники раздуплятся (ибо если не определиться — они вообще никогда не раздуплятся, будут просто бюджеты и дале пилить)

                                    хоть и во втором эшелоне по популярности

                                    Если есть возможность давать более востребованные знания новым поколениям… но нет, мы будет давать чуть похуже… Пусть те же индийские детки выглядять чуть лучше на фоне наших.
                                    WAT???

                                    список языков, которые Вы считаете перспективными с горизонтом 10 лет?

                                    Первый эшелон: из семейства скриптовых: жабоскрипт (ну понятно) и всё, из низкоуровневых: Go (ибо с-подобный и асинхронный) и С.
                                    Все остальные питоны, джавы, пхп, руби и т.д. — уже второй эшелон.

                                    Да что тут считать. Берём статистику по языкам на гитхабе и всё видно (столбик слева):
                                    https://github.com/search?o=desc&q=stars%3A%3E1&s=stars&type=Repositories

                                    Впрочем, после выхода и стабилизации WebAssembly — монополия жабоскрипта пошатнётся (синтаксис у него всё-таки с-шный), рынок откусят более удобные синтаксисы, типа питоно-, рубе- или кофескриптово- подобные (хотя на кофях уже и счас можно писать).

                                    Вобщем, основной тренд: асинхронность. Если она есть в самом языке (без необходимости сторонних либ) — то за ним будет и своя часть рынка.
                                    • 0
                                      Если есть возможность давать более востребованные знания новым поколениям…

                                      Так я и предлагаю давать более востребованные знания, а не плодить кодеров-индусов из русских )))


                                      Да что тут считать. Берём статистику по языкам на гитхабе и всё видно

                                      Вы делаете прогноз на 10 лет, просто по текущему кол-ву открытых репозиториев на github? Ваше право, конечно, но имхо слабоватая метрика для прогнозов.
                                      JavaScript сейчас колбасит только так. Учить его сейчас, чтобы найти работу в 2017 году — можно. С горизонтом 10 лет — бессмысленно.
                                      А более удобных синтаксисов и так уже навалом.

                                      • 0
                                        Вы делаете прогноз на 10 лет, просто по текущему кол-ву открытых репозиториев на github? Ваше право, конечно, но имхо слабоватая метрика для прогнозов.

                                        Метрика была написана: «Вобщем, основной тренд: асинхронность.» И указанные перед отсылом к гитхабу языки были выбраны именно по этому критерию.

                                        JavaScript сейчас колбасит только так.

                                        Ну если бурное развитие это «колбасит» — то пусть колбасит :)

                                        С горизонтом 10 лет — бессмысленно.

                                        Вышими же словами: «но имхо слабоватая метрика для прогнозов.». Это бессмысленно потому, что «колбасит»? Или почему бессмысленно?

                                        А более удобных синтаксисов и так уже навалом.

                                        Да, coffeescript рулит.
                                        • 0

                                          На мой взгляд, развитие — это когда что-то новое появляется (заимствования не в счёт) или хотя бы плохое старое отбрасывается… И это явно не про JavaScript.


                                          Это бессмысленно потому, что «колбасит»? Или почему бессмысленно?

                                          Да, если он и останется, то через 10 лет это будет совсем другой язык.
                                          Но вообще в JavaScript далеко не самая удачная модель асинхронности — всё упирается в центральный однопоточный event-loop. Сравните с Erlang/Elixir, где центральный event-loop отсутствует как класс, а акторы масштабируются на сколько угодно ядер или даже на кластер машин.

                                          • 0
                                            И это явно не про JavaScript.

                                            Т.е. свежие ES6 и ES7, введшие множество фич и синтаксического сахара (движение к питон-стилю синтаксиса) — Вы не рассматриваете как развитие?
                                            Просто хочу либо какой-то конкретики про JS (почему он так уж плох), либо простое «да пофиг на него просто».

                                            через 10 лет это будет совсем другой язык.

                                            Ну и на здоровье. Не улучшать что-то только для того, чтобы не менять… эээ? :)
                                            Ну либо Вы в состоянии показать заведомо идеальный и давно неизменный ЯП?

                                            всё упирается в центральный однопоточный event-loop.

                                            Да, счас этого может уже быть и маловато. Но в той же ноде есть искаробки модуль для распараллеливания вширь. Нормальный такой костыль, пока ядро однопоточное (но всё же меняется… ;)

                                            Сравните с Erlang/Elixir

                                            Вполне возможно, оно там как-то лучше завёрнуто (изначально в ТЗ на язык, видать, было так), но где тогда их распространённость?
                                            На ерланге я знаю целую софтину (ejabberd) и либу распределённого хранения (кажись) mnesia…
                                            Понятно, что маркетинг круче технического совершенства, но нода появилась не из-за маркетинга. Жабоскрипт сумел выйти из браузера в переполненную и чрезвычайно конкурентную среду серверного программирования (в виде ноды). В 2009. А сколько лет обозначенным языкам? Почему у них так негуст рынок при такой то архитектуре?

                                            Вобщем, как я вижу: может по отдельным «концепциям» вполне возможно найти какие-то более удачные варианты, но суммарно по всем возможностям и экосистеме, которая на сегодня есть у жабоскрипта — вопрос о скриптовых языках закрыт надолго.
                                            На каком ещё языке можно:
                                            * писать асинхронно из коробки (без доп. либ)
                                            * писать на всех (всех) мыслимых платформах: сервер, браузер, десктоп, мобил и даже всякие «малинки»
                                            * иметь такую громадину готовых сторонних либ (более 200к либ только на npmjs, пусть даже не всё там для js, это с 2009; для сравнения: у синхронного питона на pypi около 70к либ, но с 1992 года(!!!)), и все эти либы — автоматически асинхронны, вопрос уместить в одном процессе разные сервера в принципе не стоит

                                            Если можно — то, прошу, больше конкретики, без туманных терминов, типа «колбасит».
                                            Если же просто неприятие жабосрипта (ещё год назад я плевался, примерно, как Вы счас) — то это тоже принимается. Никого к стенке прижимать я цели не имею, просто хочу узнать всякую конструктивную критику жабоскрипта и производных кофей (мне ж это в массы нести).
                                            • 0
                                              Т.е. свежие ES6 и ES7, введшие множество фич и синтаксического сахара (движение к питон-стилю синтаксиса) — Вы не рассматриваете как развитие?

                                              Я рассматриваю это как неизбежное заимствование фич и решений под давлением других языков.


                                              Просто хочу либо какой-то конкретики про JS (почему он так уж плох)

                                              В первую очередь слабой динамической типизацией он плох, такую типизацию можно простить только Си для low-level оптимизаций, ни один язык высокого уровня не должен себе такую хрень позволять. Ну и архитектурными просчётами, которые начали потихоньку фиксить, начиная с ES6, но на это ещё хз сколько лет уйдёт.


                                              Ну либо Вы в состоянии показать заведомо идеальный и давно неизменный ЯП?

                                              Нет конечно, на это только Пайк способен, но мало кто с ним согласен )))
                                              Тем не менее, очень немногие языки "развиваются" по сценарию "%lang_name% — говно, давайте его целиком переделаем". Обычно люди как-то более вдумчиво подходят к дизайну языка и не переделывают его кардинально после версии 1.0.


                                              изначально в ТЗ на язык, видать, было так

                                              Да, Вы угадали… изначально идея была в создании языка, который позволил бы писать ПО для управления тысячами устройств, без даунтайма, чтобы при звонках на телефон АТС не отвечала "извините, у нас тут ПО зависло". По совпадению, теперь для обычной разработки нужен именно такой язык. Кто ещё может похвастаться аналогом OTP? Особенно учитывая, что она уже 25 лет в бою под такими нагрузками, которые 99.999% проектов даже не снились, и 20 лет в OpenSource.


                                              На ерланге я знаю целую софтину (ejabberd)

                                              А про Riak или RabbitMQ не слышали? Ну или хотя бы про WhatsApp?


                                              Почему у них так негуст рынок при такой то архитектуре?

                                              Потому что раньше не были востребованы такие навороты в широких кругах. Всего 10 лет назад можно было прямо в php-файл вёрстку закинуть и збс, сайтец готов :-)

                              • +1

                                На самом деле люди с фундаментальным образованием работают сейчас там, где есть возможность зарабатывать, например в финансах (туда ещё очень часто физики и математики идут). Поэтому, действительно спецязыки и нужны на своём месте а вот люди со знаниями в жизни нужны всегда и за настоящие, "золотые" фундаментальные знания, готовы платить.

                                • 0
                                  Ну, где вынуждены счас перебиваться учёные — примерно понятно: кто на рынке, кто в чём. Дурь «экономического» официоза заставляет раскорячиться.

                                  Но спецязыки, которые не выходят за рамки школы — вот где проблема. Т.е. выходит такой себе микромир: ковыряется что-то для самого же микромира, а не для реального, куда выпускники таки выйдут в итоге.
                                  • +1

                                    Спецязыки — это не большая проблема, чем сборка электросхем из учебных комплектов на уроках физики электрических цепей — никто же не ворчит: "Хватит дурью маяться, идите, и, как настоящие пионеры/комсомольцы, лучше бсплатно свет в подвале моей многоэтажки проведите".
                                    Но люди, потом избравшие электротехнику своей профессией, благодаря знанию фундаментальных принципов проектируют и успешно реализуют трансконтинентальные системы связи и континентальные системы генерации и передачи энергии, не говоря уже о всём остальном.
                                    Главный практический выхлоп спецязыков — твёрдые знания и умения в головах учеников и учителей (их тоже надо учить — посмотрите на их текущий уровень знаний и умений).

                  • +1
                    Я уж молчу про обучение нормальным языкам, а не динозаврами, но даже не в этом суть

                    А какие языки нормальны для обучения? На мой взгляд, язык для обучения должен быть достаточно фундаментален, чтобы на его примере можно было показывать основные концепции, не подверженные быстрому устареванию. Т.е. получается, что для обучения можно применять C, Pascal, Smalltalk (есть в варианте для самых маленьких — Scratch), Haskell, Racket.
                    Советовать учить PHP, Ruby, Python, Java, C# в школе, я бы не стал… это всё либо станет неактуальным к моменту, когда они закончат школу и универ, либо 100 раз ещё изменится. Да и не все же должны прикладными программистами становиться… Подумайте о других предметах, везде даётся классический базис. С чего бы именно программу по Computer Science надо переписывать каждый год и учить тому, что заведомо будет неактуально лет через 20?

                    • 0
                      Очень неплохо на эту тему написано тут: https://www.computingatschool.org.uk/data/uploads/ComputingCurric.pdf (11 страница)

                      Цитируя:
                      Every pupil should have repeated opportunities to design, write, run, and debug, executable programs. What an “executable program” means can vary widely, depending on the level of the pupil and the amount of time available. For example, all of the following are included in “programming”:
                      — Small domain-specific languages, such as instructions to a simple robot, or Logo-style
                      turtle.
                      — Visual languages such as Scratch BYOB or Kodu.
                      — Text-based languages, such as C#, C++, Haskell, Java, Pascal, PHP, Python, Visual
                      Basic, and so on.
                      — Spreadsheet formulae

                      Both interpreted and compiled languages are “executable”. In every case the underlying concepts are more important than the particular programming language or environment. The ability to understand and explain a program is much more important than the ability to produce working but incomprehensible code. Depending on level, pupils should be able to:
                      Design and write programs that include
                      o Sequencing: doing one step after another.
                      o Selection (if-then-else): doing either one thing or another.
                      o Repetition (Iterative loops or recursion).
                      o Language constructs that support abstraction: wrapping up a computation in
                      a named abstraction, so that it can be re-used. (The most common form of
                      abstraction is the notion of a “procedure” or “function” with parameters.)
                      o Some form of interaction with the program’s environment, such as
                      input/output, or event-based programming.
                      Find and correct errors in their code
                      Reflect thoughtfully on their program, including assessing its correctness and fitness
                      for purpose; understanding its efficiency; and describing the system to others.
                      • +1
                        Мне кажется, одним из важных факторов при выборе образовательного языка является его поддержка/развитие с уклоном на реальное прикладное применение. Возможность написать реальное приложение/систему/сайт/сервис/чтоугодно «для себя», а не просто инструмент для «пописать алгоритмы сортировки» — реально ощутимый «бонус».
                        Вот, скажем, тот же Pascal. Как к языку к нему претензий, пожалуй, особых и нет. Вопрос в том, что ребенок, который реально «перерос» школьную программу и уже не получает кайфа от чисто «тренировочных» задач, кроме этих самых сортировок ничего написать не сможет. Ну вот нереально на Паскале что-то действительно интересное написать для прикладных задач. Захотел ребенок для себя «ежедневник» написать и… и все… пошел учить что-то другое.
                        Из примеров, впрочем, на памяти строго обратное. Сначала Python внедрили в качестве образовательного в куче ВУЗов, а уже потом Гугл тот же вложился в прикладную «обвязку» для языка. На выходе получился вполне неплохой язык для изучения CS (не без оговорок, конечно, но получился) с достаточно широким прикладным применением. С Бейсиком и Паскалем так не получается.
                        Так что я лично (впрочем, мое мнение не особо авторитетно) только «за» переход преподавания в школах на тот же Python. В конце концов ребенок и портал для себя написать сможет, и десктопное что-то, и пару-тройку консольных тулз, и с «малинками» поиграться сможет для дальнейшего саморазвития.
                        • +1
                          Плюсую.

                          (holywar_mode on)
                          Но в последнее время таким универсальным языком является жабоскрипт. Кроме вышеописанных тулзей с малинками, дитё сможет и дл мобилы попысывать, и для веба что-то покрутить. Т.е. закрывается вообще все направления программинга, да ещё и реально востребованным языком.
                          (PS мне много лет нравился именно питон, пока не узнал про ноду)
                          (holywar_mode off)

                          Не нужно будет переучиваться с учебного на рабочий (вопрос учебного языка, как по мне, так это вообще издевательство над детьми: научить какой-то учебной фигне, а потом плыви как хошь. Учёба ради учёбы? — вполне в русле школьной философии...)

                          • 0
                            PS мне много лет нравился именно питон, пока не узнал про ноду

                            Как Вы чётко в одном предложении выразили, почему не надо ни Python, ни JavaScript использовать в обучении основам :-)

                            • 0
                              И почему же?
                              • 0

                                Потому что они на уровне вкусовщины… Можете представить фразу типа "мне много лет нравилась механика, пока не узнал про термодинамику"?
                                Учебная программа — серьёзная вещь, в ней нет места личным пристрастиям. И ещё раз подчеркну, что языки программирования — это не объект изучения для школьной информатики. Это лишь форма записи для демонстрации концепций.

                                • 0
                                  Учебная программа — серьёзная вещь, в ней нет места личным пристрастиям.

                                  Перечитайте каменты — у всех в школе на всех уроках (включая информатику) была своя ситуация и своя конкретика. Откуда это? — просто все люди (включая учителей) — разные. Плохо ли это? — ну если б все, учащиеся в одно время, получали бы одно и то же знание — то счас бы не о чем было бы говорить. Все бы думали и действовали бы одинаково (включая одинаковые ошибки). Было бы это лучше, чем сейчас? (риторический вопрос)

                                  языки программирования — это не объект изучения для школьной информатики. Это лишь форма записи для демонстрации концепций.

                                  А в школе не время/не место изучать такие формы для демонстрации? Почему? Во «взрослом» мире такие формы очень даже востребованы. Почему бы нужным и востребованным вещам не учить в школе? (а чему, тогда, учить, если не нужному и важному? — впрочем, понятно чему… тому, чему счас повально учат, производя массы темени...)

                                  Вкусами (приоритетами целей), конечно, можно меряться. Но если сойтись на том, что самые главные параметры языка программирования — это 1) затратность на работу с ним (время и силы) и 2) функционал, то по этим параметрам названные языки не равны.

                                  (holywar mode on)
                                  Думаю, холивар любят многие :), но разница меж питоном и нодой/js — в одном слове: асинхронность. Это значит выигрыш по параметру «функционал», а, следовательно, и по первому, главному — «затратность». (справедливости ради отмечу, что с 3.5 питона у него тоже есть асинхронность «из коробки» и нет нужды вручную перенатягивать синхронные либы на асинхронный Twisted, но поезд ушёл (объём сторонних библиотек уже в пользу жабы (можно посмотреть на pypi и npm — объём отличается в 3 раза, хотя да, в npm есть и не только нодо/жабо либы)) и питон-в-вебе пока только маячит в виде WebAssembly.

                                  Много слов не буду писать почему так. Дам слово одному бывшему питонщику в статье про ноду, где он привёл пример, когда в одной проге на питоне нужно было совместить функционал двух синхронных библиотек…
                                  (инглиш):
                                  https://blog.nelhage.com/2012/03/why-node-js-is-cool/
                                  • +1
                                    просто все люди (включая учителей) — разные

                                    Кто ж спорит… но мы тут вроде обсуждаем, что хорошо было бы включить в школьную программу, а вот она едина для всех. Вопрос её подачи — это уже другой вопрос.


                                    А в школе не время/не место изучать такие формы для демонстрации?

                                    Дело в акцентах. Вы гнёте линию, что надо выбрать какой-то один ЯП и учить ему. А я говорю о том, что информатика не об этом и надо учить концепциям с использованием 5-6 языков, не углубляясь в stdlib и прочее. Практически у каждой дисциплины есть 2 стороны — фундаментальная и прикладная. Фундаментальную учат в школе и в ВУЗах, прикладную — преимущественно в ПТУ или на работе. Так устроено изучения абсолютно всех наук, и я не вижу причин почему информатика должна тут быть не такой как все.


                                    в одном слове: асинхронность

                                    Вот хотя бы этот пример. Зачем нужна асинхронность? Чем она отличается от многопоточности? Чем параллельность отличается от конкурентности? Какие существуют модели конкурентности? В чём недостатки модели конкурентности в Node.JS и для каких задач она не подходит?
                                    Вот на какие вопросы должно отвечать образование, а не выбирать что-то одно подо всё. "No Silver Bullet" ©

                                    • +1
                                      Ну, собственно на одном языке зацикливаться — действительно «не очень» идея.
                                      Я, например, говорил о том, что всем упомянутым вами вещам вполне можно учить на языках, имеющих прикладное применение.
                                      Учить чему-то на том же Паскале или Бейсике, как мне кажется, форменное издевательство. Да, у них очень невысокий порог вхождения, что есть, безусловно, плюс. С другой стороны, дальше чем «пописать сортировку в учебных целях» на них не уедешь. В конечном итоге, мы удовлетворяем «средних» учеников, «работающих на оценку», но не даем никаких возможностей для роста будущим «рок-звездам» в программировании.
                                      Собственно, откуда такая проблема — тоже вполне понятно. Проблема, собственно, начинается в учителях. Где ж их набрать-то столько, чтобы «в теме» были. Средний уровень школьного учителя информатики (могу и ошибаться в целом, говорю только по своему опыту) у нас невысокий.
                                      На определенный момент мы упускаем другую проблему.
                                      Допустим, у нас есть ученик Василий. Очень заинтересовался программированием, пишет, не покладая рук. Захотел написать что-то реально прикладное, даже язык новый, как мог, изучил. Допустим, ту же Java.
                                      Проблема не в том даже, что бедному ребенку пришлось еще один язык выучить — впитывают-то они, как губки. Проблема начинается на том месте, где этот условный ученик Василий «затыкается» на каком-то месте своего pet-проджекта и идет искать помощи. У кого он ее ищет? Правильно, у ближайшего «авторитетного специалиста», у своего учителя. А учитель смотрит на Василия, как на дурака, и спрашивает, что за хрень тут написана…
                                      • 0
                                        Учить чему-то на том же Паскале или Бейсике, как мне кажется, форменное издевательство. Да, у них очень невысокий порог вхождения, что есть, безусловно, плюс. С другой стороны, дальше чем «пописать сортировку в учебных целях» на них не уедешь.
                                        Откуда такое пренебрежение к Паскалю и Бейсику? Есть же Component Pascal, Object Pascal (он же Delphi), Visual Basic .NET. Что такого на них нельзя написать, будучи школьником?
                                        И Вы совершенно верно написали, что есть огромное количество преподавателей, которые их уже знают хоть в какой-то мере.

                                        но не даем никаких возможностей для роста будущим «рок-звездам» в программировании.
                                        Да ладно, для таких достаточно предоставить доступ к компьютеру :-D
                                        С прикладным применением всё равно не угадать… Вспомните, когда Вы в школу поступили, какие из сегодняшних мейнстрим-языков хотя бы существовали?
                                        • 0
                                          >> Откуда такое пренебрежение к Паскалю и Бейсику? Есть же Component Pascal, Object Pascal (он же Delphi), Visual Basic .NET.
                                          Ну вот, следуя вашей же логике, от таких вещей, как циклы, в преподавании надо отказываться. Вот конкретно на Component Pascal, Object Pascal и Visual BASIC отказываться? А как?
                                          А вменяемые UI-библиотеки для этих языков?
                                          Не говоря уже о том, что все 3 — достаточно нишевые и вендорозависимые вещи.
                                          Собственно, назовите мне хоть одно реальное преимущество хотя бы одного из 3-х названных вами языков над той же многострадальной Java.
                                          >> Что такого на них нельзя написать, будучи школьником?
                                          Домашний сайт?
                                          >> С прикладным применением всё равно не угадать…
                                          Ну, собственно, тут трудно, да. Но те же BASIC и Pascal (как бы ни прискорбно оно звучало в отношении второго) вполне можно в разряд эзотерических языков относить. Экосистема вокруг них мертва.
                                          • 0
                                            Ну вот, следуя вашей же логике, от таких вещей, как циклы, в преподавании надо отказываться.
                                            На примере Pascal о них как раз можно рассказать. А в VB.NET, я так подозреваю, давно уже LINQ заправляет работой с Enumerable.

                                            А вменяемые UI-библиотеки для этих языков?
                                            Есть. Для паскаля есть VCL и LCL. Биндинги к wxWidgets есть практически подо всё.

                                            Домашний сайт?
                                            С VB.NET можно использовать ASP.NET MVC. Smalltalk, Haskell, Racket тоже отлично справятся с этой задачей. Хотя, честно говоря, в эту сторону я не думал. Считаете веб-программирование стоит тоже в учебный план включить?

                                            назовите мне хоть одно реальное преимущество хотя бы одного из 3-х названных вами языков над той же многострадальной Java.
                                            Вы про паскали и бейсик? Они проще.
                                            • 0
                                              >> На примере Pascal о них как раз можно рассказать.
                                              Ну, собственно, о них можно рассказать на примере почти любого другого языка. Изучать Паскаль, чтобы на нем продемонстрировать работу циклов?
                                              >> А в VB.NET, я так подозреваю, давно уже LINQ заправляет работой с Enumerable.
                                              В деталях — дьявол. LINQ — вполне себе достаточно нишевое вендорозависимое решение. К тому же скрывающее детали реализации. В образовательных целях предпочел бы какой-нибудь другой ORM.
                                              >> Для паскаля есть VCL и LCL.
                                              Мне вот кажется логичной мысль не завязывать образовательный процесс на проприетарное относительно дорогое решение, поддерживаемое одним единственным едва живым вендором…
                                              >> Биндинги к wxWidgets есть практически подо всё.
                                              Поэтому мне и кажется, что смысла завязываться на продукты Embracadero смысла нет.
                                              >> Считаете веб-программирование стоит тоже в учебный план включить?
                                              Собственно, сетевое программирование на уровне сервисов/служб/клиентов, КМК, стоит.
                                              >> С VB.NET можно использовать ASP.NET MVC.
                                              Вы же чуть выше говорили, что изучать нужно сами основы, а не конкретный продукт конкретной конторы, который неизвестно еще, будет ли жив через пару-тройку пятилеток.
                                              >> Smalltalk, Haskell, Racket тоже отлично справятся с этой задачей.
                                              К стыду своему признаю, что тут я вообще не авторитет.
                                              >> Вы про паскали и бейсик? Они проще.
                                              Хм, тут вы правы. А Python, Go? Не сложнее паскаля и бейсика, имхо. Впрочем, Go достаточно нишевой и таки гугловый, хотя комьюнити у него конское. Но если уж выбирать в качестве языка для обучения между Python и Basic (а их ниши вполне себе пересекаются), не вижу аргументов в пользу Basic'а.
                                              • 0
                                                Изучать Паскаль, чтобы на нем продемонстрировать работу циклов?
                                                Вы передёргиваете… Структурное программирование не ограничивается циклами. Какие ещё языки Вы бы выбрали для демонстрации именно этой концепции в чистом виде?

                                                В образовательных целях предпочел бы какой-нибудь другой ORM.
                                                Вот Вы считаете, что LINQ — это ORM и вендорозависимое решение. А по факту, это не ORM и такой же подход можно реализовать во многих языках, где есть ФВП.

                                                Мне вот кажется логичной мысль не завязывать образовательный процесс на проприетарное относительно дорогое решение
                                                Ну что Вы привязались к Паскалю, он ведь 1 из списка, образовательный процесс на него не будет завязан, он будет его синтаксис использовать для демонстрации структурного программирования. Я уж молчу про то, что LCL — это OpenSource (Lazarus).

                                                Вы же чуть выше говорили, что изучать нужно сами основы, а не конкретный продукт конкретной конторы, который неизвестно еще, будет ли жив через пару-тройку пятилеток.
                                                Правильно. В школе и не нужно изучать ASP.NET MVC и т.п. Это был ответ на Ваш вопрос по поводу внеклассной программы для тех, кто очень увлёкся программированием. И смысл в том, что они найдут чем заняться вне школы для любого ЯП.

                                                К стыду своему признаю, что тут я вообще не авторитет.
                                                Так это не стыдно. Их слабая известность — это недостаток текущей системы образования. Поизучайте их на досуге и поймёте почему те, кто уже ознакомился, хотели бы чтобы этим концепциям учили сразу… вместо того, чтобы пробиваться к ним годами через пот и слёзы промышленного программирования.

                                                А Python, Go? Не сложнее паскаля и бейсика, имхо.
                                                Python гораздо сложнее, как любой мультипарадигмальный язык. Go — на мой взгляд не простой, а урезанный… Чуть в сторону и уже приходится извращаться.
                                        • 0
                                          Учить чему-то на том же Паскале или Бейсике, как мне кажется, форменное издевательство. Да, у них очень невысокий порог вхождения, что есть, безусловно, плюс. С другой стороны, дальше чем «пописать сортировку в учебных целях» на них не уедешь.

                                          Да ну?! У меня был тёплый ламповый Бейсик на терминале. Но мы на нём такое писали… используя командные ASCII коды. В самом Бейсике не было никаких команд для перемещения курсора, но ASCII коды — позволяли такое делать. Так что на Бейсике мы делали то, что на прямую он делать не позволял.

                                          PS сколько Вам лет, молодой человек?
                                          • 0
                                            >> PS сколько Вам лет, молодой человек?
                                            Не уверен, что это существенно… 35
                                            >> У меня был тёплый ламповый Бейсик на терминале. Но мы на нём такое писали… используя командные ASCII коды. В самом Бейсике не было никаких команд для перемещения курсора, но ASCII коды — позволяли такое делать.
                                            Не сомневаюсь, было очень весело и вдохновляюще. Но вы же понимаете, что делали вы это не от хорошей жизни. Современный ученик с имеющимся инструментарием за сравнимое время Super Mario Bros. написать может. Только не на Бейсике…
                                            В данный момент Бейсик может оказаться полезным для… хм… Для написания макросов в MS-Оффисе. Честно говоря, не знаю сфер применения, где у него не было бы лучшей альтернативы.
                                            >> Так что на Бейсике мы делали то, что на прямую он делать не позволял.
                                            Что-то мне кажется, это не в пользу языка говорит…
                                        • 0
                                          Да есть та самая «сильвер буллет». Но Вы то с питона начали. Я лишь показал, что не всё так с ним однозначно.

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

                                          Да, программу нужно продумывать для всех…

                                          … Ээ… нет, нельзя :( оказывается, что
                                          Учебная программа — серьёзная вещь, в ней нет места личным пристрастиям.

                                          Не можем мы с Вами тут, поэтому, вольно рассуждать об учебной программе. (законодатели, выходит, тоже не могут — у них ведь тоже есть личные пристрастия, которым не место).

                                          Выходит, остаются дети без программы вообще… Ну или остаётся ждать непосредственно факс от Бога — может хоть у него пристрастия не личные…

                                          Вы гнёте линию, что надо выбрать какой-то один ЯП и учить ему

                                          Не говорил я такого, уж извините.
                                          Разве, если один язык лучше другого, то это значит, что он лучше всех вообще?
                                          Ну и я не говорил, что вся информатика — строго внутри компьютеров естьмъ.

                                          языки программирования — это не объект изучения для школьной информатики. Это лишь форма записи для демонстрации концепций.

                                          И Вы способы показать такие концепции детям, не используя ни одного языка?
                                          Всё равно ж придётся на каком-то языке (русском, инглише, машинном и т.д.) рассказывать.

                                          Фундаментальную учат в школе и в ВУЗах, прикладную — преимущественно в ПТУ или на работе. Так устроено...

                                          А потом это приводит к тому, что выпускники не могут найти работу, потому что не в состоянии применить заученную теорию на практике, ну а работодели жалуются, что некому работать.
                                          Даже если так сейчас и устроено — то не факт, что это всех устраивает и нет лучшего пути.
                                          Почему школьников кумарит (самое ёмкое и культурное слово в данном случае) школа? — Она 10 лет вещает, что учит жутко нужному, но практически не даёт попрактиковаться в получнных знаниях, тем более в общественно полезных делах (к примеру, реальное производство чего-то нужного людям).

                                          Зачем нужна асинхронность?

                                          Для лучшей управляемости множеством объектов.
                                          Если система быстрее отвечает на меньший запрос и больше на больший вне зависимости от того чем занята (т.е. способна менять приоритеты выполнения) — то это лучше (при достаточных ресурсах), чем если неспособна (синхронность).

                                          Чем она отличается от многопоточности?

                                          Многопоточность — частный случай асинхронности, основанный на множестве потоков управления.

                                          Чем параллельность отличается от конкурентности?

                                          Одно и то же на разных языках: по-русски и по-англицки, (записаное русскими буквами concurrency). Примерно то же и с parallelnost'yu.

                                          Какие существуют модели конкурентности?

                                          В педивикии расписано.

                                          В чём недостатки модели конкурентности в Node.JS

                                          В избыточной монопольности других :) (шутка)

                                          и для каких задач она не подходит?

                                          Можно сказать, что для много- и долго-мыслительных задач (CPU-bound), но, подумав, окажется, что подходит: на такой же модели можно написать процепрожорливую прогу.
                                          Так что, выходит, что для всех подходит. (а лучше или хуже — Вы вопрос не ставили)

                                          И касательно фундаментальных основ — то я крепко за них в школе. Нужно давать самую самую основу всего, всякой деятельности людей. В самом обобщённом виде — это управление.
                                          Вот и нужно давать обобщённая теория для всех отраслей знаний людей. Чтоб в ней был расписын процесс управления как таковой (у человека он протекает в психике): из каких категорий состоит и какие взаимосвязи между ними есть. Т.е. это именно нетленные во времени знания. Изучив такую теорию, любой человек затем всю жизнь будет уметь самостоятельно учиться (впрочем, школа сейчас забивает детей ненужной ерундой, в итоге убивая практически любую тягу к знанию) и так же самостоятельно входить в любую отрасль деятельности (включая программирование: хоть на перфокартах, хоть на название_языка_программирования_популярного_на_ннный_год по желанию) в кратчайшие сроки.
                                          И вместе с искусством Диалектики (искусство познания истины путём постановки наводящих вопросов) — это и есть та самая «Silver Bullet».
                                          • 0
                                            И Вы способы показать такие концепции детям, не используя ни одного языка?
                                            Само собой рассказывать придётся на русском. Но способ краткой записи всё равно нужен, так же как в математике.

                                            В педивикии расписано.
                                            Ахах, давайте вообще школу отменим, можно же википедию почитать… Только вот не читают, включая Вас, судя по ответам на предыдущие вопросы :-)

                                            В самом обобщённом виде — это управление.
                                            Что за управление? Менеджеров хотите готовить?
                                            • 0
                                              Но способ краткой записи всё равно нужен, так же как в математике.

                                              А ещё, может, захочется дать детям посчупать комп на практике, и тут таки придётся пользоваться каким-то реальным ЯП. И выбор прост: брать что-то промышленное на данный момент (пусть оно и изменится через 5 лет) или брать то, что массово не востребовано в ромышленности?

                                              давайте вообще школу отменим, можно же википедию почитать…

                                              Вообще-то, дистанционные формы образования всё популярнее.
                                              Или обязательно ходить в здание школы, чтоб там услышать унылую пестню педагога-пенсионера? (потому, что учителей-молодёжи за такую ЗП — негусто)

                                              Только вот не читают, включая Вас,

                                              Что будут читать школьники — вопрос организации и их мотивации.
                                              А насчёт меня — я что, должен был Вам скопипастить оттуда сюда, чтобы показать, что я умею найти нужную мне в каждый момент времени информацию? :) самому не смешно?

                                              судя по ответам на предыдущие вопросы :-)

                                              Но что-то к моим ответам у Вас не появилось комментариев. Вы нигде не прокомментировали, если где что было неправильно.
                                              Либо лень разбираться по сути, а не по копипасте из учебника, либо просто лень :) Впрочем, дело хозяйское.

                                              Что за управление? Менеджеров хотите готовить?

                                              Все люди всегда занимаются управлением. Кто-то управляет химическими реакциями (химики), кто-то физическими, кто-то предприятиями, кто-то общественными процессами и т.д.
                                              И у управления как такового есть свои категории и закономерности. И если их знать — то войти в любую отрасль затем, после школы, в режиме самообразования, не составит большого труда. И именно это знание, знание теории управления, принадлежит к числу нетленных, не устаревающих со временем, что мегаважно в наш век перемен.
                                              • 0
                                                И выбор прост: брать что-то промышленное на данный момент (пусть оно и изменится через 5 лет) или брать то, что массово не востребовано в ромышленности?
                                                Хм, откуда взялся такой критерий? По-моему выбор: брать то, на чём удобно демонстрировать чистые концепции, или то, где куча разнородных концепций перемешаны в дикую кашу. Вы за какой пункт из этих двух?

                                                Вообще-то, дистанционные формы образования всё популярнее.
                                                Есть обучение, а есть самообучение… Почитать вики — это про самообучение. В целом оно даже эффективнее, так как движется интересом, но без соответствующих навыков или менторства может быть слишком сложно.

                                                А насчёт меня — я что, должен был Вам скопипастить оттуда сюда, чтобы показать, что я умею найти нужную мне в каждый момент времени информацию? :) самому не смешно?
                                                Да нет, конечно. Вопросы вообще были для примера… Просто некоторые ответы неправильные, некоторые неточные. Если Вам интересно восполнить этот пробел в знаниях, рекомендую книжку «Семь моделей конкуренции и параллелизма». В комментариях на мой взгляд не лучшее место расписывать, т.к. правильные ответы с пояснениями потянут на отдельную статью.

                                                И именно это знание, знание теории управления, принадлежит к числу нетленных, не устаревающих со временем, что мегаважно в наш век перемен.
                                                Ладно, надо будет глянуть «Закон Времени», раз рекомендуете. А то всё равно пока слишком размыто выглядит.
                                                • 0
                                                  Хм, откуда взялся такой критерий?

                                                  (очевидность mode) Да, вобщем, всё просто: время, отведённое виду хомо-сапиенс для детства — отведено не просто так, оно дано для подготовки ко взрослой жизни. (/очевидность mode) Следовательно, нужно давать самые актуальные вещи, которые востребованы во взрослой жизни.
                                                  Самые правильные фундаментальные знания, которые есть у человечества (хотя и заблуждения прошлого должны быть представлены в программе, но куда менее детально)
                                                  и самые востребованные технологии современности (но все былые технологии пересмотреть в программе — это вообще малореально), пусть они и изменятся к выпуску. К примеру, сейчас изучать работу компакт-дисков (в рамках курса технологий, а не фундамента) — всё-ж более адекватно, чем даже 3.5" дискеты.

                                                  то, на чём удобно демонстрировать чистые концепции, или то, где куча разнородных концепций перемешаны в дикую кашу. Вы за какой пункт из этих двух?

                                                  Я не могу назвать «кашей» мультипарадигмальный язык. Если на основе одного синтаксиса возможно показать больше концепций — то это явный выигрыш.

                                                  Про самообучение — да, дети ещё не умеют самообразовываться. Но если Вы таки доберётесь до «Закона Времени» — то поймёте, что если школа не научит самостоятельно учиться (а это нужно и показать, и рассказать, и активно практиковать, а затем и опираться на это в старших классах) — то это (вот, для наших дней и далее) будет самой большой ошибкой школы. И пока что, эта ошибка всё так же продолжается…

                                                  «Семь моделей конкуренции и параллелизма».

                                                  Спасибо за рекомендацию.
                                                  • 0
                                                    Я не могу назвать «кашей» мультипарадигмальный язык.

                                                    Смотрите в чём фишка: мультипарадигмальный язык не позволяет вам по факту использовать ни одну парадигму в чистом виде. Для обучения — это, на мой взгляд, самое ужасное. У школьника ещё не выкристаллизовалось понимание концепции, а его заставляют её применять на языке, который эту концепцию не поддерживает даже на 80%.
                                                    Для промышленного применения это катит, т.к. можно применять фичи какой-то концепции даже не понимая её… такой "херак-херак и в продакшн". Но тут надо понимать какой вы хотите результат — заложить основу для становления кодеров за еду, в стиле Индии и Китая, или основу для становления профессиональных программистов.

                                                    • 0
                                                      Довольно громко поставлен вопрос, причём варианты ответа не взаимоисключающие (и профессионально можно работать за еду; причём, не только за еду).

                                                      мультипарадигмальный язык не позволяет вам по факту использовать ни одну парадигму в чистом виде.

                                                      Ну конечно же позволяет.
                                                      В своё время, изучая питон, я спокойно писал функционально и, грубо говоря, знать не знал оператор «class» и конструктор __init__. Через какое-то время дошёл до ООП и начал всё это применять.
                                                      Счас, на жабоскрипте, всё это возможно точно так же: кому не надо ООП — спокойно пишет ф-ции.

                                                      Ну, разве что, Вы сможете продемонстрировать случаи, где возможность писать в одной парадигме мешала бы пользовать другую.
                                                      • 0
                                                        В своё время, изучая питон, я спокойно писал функционально и, грубо говоря, знать не знал оператор «class» и конструктор init.

                                                        Вы, видимо, путаете "процедурно" и "функционально". Невольно подтверждая мой тезис о том, что концептуального образования дико не хватает. Даже профессиональные программисты частенько путаются в элементарных вещах.
                                                        К примеру, в питоне есть мутабельные данные, этого уже достаточно для невозможности писать в чисто функциональном стиле и использовать стандартную библиотеку одновременно.
                                                        Ну или вот яркий пример. Скажите, чему с точки зрения ФП равно


                                                        random.random() == random.random()

                                                        ?

                                                        • 0
                                                          random.random() == random.random()
                                                          

                                                          Заведомо — неопределённо.
                                                          Равно равности двух случайных чисел.
                                                          Два разных вызова дадут разные случайные числа — потому в общем виде более точного ответа не дать.

                                                          Вы, видимо, путаете «процедурно» и «функционально»

                                                          Возможно. Но если из результата работы процедуры взять и получить результат — то это уже прям меняет парадигму программирования? Даже если — то что? :)
                                                          Вот я думаю, что ровно ничего. Наличие у подпрограммы входных и выходных параметров — это более общий случай отсутствия первых или вторых. Как бы это ни называлось.

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

                                                          Кому? %)

                                                          Даже профессиональные программисты частенько путаются в элементарных вещах.

                                                          Получил значение выходного параметра — нужно записать в дневную отчётность: «воспользовался функциональной парадигмой»?
                                                          Вам шашечки или ехать?

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

                                                          Разогрет и буду благодарен за реальный пример.
                                                          Сам бы может и накопал чего, но «мутабельные данные» — это же просто переменные данные, ну а в память записать значение можно на очень многих языках. И ну не вижу почему это может мешать функциональному программированию.
                                                          • 0
                                                            Заведомо — неопределённо.

                                                            Нет, с точки зрения ФП это равно true, т.к. функция оба раза вызывается с одинаковыми аргументами, точнее вообще без них. Вот и как с таким косяком в stdlib объяснять ФП?


                                                            Но если из результата работы процедуры взять и получить результат — то это уже прям меняет парадигму программирования?

                                                            :facepalm:
                                                            Вы думаете, что процедурном программировании подпрограмма не может вернуть результат? Прочитайте хоть статью на вики, а то ведь реально путаете.


                                                            И ну не вижу почему это может мешать функциональному программированию.

                                                            В ФП все данные неизменны. Собственно, что данные, что функции трактуются в математическом понимании. Т.е. что однажды попало в память, то так и будет там лежать, пока GC до него не доберётся. Изменить значение в памяти нельзя.
                                                            При этом переменные можно переназначать (rebinding), но данные от этого не меняются, просто становятся доступны для GC, если ни одна переменная с ними не связана.
                                                            А функция в математическом понимании обязана быть строго определена в зависимости от аргументов. Например, f(x, y) == f(x, y) вне зависимости от того, что такое f и какие значения связаны с x, y.

                              • 0

                                Вы забываете цели обучения в школе. Главная — знакомство с разнообразными предметами, по каждому из которых рассказывается классическая теория, т.е. то что общепринято и значительно уже не изменится. У школы нет задачи подготовить специалиста по конкретному предмету.


                                Захотел ребенок для себя «ежедневник» написать

                                Вы же понимаете, что учебный вариант можно написать абсолютно на чём угодно. А для реального понадобится не только бэкенд, но и 3 клиента под разные мобильные платформы, 1 — под веб и от 1 до 3 под десктопы. И это в реальности делает большая команда, а Вы хотите одного бедного школьника нагрузить задачей, которой ни один профессионал в одиночку не занимается?


                                ребенок, который реально «перерос» школьную программу и уже не получает кайфа от чисто «тренировочных» задач, кроме этих самых сортировок ничего написать не сможет.

                                К чему эта ложная дихотомия? Тренировочных задач гораздо интереснее сортировок целое море. Ну а если действительно перерос основы 5 языков, которые я перечислил, у него будет свобода выбора перейти к практическому применению одного из них уже вне школы.

                                • 0
                                  >> Ну а если действительно перерос основы 5 языков, которые я перечислил, у него будет свобода выбора перейти к практическому применению одного из них уже вне школы.
                                  >> C, Pascal, Smalltalk (есть в варианте для самых маленьких — Scratch), Haskell, Racket.
                                  Вы про эти 5 языков? Серьезно?
                                  >> Вы же понимаете, что учебный вариант можно написать абсолютно на чём угодно.
                                  Я понимаю, что:
                                  а) не на чем угодно возможно
                                  б) не на чем угодно возможно в разумные сроки
                                  в) не на чем угодно стОит
                                  Ну и, собственно, из 5-ки «C, Pascal, Smalltalk, Haskell, Racket» не стОит ни на одном.
                                  >> а Вы хотите одного бедного школьника нагрузить задачей, которой ни один профессионал в одиночку не занимается?
                                  Вы что-то в дебри подались. Наколеночный ежедневник я, собственно, писал. Тысячи полторы строчек вышло. Не знаю, зачем там 100500 серьезных специалистов.
                                  В общем и целом, не совсем понимаю вашу позицию. С одной стороны вы пытаетесь привить ребенку правила серьезной разработки, рассказать, чем фронтенд от бекэнда отличается, предъявить ему требования по качеству, допустимые для серьезной команды. С другой утверждаете, что все это он должен сделать на Pascal'е…
                                  • 0
                                    Вы про эти 5 языков? Серьезно?
                                    Вполне. Разве что насчёт C сомневаюсь, слишком низкоуровнево для непрограммистов.
                                    А в остальном я за те языки, которые учат думать. Нравится или нет, но Java и Python учат разве что искать готовые решения на SO.
                                    Pascal — структурное программирование, классические структуры данных и алгоритмы
                                    Smalltalk — обмен сообщениями, ООП, программирование через отладку, интроспекция
                                    Haskell — алгебраические типы данных, изоляция побочных эффектов, ФП
                                    Racket — гомоиконность, метапрограммирование, DSL

                                    Наколеночный ежедневник я, собственно, писал. Тысячи полторы строчек вышло.
                                    Я не про кол-во строчек, а про то, что в современном мире ежедневник без мобильных клиентов — это чисто учебный проект, делайте хоть с программным интерфейсом, хоть с консольным, хоть с GUI, никому кроме автора он не нужен будет.
                                    • 0
                                      Про чисто учебный — поддерживаю.
                                      Но следующим вопросом встаёт: зачему учить тому, на чём невозможно написать востребованного другими людьми чего-то?
                                      • 0
                                        Вспомните что было в мейнстриме 8-10 лет назад и поймёте почему учить мейнстриму — бесперспективно. Из актуального остались только концепции.
                                        • 0
                                          Про концепции речи нет. Их нужно изучать.
                                          А на чём их практически пробывать во время учёбы?
                                          На том, что реально нужно и работает, вот сейчас, или на том, что вышло из массового употребления лет 20 назад?
                                          • 0
                                            Понимаете, тут много стереотипов… Я тоже буквально полгода назад думал, что Smalltalk устарел… А посмотрел на Pharo и охренел от возможностей среды разработки… IDE для Java и Python выглядят против неё как Gimp vs Photoshop :-)
                                            Haskell с относительно недавнего времени стремительно набирает популярность. TIOBE его хэдлайнером ноября обозвали xD
                                            Racket — это современный диалект Scheme, который в свою очередь используется в классической книге по Computer Science — «Structure and Interpretation of Computer Programs». Плюс на нём идет довольно крутая движуха разнообразных DSL, что весьма интересно, особенно при обучении.
                                            • 0
                                              Глянул ему в синтаксись на педивикии…
                                              это ж наркомания %))))

                                              #lang racket
                                              (require 2htdp/image)
                                              (let sierpinski ([n 8])
                                                (if (zero? n)
                                                  (triangle 2 'solid 'red)
                                                  (let ([t (sierpinski (- n 1))])
                                                    (freeze (above t (beside t t))))))
                                              
                                              
                                              • 0

                                                Это Lisp. По факту самый простой синтаксис для освоения. Но зашоренность сознания привычным С-like синтаксисом может мешать восприятию, это да.
                                                К тому же Вы ж сами писали, что получать результат быстро — это круто.
                                                Тут в 5 строках алгоритм отрисовки треугольника Серпинского. А фракталы — это интересно и весело. Теперь прикиньте сколько кода писать на JS пришлось бы для того же результата :-D

                                                • 0
                                                  Forth синаксически гораздо проще!
                                                  К тому же есть, например, проект языка програмирования Factor наследующего и принципы функциональной парадигмы.

                                                  P.S. Logo ещё не обсудили :)
                                                  • 0

                                                    Forth тоже имеет смысл изучить, особенно учитывая популярность стековых виртуальных машин. Но это уже всё-таки для профессиональных программистов. В рамках школы, имхо, достаточно про ОПЗ рассказать.


                                                    Logo ещё не обсудили :)

                                                    Кстати, да, тоже вариант для детей помладше.

                                                  • 0
                                                    По факту самый простой синтаксис для освоения.

                                                    Вот это самый простой синтаксис??
                                                    ))))))
                                                    

                                                    это не смайлик, а 6 (ШЕСТЬ!!!) закрывающих скобочек.

                                                    Но зашоренность сознания привычным С-like синтаксисом

                                                    C тут непричём. Копаем глубже. Где в жизни люди впервые применяют операторы сравнения меньше, больше и т.д.? — в школе.
                                                    И как они там выглядят? функциями «zero?» или «positive?»? — нет, математическим языком оно записывается знаками. Вполне логично и компьютеру писать программу такими же знаками (привычнее) и даже короче:
                                                    positive? n
                                                    11 символов
                                                    

                                                    vs
                                                    N > 0
                                                    5 символов
                                                    

                                                    И «zero? n» vs «n == 0» — 7 и 6 символов соотв.
                                                    Больше букв, к тому же нематематического синтаксиса.

                                                    Фракталы — это, конечно, просто отлично. Но рекурсия для этого есть не только в лиспах (впрочем, в ракете интересный подход, когда можно объявить ф-цию и тем же самым её вызвать: по сути, это скрытый оператор goto). Но синтаксис… просто жуть. Столько лишних (скобочек (в [самых] разных (местах)) ('просто?) кошмар)

                                                    Теперь прикиньте сколько кода писать на JS пришлось бы для того же результата :-D

                                                    Давайте прикинем. Кофескрипт. И для чистоты эксперимента буду пользовать либу с тем же именем и теми же ф-циями:
                                                    require '2htdp/image'
                                                    sierpinski = (n) ->
                                                      if n == 0
                                                        triangle 2, solid, red
                                                      else
                                                        t = sierpinski n-1
                                                        freeze above t, beside t, t
                                                    sierpinski 8
                                                    


                                                    Ракетная прога (без учёта "#lang racket") — короче на одну строку благодаря фиче вызова ф-ции вместе с определением. Размером же её код: 168 символов. Кофескриптовый код — 156.
                                                    Читабельность — разница налицо.

                                                    К слову, ракет — тоже мультипарадигмальный: «объектно-ориентированный, процедурный,
                                                    рефлективный, функциональный, логический, мета» (с педивикии).

                                                    Ну это всё мерянья одним место.
                                                    А главное: почему, если лисповые так уж хороши, то на них так… кхм… негусто софта?
                                                    • 0
                                                      это не смайлик, а 6 (ШЕСТЬ!!!) закрывающих скобочек.

                                                      И что? Скобки редактор прекрасно расставляет, когда пишешь на лиспе, на них вообще внимание не обращаешь.


                                                      И как они там выглядят? функциями «zero?» или «positive?»? — нет, математическим языком оно записывается знаками

                                                      Наличие вспомогательных функций не запрещает Вам написать (> n 0). Что читабельнее вопрос спорный.


                                                      Читабельность — разница налицо.

                                                      Имхо, не в пользу CoffeeScript… freeze above t, beside t, t — вообще нечитаемо. Но вопрос даже не в этом… для JavaScript я не видел библиотек, похожих на стандартную поставку Racket. Там придётся собирать учебный дистрибутив из г**на и палок, ой т.е. из npm-пакетов неизвестного качества.


                                                      К слову, ракет — тоже мультипарадигмальный: «объектно-ориентированный, процедурный, рефлективный, функциональный, логический, мета»

                                                      Есть такое… Хотя правильнее сказать, что он метаориентированный, а библиотеки для других парадигм — уже как следствие. Это даёт чуть большую чистоту. См. директиву в первой строке. Её можно заменить на другую и получить язык с другим набором концепций, т.е. они не навалены все в одну кучу. Например "#lang typed/racket"

                                                      • 0
                                                        написать (> n 0). Что читабельнее вопрос спорный.

                                                        Читабельность задаётся стереотипами, которые внедряются через образование. А это школа. А в школе — математика. И там оператор — между операндами.

                                                        Имхо, не в пользу CoffeeScript…

                                                        Конечно же, это дело привычки. Но чем меньше информации нужно получить (и обработать) для понимания смысла — тем читабельность лучше.
                                                        Если не согласны — можем сравнить текст на С со скомпиленным бинарём в HEX'е ;)
                                                        Алгоритм один и тот же, но букаф — очень разное к-во.

                                                        freeze above t, beside t, t — вообще нечитаемо.

                                                        Можно добавлять скобочек поначалу, пока появится привычка:
                                                        freeze above t, beside(t, t)
                                                        или
                                                        freeze above(t, beside(t, t))
                                                        или
                                                        freeze(above(t, beside(t, t)))
                                                        

                                                        (последний вариант Вам должен понравиться ;) скобочек так, поболе)
                                                        Снова же дело привычки. Но есть потенциал роста скорости набора программы путём уменьшения объёма вводимой инфы (символов) при неизменной окончательной логике.
                                                        Собсно, это и есть смысл синтактического сахара как такового. Ну и, понятно, не все исторические языки затачивались под это.

                                                        для JavaScript я не видел библиотек, похожих на стандартную поставку Racket

                                                        Ну это вообще в стиле холивара «какой линух дистр лучше: с опенофисом по умолчанию или без». Так можно и какое-нить руби взять и померять пиписк*ми с ракетой или ещё чем.
                                                        Благо, на дворе не оффлайн 90-хх и дистр с языком друг принёс на компакте. Что надо — берётся и ставится.
                                                        И нужно сравнивать экосистемы языков. Ибо вот писать с нуля какую-нить либу — это вот уже боль.

                                                        npm-пакетов неизвестного качества.

                                                        Как я понимаю, каждую строчку исходников и качество кода ракет дистрибутива Вы лично проверяете перед использованием…
                                                        Тогда молчу :)

                                                        Её можно заменить на другую и получить язык с другим набором концепций, т.е. они не навалены все в одну кучу. Например "#lang typed/racket"

                                                        Ну, если у скрипта поменять шабанг — то тоже можно получить очень даже другой язык :)
                                                        #!/usr/bin/python
                                                        #!/bin/bash
                                                        #!/usr/bin/coffee
                                                        #!/usr/bin/node
                                                        #!/usr....
                                                        
                                                        • 0
                                                          Читабельность задаётся стереотипами, которые внедряются через образование. А это школа. А в школе — математика.

                                                          У, Вы сами себя в угол загнали… см. выше коммент про ФП.
                                                          Где императивное программирование, а где математика — это ж 2 диаметрально противоположных мира )))
                                                          Вообще, про читабельность я сравнивал (positive? n) и (> n 0)…
                                                          (n > 0) и (> n 0) на мой взгляд эквивалентны по читаемости, просто второй вариант непривычен, зато единообразен — функция всегда на первом месте.


                                                          Алгоритм один и тот же, но букаф — очень разное к-во.

                                                          Ладно, я следаю вид, что не заметил Ваш чит с подменой JS на кофе, т.к. очевидно, что в JS скобок было бы ничуть не меньше, чем в Racket.


                                                          И нужно сравнивать экосистемы языков. Ибо вот писать с нуля какую-нить либу — это вот уже боль.

                                                          У экосистемы Node.JS leftpad-синдром. При этом даже Вы преподносите число пакетов в N раз превышающее кол-во пакетов под Python как плюс. Вы даже не задумываетесь насколько это жирный минус. Задумайтесь, откуда берётся эта разница? Думаете JS решает в N раз больше задач, как бы не так...


                                                          Ну, если у скрипта поменять шабанг — то тоже можно получить очень даже другой язык :)

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

                                                          • 0
                                                            программирование, а где математика — это ж 2 диаметрально противоположных мира )))

                                                            Ну, вообще-то, это один из разделов математики :)
                                                            Информатика (см: https://ru.wikipedia.org/wiki/Математическая_предметная_классификация )

                                                            Ладно, я следаю вид, что не заметил Ваш чит с подменой JS на кофе

                                                            Да какой чит? Конечно же кофескрипт. Чистый ЖС синтаксис — довольно уныл (те же сишные операторные скобки надо лепить — печаль).
                                                            Но все плюсы всех отраслей, где живёт чистый JS — сохраняются. За сим, вполне допустимо говорить о жабоскрипте с более вменяемым синтаксисом (с сайта CS: The golden rule of CoffeeScript is: «It's just JavaScript»)
                                                            Вы преподносите число пакетов в N раз превышающее кол-во пакетов под Python как плюс.

                                                            Хорошо, может там не все пакеты тянут на серъёзные либы, а на pypi пусть все. Но сути это не меняет.

                                                            Думаете JS решает в N раз больше задач, как бы не так...

                                                            Речь об удобстве решения задач, гибкости (2 и больше синхронных либы в одном питон-процессе = боль) и куче мест применения.
                                                            А с учётом того, что JS бегает в браузерах почти монопольно, то вполне можно попробовать и поутверждать, что таки больше. И даже если на серваке это пока не так, то тенденция — вполне позволяет делать такую ставку.
                                                            • 0
                                                              Математическая_предметная_классификация

                                                              Там по ссылке какая-то жесть… история, биология, геофизика и т.д. — это тоже разделы математики?
                                                              ФП — это раздел дискретной математики, там всё понятно.
                                                              Императивное программирование же искажает базовые математические понятия — функция, значение, etc.


                                                              Да какой чит? Конечно же кофескрипт.

                                                              С чего вдруг "конечно же"? Вы недавно про ES6/7 писали… А какая вам вообще печаль, что там в ES творится, если Вы по факту другой язык используете? Да и почему "конечно же кофескрипт"? Почему не TypeScript или не PureScript или не ClojureScript или ещё пара десятков вариантов? Вы свой личный выбор выдаёте за что-то дефолтное.


                                                              Но сути это не меняет.

                                                              Суть в том, что при выборе каждого пакета, Вам придётся сталкиваться с буридановым выбором.

                                                              • 0
                                                                история, биология, геофизика и т.д. — это тоже разделы математики?

                                                                хм… педивикия явно загнула.

                                                                Императивное программирование же искажает базовые математические понятия — функция, значение, etc.

                                                                Я несколько иначе смотрю на это.
                                                                В моей вселенной математика — это язык описания общевселенской Меры (предельно обобщённой категории, широкоизвестной в пока узких кругах, гуглимо). Мера — это числа, которые определяют назначение всего для всего. Для материи мера — это матрица возможных устойчивых состояний (в частности таблица Менделеева, 5 агрегатных состояний вещества) и путей перехода между ними (типа, чтоб расплавить 1кг льда нужно N джоулей энергии и т.д.). Для информации мера — это система кодирования. Если есть информация, но нет её декодировщика — то «смотрю в книгу, вижу… буквы». Для запуска бинаря — нужен драйвер его формата, для чтения с ФС — нужен драйвер, который знает где там что, на один и тот же иероглиф если будет смотреть русский — то мало чего поймёт, а вот японец — куда больше (у него есть соотв. система кодирования в знаниях) ну и т.д.

                                                                Потому, алгоритмы (программы) как таковые — это пути перехода между какими-то состояниями, а соответственно — часть Меры, для описания которой люди понапридумали язык «математика».

                                                                С чего вдруг «конечно же»?

                                                                Потому, что там вкусный синтакс сахар.

                                                                Вы недавно про ES6/7 писали…

                                                                Если сильно нужны фичи из них — то пока CoffeeScript2 допиливают до их использования, отдельные модули можно писать на чистом JS — всё будет работать в одном процессе.

                                                                Почему не TypeScript

                                                                Это оно же, тока в профиль (+статик типы и ООП, которое уже и так есть в ES6)

                                                                не PureScript

                                                                Вижу, там сахар не такой сладкий.

                                                                не ClojureScript

                                                                «You must have Java 8 installed to proceed.»
                                                                ={ }

                                                                Вы свой личный выбор выдаёте за что-то дефолтное.

                                                                Грусть, если был так понят.
                                                                Конечно же, это всё мои предпочтения. И всё, что я пытаюсь — это вызвать здравый огонь критики в адрес этого выбора.

                                                                придётся сталкиваться с буридановым выбором.

                                                                Да ну, тоже мне проблема :)
                                                                Уже отсеиваю их за считанные минуты. Зато есть выбор.

                                                                Было куда хуже, когда программел асинхронность на питоновском твистеде и хотелось один в принципе обычный сетевой протокол поверх TCP, но его попросту не было на твистеде (обычно питон либы — синхронны, структура же либы для твистеда — кардинально иная, и переписывание == боль*боль).
                                                                • 0
                                                                  алгоритмы (программы) как таковые — это пути перехода между какими-то состояниями

                                                                  О, Вы мне напомнили ещё одно отличие между императивным и декларативным подходами. Императивный описывает процесс изменения состояния, а декларативный — процесс перехода между состояниями.


                                                                  Конечно же, это всё мои предпочтения. И всё, что я пытаюсь — это вызвать здравый огонь критики в адрес этого выбора.

                                                                  Ну как же я могу критиковать CoffeeScript, он же вдохновлён примером Ruby. А на Ruby я программировал аж 8 лет :-)
                                                                  Разве что злоупотребляете poetry mode..


                                                                  Уже отсеиваю их за считанные минуты. Зато есть выбор.

                                                                  Зашёл ради интереса на npmjs поискать клиент для redis и "193 results for ‘redis client’" и при этом даже сортировки по кол-ву звёзд нет… Уже начинаю завидовать Вашей скорости анализа сторонних библиотек.


                                                                  Было куда хуже, когда программел асинхронность на питоновском твистеде

                                                                  Да я за питон нигде не агитировал. И даже согласен, что GIL в текущих реалиях уже тоже шоустопер. Впрочем, эвент-луп JS от блокирующих операций пока не защищен и это тоже проблема.

                                                                  • 0
                                                                    Императивный описывает процесс изменения состояния, а декларативный — процесс перехода между состояниями.

                                                                    Мой вариант:
                                                                    императивный — это сами переходы между состояниями (типа жд-рельсы между станциями),
                                                                    а декларативный — это сами состояния (станции).

                                                                    как же я могу критиковать CoffeeScript, он же вдохновлён примером Ruby. А на Ruby я программировал аж 8 лет :-)

                                                                    Ну так тогда должно быть проще критиковать ;)
                                                                    Кроме того, он и питоном вдохновлён (в частности, отступы == операторные скобки)

                                                                    клиент для redis и «193 results for ‘redis client’» и при этом даже сортировки по кол-ву звёзд нет…

                                                                    :D да, поисковик там тот ещё. Причём, звёзды — это, как я понял, вторичный параметр. Сортировка выдачи поиска идёт, похоже, по к-ву скачиваний за период.

                                                                    Уже начинаю завидовать Вашей скорости анализа сторонних библиотек.

                                                                    Да, собсно, ничё хитрого.
                                                                    Выдача отсортирована по к-ву скачиваний в сутки/неделю/месяц. На каждой странице либы справа её скачивания расписаны — и лидер очевиден (из первых трёх: «redis», «ioredis» и «redis-then» популярность в таком порядке и ниспадает). Ну на крайняк можно ещё кликнуть на ссылочку на github'е репы либы — там к-во наблюдающих, звёзд и форков тоже красноречиво говорит о популярности.

                                                                    GIL в текущих реалиях уже тоже шоустопер.

                                                                    Чессгря, в своё время был неприятно удивлён этим GIL'ом в питоне…

                                                                    эвент-луп JS от блокирующих операций пока не защищен и это тоже проблема.

                                                                    Это, скорее, фича :) опция выбора концепции скрипта, чем проблема.
                                                                    Если нужно простой консольный рукопускаемый скрипт (т.е. асинхронность в таком случае — часто просто помеха лишними буквами в реализации) — то для доступа к файлам можно пользовать синхронные версии операций и получить более наглядный алгоритм (как читается — так и выполняется), такой себе, «async/await».
                                                                    • 0
                                                                      Мой вариант:
                                                                      императивный — это сами переходы между состояниями (типа жд-рельсы между станциями),
                                                                      а декларативный — это сами состояния (станции).
                                                                      Не, оба определения не подходят, т.к. императивный стиль подразумевает именно изменение состояния, будь то состояние объекта или глобальные переменные. Предыдущее состояние затирается мгновенно.
                                                                      Ну а по второму, если бы мы могли сразу указать состояния, то достаточно было бы указать финальное и не писать программу вообще. Вместо этого приходится описывать функции в математическом смысле, т.е. соответствие между множеством аргументов и множеством результатов, другими словами переходы между точками множеств (состояниями). С точки зрения математики, это называется морфизм.

                                                                      да, поисковик там тот ещё.
                                                                      Да нормальный поисковик, ну да, может половина выдачи там не является redis клиентами, но другая половина ведь реально является. Т.е., грубо говоря, есть 93 варианта, из которых Вы рассматриваете только 3. Но при этом говорите, что это мегапреимущество, что есть ещё 90 вариантов. Вам не кажется, что соотношение 1 к 30 выглядит как серьёзная проблема в экосистеме, в частности ведущая к сильному распылению усилий сообщества?

                                                                      Это, скорее, фича :) опция выбора концепции скрипта, чем проблема.
                                                                      Это была бы фича, если можно было одновременно несколько эвент-лупов запустить, какие-то для блокирующего кода, какие-то для неблокирующего.
                                                                      • 0
                                                                        Но при этом говорите, что это мегапреимущество, что есть ещё 90 вариантов.

                                                                        Мега — не мега, но берётся самая популярная либа и юзается. Если всё хорошо — значит хорошо.
                                                                        Но если насчупываются грабли? — то прежде чем упираться в её дебаг — можно посмотреть на другие либы. Вполне возможно будут беспроблемные. Именно вот это вот — реальный плюс.

                                                                        в частности ведущая к сильному распылению усилий сообщества?

                                                                        Ну, демократия — это когда каждый сам имеет своё мнение. Не нравится кому-то всё существующее — он пишет своё. И что, кто-то может сказать, что он не имеет права? Что он непременно обязан начать сотрудничать с авторами других либ? С чего бы это?
                                                                        А если те авторы зашли в реальный тупик и не хотят из него выходить? Тут поможет только альтернатива.

                                                                        А усилия любого сообщества — в способности договариваться. Если же люди не умеют этого — то всегда будет рознь. Это психология, невзирая на ЯП.

                                                                        несколько эвент-лупов запустить, какие-то для блокирующего кода, какие-то для неблокирующего.

                                                                        эээ… но у блокирующего кода нет ивент-лупа… А если есть — то это уже асинхронный код.
                                                                        • 0
                                                                          Но если насчупываются грабли? — то прежде чем упираться в её дебаг — можно посмотреть на другие либы.

                                                                          OMFG, т.е. мы выбрали самое популярное и подходящее нам решение, но оно оказалось настолько бажным, что проще поискать что-то другое?.. Если бы я ещё не знал JavaScript, Вы меня такими аргументами убедили бы держаться от него как можно дальше :-)


                                                                          Ну, демократия — это когда каждый сам имеет своё мнение. Не нравится кому-то всё существующее — он пишет своё.

                                                                          Извините, но это не демократия, это детский сад на уровне "у кого куличик лучше вышел". Зачем тратить время на отдельный проект, когда можно за гораздо меньшее время добавить фичи/исправления в существующий? NIH-синдром или не в меру раздутое ЧСВ?


                                                                          А если те авторы зашли в реальный тупик и не хотят из него выходить?

                                                                          Да, такое бывает, но редко. Если авторы существующего решения не ответили в течении месяца на ваш pull request, то это действительно повод задуматься о создании отдельного проекта или форка. Но не убеждайте меня, что авторы всех популярных npm-пакетов забили на поддержку и месяцами на github не заглядывают. Я всё равно в эту версию не поверю :-)


                                                                          А усилия любого сообщества — в способности договариваться. Если же люди не умеют этого — то всегда будет рознь. Это психология, невзирая на ЯП.

                                                                          Все люди умеют договариваться и почти все умеют здраво мыслить. Мешает этому, как правило, юношеский максимализм или околорелигиозные предубеждения. От ЯП это не зависит, но способность договариваться характеризует его сообщество.


                                                                          эээ… но у блокирующего кода нет ивент-лупа…

                                                                          да, корректнее было сказать несколько потоков, часть из которых под эвент-лупы, а часть — под блокирующий код.

                                                                          • 0
                                                                            т.е. мы выбрали самое популярное и подходящее нам решение, но оно оказалось настолько бажным, что проще поискать что-то другое?

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

                                                                            А с Вашей логикой — выходит — нужно держаться подальше от языков, у которых есть хоть где-то альтернативные реализации чего-либо %)))
                                                                            Т.е. если я напишу что-нить дублирующее на том же ракете и опубликую — Вам придётся держаться и от него подальше :D

                                                                            Зачем тратить время на отдельный проект, когда можно за гораздо меньшее время добавить

                                                                            С тем же успехом можно распросить зачем кто-то пишет линух, если есть *BSD? Зачем убунта, если есть дебиан и редхаты и прочее.
                                                                            Это уже не ко мне вопросы. Это психология реальных людей, которые есть.

                                                                            Все люди умеют договариваться

                                                                            :)
                                                                            Если б это было так — то ситуация, когда все квартиры в подъезде годами платят кучи денег за еле-тёплые трубы вместо того, чтоб послать лесом центральную теплосеть из неэффективных дармоедов, скинуться, поставить котёл на подъезд и получить экономию с теплом в достатке — была бы невозможна.
                                                                            Но угадайте: что происходит в реальности…

                                                                            Или та же свеженькая тема поборов на «капитальный ремонт»: большинство будет платить в фонды капремонта десятилетиями, не видя никакого реального ремонта их дома. А пойти предусмотренным законом путём самостоятельно скинуться домом, отремонтировать самим (или нанять бригаду) и не платить непонятно куда — это сделают доли процентов.

                                                                            и почти все умеют здраво мыслить

                                                                            Вы сегодня щедры на похвалы населению :)
                                                                            Но почему-то якобы здравомыслящие живут так, будто для наших детей и внуков есть запасная планета, а эту можно гадить и обжирать пока на ней не останется места виду хомо-сапиенс.
                                                                            Экологичекий, политичекий, экономический кризисы — это всё из-за здравомыслия?
                                                                            • 0
                                                                              Нет проблем в самой популярной либе — хорошо. А что делать, если есть?

                                                                              Очевидно же, исправить и послать pull request. Почему надо сразу писать свою альтернативу?


                                                                              А с Вашей логикой — выходит — нужно держаться подальше от языков, у которых есть хоть где-то альтернативные реализации чего-либо %)))

                                                                              Нет, Вы передёргиваете… альтернативы — это хорошо, но ещё лучше когда альтернатив немного. Ну сколько есть способов написать клиент для redis (обычный, с поддержкой full-duplex, с поддержкой cluster, ну и парочку с учётом особенностей ЯП). В идеале хотелось бы иметь все варианты в одном пакете, но даже если будет 5 альтернатив — это ok.
                                                                              Но что толку от большого кол-ва альтернатив, если 95% из них похожи как под копирку в техническом плане или никому не нужны?


                                                                              Зачем убунта, если есть дебиан и редхаты и прочее.

                                                                              Между прочим, это один из основных факторов, который сдерживает популяризацию Linux уже десятки лет. Если бы было меньше 10 дистрибутивов + узкоспециализированные, дело бы шло гораздо быстрее. Сравните с тем же Linux под мобилки… Есть Android и он вполне популярен. Да, там тоже лезут Firefox OS, Ubuntu Touch, MeeGo, etc. Но это уже чисто бизнес, все хотят кусок рынка.


                                                                              Вы сегодня щедры на похвалы населению :)

                                                                              Ну, я не утверждал, что все люди ежечасно пользуются своими способностями договариваться и здраво мыслить. Но если отрицать их наличие в принципе, то это ж дурдом получится )))

                                                                              • 0
                                                                                исправить и послать pull request. Почему надо сразу писать свою альтернативу?

                                                                                А если pull-request размером больше, чем изначальная либа? %)))))
                                                                                Кроме того, что делать, пока ждёшь приёмки пулл-запроса в мейн-стрим и нового релиза?
                                                                                руками за собой по своим проектам таскать свои патчи? — зачем, если есть NPM? — опубликовал себе тихоньку то, что тебе надо и пользуешь.
                                                                                Ан нет, набежали спорящие, нашли поиском то, что нечто «для себя» и давай дальше спорить %)

                                                                                Но что толку от большого кол-ва альтернатив, если 95% из них похожи как под копирку в техническом плане или никому не нужны?

                                                                                А вот, выше, у меня заранее и получился неплохой вариант ответа на этот вопрос.

                                                                                Примерно то же происходит и на гитхабе. Куча практически копий. Спроста ли? — но для того, чтоб послать свой пулл-реквест на 2 строки, всё равно нужно сделать копию начальной репы, и предлагать изменения уже там. Ну а со стороны кажется, что маньяки, просто дублируют без толку.

                                                                                это один из основных факторов, который сдерживает популяризацию Linux уже десятки лет

                                                                                ему всего-то 25 %)

                                                                                дело бы шло гораздо быстрее

                                                                                А кому это было нужно, это быстрее? Кто субъект управления этим процессом? — никто?
                                                                                Ну так какие тогда вопросы :)

                                                                                Люди хотят свой дистр, чтоб всё там было, как хочется — вот берут и делают. А то, как это там отразится на общем продвижении линуха в общество — вопрос уже, как минимум, не первый. Результат — налицо.

                                                                                Коммерческие всякие винды с огрызками — их понятно кто продвигает и зачем. И форк сделать крайне сложно. Ессьно, этого всего будет не много веток.

                                                                                Есть Android и он вполне популярен

                                                                                Ну, помилуйте, он не просто «есть». Он чуть ли не монополист на просторах вариантов железа (огрызки же никаких вариантов никому не предлагают) и очень настойчиво продвигается. И кто его продвигает — тоже субъекта видно.

                                                                                Но если отрицать их наличие в принципе, то это ж дурдом получится )))

                                                                                Ну так оглянитесь вокруг :) Так оно и есть: дурдом.
                                                                                Добро пожаловать на Землю…
                                                                                • 0
                                                                                  руками за собой по своим проектам таскать свои патчи? — зачем, если есть NPM? — опубликовал себе тихоньку то, что тебе надо и пользуешь.

                                                                                  А что npm разве не позволяет подключить репозиторий без создания пакета?


                                                                                  Примерно то же происходит и на гитхабе. Куча практически копий.

                                                                                  Гитхаб не считает форки за отдельные проекты. Так что там всё ok. В принципе, мне без разницы хотят публиковать каждый чих в npm — пусть публикуют. Я просто Вам намекаю, что засорение репозитория пакетов — это минус, а не плюс.


                                                                                  Я, кстати, посмотрел про "закон времени". Собственно, там основная мысль про нарастание информационного шума. Будь то СМИ, соц.сети или npm. Объём знаний не увеличивается так быстро, как они хотят показать. Увеличивается объём мусора. Научить выкапывать из под этого мусора неизменные концепции — это и есть задача современного образования. Если мы поддерживаем у самих себя и у детей иллюзию постоянной гонки — ничего хорошего из этого не выйдет.


                                                                                  Условно говоря, я Вам говорю:
                                                                                  Посмотри, какие классные концепции люди сформулировали в 50-x — 80-x годах прошлого века. Вот языки, в которых можно их пощупать на практике. Если их изучить, то ты качественно вырастешь как профессионал.


                                                                                  А Вы отвечаете:
                                                                                  Отстань, у меня тут ES7 вышел…
                                                                                  Мне надо срочно заменить Math.pow(x, y) на x**y.


                                                                                  Утрировано, конечно. Но смысл именно такой.
                                                                                  В итоге для Вас мейнстрим выглядит как бесконечное развитие, а для меня как вялотекущая имплементация концепций 30-50-летней давности.
                                                                                  Которые, блин, неизменны, как ассоциативность сложения.
                                                                                  Иногда смотришь на мейнстрим-языки и думаешь "ребята, а вы ну хоть что-то новое придумали за предыдущие 20 лет?".


                                                                                  Кто субъект управления этим процессом? — никто?

                                                                                  Коммерческие дистры Linux тоже есть, но это уже сильное отвлечение от темы.

                                                                                  • 0
                                                                                    А что npm разве не позволяет подключить репозиторий без создания пакета?

                                                                                    А действительно… умеет. И забыл как-то. Вполне возможно, что не я один такой :)

                                                                                    засорение репозитория пакетов — это минус, а не плюс

                                                                                    Засорение — да. А отсутствие фильтарции (цензуры) — не всегда. Тут уж зависит от типа психики посетителя репозитория: если человек предпочитает сам определять для себя параметры и потребность — то ему лучше, чтоб был выбор шире и как можно менее искуственно ограничен, если же человек предпочитает опираться на заготовленное за него мнение/решение/софт — то он будет рад, если выбирать особо не придётся.

                                                                                    Объём знаний не увеличивается так быстро, как они хотят показать.

                                                                                    Т.е. тысячу лет назад, когда дед, отец, сын, внук и правнук пахали землю одними и теми же технологиями на фоне сегодняшних только и успевай следить за новинками в области с/х — это не рост объёма знаний? Всё мусор? А главное — скорости обновления этих знаний.
                                                                                    Почему так случилось, что полученный всего-лишь в 70-80-х годах диплом ныне без обновлённых знаний не значит актуальности? (или у кого-то в офисе стоит комп на перфокартах?) Т.е. всё, что появилось с 80-ых — это всё мусор???

                                                                                    В 70-х не было понятия об интернетах всяких, о компах мало кто слышал. прошло каких-то 40 лет (всего-то 2 поколения вступили в жизнь) — и технологическая сфера обновилось до неузнаваемости. Никогда до этого прежде никакие 40 лет не приносили таких громадных перемен. И всё мусор?
                                                                                    Вообще-то, мы тут с Вами счас обсуждаем какую часть из этого «мусора», выдуманного за последние 40 лет, стоит преподавать новым поколениям.

                                                                                    На западе тоже есть некое понимание об этом (ролик «Знаете ли вы?» https://www.youtube.com/watch?v=xOsL9GIROLg)

                                                                                    Объём мусора без кавычек, конечно же, тоже растёт (объём инета удваивается счас каждые 2 года, или где-то так). Конечно же, далеко не всё там полезные знания :) неск процентов только. Но когда в истории людей были такие скоростя роста объёмов информации?

                                                                                    Научить выкапывать из под этого мусора неизменные концепции — это и есть задача современного образования.

                                                                                    Это да. И самой неизмнной концепцией является достаточно общая (в смысле универсальности применения) теория управления.
                                                                                    Все компы и парадигмы программирования — они уже весьма переменны.

                                                                                    Если мы поддерживаем у самих себя и у детей иллюзию постоянной гонки — ничего хорошего из этого не выйдет.

                                                                                    Иллюзия? Т.е. экспоненциального роста объёмов инфы нет?
                                                                                    И какой гонки?
                                                                                    Рост скорости обновления информации — явление объективное. Т.е. хочешь — не хочешь, а оно имеет место.
                                                                                    И вопрос стоит лишь: как себя вести и что делать, чтоб не оказаться на обочине истории, не сумев совладать с этим явлением?
                                                                                    Думаете, не стоит детям рассказывать об этой доминанте сегодняшнего дня? Плюс о том, как со всем этим совладать.

                                                                                    Если их изучить, то ты качественно вырастешь как профессионал.

                                                                                    Вижу, Вы имеете дело с образованием, и далеко не только со стороны студента.
                                                                                    Ну так должны знать, что мотивация «вам это в будущем понадобится» — крайне неэффективна, даже если давать реально полезные вещи (кстати, почему так?)

                                                                                    А Вы отвечаете: Отстань, у меня тут ES7 вышел…

                                                                                    Ну понятно, сам написал, сам закритиковал :) (я то такого не говорил)
                                                                                    Да и не очень понятно как у Вас получается пытаться противопоставлять разнокачественности: парадигмы программирования с конкретными языками… Причём, мне отводится роль строго конкретно-языкового :) Будто слова ООП я не слышал, принципов не знаю и рассказать о них не могу…

                                                                                    В итоге для Вас мейнстрим выглядит как бесконечное развитие, а для меня как вялотекущая имплементация концепций 30-50-летней давности.

                                                                                    Т.е. Вы способны на одних лишь концепциях, без практической реализации в ЯП творить софт?
                                                                                    Или на тех же языках 50 летней давности возможно удовлетворить запросы рынка?
                                                                                    А если нет — то почему Вы критикуете улучшения? Или принцип async/await был расписан 50 лет назад?
                                                                                    Или какой-то асинхронный язык существует с тех пор, идеальный и неизменный? (как классика АвтоВАЗа :)
                                                                                    Почему тогда Вы противопоставляете концепции их реализации? Или не нужно изучать реализации? Пусть дети сами себе языки пишут с нуля?
                                                                                    Вполне логично, что индустрия всё больше и больше понимает какие нужны концепции и как их лучше всего записать, каким синтаксисом. И языки меняются в эту сторону. Что здесь плохого? — мне непонятно…

                                                                                    «ребята, а вы ну хоть что-то новое придумали за предыдущие 20 лет?»

                                                                                    Подразумевается, что Вы бы хотели от них новых именно концепций. Технологии на их основе — не в счёт?
                                                                                    Но с Вами никто спорить не собирается, что в 2+2=4 выдумать чего-то нового — сложно.
                                                                                    О чём Вы тогда вообще?
                                                                                    Мне думается, Ваши претензии как раз в том, что кто-то посмел внедрить какую-то концепцию в какой-то «не тот» язык и имел смелость сказать об этом (нахал, буквально!). «Ведь это наша концепция», «мы её приватизировали!», «не сметь её использовать!», «придумывайте свою алгебру! а мы посмотрим как у вас это выйдет».
                                                                                    Не думаю, что это конструктивная позиция.

                                                                                    Люди ищут и будут искать всё более и более удобные формы использования лучших принципов-концепций. И с этим ничего не поделать.
                                                                                    Стараться держаться за однажды освоенные синтаксисы и критикуя всё новое только потому, что оно новое (а равно восхвалять старое потому, что оно было раньше) — значит терять адекватность реалиям…
                                                                                    • 0
                                                                                      Извините, не удержался :)

                                                                                      «ребята, а вы ну хоть что-то новое придумали за предыдущие 20 лет?»

                                                                                      «Интел выпустил новую линейу процов?? — Пффф!!! Дети! Машина Тьюринга была выпущена полвека назад!»
                                                                                      • 0
                                                                                        Т.е. тысячу лет назад...

                                                                                        Любите Вы передёргивать… Я имею в виду, что после научного прорыва XX века сейчас идёт своеобразный этап стагнации… Человечество сейчас занимается техническим совершенствованием того что есть… помощнее, покомпактнее и т.д., это уже не качественный рост, а плавное усовершенствование существующих технологий.


                                                                                        Но когда в истории людей были такие скоростя роста объёмов информации?

                                                                                        И что? Скорость роста объёмов информации не равна скорости роста знаний и даже не пропорциональна. Вы же понимаете, что более 95% объёма современной информации — это фотки и видосики, из которых 99% даже не учебные, не говоря уж о том, чтобы они несли какие-то новые знания. А оставшиеся 5% почти полностью заняты сектором BigData, который собирает информацию о действиях пользователей на сайтах и т.п.
                                                                                        Стоит ли рассказывать детям, что сейчас модно фоткать еду, снимать котиков, собирать статистику и для этого надо дофига HDD? Да можно, только причём тут обучение познанию?


                                                                                        Вижу, Вы имеете дело с образованием, и далеко не только со стороны студента.

                                                                                        Ну, я скорее имею дело с менторством, как раз как 1000 лет назад xD


                                                                                        мотивация «вам это в будущем понадобится» — крайне неэффективна

                                                                                        Мотивация — это довольно индивидуальная штука, нельзя сказать что «вам это в будущем понадобится» неэффективна, но она не всем подходит, это да. При индивидуальном подходе можно вплетать полезные знания в процесс делания чего-то интересного для конкретного обучаемого. Но опять же у каждого свои интересы, поэтому как универсально это сделать — хз.


                                                                                        Будто слова ООП я не слышал, принципов не знаю и рассказать о них не могу…

                                                                                        Я ж написал, что это утрировано. Тем не менее, про ФП Вы если и слышали, то реально не сможете рассказать, потому что только позавчера путали его с ПП. Про ООП вопрос вообще спорный… Есть целые баталии на тему существует ли оно в мейнстриме вообще или мы наблюдаем лишь слегка модифицированный структурный подход.


                                                                                        Т.е. Вы способны на одних лишь концепциях, без практической реализации в ЯП творить софт?

                                                                                        ЯП в данном вопросе — это просто синтаксис для выражения концепций, синтаксис учится на 3-7 дней, это не проблема. Концепции же надо учить лет 7. И я сам ещё в них не гуру, т.к. года 3 назад ещё считал аналогично Вам, что всё развивается бешенными темпами. И я рад, что пришло осознание того, что это совсем не так. Конечно было бы круто если бы это ещё в школе объясняли, можно было бы сэкономить прилично времени, не изучая ненужное.


                                                                                        Или принцип async/await был расписан 50 лет назад?

                                                                                        Если точно, то в 1976 году. А что?


                                                                                        Мне думается, Ваши претензии как раз в том, что кто-то посмел внедрить какую-то концепцию в какой-то «не тот» язык и имел смелость сказать об этом

                                                                                        У меня вообще претензий к языкам нет. Меня даже вполне устраивает, что новых концепций не появляется… Не придётся постоянно изучать что-то концептуально новое, достаточно один раз изучить существующие наработки. Объём немаленький, но вполне посильный и существенно меньше, чем в других науках. А потом можно и самому о чём-то концептуально новом подумать xD


                                                                                        Люди ищут и будут искать всё более и более удобные формы использования лучших принципов-концепций.

                                                                                        Те, кто реально ищет, не ленится знакомиться с разными вариантами. А большинство просто ждёт пока в их дефолтном ЯП реализуют интересную концепцию хоть в каком-то виде. Даже если косячно реализуют, восторгам не будет предела, см. для примера анонсы pattern matching в C#. Мне в принципе параллельно, пусть радуются. Просто я вижу пути развития получше, чем текущий. Но для этого не надо циклиться на одном ЯП или на одной парадигме, не надо надевать шор.


                                                                                        «Интел выпустил новую линейу процов?? — Пффф!!! Дети! Машина Тьюринга была выпущена полвека назад!»

                                                                                        Предыдущие десятилетия шёл процесс технологического усовершенствования в плане кол-ва транзисторов на единицу площади. Сейчас они упёрлись в физическое ограничение и как бы всё на этом. Т.е. уловите разницу, развитие текущих процессоров — количественное (быстрее/компактнее/etc.). Качественным развитием будут квантовые компьютеры или что-то подобное. Да и это уже про физику, а не про Computer Science.

                                                                                        • 0
                                                                                          после научного прорыва XX века сейчас идёт своеобразный этап стагнации

                                                                                          Всё верно. Развития сейчас нет. Капитализм его не предполагает.

                                                                                          И что?

                                                                                          То, что это новое состояние общества, в котором оно никогда ещё не пребывало. А потому стоит громадный вопрос: как лучше всего себя вести в таком состоянии? «Всего»-то.

                                                                                          Скорость роста объёмов информации не равна скорости роста знаний и даже не пропорциональна.

                                                                                          Одна лишь необходимость управлять этим валом информации порождает отрасль, растущую объёмами технологий, как на дрожжах.

                                                                                          Стоит ли рассказывать детям, что сейчас модно

                                                                                          Похоже, Вы не поняли сути. Мода — явление субъективное (кто-то придумал, другие ведутся). А рост объёмов информации — объективен, от него никуда не деться. И придётся детей учить как теперь жить в таком мире. В том числе уметь выявить в этом потоке где полезное, а где мусор (никакие 5-95% этого не опишут).

                                                                                          Но опять же у каждого свои интересы, поэтому как универсально это сделать — хз.

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

                                                                                          про ФП Вы если и слышали, то реально не сможете рассказать, потому что только позавчера путали его с ПП

                                                                                          Практика — критерий истины. Если я мог столько лет обходиться без этих терминов, то это ведь что-то да значит? Я делал и так, и сяк, но да, не знал, что оно как-то ещё и называется. И что? От этого программы стали хуже?
                                                                                          Езжу на машине и тут узнаю, что — внезапно — работа ногами по нажиманию на педали называется педалированием. Ну ничёсе… И как я жал на педали до этого? Ну а пересказать «нажать на левую — это сцепление, а на правую — это газ», якобы вообще невозможно, не зная, что где-то в академических кругах это называется педалированием…
                                                                                          Я вижу цель учёбы — в практике, а не в учёбе.

                                                                                          Концепции же надо учить лет 7

                                                                                          ={ }

                                                                                          А потом — клац, и квантовые компьютеры закрывают их часть и открывают другие — и снова учиться.

                                                                                          Если точно, то в 1976 году. А что?

                                                                                          Вертолёт тоже был описан задолго до того, как техника доросла до практической реализации. Но почему-то никто не тычет пальцем на разработчиков вертолётов, обвиняя их в отсутствии новых «концепций».

                                                                                          У меня вообще претензий к языкам нет.

                                                                                          И к одним даже больше нет, чем к другим ;)

                                                                                          Просто я вижу пути развития получше, чем текущий. Но для этого не надо циклиться на одном ЯП или на одной парадигме, не надо надевать шор.

                                                                                          И что ж это за путь?
                                                                                          • 0
                                                                                            А потому стоит громадный вопрос: как лучше всего себя вести в таком состоянии?

                                                                                            Лучше всего игнорировать информационный шум. Это само по себе непросто в крупном городе, но я не понимаю вашего драматизма. Общество всегда пребывает в состоянии, в котором оно никогда до этого не пребывало. Но при этом всегда можно и что-то общее с прошлым найти (спираль истории).


                                                                                            В том числе уметь выявить в этом потоке где полезное, а где мусор

                                                                                            Я об этом с самого начала топика пишу. Что надо обучать полезному (концептуальному и неизменному), чтобы фильтры с детства настраивались… А Вы изначально за мейнстрим/моду/мусор агитировали.


                                                                                            Практика — критерий истины.

                                                                                            С чего вдруг? Исходя из практики можно сделать вывод, что Солнце крутится вокруг Земли и вполне спокойно с этим жить и много лет обходиться без гелиоцентрической системы.
                                                                                            Так же и PHP-программист, клепающий сайты визитки, вполне может, опираясь на свою личную практику, делать вывод, что другие языки в вебе вообще не нужны. Точно так же и Ваша практика ограничивает ваши представления об истине.


                                                                                            И что? От этого программы стали хуже?

                                                                                            Даже не сомневайтесь. Дело не в том, чтобы знать названия, а в том, чтобы понимать концепции, стоящие за этими названиями. Будет ошибкой полагать, что Вы неосознанно использовали концепции ФП, и единственная проблема — незнание названий… Проблема в том, что в силу своего незнания Вы не можете оценить практическую пользу знаний, которыми пока не обладаете. Людям вообще свойственно отстаивать именно свой круг знаний, т.к. нам обычно неприятно признаваться в незнании. Но тут ещё больший парадокс, чем больше знаешь, тем больше осознаёшь масштабы неизвестного. И тут я говорю именно о знаниях, а не об информации.


                                                                                            А потом — клац, и квантовые компьютеры закрывают их часть и открывают другие — и снова учиться.

                                                                                            Такие повороты не исключены. Но тем интереснее, хоть какая-то движуха по существу, а не по синтаксису.


                                                                                            Вертолёт тоже был описан задолго до того, как техника доросла до практической реализации.

                                                                                            OMFG, Вы всерьёз считаете, что event loop и promises впервые появились в JavaScript?


                                                                                            И что ж это за путь?

                                                                                            Осознать, что мейнстрим крайне медлительно заимствует концепции, которые давным давно сформулированы и реализованы в чуть менее популярных языках. Изучить эти концепции и спокойно наслаждаться конкурентным преимуществом в ближайшие 50 лет :-)

                                                                                            • 0
                                                                                              Лучше всего игнорировать информационный шум.

                                                                                              Хорошо. Но как понять: где шум, а где полезная информация?
                                                                                              Ведь просто закрываясь от всего нового — так ведёт себя старое (даже не старшее) поколение, для которых мобильный телефон — это «да ну, унучек! ты чаво это?»

                                                                                              Общество всегда пребывает в состоянии, в котором оно никогда до этого не пребывало.

                                                                                              Да, но не всякая смена состояния столь кардинальна. Потоянно учиться всю жизнь, чтоб быть просто актуальным специалистом — такой необходимости не было ещё до средины 20-го века.

                                                                                              Но при этом всегда можно и что-то общее с прошлым найти (спираль истории).

                                                                                              Конечно. Нет речи о том, чтобы поменялось вот прямо всё совсем. «Всего лишь» частота обновления социально значимых технологий теперь стала выше частоты обновления поколений.
                                                                                              А так, как говорил Ключевский «Закономерность исторических явлений — обратно пропорциональная их духовности». Т.е. пока люди не растут нравственно — круги ада всё повторяются и повторяются…

                                                                                              Что надо обучать полезному (концептуальному и неизменному). А Вы изначально за мейнстрим/моду/мусор агитировали.

                                                                                              Ну это Вы так поняли, раз считаете всё новое мусором (может, тогда и мобильник свой выбросите? их ведь масово не было во времена формулировки всего «великого и нерушимого»)

                                                                                              Я пишу, что жизненноважные технологии обновляются теперь по нескольку раз за период активной жизни. И как прикажете научить тому, что будет изобретено только через несколько лет?
                                                                                              Вот где главный вопрос, а не в информатике, компах или ЯП.

                                                                                              " Практика — критерий истины.
                                                                                              С чего вдруг?

                                                                                              :)
                                                                                              Нет, ну конечно же можно изучать какие из драконов не существуют более интересным образом: мнимые или отрицательные. Только вот во рту от этого слаще может стать только у учёных (и то, если им поверят и будут кормить во время таких изучений).
                                                                                              Людям нужно работать, изменять каким-либо образом Объективную реальность под свои цели. А законы, по которым она меняется — это и есть практика. Это — универсальный критерий истины.

                                                                                              Исходя из практики можно сделать вывод, что Солнце крутится вокруг Земли

                                                                                              А что, разве не крутится? — зависит от выбора точки отсчёта. И для каких-то задач лучше так, а для каких-то лучше центр Млечного пути, а не Солнце, выбирать точкой отсчёта.
                                                                                              Учителя то как детей учат? — Фразы «солнце взошло» и «солнце село» — вполне нормально воспринимаются. Хотя с точки зрения самого Солнца никуда оно не садится и не встаёт.

                                                                                              Точно так же и Ваша практика ограничивает ваши представления об истине.

                                                                                              Но Ваша то, видимо, сама объективность? ;)

                                                                                              Люди — все субъективны, и в состоянии познать лишь какую-то конечную часть безконечной Вселенной. Так что, все люди всегда ограничены.
                                                                                              Не ограничен — только Надмирная Реальность (Создатель).

                                                                                              И тут я говорю именно о знаниях, а не об информации.

                                                                                              А в чём разница?

                                                                                              Вы всерьёз считаете, что event loop и promises впервые появились в JavaScript?

                                                                                              Это — Ваши слова, не мои.
                                                                                              (что это Вам жабоскрипт покоя не даёт?)

                                                                                              Изучить эти концепции и спокойно наслаждаться конкурентным преимуществом в ближайшие 50 лет :-)

                                                                                              Ну, тут уж я вправе задать Вам похожий вопрос: Вы думаете, что первым придумали, что если изучить что-то самое лучшее — это это будет лучше всего?
                                                                                              А если ж нет — то что, все эти тонны курсов по программированию в мире (включая учебные заведения) либо не хотят денег, либо прям вот никто не знает всех тех условно незыблемых основ, либо почему-то целенаправленно не хотят воспитывать таких абсолютно-актуальных кадров? Или они все сговорились?
                                                                                              • 0
                                                                                                Хорошо. Но как понять: где шум, а где полезная информация?

                                                                                                Критическое мышление + знание существующих концепций и фундаментальных законов.
                                                                                                Более детально ответ зависит от конкретики: на какую тему информация, какого она характера и т.д.


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

                                                                                                В том то и фишка, что такой необходимости и сейчас нет.
                                                                                                Сейчас просто модно стало хватать по верхам, ничего толком не изучив, от этого складывается иллюзия постоянных изменений, хотя по факту они носят чисто косметический характер в абсолютном большинстве случаев.


                                                                                                «Всего лишь» частота обновления социально значимых технологий теперь стала выше частоты обновления поколений.

                                                                                                Предлагаю на примере квантовых компьютеров и помониторить насколько увеличился темп… Сейчас они находятся примерно на той стадии развития, на которой современные компьютеры были в 1950-х годах. Они большие, очень дорогие и пока не особо мощные. Потенциал ускорения — 10^300 раз.
                                                                                                Какие Ваши прогнозы, сколько лет займёт переход к всеобщей доступности? У обычных компьютеров он занял в районе 50 лет.
                                                                                                Вы утверждаете, что частота обновления технологий увеличилась… Но на сколько процентов или во сколько раз по сравнению с серединой XX века?

                                                                                                • 0
                                                                                                  Критическое мышление + знание существующих концепций и фундаментальных законов.

                                                                                                  Т.е. правильный ответ — всё же ф-ция и от собственной интеллектуальной деятельности (критическое мышление), и от ранее созданных знаний.
                                                                                                  Т.е. само знание «существующих концепций и фундаментальных законов» — не гарант актуальности как специалиста. Но это противоречит многому, что Вы говорите о новом (что оно почти всё мусор). но почему-то, в этом «мусоре» придётся копаться. Т.е. либо это всё не однозначно мусор, либо критическое мышление таки не нужно и можно попробовать разбить голову о жизнь, игнорируя всё новое.

                                                                                                  такой необходимости и сейчас нет

                                                                                                  Вашу точку зрения понял. Вам, как преподавателю, конечно же, вобщем, всё равно чему учить: всё равно что ученики-студенты, что их родители пока что знают куда меньше Вашего и Вы всё равно эксперт и заслуживаете своего вознагражения за обучение. Тут вопросов нет.
                                                                                                  Но мир не ограничен учёбой. И вот тут уже начинается интересное…

                                                                                                  Сейчас просто модно стало хватать по верхам

                                                                                                  Меня учили технологиям (радиотехника), которые были актуальны лет 20 назад. Но уже на момент обучения нужно было знать не это, чтоб зарабатывать в проектировании радиоэлектроники, а какая китайская микруха что может, сколько стоит, где и в каких объёмах её можно достать. Попытки заменить эту копеечную микруху своими «тёплыми ламповыми» схемами — мгновенно выбрасывает с рынка, т.к. затраты конкурентов, которые пользуют китайские достижения, на порядки меньше.
                                                                                                  Если не нравятся китайцы и радиотехника — то и в вычислительной технике в СССР были свои разработки, а западный 8086 — не феншуй. И как далеко придётся отложить зубы, попытавшись выйти на рынок с тем, что было изобретено на Родине в этой отрасли?

                                                                                                  Какие Ваши прогнозы, сколько лет займёт переход к всеобщей доступности?

                                                                                                  Научный прогресс — очень плохо прогнозируется (прогноз строится на существующих знаниях, но в том то и дело, что будущих технологий ещё нет в знаниях).
                                                                                                  И дело не в том когда будет это нечто_новое через 5 лет или 50. А в том, что будут делать наши выпускники, когда им начальник скажет «Ну что, Саня, клиенты уже требуют <нечто_новое>» — увольняться и искать начальника со старыми взглядами или таки изучать?

                                                                                                  У обычных компьютеров он занял в районе 50 лет. Вы утверждаете, что частота обновления технологий увеличилась… Но на сколько процентов или во сколько раз по сравнению с серединой XX века?

                                                                                                  Прямо зацитирую ролик «Знаете ли Вы»:
                                                                                                  «Сколько лет понадобилось, чтобы набрать аудиторию в 50 млн:
                                                                                                  * радио — 38 лет
                                                                                                  * телевидение — 13 лет
                                                                                                  * интернет — 4 года
                                                                                                  * ipod — 3 года
                                                                                                  * лицорука (facebook) — 2 года.

                                                                                                  К-во инет устройств:
                                                                                                  в 1984 году — 1000
                                                                                                  в 1992 — 1000000
                                                                                                  в 2008 — 1000000000
                                                                                                  ...»
                                                                                                  • 0
                                                                                                    Но это противоречит многому, что Вы говорите о новом (что оно почти всё мусор).

                                                                                                    В чём противоречие то? Очевидно, что "Почти всё" != "Всё".
                                                                                                    Конечно есть развитие, есть новые знания и концепции. К сожалению, их концентрация в общем потоке информации снижается, тут не поспоришь.


                                                                                                    Вам, как преподавателю, конечно же, вобщем, всё равно чему учить

                                                                                                    С чего Вы взяли, что я преподаватель? Я же уже выше даже явно писал, что это так. Я занимаюсь вполне себе production разработкой веб-проектов.


                                                                                                    Но уже на момент обучения нужно было знать не это, чтоб зарабатывать в проектировании радиоэлектроники, а какая китайская микруха что может, сколько стоит, где и в каких объёмах её можно достать.

                                                                                                    Надеюсь, закон Ома и правила Кирхгофа от этого не пострадали? )))


                                                                                                    Научный прогресс — очень плохо прогнозируется

                                                                                                    Ну, так не интересно… Т.е. не ждать мне квантовый компьютер за $1000 через 5 лет, исходя из закона времени? :-D


                                                                                                    Сколько лет понадобилось, чтобы набрать аудиторию в 50 млн

                                                                                                    И дальше сравнение абсолютно разных технологий в разные эпохи. Даже без поправки на общее население планеты в тот период. К примеру, на момент изобретения телевидения людей в принципе на Земле было в 3 раза меньше, чем на момент изобретения интернета. Вот уж точно рукалицо. Где же Ваше критическое мышление?


                                                                                                    К-во инет устройств

                                                                                                    И что? Если Вы намекаете на экспоненциальный рост, то его там нет. Кол-во устройств на Земле в принципе весьма конечно и скоро уже нечего будет подключать к интернету )))

                                                                                                • 0
                                                                                                  Я пишу, что жизненноважные технологии обновляются теперь по нескольку раз за период активной жизни.

                                                                                                  Ok. Я вижу, что Вы это пишете. Но я не вижу, чтобы это по факту происходило. Возможно, дело в том, что я физик по образованию, поэтому там где Вы видете бешенный технологический прогресс, я вижу просто шлифовку тех.процессов. Это круто само по себе и заметно в повседневной жизни, но это не сильно влияет на объём знаний по физике, вот даже не то, что не удвоился за предыдущие 20 лет… он даже на 10% не прирос.


                                                                                                  И как прикажете научить тому, что будет изобретено только через несколько лет?

                                                                                                  Тут есть 2 варианта: либо человек знает концепции, тогда новые изобретения будут для него долгожданным воплощением ожидаемого;
                                                                                                  либо не знает и тогда они будут для него своеобразным шоком. В-первом случае даже учить не придётся, во-втором человек скорее всего будет отвергать новые технологии насколько хватит упорства.


                                                                                                  Но Ваша то, видимо, сама объективность? ;)

                                                                                                  Нет конечно. Именно поэтому практика не является и не может являться критерием истины.


                                                                                                  Люди — все субъективны, и в состоянии познать лишь какую-то конечную часть безконечной Вселенной. Так что, все люди всегда ограничены. Не ограничен — только Надмирная Реальность (Создатель).

                                                                                                  Ох, куда Вас занесло… Во-первых, исходя из наблюдаемых явлений, Вселенная не бесконечна. А её расширение происходит подобно тому, как расширяется поверхность воздушного шарика при надувании.
                                                                                                  Во-вторых, рекомендую почитать про теорию голографической Вселенной. Пополните свой арсенал физических концепций ;-)


                                                                                                  И тут я говорю именно о знаниях, а не об информации.

                                                                                                  А в чём разница?

                                                                                                  Информация может вообще не нести знания или нести мимолётное знание (аля как там дела у Питта с Джоли). Т.е. информация может быть пустой с точки зрения профессионального, духовного и вообще какого-либо развития.


                                                                                                  Вы думаете, что первым придумали, что если изучить что-то самое лучшее — это это будет лучше всего?

                                                                                                  Нет конечно. Я вроде на новаторство в этом вопросе и не претендовал.


                                                                                                  то что, все эти тонны курсов по программированию в мире (включая учебные заведения) либо не хотят денег, либо

                                                                                                  Я где-то выше по комментам давал оценку этого объёма знаний — 7 лет. Так и представляю рекламу "приходите на наши 7-летние курсы".
                                                                                                  Что касается ВУЗов, то некоторые всё-таки стараются обучать именно концепциям, но там свои сложности… Нужно чтобы преподаватели и хорошо владели материалом и имели желание донести его до широких масс, при этом практически без финансовой компенсации. Ну и студентов надо суметь заинтересовать, они то падки на сиюминутные тренды и зачастую только спустя много лет осознают, что вот те лекции надо было внимательно слушать.

                                                                                                  • 0
                                                                                                    Но я не вижу, чтобы это по факту происходило.

                                                                                                    Ну, выражать в процентах рост актуальных знаний не буду. Но отмечу: в конце 90-хх я откуда-то притащил древний, в меру ржавый арефмометр, и он даже работал. Но использовать его в промышленном счёте, когда простой калькулятор умел на порядок больше (не говоря уже о компах), смысла не было. Хотя ещё лет 20 до того времени, арифмометр был очень даже почему же замена счётам.
                                                                                                    Так вот такого, чтоб за 50 лет произошло несколько замен социально важных технологий, не было никогда до этого.
                                                                                                    Ну а видеть это или нет — дело хозяйское.

                                                                                                    В-первом случае даже учить не придётся

                                                                                                    «Всё ваше новое состоит из всё той же старой таблицы Менделеева! Ничего учить не надо! Пойду я и дальше предлагать бухгалтерский учёт с арефмометром» — долго ль сможет ходить?

                                                                                                    во-втором человек скорее всего будет отвергать новые технологии насколько хватит упорства.

                                                                                                    Да, можно часто менять работу в поисках директоров-консерваторов. Но как долго будет нужен на рынке настройщик ламповых вычислительных машин? И как скоро он двинет ноги с голоду, когда последний консерватор таки купит себе комп на транзисторах или (ойойой!!) на микропроцессоре?

                                                                                                    практика не является и не может являться критерием истины.

                                                                                                    Ну это если считать, что всякая деятельность протекает только в своей собственной Вселенной, где законы выдуманы своими руками. Если это Ваш случай — то у меня нет вопросов.
                                                                                                    В моей же Вселенной на планете Земля живёт 8 ярдов населения и они взаимодействуют и с окружающим миром и друг с другом по так называемым законам природы (которые не люди выдумали). И если закон Гука гласит, что сила пропорциональна коэффициенту упругости и реальные эксперименты (та самая практика) происходят в русле этой закономерности — то это истина (если вести деятельность в общей всем Вселенной, а не в своей собсной, не привлекая внимания санитаров).

                                                                                                    Вселенная не бесконечна

                                                                                                    Для Бога — да. А люди, будучи частью Вселенной — не могут ни выйти за её пределы, ни достоверно узнать что находится вне неё.
                                                                                                    А потому, все сказки о раздувающемся «шарике» Вселенной — это увеселение для толпы, не более. Так же, как и большой взрыв. По нему особенно улыбают рассуждения о состоянии молодой Вселенной в тот или иной момент в долях секунды, хотя секунда тогда не могла существовать :) Вспомним через что определяли люди секунду: то часть от периода вращения Земли, то время, за которое луч света в вакууме проходит расстояние… — но всего этого в рассматриваемый момент попросту ещё не было :) Вобщем, потешно слушать про эти раздувающиеся шарики.

                                                                                                    теорию голографической Вселенной

                                                                                                    Спасибо, да. Я вкурсе, что Мера — голографична. В частности, торсионная связь основана на этом свойстве.

                                                                                                    Информация может вообще не нести знания или нести мимолётное знание (аля как там дела у Питта с Джоли). Т.е. информация может быть пустой с точки зрения профессионального,… развития.

                                                                                                    Смотрите не ляпните этого жёлто-прессовым журналистам, профессиональная работа и рост которых как раз и основана на разжёвывании Питов и Джоулей этих :)
                                                                                                    Выходит, где «просто информация», а где «знания» — чисто субъективное отличие. Кому-то одного, кому-то другое. Т.е. объективная разница не в этом?

                                                                                                    Так и представляю рекламу «приходите на наши 7-летние курсы».

                                                                                                    Т.е. либо денег нет у людей, либо терпения столько лет только слушать, либо… а действитеьлно: зачем так долго изучать вот всё-всё-всё подробненько, если для достижения своих целей хватает куда меньшего объёма инфы?

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

                                                                                                    Кстати, не удивительно ли, что преподаватели, зная важность того знания, что они несут, почему-то оказываются неспособными показать эту важность студентам?
                                                                                                    Выходит, по факту ситуация для студента выглядит как: не смог понять, что этот вот дяденька несёт что-то очень важное — ну и сам себе буратино, придётся набивать шишки… А что ж взрослые? Как же так получилось, что знали, но не предупредили? (по факту)
                                                                                                    • 0
                                                                                                      Пойду я и дальше предлагать бухгалтерский учёт с арефмометром

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


                                                                                                      И если закон Гука гласит, что сила пропорциональна коэффициенту упругости и реальные эксперименты (та самая практика) происходят в русле этой закономерности — то это истина

                                                                                                      Вы уже в демагогию перешли… Экспериментальная проверка и практика какой-то промышленной деятельности — это совершенно разные вещи.
                                                                                                      Т.е. это не та самая практика (если я программирую на X и много вакансий на Х, то X — это самая идеальная технология), о которой Вы изначально говорили.


                                                                                                      жёлто-прессовым журналистам, профессиональная работа и рост которых как раз и основана на разжёвывании Питов и Джоулей этих :)

                                                                                                      Даже они эту информацию всего лишь используют как объект для применения своих проф.навыков. А сами их навыки от кол-ва и содержания этой информации никак не зависят.


                                                                                                      зачем так долго изучать вот всё-всё-всё подробненько, если для достижения своих целей хватает куда меньшего объёма инфы?

                                                                                                      Вот! Теперь Вы гораздо больше похожи на маркетолога типичных курсов. Разумеется у них нет и не может быть цели подготовить профессионалов. У них цель — как можно больше учеников зазвать на волне интереса к программированию. А для этого придётся активно ездить по ушам. "каждый сможет научиться всего за 2 месяца/недели/дня ..."


                                                                                                      Как же так получилось, что знали, но не предупредили?

                                                                                                      Хз. Не могу тут по существу ничего сказать. Возможно, текущим ВУЗам в программе как раз не хватает "мостика" между концепциями и их практическим применением в мейнстриме.

                                                                                                      • 0
                                                                                                        человек сам без труда освоит то, появление чего он давно ожидал

                                                                                                        Не думаю, что можно считать, что большинство тех, кому приходится работать с какой-то технологией, ожидали её появления. Даже наоборот: не ждали и не хотели, но пришлось (см. луддисты), т.к. кто-то другой работал над этим, искал, нашёл и получил денег, а людям теперь всё бросать и начинать это всё осваивать просто для того, чтобы остаться на работе.
                                                                                                        Освоение — большой труд, потому как это непременно нужно делать самому, никакими деньгами тут не откупиться, только упорной работой по смене стереотипов (а это — самая сложная работа на Земле).

                                                                                                        Экспериментальная проверка и практика какой-то промышленной деятельности — это совершенно разные вещи.

                                                                                                        А что, лаборатории находятся в одной Вселенной, а промышленные цехи в другой??? с другими законами мироздания? :)))))))
                                                                                                        И после этого я демагогию развожу???

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

                                                                                                        если я программирую на X и много вакансий на Х, то X — это самая идеальная технология

                                                                                                        Такого я не говорил.
                                                                                                        Эта популярная технология идеальна для заработка денег (почувствуйте разницу).
                                                                                                        Другое дело, что абстрактные бегемоты в плазме, супер ровные и стройные, но не приносящие должной нормо-прибыли, остаются пылиться на академических полках.
                                                                                                        И тут либо заговор большого бизнеса (есть история, когда громадная нефтяная западная компания прикупила за сотню лямов технологию, в разы улучшающую качества нефте-продуктов, но за 15 лет её так и не применила), что он упорото не желает ещё больше прибылей, либо таки применение этих идеальных бегемотов на практике (да, снова она!), включая учёбу и прочее, оказывается менее выгодным.
                                                                                                        Что тут поделать? — у банков, рулящих экономикой, свои цели. (но о рулящей роли банков, в таком случае можно было бы предупредить студентов?)

                                                                                                        А вообще идеальные технологии ещё только предстоит изобрести. Потому как с тем, что есть на Земле — у нас Тихий океан стал уже пластиковым супом (причём, за каких-то полвека).

                                                                                                        Вот! Теперь Вы гораздо больше похожи на маркетолога типичных курсов.

                                                                                                        А на студента не похож? Который с радостью и рвением готов на пару лет дольше изучать и сдавать то, без чего и так можно найти работу.
                                                                                                        Или на его родителей? Которым предстоит на пару лет дольше кормить своего студента и ждать когда ж он выйдет на свои хлеба.
                                                                                                        Это жизнь такая. Да, представляете?
                                                                                                        Ну так, напоминаю, на случай если Вам из высоких кабинетов не видно этого.

                                                                                                        текущим ВУЗам в программе как раз не хватает «мостика» между концепциями и их практическим применением

                                                                                                        Ну что ж, спасибо за откровенное признание.
                                                                                                        Так и есть: учат одному (причём, высокомерно, с моноклем в глазу), а на практике будет нужно другое.
                                                                                                        • 0
                                                                                                          Не думаю, что можно считать, что большинство тех, кому приходится работать с какой-то технологией, ожидали её появления.

                                                                                                          Это уже вторая категория… Процитирую себя же:


                                                                                                          Тут есть 2 варианта: либо человек знает концепции, тогда новые изобретения будут для него долгожданным воплощением ожидаемого;
                                                                                                          либо не знает и тогда они будут для него своеобразным шоком. В-первом случае даже учить не придётся, во-втором человек скорее всего будет отвергать новые технологии насколько хватит упорства.

                                                                                                          Я поэтому и ратую за обучение концепциям… Что во времена промышленной революции, что в современном мире этого не хватает в массовом образовании.


                                                                                                          Промышленность просто использует те истины, которые были найдены в лабораторных условиях.

                                                                                                          У меня ощущение, что Вы меня не слышите… Я об этом тоже уже писал: "мейнстрим (промышленность) крайне медлительно заимствует концепции, которые давным давно сформулированы и реализованы в чуть менее популярных языках (лабораториях)". Вы же утверждали, что истина рождается из практики промышленного применения, когда по факту всё наоборот, и промышленность лишь использует готовые концепции. Поэтому такая практика и не является критерием истины, она просто адаптирует готовые результаты. Обратное утверждение как раз приводит нас к луддизму, когда мы опираясь на мейнстрим пытаемся апеллировать к истине.


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

                                                                                                          Ну, тут вопрос приоритетов, цель "побыстрее найти работу" — это одно. Цель "стать профессионалом" — уже другое. Это похоже на типичный выбор школьника: учиться ради оценок или ради получения знаний.
                                                                                                          Одно другому не мешает. Но первая мотивация приводит к недальновидным решениям, а вторая — удовлетворяет первую в полуавтоматическом режиме.


                                                                                                          Ну что ж, спасибо за откровенное признание.

                                                                                                          Пожалуйста, только это не признание, а лишь мои догадки… Т.к. я по образованию физик и вообще слабо представляю чему там на IT-специальностях учат… Но, судя по текущему состоянии IT, явно не тому, чему я тут с начала темы предлагал учить :-)

                                                                                                          • 0
                                                                                                            и вообще слабо представляю чему там на IT-специальностях учат

                                                                                                            Так учат везде.
                                                                                                            Абстрактным, но удобным жирафам в разреженном газе.
                                                                                                            Столкновение с практикой после учёбы — как холодный душ.
                                                                                                • 0
                                                                                                  что мейнстрим крайне медлительно заимствует концепции, которые давным давно сформулированы и реализованы в чуть менее популярных языках. Изучить эти концепции и спокойно наслаждаться конкурентным преимуществом в ближайшие 50 лет :-)


                                                                                                  Изучил Ваш студент эти основы и соотв. эталонные «чуть менее популярные» ЯП — и воодушевлённый Вашими словами о расслабухе на «ближайшие 50 лет» пошёл устраиваться в контору программистом… На все вопросы о его познаниях в таких-то и таких-то актуальных ЯП — он (мысленно с моноклем на носу и котелком на голове) будет вещать о том, что всё это переделки уже давно всего придуманного и писать на этом не стоит. — почему? — да потому, что на этих ЯП базовые парадигмы не так выразительны/оптимальны/нужное_подчеркнуть, а все заказчики, кто хотят проги на них — странные и… и ваще.

                                                                                                  Вопрос: что Вам пожелает на день учителя этот Ваш бывший студент, когда будет разослан в известном направлении всеми конторами города, куда он сходил в попытках устроиться с такими речЯми?
                                                                                                  (работу он, конечно же, нашёл; но после изучения того, что уже Ннадцатая контора рекомендовала ему изучить)
                                                                                                  • 0

                                                                                                    Я ещё раз отмечу, что у меня нет студентов. Но я не вижу тут проблемы, мы ведь изначально школу обсуждали… Т.е. не предполагалось, что люди поголовно будут программистами и после изучения концепций сразу пойдут трудоустраиваться. А на уровне ВУЗов и ПТУ вполне можно рассмотреть как изученные в школе концепции выражены в популярных на текущий момент языках. Со знанием концепций можно влёгкую учить по языку за семестр без напряга и достаточно глубоко для трудоустройства и даже параллельно с какими-нибудь сложными концепциями, которые на уровень школы не прошли.

                                                                                                    • 0
                                                                                                      Конечно же, не всем быть программистами (хотя я считаю, что программить должны уметь уже все в наше время), и школа таки общего профиля.
                                                                                                      Конечно, должен даваться наилучший фундамент, который есть у взрослых в каждый момент времени.
                                                                                                      И если всё будет сделано правильно — то так и будет, как Вы сказали: что нужные знания для работы будут осваиваться самостоятельно в реальном времени.

                                                                                                      Спасибо за науку общения с представителями образовательного цеха. Хотя мне тут ещё учиться и учиться…
                                              • 0
                                                >> никому кроме автора он не нужен будет.
                                                Ну, собственно, никому больше и не должен быть нужен. Ну, возможно, одноклассникам. Возможно, ученика за это симпатичная одноклассница поцелует. Почему бы и нет?
                                                Давайте отвлечемся от чисто теоретической составляющей.
                                                Представим все того же Василия, в меру одаренного ученика средней школы, среднестатистической не особо выделяющейся внешности, тайно влюбленного в одноклассницу Катю. Приходит он домой после уроков (крайним как раз оказался урок информатики) с твердым желанием творить. Ставит себе ту же IDE, что в школе (бесплатную, без смс), и, применяя полученные там же знания, пишет интерактивное-приложение открытку-признание в любви. Прикольно же?
                                                Но тут мы выясняем, что учат его на Pascal. «Окей, нам нужна Delphi!» — решает предприимчивый Василий. Идет он, значится, на сайт Embracadero, сразу жмет «Купить» (мальчик у нас честный, воровать не привык) и… охреневает. Первая попавшаяся ему на глаза цифра: 331 999,00 руб. Можете сами сходить на сайт, проверить.
                                                Не, ребят, вы серьезно? Мне почему-то кажется, что есть просто mast have условия для преподаваемой вещи, как то:
                                                1. Возможность поставить/использовать то же самое дома, без лишних заморочек, без рекламы и без смс.
                                                2. Непривязанность к единственному вендору, способному превратить светлые позывы ученика в тыкву единственным волевым экономически-обоснованным решением.
                                                3. Наличие экосистемы вокруг. Важно, чтобы материалы по языку/среде/экосистемы были доступны, по возможности бесплатны, вменяемы, полны. Да и спросить чтобы было у кого.
                                                • 0
                                                  Золотые слова!

                                                  Только вот Ваше предложение идёт вразрез с интересами конторы _название_конторы_, ибо планы на прибыль и т.д.
                                                  Потому то её лоббисты и пообсели образовательные министерства и ведомства.

                                                  Ну и, как _следствие_ — уже выращены поколения на закрытых платных программках… И это — проблема.
                                                  • 0
                                                    Скачает Lazarus, хотя любая IDE слабо поможет в рамках описанной мотивации… настоящая розочка с мороженкой и то на порядки эффективнее :-)
                                                    • 0
                                                      Да уж… так и растут поколения, занятые мыслями только о противоположном поле и размножении…
                                                      • 0
                                                        C какого возраста гормоны перестают давить на мозг?

                                                        P.S. Посмотрите познавательный фильм «Мечтатели» 2003г. от Бертоллучи. :)
                                                        https://zona.mobi/movies/mechtateli
                                                        • 0
                                                          Гормоны (точнее генетические программы) всю жизнь давят на мозг. И тут уж вопрос развития самого человека: вырастет ли он до чего-то, что было бы важнее в его алгоритмие, чем генетические программы (покушать, поспать, кайфонуть, размножиться).
                                          • 0
                                            Вы предлагаете Haskell как один из подходящих? Хорошо. Расскажите мне как на нем писать циклы. Или циклы не нужны? ;)

                                            Когда сегодняшние дети закончат школу действительно есть вероятность, что Python растеряет свою популярность, а Java умрет, как ей пророчат с 90-х годов прошлого века. Но лично я в это не верю. Слишком уж хорош Python для своей ниши, а в смерть Java может верить только фанатик. Но вот что можно сказать наверняка, что когда дети закончат школу, паскаль точно будет мертвым потому, что он уже мертв много лет.

                                            По моему Python куда более подходит как первый язык, чем Паскаль, как и многие другие в общем-то. Он работает на всем включая мобильные телефоны. А ведь учится писать программы нужно на чем-то. Он очень емкий. Откройте примеры реализации любого алгоритма с примерами на разных языках. Программа на Паскале и Питоне будет различаться раз в 10. А для того, кто только начинает количество вводимых символов все-таки важно. И кроме всего прочего в Python есть все, что только душа пожелает. От словарей и объектов до замыканий, лямбд и функционального программирования вообще.

                                            Вы правы. Не все должны быть программистами, но знать, что рутину можно легко автоматизировать написав просто несколько строчек- важно. Даже для того, что бы попросить об этом кого-то более осведомленного. Но то, что Паскаль для этого подходит лично я сильно сомневаюсь.

                                            • 0
                                              Не все должны быть программистами, но знать, что рутину можно легко автоматизировать написав просто несколько строчек- важно

                                              Правильно. Уметь программить — это не опция, а насущная потребность сегодняшнего дня. Даже если зарабатывать на жизнь чем-то другим.
                                              • 0
                                                Уметь программить — это не опция, а насущная потребность сегодняшнего дня.

                                                Ну ё-моё, зачем всех под себя подстраивать? Я тоже могу сказать, что умение объяснить почему небо голубое — это насущная потребность сегодняшнего дня. Все люди разные, для кого-то элементарная арифметика в уме уже за гранью понимания...

                                                • 0
                                                  Сказать можно всё, что угодно, конечно.

                                                  Только вот программирование — это не только про компы. Алгоритмы — это куда более широкое понятие, и работает везде и в обществе, в людях. Поэтому критически важно знать их, понимать и уметь составлять.
                                                  А уметь составлять алгоритмы — это ли не умение программировать?
                                                  • 0

                                                    Вы путаете тёплое с мягким… Все алгоритмы бытового/общественного плана построены на нечёткой логике. И это весьма сложная тема в формализованном виде, явно не под силу школьникам. Однако люди оперируют нечёткой логикой на интуитивном уровне и им для этого школа вообще не нужна.
                                                    Компьютерные же алгоритмы, за редким исключением, построены на булевой логике, которая за пределами компьютеров относительно редко встречается. Попробуйте для прикола осознанно использовать булеву логику при общении, все окружающие мигом заметят, что Вы странно себя ведёте :-)

                                                    • 0
                                                      «Если бы у рыб был мех, у них были бы блохи, а блохи...»

                                                      Рад видеть, что Вы знакомы с нечёткой логикой (хотя я ни о ней, ни о булевой не говорил). Алгоритмы то всё равно работают, нужны и Вы то этого не отрицаете.

                                                      Все алгоритмы бытового/общественного плана построены на нечёткой логике.

                                                      Но от этого они же не исчезают и не перестают работать…
                                                      А значит, знать их важно и нужно.

                                                      Уровень развития интеллекта старшеклассников уже достаточен для некоторых видов работы. А если вспомнить Великую Отечественную, то дети в партизанах показывают возможности генетики нашего вида даже в раннем возрасте. Так что, «недалёкость» большинства нынешних школьников — не их вина. Что им будет под силу, а что нет — зависит от того, чему и как их учат. Если учить алгоритмизации и логике — они будут в состоянии ими оперировать. Если ж не учить — то можно сетовать, что для них это недостижимо.

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

                                                      Если б это было так — то компьютеры бы максимум, могли песенки и кино крутить. Больше их применить было бы некуда.
                                                      Однако, всё обстоит несколько иначе.
                                                      Почему? — просто нечёткая логика очень даже хорошо реализуется через булевую. И это не заслуга компов как таковых. Во Вселенной всё квантуется, т.е. чётко разделимо на нечто одно и на нечто другое. И если кажется, что что-то не квантуется — то нужно просто увеличить масштаб и приглядеться глубже.
                                                      Булевая логика не просто «за пределами компьютеров относительно редко встречается», на ней основано всё, в том числе и нечёткая логика.

                                                      Так что, для прикола или нет, но мы все и так используем булевую логику при общении, и выглядит это вполне обычно.
                                                      • 0
                                                        > Уровень развития интеллекта старшеклассников уже достаточен для некоторых видов работы.

                                                        Причём тут это? Нечёткая логика — раздел высшей математики, который изучается уже поверх знания теории вероятностей, классической логики и теории множеств. Предлагаете всё это в школьную программу затолкать? o_O

                                                        > нечёткая логика очень даже хорошо реализуется через булевую.

                                                        Реализуйте для начала через булеву логику такие понятия как «может быть» и «да нет, наверное».

                                                        Ну и немножко из классики жанра
                                                        В одном банке работал программист, исправно ходил на работу…
                                                        Hо вдруг не пришел, день нет, второй, народ заволновался, приходят к нему домой, стучат… нет ответа, ломают дверь, находят его синим в ванной. А в руках флакон шампуня с инструкцией на обороте:
                                                        1. Hанести шампунь на голову
                                                        2. Помассировать
                                                        3. Через 5 минут повторить…

                                                        Жена посылает программиста в магазин:
                                                        — Купи батон колбасы, а если будут яйца, купи десяток!
                                                        Приходит программист в магазин.
                                                        — У вас яйца есть?
                                                        — Есть!
                                                        — Дайте мне 10 батонов колбасы!
                                                        • 0
                                                          Вы слишком категоричны насчет сложности основ нечеткой логики (Fuzzy Logic, FL). Нечеткую логику, как и системную динамику можно попробовать давать в школе. Может даже в средней школе.

                                                          Помнится, в начале/середине 90х годов в Компьютерре была статья Маслова(?) (из МГУ ВМК?), где он научно-популярно рассказывал про нечеткую логику. И, если не путаю, именно там и говорилось, что система управления на нечеткой логике может быть разработана старшеклассниками. Вероятно, вы смотрите на FL через призму Высшей Математики, тогда как знание теории дифуравнений не нужно для использования методов системной динамики. Так же и с FL.
                                                          • 0
                                                            Спору нет, упростить и в каком-то объёме рассказать можно почти всё, что угодно. Но в данном вопросе я не вижу связи с информатикой… да, нечёткая логика применяется в нейронных сетях и ещё в нескольких областях, но это уже не основы информатики. Давайте по-честному, этими темами от силы 0.1% профессиональных программистов владеет.
                                                            • 0
                                                              Давайте по-честному, этими темами от силы 0.1% профессиональных программистов владеет.
                                                              Это не аргумент, чтобы не изучать. Нечеткая логика это совсем не нейронные сети. Область пересечения этих областей незначительная.

                                                              Нечеткая логика пригодится в школьной робототехнике для описания регуляторов/котроллеров к механизмам, которые, кстати говоря, можно описать системной динамикой. Точность не высокая, да она и не нужна на этом этапе, т.к. сами механизмы дают большую ошибку. Но результат будет более продвинутый, т.к. объяснять школьникам ПИД регуляторы без ДУ непродуктивно, а вот в комплекте с системной динамикой вполне возможно. И школьные роботы-тележки будут быстрее и точнее бегать.

                                                              Кстати, был приятно удивлен, когда увидел в современной школьной информатике объяснение «отрицательной обратной связи».
                                                              • 0
                                                                Это не аргумент, чтобы не изучать.
                                                                Если речь о курсе информатики, то вполне аргумент. Хотя Вы и тут скажете, что всё взаимосвязано :-)