Перейти к содержанию
Симферопольский Форум

программирование для 12-летнего школьника...есть вопросы..


Рекомендуемые сообщения

Смех смехом, а я своими глазами видывал, как у нас препод в 1989 году (IBM тогда еще не водилось, DOS тоже, а Windows - это были просто окошки в доме), написал что-то типа драйвера для принтера, чтобы он печатал на наших ДВК-3. Всё на асме, вот практически на глазах. И оно заработало!!!

Тоже извиняюь за офф:

 

Справедливости ради -IBM в СССР появилась задого до ДВК и всего прочего. Правда были они не персоналками а большими машинами "ЕдинойСерии" EC1010/1020/1030/1033/1045/1066 - был полным клоном IBM/360. К стати до сих пор коегде можно и "еэски" найти и постепеноо заменяющие их мейнфремы от гиганта - людей владеющих Коболом практически нет, а переписать кучу прикладнго софта не могут.

 

Еще была серия малых машин - СМ(2,4,10) - там было клонирование DEC PDP-11 - как и ДВК/УКНЦ. Там как раз куча вариантов операционки RT11 была.

Дековский ассемблер был вообще классным - я вот до сих пор помню одну программу в кодах 4747 заносишь в нулевую ячейку - регистр стека ставишь последнюю ячеку памяти и и запускаешь с нулевой ячейки - в результата вся память машины обнулялась(в том числе и нулевая ячейка) - так как это был рекурентный вызов с самой себя. А так у нас еще была усовершенствоанная ДВК, но перепрописать ПЗУ на загрузку с очень специфичного девайса не получалось - то на стенке висела табличка как занести коды запуска. Но старались машину практически не выключать.

 

Ну а потом пришли "писюки" с MsDos, там уж в кодах было писать трудно - хотя тоже на ассемблере ваяли драйвера для музыкалной приставке на LPT порту.

Ссылка на комментарий
Поделиться на другие сайты

Я имел в виду "настольные" так называемые в те годы - микро-ЭВМ.

 

А с большими тоже пришлось иметь дела - с Урал 14 (до ЕС-ЭВМ), затем с ЕС - и ряда 1, и ряда 2 -

сначала в DOS, затем в OS - Fortran, Assembler, PL/I, генерация системы и т.п.

По мини ЭВМ - СМки были не только с дековской архитектурой, но и на 580 серии и не только.

Точно так обстояли дела и с настольными (были ина 580 серии, и на микропрограммируемых 589, 1804, 588 и т.п.).

Т.Е до 8086 и MS-DOS было много чего, в том числе и достаточно уникальные машинки (например ПС-2000 и ПС-3000 из немаленьких)...

Ссылка на комментарий
Поделиться на другие сайты

По теме: в 12 лет угадать с выбором направления в такой широченной области как программирование -

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

а может - сиюминутным увлечением. Тут многое зависит и от Учителя/Преподавателя, и от внутреннего настроя

обучаемого, и от положения Юпитера ... Нужно пробовать, возможно различные направления, платформы, языки .

 

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

Ссылка на комментарий
Поделиться на другие сайты

я бы javascript начал изучать. он жутко простой.

 

Угу, ещё NodeRed есть, там вообще конструктор из кубиков, для начала очень даже... Хотя питон, вы зря хаете ..

Ссылка на комментарий
Поделиться на другие сайты

...ВСЁ ЧИТАЮ! ВСЕМ ОГРОМНОЕ СПАСИБО ЗА СОВЕТЫ И ПОЖЕЛАНИЯ)
Ссылка на комментарий
Поделиться на другие сайты

своими глазами видывал, как препод написал драйвера для принтера. Всё на асме. И оно заработало!!!

Писать что-либо для этих машин легко и приятно. Хоть на ассемблере, хоть в машинных кодах. Какой задницей казался Intel после красивого и лаконичного решения от DEC : )

 

 

 

Это только для маньяков.

 

 

Нормальным людям это не надо.

 

 

Каждая машинная команда состоит из

[код операции] + [адресация источника][источник] + [адресация приёмника][приёмник]

 

Код оперции: 00 - MOV, 01 - ADD, 02 - SUB и т.д.

 

Источник и приёмник - просто номер регистра 0 - Reg0, 1 - Reg1 и т.д.

 

