Я с этим не спорю, достаточно очевидный тезис.
Тут нет какого-то тренда на резкий рост. Вы же предлагаете заглянуть на 10-15 лет вперёд, а я предлагаю вернуться на 10-15 лет назад, и посмотреть, что там было.
Ну вот хоть убейте, я не представляю себе, почему биофизику не надо было уметь программировать в 2006 году, а в 2026 резко понадобится. Всё в 2006 году уже было, никто на калькуляторах не считал. Аналогично с химиками и проч. Мы уже находимся в этом будущем, где все, кому надо, уже программируют, и непонятно, с чего бы этому списку продолжать расширяться неограниченно.
Резонно. Но мы уже находимся на этом этапе достаточно давно.
Стиральные машины (недавно покупал) за последние 10 лет не изменились практически никак.
Мультиварки и проч. — аналогично (там из «программирования» выбор режима и таймер).
Умный дом — как было для любителей, так и осталось (я сам себя до сих пор не могу промотивировать внедрить что-то в этом роде).
Т.е. кому надо было научиться программировать стиральные машины и мультиварки (а раньше видеомагнитофон, это ещё сложнее было), уже научился давно. Список такого рода приборов не слишком сильно расширяется со временем.
Человек генерирует идеи всегда. Я не знаю, кто первый придумал, что мозг к среднему возрасту скукоживается — ерунда это всё. Просто толковый человек обычно успевает проявить себя достаточно рано (именно потому, что он толковый, ему не надо 30 лет трудиться на результат). Но ситуация сейчас благоприятная для всех: продолжительность жизни (в т.ч. активной) растёт, технологии доступны людям любого возраста и т.п. И, кстати, конечно же, с возрастом появляются другие преимущества: где-то можно нагенерировать идей не имея особых знаний, а где-то нужно очень многое знать, чтобы хоть немного продвинуться вперёд.
Я к чему это. Никто никому ничего не должен. Если ребёнку нравится делать что-то — пусть делает, но он (будь хоть трижды гений) не нанимался решать глобальные вопросы человечества. Пусть каждый развивается в удобном для себя ритме, и незачем его гнать насильно вперёд.
Ну и что? Гораздо более массовыми профессиями стали: биолог, психолог, инженер-химик, специалисты по рекламе, логистике, системам безопасности… Я в перечисленных вещах ничего не понимаю.
Не надо экстраполировать: вырос общий объём вычислительной техники и используемого софта, вот и стала профессия программиста более массовой. Не надо экстраполировать и смешивать массовую профессию с массовым навыком.
Честно говоря, я вот предпосылок вообще не вижу. Ну то есть я понимаю, почему в начале восьмидесятых так казалось Ершову, но вот что принципиально изменилось за последние, скажем, десять лет? Почему поколение, начавшее учиться в 2006 году, не является поголовно умеющим писать код, а вот поколение 2016 — будет?
Я бы сказал так, этот вопрос каждый решает по-своему. Курсы — это же дело добровольное, частная инициатива.
Если кто-то хочет делать вступительные экзамены — ради бога.
Если же просто говорит, что мы берём с такого-то класса — это их альтернативный способ решения примерно той же проблемы.
Когда-то я ходил на кружок программирования, который был разбит на уровни в соответствии со сложностью. На начальном уровне просто объясняли, что такое компьютер, как его включать, выключать и рисовать в Paint. На старшем уровне уже рассказывали C. Так вот, ребёнка записывали просто в ту группу, для которой он подходил по навыкам. Возраст не имел значения. И это, по-моему, правильно.
Ну, как минимум, есть необходимость найти некую исходную базу для занятий.
Скажем, если потребуется сложить две обыкновенные дроби, я точно буду знать, что все в классе это умеют (или хотя бы должны).
Альтернатива — считать, что никто ничего не умеет, но не факт, что так можно далеко продвинуться.
Интересная. Но в чём предмет обсуждения? Наша образовательная система не самая продвинутая в мире, а в продвинутых системах этот вопрос уже решён. Остаётся лишь равняться на лидеров.
профессор в принципе не может пороть чушь?
Конечно, может. Более того, он периодически обязан пороть чушь, без этого нет научного прогресса.
Кстати, заметим в скобках, что автор сам выводит на эту линию мысли. Он ведь зачем-то сообщает свой возраст. Когда я пишу статью (куда бы то ни было), обычно возраст не указываю. Так что не придирайтесь :)
Когда в свои смешные 25 споришь с 70-летним профессором, который порет неприкрытую чушь,
Ничего-ничего, наступит время, когда вы в 70 будете спорить с 25-летним молодым человеком, который порет неприкрытую чушь… :)
внезапно решили, что надо непременно что-то вам посоветовать. А с каких таких… спрашивается?
Тогда надо просто закрыть комментарии. Автор изложил какую-то мысль, в тексте нет ни конкретных вопросов, ни предлагаемых на обсуждение тем (если не считать не особо интересного опросника).
Правильно пишут, венгерская нотация создавалась в определённых обстоятельствах, которые уже не актуальны. Я сам использую её только для объектов GUI (cmbSelectCity, btnOK, cbUseFilter).
Впрочем, можно выбрать любой подход и держаться его, а уж потом периодически пересматривать взгляды.
Начнём с того, что программирование уже сейчас начинают вводить в программу рано. Скажем, в Британии с пяти лет (ок, в пять это некие базовые представления об алгоритмах, но уже лет с семи там пойдёт Scratch). В Японии то ли в прошлом году, то ли в этом году программирование добавили в программу начальной школы, и продолжаться оно будет до самого выпуска.
Далее, любимому занятию предаются в свободное время, а не в школе из-под палки :) Объективно говоря, если в школе появится 1-2 урока информатики в неделю, это мало что изменит. Вы наверняка не час и не два посвящаете этому делу. А вашему поколению можно только позавидовать: бескрайний интернет, любые знания на расстоянии вытянутой руки. Когда я начинал изучать программирование в подростковом возрасте, всё было куда печальнее.
С другой стороны, у вас слишком много всего вокруг, а научиться фокусироваться на важном, отсекая второстепенное очень сложно. Впрочем, в девять лет можно этим не особо заморачиваться: любые знания и умения хоть какую-то пользу дадут. Просто на будущее надо иметь в виду, что рано или поздно придётся разработать себе некую «образовательную траекторию». К сожалению, я знал слишком много талантливых людей, которые никуда особо не продвинулись именно потому, что застряли на уровне «поиграть с этим», «поиграть с тем».
При этом не стоит особенно сокрушаться о потерянном времени: «мне уже N лет, а нас всё ещё не учат X». Знаю, со мной многие не согласятся, но в моём (уже скорее среднем...) возрасте кажется, что два года туда-сюда уже играют никакой роли. Сейчас я могу позволить себе потратить год-другой на какой-нибудь проект, который в итоге ни к чему не приведёт, ну и ладно, не беда. Ведь никто из нас не висит на паузе: если мы даже не занимаемся любимым делом, то всё равно занимаемся в это время чем-то другим, тоже полезным.
Ну и пару идей на будущее:
1) Замахнитесь на относительно большой проект. Пусть это будет не очень сложная, но реально большая программа из большого количества модулей. Практика показывает, что даже у хороших кодеров бывают проблемы с системным мышлением. Одно дело — построить десять маленьких домиков, другое — один-единственный небоскрёб. Опять же, необязательно гнаться за какими-то продвинутыми стилями разработки. Код может быть устроен примитивно, но он должен быть чистым и логичным. Где неясно — комментарий. Переменные должны называться разумно. Напишите документацию к проекту.
2) Обычно программисты, с которыми приходится работать, более-менее писать код умеют. Ну, с этим тоже не всегда просто, но всё же это их работа. Поэтому, опять же, с годами начинаешь ценить другое. Умение внятно изложить логику. Если в письменном виде, структурированно, совсем хорошо. Английский язык должен быть на уровне. Какая-то общая культура разработки, чтобы человек не писал «на отвали», лишь бы работало, а понимал бы, что хорошо, а что плохо.
Наверно, мне сейчас скажут, что это всё задачи студенческого уровня, но не соглашусь. Да, неопытный человек не всегда может оценить качество собственной работы, но он хотя бы должен задумываться над этим, спрашивать себя, хорошо продумана его система или нет.
Вот сколько угодно ругайте вконтакте и т.п., но нынешнее поколение изначально привыкает к письменной речи. И если так складывается, что в конкретной среде не приветствуется безграмотный язык и обрывочные фразы, то хочешь-не хочешь, а научишься.
Да чёрт побери, я, наверно, за месяц на форумах строчу больше текста, чем за всю свою жизнь написал в школе.
Понимаете, ничто не ново под Луной. Я с большим интересом смотрю за развитием новых подходов, но излишний ажиотаж никому добра не приносит. Не знаю, как там с computer vision, но вот в области NLP мы примерно ту же картину (переход к data-driven approaches) наблюдали все девяностые годы. Апофеоз этой работы — google translate*, его качество каждый может оценить самостоятельно. Прогресс очевиден, но проблема в том, что у каждого подхода имеется некоторый теоретический потолок, и ажиотаж заканчивается ровно тогда, когда мы об этот потолок ударяемся. Вопрос лишь в том, сколько классов задач удачно впишутся в промежуток между потолком старых и потолком новых методов.
*google translate для некоторых языковых пар (ЕМНИП, английский-французский) использует SYSTRAN, а это вообще самая старая система машинного перевода из доживших до наших дней, целиком работает на правилах.
Важно, что оба вида данных с точки зрения вложенной информации эквивалентны.
Получается, что мне надо заранее угадать, какой вид данных придётся нейросети по вкусу.
> Не понял аргумента. Какие свойства? Почему нейросеть должна их сохранять?
Ну, предположим, нейросеть решает применить фильтр, который превращает цветное изображение в чёрно-белое, т.к. оказывается, что цвет в данном случае только мешает, а не помогает (напр., я хочу уметь отличать круги от квадратов, цвет не важен).
Получается, что у новых данных теряется свойство (цвет), меняется размерность, приобретаются новые свойства (вот тут мне трудно придумать, ну, например, если изображение строго чёрно-белое без градаций, то любой край объекта соответствует чёрному пикселю, edge detection тривиален).
Выше мы обсуждали, что свёрточная нейросеть может догадаться применить такого рода фильтр самостоятельно, а это тоже весьма нетривиальное преобразование, вполне сравнимое с превращением предложения в вектор нулей и единиц.
> С этой точки зрения количество креативности и ручного анализа между вектором индексов и one-hot кодированием одинаковое.
Да, но в первом случае получаются данные небольшой размерности.
> подаёте на вход что-то, такими качествами не обладающее, то странно на что-то рассчитывать.
Логично. Но ведь свёртки вроде фильтра Габора тоже генерируют на выходе данные, обладающие какими-то новыми свойствами (и при этом теряющие старые свойства). Так что, выходит, додуматься нейросеть до такого преобразования может.
Абсолютно верно говорите, но в том-то и суть, что данные в моём представлении описывают ввод идеально точно, но толку от этого никакого. Если же вы предлагаете мне ещё как-то эти данные преобразовывать (в вектор длиной в размер словаря), это уже означает, что я должен продемонстрировать известную креативность, выполнив ручной анализ. И в этом случае не уверен, что использование автоматического алгоритма в deep learning мне что-то дополнительное даст. Всё равно головой думать приходится.
Тут нет какого-то тренда на резкий рост. Вы же предлагаете заглянуть на 10-15 лет вперёд, а я предлагаю вернуться на 10-15 лет назад, и посмотреть, что там было.
Ну вот хоть убейте, я не представляю себе, почему биофизику не надо было уметь программировать в 2006 году, а в 2026 резко понадобится. Всё в 2006 году уже было, никто на калькуляторах не считал. Аналогично с химиками и проч. Мы уже находимся в этом будущем, где все, кому надо, уже программируют, и непонятно, с чего бы этому списку продолжать расширяться неограниченно.
Стиральные машины (недавно покупал) за последние 10 лет не изменились практически никак.
Мультиварки и проч. — аналогично (там из «программирования» выбор режима и таймер).
Умный дом — как было для любителей, так и осталось (я сам себя до сих пор не могу промотивировать внедрить что-то в этом роде).
Т.е. кому надо было научиться программировать стиральные машины и мультиварки (а раньше видеомагнитофон, это ещё сложнее было), уже научился давно. Список такого рода приборов не слишком сильно расширяется со временем.
Я к чему это. Никто никому ничего не должен. Если ребёнку нравится делать что-то — пусть делает, но он (будь хоть трижды гений) не нанимался решать глобальные вопросы человечества. Пусть каждый развивается в удобном для себя ритме, и незачем его гнать насильно вперёд.
Не надо экстраполировать: вырос общий объём вычислительной техники и используемого софта, вот и стала профессия программиста более массовой. Не надо экстраполировать и смешивать массовую профессию с массовым навыком.
Ещё скажите, что ЕГЭ не существует.
Если кто-то хочет делать вступительные экзамены — ради бога.
Если же просто говорит, что мы берём с такого-то класса — это их альтернативный способ решения примерно той же проблемы.
Когда-то я ходил на кружок программирования, который был разбит на уровни в соответствии со сложностью. На начальном уровне просто объясняли, что такое компьютер, как его включать, выключать и рисовать в Paint. На старшем уровне уже рассказывали C. Так вот, ребёнка записывали просто в ту группу, для которой он подходил по навыкам. Возраст не имел значения. И это, по-моему, правильно.
Скажем, если потребуется сложить две обыкновенные дроби, я точно буду знать, что все в классе это умеют (или хотя бы должны).
Альтернатива — считать, что никто ничего не умеет, но не факт, что так можно далеко продвинуться.
Интересная. Но в чём предмет обсуждения? Наша образовательная система не самая продвинутая в мире, а в продвинутых системах этот вопрос уже решён. Остаётся лишь равняться на лидеров.
Конечно, может. Более того, он периодически обязан пороть чушь, без этого нет научного прогресса.
Ничего-ничего, наступит время, когда вы в 70 будете спорить с 25-летним молодым человеком, который порет неприкрытую чушь… :)
Тогда надо просто закрыть комментарии. Автор изложил какую-то мысль, в тексте нет ни конкретных вопросов, ни предлагаемых на обсуждение тем (если не считать не особо интересного опросника).
Впрочем, можно выбрать любой подход и держаться его, а уж потом периодически пересматривать взгляды.
Далее, любимому занятию предаются в свободное время, а не в школе из-под палки :) Объективно говоря, если в школе появится 1-2 урока информатики в неделю, это мало что изменит. Вы наверняка не час и не два посвящаете этому делу. А вашему поколению можно только позавидовать: бескрайний интернет, любые знания на расстоянии вытянутой руки. Когда я начинал изучать программирование в подростковом возрасте, всё было куда печальнее.
С другой стороны, у вас слишком много всего вокруг, а научиться фокусироваться на важном, отсекая второстепенное очень сложно. Впрочем, в девять лет можно этим не особо заморачиваться: любые знания и умения хоть какую-то пользу дадут. Просто на будущее надо иметь в виду, что рано или поздно придётся разработать себе некую «образовательную траекторию». К сожалению, я знал слишком много талантливых людей, которые никуда особо не продвинулись именно потому, что застряли на уровне «поиграть с этим», «поиграть с тем».
При этом не стоит особенно сокрушаться о потерянном времени: «мне уже N лет, а нас всё ещё не учат X». Знаю, со мной многие не согласятся, но в моём (уже скорее среднем...) возрасте кажется, что два года туда-сюда уже играют никакой роли. Сейчас я могу позволить себе потратить год-другой на какой-нибудь проект, который в итоге ни к чему не приведёт, ну и ладно, не беда. Ведь никто из нас не висит на паузе: если мы даже не занимаемся любимым делом, то всё равно занимаемся в это время чем-то другим, тоже полезным.
Ну и пару идей на будущее:
1) Замахнитесь на относительно большой проект. Пусть это будет не очень сложная, но реально большая программа из большого количества модулей. Практика показывает, что даже у хороших кодеров бывают проблемы с системным мышлением. Одно дело — построить десять маленьких домиков, другое — один-единственный небоскрёб. Опять же, необязательно гнаться за какими-то продвинутыми стилями разработки. Код может быть устроен примитивно, но он должен быть чистым и логичным. Где неясно — комментарий. Переменные должны называться разумно. Напишите документацию к проекту.
2) Обычно программисты, с которыми приходится работать, более-менее писать код умеют. Ну, с этим тоже не всегда просто, но всё же это их работа. Поэтому, опять же, с годами начинаешь ценить другое. Умение внятно изложить логику. Если в письменном виде, структурированно, совсем хорошо. Английский язык должен быть на уровне. Какая-то общая культура разработки, чтобы человек не писал «на отвали», лишь бы работало, а понимал бы, что хорошо, а что плохо.
Наверно, мне сейчас скажут, что это всё задачи студенческого уровня, но не соглашусь. Да, неопытный человек не всегда может оценить качество собственной работы, но он хотя бы должен задумываться над этим, спрашивать себя, хорошо продумана его система или нет.
Да чёрт побери, я, наверно, за месяц на форумах строчу больше текста, чем за всю свою жизнь написал в школе.
*google translate для некоторых языковых пар (ЕМНИП, английский-французский) использует SYSTRAN, а это вообще самая старая система машинного перевода из доживших до наших дней, целиком работает на правилах.
Важно, что оба вида данных с точки зрения вложенной информации эквивалентны.
Получается, что мне надо заранее угадать, какой вид данных придётся нейросети по вкусу.
> Не понял аргумента. Какие свойства? Почему нейросеть должна их сохранять?
Ну, предположим, нейросеть решает применить фильтр, который превращает цветное изображение в чёрно-белое, т.к. оказывается, что цвет в данном случае только мешает, а не помогает (напр., я хочу уметь отличать круги от квадратов, цвет не важен).
Получается, что у новых данных теряется свойство (цвет), меняется размерность, приобретаются новые свойства (вот тут мне трудно придумать, ну, например, если изображение строго чёрно-белое без градаций, то любой край объекта соответствует чёрному пикселю, edge detection тривиален).
Выше мы обсуждали, что свёрточная нейросеть может догадаться применить такого рода фильтр самостоятельно, а это тоже весьма нетривиальное преобразование, вполне сравнимое с превращением предложения в вектор нулей и единиц.
Да, но в первом случае получаются данные небольшой размерности.
> подаёте на вход что-то, такими качествами не обладающее, то странно на что-то рассчитывать.
Логично. Но ведь свёртки вроде фильтра Габора тоже генерируют на выходе данные, обладающие какими-то новыми свойствами (и при этом теряющие старые свойства). Так что, выходит, додуматься нейросеть до такого преобразования может.