Как школьника научить программированию?

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Pektusin
Маньяк
Сообщения: 4496
Зарегистрирован: 02 янв 2008, 10:37

Re: Как школьника научить программированию?

Сообщение Pektusin »

Stanislav писал(а):
Pektusin писал(а):
LeoV писал(а):
Stanislav писал(а):Маладой вы исчё... было время, когда интертрепатор Васика прошивался в PC... без всякого дривера :D
Я старее, чем вы. А на чем интерпретатор был написан? На Бейсике?
... и самое главное, как эта программа на Бейсике обращалась к ресурсам компьютера? Напрямую? ;)
Через BIOS? :roll:
То есть без драйверов не обходилось, и написаны они были не на JS и не на Бейсике, верно? :)
Аватара пользователя
bedi
Графоман
Сообщения: 5414
Зарегистрирован: 01 мар 2006, 00:58
Откуда: Blr→IL→Coquitlam

Re: Как школьника научить программированию?

Сообщение bedi »

Pektusin писал(а):
Stanislav писал(а):Он про nodeJS :D
лампочку зажечь на девайсе имхо интереснее.
+1
А я еще DOS юзаю иногда. Большинство забыло, что это такое. :)

Как-то понадобилось вытащить код из TMS320F240 и засунуть его в другой TMS320F240
Никакая программа это не делает on the fly.
Вот это было интересно, полезно (для бизнеса) и приятно когда получилось.

ИМХО, надо не учиться делать то, что уже делает большинство, а делать (хорошо делать) то, что мало кто умеет, но требуется.
Нишу найти
Последний раз редактировалось bedi 06 июл 2015, 12:05, всего редактировалось 1 раз.
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45228
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Как школьника научить программированию?

Сообщение Stanislav »

Pektusin писал(а):
Stanislav писал(а):
Pektusin писал(а):
LeoV писал(а):
Stanislav писал(а):Маладой вы исчё... было время, когда интертрепатор Васика прошивался в PC... без всякого дривера :D
Я старее, чем вы. А на чем интерпретатор был написан? На Бейсике?
... и самое главное, как эта программа на Бейсике обращалась к ресурсам компьютера? Напрямую? ;)
Через BIOS? :roll:
То есть без драйверов не обходилось, и написаны они были не на JS и не на Бейсике, верно? :)
В случае PC - разумеется не на Васике. Но вы же можете дописать необходимое (да хоть в кодах процессора) в интерпретатор JS (который тоже суть последовательность кодов процесора) - чиста для случая вашего контроллера? :roll: И вуаля - теперь любой лох, знающий JS, может писать фирмваре
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45228
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Как школьника научить программированию?

Сообщение Stanislav »

Pektusin писал(а):
Stanislav писал(а):Он про nodeJS :D
А, про это... А чем он интереснее? "Сын, сейчас мы имплементируем web-server используя non-blocking push technology over websockets". Я шучу, конечно, но все лампочку зажечь на девайсе имхо интереснее. Особенно, если это сделать дистанционно с телефона через BT. Для этого node.js не требуется :)
Я зажигал лампочки на чемоданчике на лабах в институте - муторное это дело: вводить коды процессора в ячейки памяти....
Куда лучше, если бы в чемоданчике был интерпретатор JS - пишешь на клаве: "Лампочка, зажгись!" (с) и лаба готова :D
Pektusin
Маньяк
Сообщения: 4496
Зарегистрирован: 02 янв 2008, 10:37

Re: Как школьника научить программированию?

Сообщение Pektusin »

Stanislav писал(а):В случае PC - разумеется не на Васике. Но вы же можете дописать необходимое (да хоть в кодах процессора) в интерпретатор JS (который тоже суть последовательность кодов процесора) - чиста для случая вашего контроллера? :roll: И вуаля - теперь любой лох, знающий JS, может писать фирмваре
Не можете. Тут я вступаю на чуждый для себя юзерланд, и могу ошибаться, но для выполнения джава байт-кода создается виртуальная машина, у которой нет доступа к физической памяти. Взамен, вы должны дергать соответствующие API, которые в итоге приведут куда? В драйвер.
К тому же, не стоит забывать о том, что драйвера должны быть быстрыми. Поэтому их пишут на С, реже - на С++. Например, в качестве датапоинта: практически весь framework (это еще не драйвера, а скорее middleware) Андроида написан на джаве, однако наиболее критичные его компоненты, такие как SurfaceFlinger или hwComposer, отвечающие за графику, являются native приложениями и написаны на C++.
Аватара пользователя
nonn
Графоман
Сообщения: 26920
Зарегистрирован: 28 май 2008, 08:50
Откуда: Западно-Сибирская равнина > Долина предков > Тихоокеанское побережье

Re: Как школьника научить программированию?

Сообщение nonn »

вау вау вау, разошлись))))
лампочки я не зажигал, зато один раз меня чуть попалам не перерубил CNC станок. Всего то одну строчку кода пропустил :D
Pektusin
Маньяк
Сообщения: 4496
Зарегистрирован: 02 янв 2008, 10:37

