Опубликован (https://scratch.mit.edu/discuss/topic/326861/) новый значительный релиз визуальной среды программирования Scratch 3.0 (https://scratch.mit.edu/), развиваемой исследователями из Массачусетского технологического института в качестве экспериментальной платформы для обучения детей программированию. При помощи Scratch программы создаются через манипуляции типовыми логическими блоками, соединяемыми в логическую цепочку по аналогии со сборкой конструктора Лего. Код проекта написан на JavaScript с использованием фреймворка React (выпуск Scratch 2.0 разрабатывался на Flash) и поставляется (https://github.com/LLK/scratch-gui) под лицензией BSD (https://github.com/LLK/scratch-gui/blob/develop/LICENSE). Среда может запускаться в форме обособленного приложения (https://scratch.mit.edu/download) или поставляться в виде online-сервиса (https://scratch.mit.edu/projects/editor/) для открытия в браузере.
Кроме перехода на JavaScript, Node.js и React, выпуск Scratch 3.0 примечателен реализацией новых интерфейсов для редактирования звука и изображений. Добавлено большое число новых программных блоков, включая блоки для создания звуковых эффектов, операторы обработки текста, блоки для рисования и управления спрайтовой графикой. Предложена полностью переделанная библиотека расширений, предлагающая дополнительные наборы блоков, в том числе позволяющие взаимодействовать с оборудованием и внешними сервисами. В поставку включены новые типы спрайтов, звуков и фоновых изображений. Интерфейс адаптирован для использования с планшетных ПК.URL: https://scratch.mit.edu/discuss/topic/326861/
Новость: https://www.opennet.ru/opennews/art.shtml?num=49899
Мем недавно видел про этот язык https://i.imgur.com/6kN0JWC.png
Когда же появятся вакансии для Senior Scratch developer?
Когда в электрон завезут его поддержку.
С чего начать обучение программированию 13-летнего пацана?
как с чего? - с ассемблера, того и глядишь нормальным программистом вырастет, а не хипстером.
Тру стори, со мной так и было.
Со мной тоже. Но только потому, что кроме КР580 тогда мне ничего больше не было доступно.
Да с любого живого распространённого языка. Их не так много. Си/Си++/Ява/Питон. Остальное либо узкоспециальное либо с непонятными перспективами.
> Ява/ПитонУ них уже непонятные перспективы.
только у явы непонятные
Оба языка интерпретируемые, но типа "на них же сделать быстрее". Это как Электрон, который снижает время на разработку. А про Электрон сами всё знаете.
> Оба языка интерпретируемые, но типа "на них же сделать быстрее"спасибо за теоритезацию -- но проблема кроется в деталях, а не в теоретическом "одном ответе на все вопросы".
общая суть в том что деталей в Java (JVM) очень МАЛО относительно реальностей современного мира. платформа замкнулась сама в себе, то есть в своём дибльном "виртуальном" мирке, оставшись позади в "каменном веке" -- в то время как нижележащие слои (и сами подходы) ушли вперёд.
с каждым выходом новой версии ядра Linux (glibc и остальных библиотек окружения) -- JVM оказывается на шаг в прошлом. в том время как другие системы (в том числе Python) находят время успевать делать внутри себя актуальные обновления. а JVM пытается быть "абстрогированной от реальности" -- и получается только хуже.
Windows тоже не стоит на месте и перенимает часть "фишечек" от Linux. самое первое что вспоминается на ум: например символьные ссылки и возможность сделать "чесный" fork().
таким со временнем образом кросплатформенность становится проще. "глубокое аутистское абстранирование" требуется всё в более меньшем и меньшем маштабе.
но JVM как уроторая -- не видит этого. пытается в функциональщину. думает что сможет спастись через это.
Выдыхай, жаба, выдыхай !
>>но JVM как уроторая -- не видит этого. пытается в функциональщину. думает что сможет спастись через это.JVM тут каким боком? и с каких пор JVM - язык программирования? JVM своего рода высокоуровневый ассемблер.
> теоритезацию
> абстрогированной
> например символьные ссылки
> "чесный" fork().
> всё в более меньшем и меньшем маштабе.Поражён глубиной онналеза. Перечитаю завтра, ведь классику нельзя вот так вот, с наскоку, как корованы.
>>"глубокое аутистское абстранирование"спасибо поржал)
> онналеза
>> онналезаУважаемый, а вы таки грамотно отличаете свою стилистику от общепринятой! Это откровенно радует.
И питона
Батя, пожалейте отпрыска, отдайте его хотя-бы на футбол или плавание... Программирование - это спустя время красные глаза, поза эмбриона, геморрой (физический и моральный) и прочие профессилнальные "радости". Но если уж решились, то никаких полумеров типа курсы html или основы "х" (вместо "х" любой ЯП). Языки актуальные погуглите в зависимости от платформ и направлений (веб, системное программирование, "игрострой" и т.д.)
"Программирование - это ... поза эмбриона"
Не надо доводить себя до такого состояния. Всё хорошо в меру! Про спорт, конечно, не забываем!
>Языки актуальныепока ребенок вырастет - уже станут не актуальными
Кто вам сказал что программирование исключает футбол? Неважный вы педагог, если честно...
> отдайте его хотя-бы на футбол или плавание... Программирование - это спустя время красные глаза, поза эмбриона, геморройплавание это поза кита-убийцы :-)
но вместо гемороя -- заболевания связанные с отравлением хлором
Программирование это не "кодинг" привет вашим языкам "программирования"...
Уэйт, Прата.
С основ: пере/присваивание, условия, циклы.
Далее для функциональных языков - процедуры и функции; важно хорошо так остановиться на регулярках.
Для объектно-ориентированных языков - классы -> объекты. Наследование, полиморфизм и т.д.
> важно хорошо так остановиться на регулярках.а ещё важно именно "остановиться" в этом процессе :-) , дав понять что если какой-то класс задач можно сделать без регулярок -- то есть-вероятность что лучше именно без регулярок (будет качественнее в итоге).
ато иначе в итоге видим всякие программы где XML и JSON парсятся через регулярки :-D
Кружок по программированию.
С ответов на вопросы зачем и кому из вас это нужно.
>С чего начать обучение программированию 13-летнего пацана?с увидеть и понять связь между кодом и результатом его работы, "делаем автомат", дабы формировать интерес шаг за шагом.
Столяров.
http://www.stolyarov.info/books
Кхм. Я бы не стал рекомендовать эту книгу.Посмотрел, качнул http://www.stolyarov.info/books/pdf/progintro_vol1.pdf
Первое: В файле pdf содержания нет, в тексте ни "содержание"ни вообще текст ссылок нет. То есть навигация по тексту отсутствует полностью.
И чему может научить этот неаккуратный человек, фактически наплевательски относящийся к читателю?А это, "уникальное явление" "предисловие первое, филосовское", просто какой то "уютный бложик" в натуральный размер. Оно зачем там вообще? У автора взорвался жесткий диск и страницы блога попутлаись с страницами книги?
Далее по тексту автор продолжает заниматься надменным самолюбованием, при этом путается в терминах, ошибается, по незнанию или намеренно искажает историю вычислительной техники.
Я честно пытался, выдержал 100 страниц этого оливье ошибок, заблуждений, анекдотов немного сдобренного какими то сведениями по теме./me брезгливо удалил файл.
Но, я должен сказать, один плюс у этой книги есть, а именно: подробное текстовой объяснение рисунка на обложке.
https://www.lego.com/ru-ru/mindstorms/learn-to-program
В 12-13 лет уже начинали обычно кодить, линус торвальс так начинал, да и некоторые одноклассники помню тоже мучили кассеты с играми, кто-то пытался кодить. Я тоже какой-то код писал на turbo basic и pascal, но не по своей инициативе, внешкольные занятия, на них я больше ходил из-за игр, играли мы в warcraft2 и descent.
Но в общем подавляющее большинству программирование не интересно, такое интересно единицам которые может быть станут суперзвездами в будущем. ИМХО если нет блеска в глазах после первых попыток покодить, то может через игры, типа tis100 или Tomorrow Corporation : Human Resource Machine. Вообще главное в достижении цели это позитивный фидбек, игры дают как-ой то сурогат в виде ачивок, графиков (где можно себя увидеть выше среднего уровня и немного погордится достижением), а так конечно родители или случайные обстоятельства.
С JS.
Пофиг с какого именно языка программирования начинать. Тут важна сама программа обучения.
С того, что рекомендовал Вирт. Главное, не какой-то конкретный ЯП, а алгоритмика. И указатели в начале обучения алгоритмам ни к чему.
лучше сразу с математики
Исходя из особенностей "разработчиков" многих популярных сейчас "продуктов" обязательно нужно теорию вероятности а заодно и квантовую физику.
Что-бы с раннего возраста учился оценивать степень совпадения результатов работы "программы" с замыслом автора.
Я сврего младшенького с 8 лет подсадил на javascript и не жалею, сейчас он програмирует на всем и успешно заканчивает институт сразу по двум дисциплинам hardware & software.
Начинать учить надо до того как пипиcки созреют, т.е. до тинэйддерства, иначе у них потом другие проблемы и самое главное не надо забывать, что самое лучшее, что вы можете дать детям - это свое собственное время
Free Pascal
С анализа, понимания и разработки алгоритмов. Сам по себе язык вторичен и их можно выучить сколько угодно много. И ни в коем случае не путайте программиста с кодером!
Пожалей ребёнка, злодей! Пусть лучше станет врачом. Я те как прогромизд говорю, нах.. такую жизнь.
Каждый раз когда я лажал я себе всегда говорил - "как хорошо что я не врач"
Врачи жи разные бывают, есть там всякие рентгенологи, которые людей вообще руками не трогают. Ну и програмеры могут налажать так, что это будет стоить человеческих жизней: вспоминаем 11к глобальных переменных и лапшу из кода в ECI от Toyota.
Начать следует с английского языка. Программирование парню может и не понравиться, но английский нужен абсолютно всем.
С английского.
Как ни странно со скратча. И плюс - в контексте Arduino. Просто программировать сейчас неинтересно.
> Среда может запускаться в форме обособленного приложенияВыберите вашу OS: Windows || macOS
Закапывайте.
Я так понимаю, что код всего этого есть на гитхабе и под линукс интересующиеся сами соберут из исходников?
Я так понимаю, интересующиеся - это те, кто хочет научиться программировать. Понятно, что рекурсия - от бога, но не до такой же степени.
Забавная была штука, в 5 классе баловался. Делал какие-то движущиеся штуки на основе примеров и дико ржал
... подозрительно не детская палитра и характерный фон аватарки ... Как бы не оказалось, что нужно детей держать подальше от подобных голубых э-кранов ...
Там должна ещё быть команда "голубоватый огонёк"
А тоже конечно параноик, но не до такой же степени... на детей все таки расчитанно...
После выхода за границы привычного web-а (с адблоками и ограниченным набором ресурсов) иногда в небо страшно смотреть, а вдруг там радуга над городом...
Как такие плуги как ты под голубым небом ходят?
Лучше бы в результате получался код на полезных ЯП, который потом можно было разобрать и чему-то научиться. Либо вообще слева блоки-справа код.
А так, это собственный ЯП для создания анимации?
А вообще, не совсем понимаю подгорания опеннетовских анонов. Вещь неплохая, для детей самое то, интересно. А детей главное - заинтересовать. А тут столько негатива без всяких доводов.
Они просто думают раз у них детство было "суровое"(игрушки деревянные, папаня и/или маманя алкаши) то и у других детей жесть должна быть. Тебе 5 лет? Учи падла С++!
На мой взгляд, из "визуальной" среды программирования вырастут "индийские" программисты.
Привыкнув к плохому стилю - потом муторно переучиваться.
Сам начинал с фортрана (а ещё раньше - "обратная польская", Б3-34, ага, журнал "ТМ", "кон-тики" :) ) - и необходимость декларирования переменных впитана на всю жизнь.
К чему привыкнут воспитанники "визуальной среды программирования"?
Мне не кажется это хорошей идеей. Возбуждать интерес к программированию, как мне кажется, следует не "лёгкостью" а другими средствами.
> Сам начинал с фортрана
> и необходимость декларирования переменных впитана на всю жизнь.Неужели?
Older versions of Fortran allowed a feature called implicit typing, i.e., you do not have to declare the variables before use. If a variable is not declared, then the first letter of its name will determine its type. Variable names starting with i, j, k, l, m, or n, are considered to be for integer variable and others are real variables.
Я не утверждал что это "разрешено" или "запрещено". Нас так учили.
Учебников не выдавали.
Была группа программистов на ВЦ, они нас и учили. Писали программы карандашиком на специальных бланках, потом это отдавалось толстой тётке, она набивала их на "джуках" (даже не знаю, что за модель, но так все называли) на перфоркарты и т.д.
Это не персоналка, запустить-попробовать-айнеработает.. Машинное время на нас выдиляли - и то хорошо. ПС-2000, если что..
Я тоже видел эти перфокарты с фортраном, и я усомнился что программирование на фортране могло привить декларирование переменных, скорее наоборот. Тем более, если на декларирование переменных требует дополнительных перфокарт.
Полагаю, это зависит какой учитель/учебник.
У наших, вероятно, подход был более строг.
Чему я, собственно, рад. Запомненное в детстве - оно накрепко.
Это, кстати, вообще одна из, на мой взгляд, замечательных привитых мне теми людьми привычек.
Ещё одна - карандаш и ластик вместо ручки. С большой теплотой вспоминаю этих людей! ну да это уже оффтопик..
> Привыкнув к плохому стилю - потом муторно переучиватьсяИмхо, программист от кодера как раз умением переучиваться и отличается. С ЕГГОГологии начинать, может, и полезно, но решает не начало, а процесс. С Паскаля приходилось переучиваться на Дельфы, с "С с классами" - на нормальное ООП, с голых JS и РНР - на фреймворки... Практически каждая следующая ступень развития программиста требует именно переучивания - набрался опыта, теперь можно выкинуть то, чему научился, и идти дальше.
Звиздец, докатились. Теперь самое важное умение - переучиваться. А опыт? А нахрена он нужен - выкинул и пошел дальше, переучиваться. А я думаю, откуда же быдлокодеров столько наплодилось?!
Науке хорошо известны случаи, когда не только переучивать, но и учить бессмысленно - "только портить", как говорили наши недалекие предки.
Это исключение лишь подтверждающее правило.
всё зависит от желаемой позиции и готовности идти на риск, профессия стала массовой, нужны не только спецы с опытом, но и просто не совсем ... т.е. для того что-бы жить комфортно достаточно уметь быстро менять фреймворки не парясь с тонкостями, но вот что-бы применить серьёзный опыт нужно пройти огромный фильтр, и не каждому повезёт ( т.к. претендентов стало много ), можно огромную часть жизни убить на попытку стать космонавтом/лётчиком - испытателем и быть выкинутым по какой-то не сильно зависящей от тебя причине...
Нужны спецы с _актуальным_ опытом. Это, внезапно, означает именно умение регулярно переучиваться.
Кому сейчас может понадобиться, например, мой опыт ускорения отрисовки псевдографических окошек в Турбо Паскале путем прямой работы с видеопамятью?
>Scratch Desktop on Linux is currently not supported. We are working with partners and the open-source community to determine if there is a way we can support Linux in the future. Stay tuned!Нет поддержки линукс/бсд - тогда закапывайте это дерьмо. Ну да, учиться программировать на винде, совсем упоролись.
Когда-то во вражьих краях детей учили программировать с помощью ползающей черепашки. Кто-нибудь видел толкового программиста из числа тех дтей?
Видел. Это был язык на основе лого, который весьма специфичен, но сами основы разбития задачи на части-кирпичики и навыки отладки дает прекрасно. Конечно, оно скорее игрушка, но игрушка полезная, как детский конструктор. И я даже не про лего говорю, а про советский вариант где были неспециализированные детали дающие максимум простора для творчества. Правда это лучше подходит для более раннего возраста чем 13-14 лет.
> Когда-то во вражьих краях детей учили программировать с помощью ползающей черепашки.А еще "Karel the robot" (и стопицот версий локализации) на подмножестве паскаля.
https://en.wikipedia.org/wiki/Karel_(programming_language)
http://www.b.shuttle.de/b/humboldt-os/robi/ (1994)А еще были "игрушечные" (и по совместительству "виртуальные", т.е. существовавшие в лучшем случае в виде простенького эмулятора) микропросессоры (8 бит, очень сильно упрощенная архитектура и т.д.) для тех, кто чуть постарше (14-16 лет) и наверняка куча других вещей.
> Кто-нибудь видел толкового программиста из числа тех дтей
Странное место для проведения опроса.
К тому же (имхо), такое не пишут в резюме и даже на вопрос "ваш первый ЯП" в интервью, скорее всего не так уж и многим придет в голову "детский недо-ЯП".
Да и что за выводы предполагаются из полученных данных? Вот лично я того же суслика разве что на картинках видел -- значит ли это, что суслики на самом деле существуют только в фантазиях телевизионщиков/интернетчиков?
Вот подумал, нужно будет как нибудь ответить "assembler z80"(GENS) и посетовать на то что у 8080 кривой синтаксис ( мне так всегда казалось, что ld круче mov )!
В случае моих школьников, то на скретче они писали и иногда пишут прямо из браузера. В школах используют "Кумир". У этого "Кумир"а есть репозитарий, и на сервере института и на гитхабе. Опасался, что сын дома под линуксом увидит иной интерфейс, отличный от того, что в школе под виндой. Но всё в порядке. По поводу того "как учить программированию" - мой ответ "зачем навязывать". Но например Амперка хорошо "зашла". Будет желание, будут кодить. Если получат удовольствие от чтения Шеня - мне будет приятно. Нет - так нет, ни разу не огорчусь.