адресация приёмника и источника чуток сложнее, но даже средний студент за пару часов разберется

0 - взять прямо значение из регистра регистра

1 - понять значение регистра как адрес в памяти.

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

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

4, 5 - то же самое, только уменьшить и т.д.

 

Всё. Можно приступать к написанию драйвера в машинных кодах. Даже ассемблер нафиг не нужен.

00 21 12 <- Переслать данные из памяти в порт принтера. Регистр1 указывает на данные для печати Reg2 - на порт принтера. Указатель пользовательских данных сдвинуть на 1 позицию вперед после использования.

03 77 07 <- Вернуться на предыдущую команду.

Писать драйвер закончили.

 

На удивление лаконичный процессор и писать программы под него сплошное удвольствие. Было. Давно. В прошлом тысячелетии.

 

 

 

 

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

Писать что-либо для этих машин легко и приятно. Хоть на ассемблере, хоть в машинных кодах. Какой задницей казался Intel после красивого и лаконичного решения от DEC : )

 

 

Хоть м офф, но добавлю:

Была ещё одна интересная особенность системы команд DEC - регистр РС (РrogramCounter - указатель выполняющейся команды)

не был выделен и находился в пуле регистров общего назначения - R7. Это давало возможность реализации метода непосредственной

адресации в рамеах вышеописанной системы (указав R7 в качестве регистра источника/приёмника). Указатель стека R6 тоже не был выделен.

Можно было вместо команды JMP написать MOV чего-то в R7 (для относительного перехода можно было что-то прибавить/вычесть из R7).

 

Правда дальнейшие расширения системы команд (плавающая арифметика и др.) внесли сумятицу в эту стройную систему .....

А насчёт задницы Intel - самая задница был I8048, следующие 8080 и 8086 ещё ладно, терпимо ...

Ссылка на комментарий
Поделиться на другие сайты

Писать что-либо для этих машин легко и приятно. Хоть на ассемблере, хоть в машинных кодах. Какой задницей казался Intel после красивого и лаконичного решения от DEC : )

и опять off -

я сначала много писал на DECовском железе, действительно лаконично и красиво было даже на VAX750(наш аналог на 1839 вроде был(уж забыл номер)), потом начали переходить на интел - вешалка началась, но терпимая - ассемблерные вставки нужных железный операций в библиотеки и далее все на С.

 

А вот потом начали делать на рисках(на MIPSR3000) - вот тут полная вешалка начиналась - писать можно было - но код очень некомпакный выходил если просто на ассемблере писать, где-то скачали компилятор С - загоняли старые программы и офигивели от красоты какой он красивый код выдавал - реально создатели компилятора знали преимущества риск архитектуры.

Ссылка на комментарий
Поделиться на другие сайты

и опять off -

 

А вот потом начали делать на рисках(на MIPSR3000) - вот тут полная вешалка начиналась - писать можно было - но код очень некомпакный выходил если просто на ассемблере писать, где-то скачали компилятор С - загоняли старые программы и офигивели от красоты какой он красивый код выдавал - реально создатели компилятора знали преимущества риск архитектуры.

 

Есть огромные возражения по этому поводу, но ... как поётся в известной песТне - "another place another time"... (мне более по душе Э Хампердинк)

Ссылка на комментарий
Поделиться на другие сайты

регистр РС находился в пуле регистров общего назначения - R7. Указатель стека R6 тоже не был выделен.

Всё еще круче. Там нет регистров! Есть блоки памяти по разным адресам. Один из них - быстрая память, которую использовали как регистры. Архитектура позволяла изменять адреса этих регистров "на лету".

 

компилятор С - офигивели какой он красивый код выдавал.

Да. Оптимизатор - очень мощная штука. Плюсом к этому всё равно стандартные задачи решались стандартно-красиво.

 

Как бы то ни было, а всё это кануло в лету. И произошло это не случайно. Вся красота и лаконичность (что у DEC, что у RISC) привела к тому, что память была перегружена. А Intel - считал машинное слово и неделю его исполняет, не обращаясь больше к памяти. Тут-то конкуренты и сели в лужу. Интересно как эту проблему решат ребята из ARM.

 

Есть огромные возражения по этому поводу

Можно их услышать?

Ссылка на комментарий
Поделиться на другие сайты