Re: Как школьника научить программированию?

Сообщение Pektusin »

bedi писал(а):А я еще DOS юзаю иногда. Большинство забыло, что это такое. :)
Ну да, икспи, виста, 64-разрядные платформы... И чо? В каждом экзешнике до сих пор строчка «this program cannot be run in DOS mode»
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Как школьника научить программированию?

Сообщение Marmot »

Ой народ, про технологи можно балаболить скока угодно, однакож, например, хорошего client side JS девелопера найти сложно, и мы платим таким очень-очень неслабые деньги...
Драйверы это конечно круто, я согласен, но речь идет не об этом... для обучения программированию JavaScript вполне себе подходит, и работы на нем просто дофигищи...
А для любиттелей драйверов, в моду входит Rust...
Аватара пользователя
тортикабысейчас
Маньяк
Сообщения: 1192
Зарегистрирован: 23 авг 2011, 13:45
Откуда: Санкт-Петербург

Re: Как школьника научить программированию?

Сообщение тортикабысейчас »

LeoV писал(а):Как школьника научить программированию на Java? С чего начинать? Какие есть хорошие методики?
если в школе надо что-то просчитывать - пусть попробует это "положить" на программу. Пусть это будет какой-нибудь банальнейший расчёт, но разобраться должен во всём сам и только сам. Если рузультат "зацепит" - дальше пойдёт само.
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Как школьника научить программированию?

Сообщение Marmot »

Pektusin писал(а):
Stanislav писал(а):В случае PC - разумеется не на Васике. Но вы же можете дописать необходимое (да хоть в кодах процессора) в интерпретатор JS (который тоже суть последовательность кодов процесора) - чиста для случая вашего контроллера? :roll: И вуаля - теперь любой лох, знающий JS, может писать фирмваре
Не можете. Тут я вступаю на чуждый для себя юзерланд, и могу ошибаться, но для выполнения джава байт-кода создается виртуальная машина, у которой нет доступа к физической памяти. Взамен, вы должны дергать соответствующие API, которые в итоге приведут куда? В драйвер.
NodeJS, например, вполне себе компилится даже для контроллеров :) Так что, при наличии драйверов, логику можно писать на JavaScript-e...
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Как школьника научить программированию?

Сообщение Marmot »

тортикабысейчас писал(а):
LeoV писал(а):Как школьника научить программированию на Java? С чего начинать? Какие есть хорошие методики?
если в школе надо что-то просчитывать - пусть попробует это "положить" на программу. Пусть это будет какой-нибудь банальнейший расчёт, но разобраться должен во всём сам и только сам. Если рузультат "зацепит" - дальше пойдёт само.
Вот, плюс много...
Pektusin
Маньяк
Сообщения: 4496
Зарегистрирован: 02 янв 2008, 10:37

Re: Как школьника научить программированию?

Сообщение Pektusin »

Marmot писал(а):и мы платим таким очень-очень неслабые деньги...
Примерно такая же ситуация и в platform development ;) Очень-очень неслабые деньги, конечно, вещь относительная.

Marmot писал(а):NodeJS, например, вполне себе компилится даже для контроллеров :) Так что, при наличии драйверов, логику можно писать на JavaScript-e...
Возможно все, тем более, что сейчас даже мелкие контроллеры часто ранят линукс и соответственно на них можно запустить что угодно, была бы память. Мой поинт был не в этом: модные языки, наверное, хороши для новомодных софтверных технологий, а в нашей области C надолго. Kernel/drivers на Rust? Не видел.

Marmot писал(а):
тортикабысейчас писал(а):
LeoV писал(а):Как школьника научить программированию на Java? С чего начинать? Какие есть хорошие методики?
если в школе надо что-то просчитывать - пусть попробует это "положить" на программу. Пусть это будет какой-нибудь банальнейший расчёт, но разобраться должен во всём сам и только сам. Если рузультат "зацепит" - дальше пойдёт само.
Вот, плюс много...
Минус много :) Честно пытаюсь вспомнить хоть одну школьную задачу, которую было бы интересно воплотить в виде программы - и не припомню такой. К тому же, с точки зрения ребенка - это дополнительный ненужный оверхед - если можно сделать задачу не изучая джава-скрипт, зачем создавать и преодолевать такие сложности?

Повторюсь, задача должна быть актуальная и интересная. Например, поилка для кота, управляемая через sms сообщения или web. Делается легко, и результат цепляет...
Аватара пользователя
тортикабысейчас
Маньяк
Сообщения: 1192
Зарегистрирован: 23 авг 2011, 13:45
Откуда: Санкт-Петербург

Re: Как школьника научить программированию?

Сообщение тортикабысейчас »

