Страница 5 из 10

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

Добавлено: 06 июл 2015, 11:53
Pektusin
Stanislav писал(а):
Pektusin писал(а):
LeoV писал(а):
Stanislav писал(а):Маладой вы исчё... было время, когда интертрепатор Васика прошивался в PC... без всякого дривера :D
Я старее, чем вы. А на чем интерпретатор был написан? На Бейсике?
... и самое главное, как эта программа на Бейсике обращалась к ресурсам компьютера? Напрямую? ;)
Через BIOS? :roll:
То есть без драйверов не обходилось, и написаны они были не на JS и не на Бейсике, верно? :)

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

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

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

ИМХО, надо не учиться делать то, что уже делает большинство, а делать (хорошо делать) то, что мало кто умеет, но требуется.
Нишу найти

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

Добавлено: 06 июл 2015, 12:03
Stanislav
Pektusin писал(а):
Stanislav писал(а):
Pektusin писал(а):
LeoV писал(а):
Stanislav писал(а):Маладой вы исчё... было время, когда интертрепатор Васика прошивался в PC... без всякого дривера :D
Я старее, чем вы. А на чем интерпретатор был написан? На Бейсике?
... и самое главное, как эта программа на Бейсике обращалась к ресурсам компьютера? Напрямую? ;)
Через BIOS? :roll:
То есть без драйверов не обходилось, и написаны они были не на JS и не на Бейсике, верно? :)
В случае PC - разумеется не на Васике. Но вы же можете дописать необходимое (да хоть в кодах процессора) в интерпретатор JS (который тоже суть последовательность кодов процесора) - чиста для случая вашего контроллера? :roll: И вуаля - теперь любой лох, знающий JS, может писать фирмваре

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

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

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

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

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

Добавлено: 06 июл 2015, 12:58
nonn
вау вау вау, разошлись))))
лампочки я не зажигал, зато один раз меня чуть попалам не перерубил CNC станок. Всего то одну строчку кода пропустил :D

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

Добавлено: 06 июл 2015, 13:07
Pektusin
bedi писал(а):А я еще DOS юзаю иногда. Большинство забыло, что это такое. :)
Ну да, икспи, виста, 64-разрядные платформы... И чо? В каждом экзешнике до сих пор строчка «this program cannot be run in DOS mode»

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

Добавлено: 06 июл 2015, 13:48
Marmot
Ой народ, про технологи можно балаболить скока угодно, однакож, например, хорошего client side JS девелопера найти сложно, и мы платим таким очень-очень неслабые деньги...
Драйверы это конечно круто, я согласен, но речь идет не об этом... для обучения программированию JavaScript вполне себе подходит, и работы на нем просто дофигищи...
А для любиттелей драйверов, в моду входит Rust...

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

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

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

Добавлено: 06 июл 2015, 13:53
Marmot
Pektusin писал(а):
Stanislav писал(а):В случае PC - разумеется не на Васике. Но вы же можете дописать необходимое (да хоть в кодах процессора) в интерпретатор JS (который тоже суть последовательность кодов процесора) - чиста для случая вашего контроллера? :roll: И вуаля - теперь любой лох, знающий JS, может писать фирмваре
Не можете. Тут я вступаю на чуждый для себя юзерланд, и могу ошибаться, но для выполнения джава байт-кода создается виртуальная машина, у которой нет доступа к физической памяти. Взамен, вы должны дергать соответствующие API, которые в итоге приведут куда? В драйвер.
NodeJS, например, вполне себе компилится даже для контроллеров :) Так что, при наличии драйверов, логику можно писать на JavaScript-e...

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

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

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

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

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

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

Повторюсь, задача должна быть актуальная и интересная. Например, поилка для кота, управляемая через sms сообщения или web. Делается легко, и результат цепляет...

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

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

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

Добавлено: 06 июл 2015, 15:39
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.

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

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