тема для совета 12 летнему школьнику превратилась в "бойцы вспоминали минувшие дни..."

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

Ссылка на комментарий
Поделиться на другие сайты

тема для совета 12 летнему школьнику превратилась в "бойцы вспоминали минувшие дни..."

 

А чё, очень даже кайфово ;) Это я спровоцировал...

Ссылка на комментарий
Поделиться на другие сайты

Может есть в запасниках более подходящая тема ...

 

Что-то вроде "особенности программирования во времена Юстиниана IV "

Ссылка на комментарий
Поделиться на другие сайты

Ну, я ASM-Z80 и Motorola68xxx помню в совершенстве и писать на нем умею)

Понастольгировать.. достал из "пыльной коробки"... под спойлер не засовываются поэтому внизу фото )

 

Доброго! Мой старший малой хочет работать в этом направлении.Есть интерес,есть отлично по математике и всего 4 по физкультуре...музыка отлично тоже. Может кто посоветует с чего начать? Где начать? Какой язык программирования перспективен и т.д.Лена Heavenward уже поделилась своим видением ситуации,за что ей респект. Мне советовали МАН,но так понимаю,что туда нереально попасть.

Нужно было назвать тему "Как Вы начинали программировать".

У меня опыта немного, поэтому коротко ) Мне вот, когда-то, подарили компутер - ZX Spectrum, лет в 12. Интерес программировать возник сам собой. Достал где-то книжек и что-то пытался делать. Но периодически натыкался на что-то непонятное и объяснять некому было, да и на ZX Spectrum особо много ничего не сделаешь. Потом сам пошел в дворец пионеров, на компутерах мы там всякие алгоритмы проходили, была еще тогда такая программа на пк поиск - черепашка, на больших дискетах ). Ну и как-то занимался в основном всегда сам, ради спортивного интереса. В общем итого ) 1е - нужно желание, сейчас в тырнете валом ВИДЕО и информации что и как. 2е - нужно самому сесть и начать что-то делать, тогда появятся конкретные вопросы. 3е - под рукой на будущее нужно иметь опытного кодера - практика, который при затыке может нормально объяснить для чего этот костыль придуман. Во многих учебных заведениях на эту тему преподают абсолютно не опытные теоретики, которые могут только пересказывать литературу и не более, или просто устарели (за те деньги что там платят нормальный кодер работать и тратить время не пойдет). Возможно что-то изменилось(на ИМХУ не претендую) возможно смогут объяснить для чего алгоритмы и основы какого-либо языка. Короче когда научится что-то делать сам, сформируется круг вопросов, тогда будет понимание куда дальше. Параллельно английский учить ) чуть не забыл самое главное ) это сейчас наверно как аксиома. Если с детства начнет ковырять зарубежные сайты с инфой по коду, будет "автоматом" запоминать, т.к. переводить всеравно придется. Можете придумать себе задачу, например написать калькулятор, написать вэб страничку, написать ничего не делающую кнопку на андроид, и т.п., в топике уже 3 страницы людей которые могут куда-нибудь направить ))))

km1.jpg

km2.jpg

km3.jpg

km4.jpg

Ссылка на комментарий
Поделиться на другие сайты

Да, интересно.

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

По поводу совета Олега - Ардуинки и тд - это хорошо, но, программирование - это чуть другое.

Хотя, одно другое только дополняет - если ребенок потянет - можно и туда и туда.

 

попросили прийти в понедельник после 11.00 )

Ссылка на комментарий
Поделиться на другие сайты

попросили прийти в понедельник после 11.00 )

Нушо?

 

http://rusdemotivator.ru/uploads/posts/2012-11/1354261681_82360798_uskorennyie-kursyi-po-podgotovke-programmistov-v-indii.jpg

Ссылка на комментарий
Поделиться на другие сайты

Понастольгировать.. достал из "пыльной коробки"... под спойлер не засовываются поэтому внизу фото )

 

О, вот правая крайняя моя любимая настольная книга по Z80 была)

Спектрум сами с папой спаяли, когда мне было лет 11.

И, на нем было можно очень много сделать, и даже сейчас делают)))

У меня еще целая галерея с музыкой собственной осталась, если интересно - могу кинуть ссыль)))

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

Чат

Чат

Please enter your display name

×
×
  • Создать...