Pektusin писал(а):
Marmot писал(а):
тортикабысейчас писал(а):
LeoV писал(а):Как школьника научить программированию на Java? С чего начинать? Какие есть хорошие методики?
если в школе надо что-то просчитывать - пусть попробует это "положить" на программу. Пусть это будет какой-нибудь банальнейший расчёт, но разобраться должен во всём сам и только сам. Если рузультат "зацепит" - дальше пойдёт само.
Вот, плюс много...
Минус много :) Честно пытаюсь вспомнить хоть одну школьную задачу, которую было бы интересно воплотить в виде программы - и не припомню такой. К тому же, с точки зрения ребенка - это дополнительный ненужный оверхед - если можно сделать задачу не изучая джава-скрипт, зачем создавать и преодолевать такие сложности?
ничего подобного. У нас например, были задания, где нужно было пошагово выполнять определённые вычисления, когда результат предыдущего подставляется в следующее и т.д. Затем строится график. Идея в том, чтобы не считать ручками. Ввёл входные параметры - получил график на выходе. Красиво распечатал вместе с данными, принёс в школу, все в восторге :). Кстати, тут не про JavaScript, а про Java вроде как говорили.
Pektusin писал(а): Повторюсь, задача должна быть актуальная и интересная. Например, поилка для кота, управляемая через sms сообщения или web. Делается легко, и результат цепляет...
такое подходит если человек уже что-то умеет, а если с нуля - слишком сложно.
Аватара пользователя
Groundhog
Графоман
Сообщения: 5099
Зарегистрирован: 20 авг 2005, 16:36
Откуда: Vancouver

Re: Как школьника научить программированию?

Сообщение Groundhog »

Marmot писал(а):
Pektusin писал(а):
Stanislav писал(а):В случае PC - разумеется не на Васике. Но вы же можете дописать необходимое (да хоть в кодах процессора) в интерпретатор JS (который тоже суть последовательность кодов процесора) - чиста для случая вашего контроллера? :roll: И вуаля - теперь любой лох, знающий JS, может писать фирмваре
Не можете. Тут я вступаю на чуждый для себя юзерланд, и могу ошибаться, но для выполнения джава байт-кода создается виртуальная машина, у которой нет доступа к физической памяти. Взамен, вы должны дергать соответствующие API, которые в итоге приведут куда? В драйвер.
NodeJS, например, вполне себе компилится даже для контроллеров :) Так что, при наличии драйверов, логику можно писать на JavaScript-e...
Каких контроллеров вы о чем? Если вы о контроллерах - девисе дрйверах то не пудрите мозги людям.
Где вы видели хоть один device driver написанный на чем-либо кроме С/С++.
Device driver на JavaScript - ежели такое во всеуслышание обьявить - сразу коллеги спрашивать начнут "чего вкурил" как говорится здесь.
Кстати о птичках только вчерась глянул на NANOMSG and ZEROMSQ language binding for NODEJS and JavaScript :
in C++ code :
"....
using v8::Value;

NAN_METHOD(Socket) {
NanScope();
.... "
Видите корягу NAN_METHOD. Она есть "адаптер" призванный скрыть несовместимость прежних версий JavaScript. Для того-же кстати енджина V8 . Какие нахер device driverrs на JavaScript.
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45228
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Как школьника научить программированию?

Сообщение Stanislav »

Pektusin писал(а):
Stanislav писал(а):В случае PC - разумеется не на Васике. Но вы же можете дописать необходимое (да хоть в кодах процессора) в интерпретатор JS (который тоже суть последовательность кодов процесора) - чиста для случая вашего контроллера? :roll: И вуаля - теперь любой лох, знающий JS, может писать фирмваре
Не можете. Тут я вступаю на чуждый для себя юзерланд, и могу ошибаться, но для выполнения джава байт-кода создается виртуальная машина, у которой нет доступа к физической памяти. Взамен, вы должны дергать соответствующие API, которые в итоге приведут куда? В драйвер.
К тому же, не стоит забывать о том, что драйвера должны быть быстрыми. Поэтому их пишут на С, реже - на С++. Например, в качестве датапоинта: практически весь framework (это еще не драйвера, а скорее middleware) Андроида написан на джаве, однако наиболее критичные его компоненты, такие как SurfaceFlinger или hwComposer, отвечающие за графику, являются native приложениями и написаны на C++.
JS != Java, т.е. JS настолько не Джава, что ни о каких виртуальных машинах и байт-кодах речи не идет.
Производительность - не проблема. Когда появились компилируемые языки, никто и предположить не мог, что интерпретаторы вернутся и покорят мир :-) При современном развитии процессорного дела на Западе (с) когда телефон в ваших руках уже на порядок (или более) мощнее ЕС ЭВМ и предполагая, что вы достаточно молоды, я и говорю, что вы доживете до того дня, когда всякие контроллеры (которые суть те же компутеры) станут универсальным - в них просто будут загружать минимальный БИОС + интерпретатор какой-нить хрени, типа JS и дальше каждый программер будет дописывать зажигание лапочек под нужды своей компании :-)
Ответить