Аннотация: что будет если взять визуальный язык и соединить его с языком программирования Питон? Блок+Питон=Блокопитон абстрактный, но полностью рабочий язык программирования который не только позволяет быстро изучить язык, но и является самым обычным языком программирования. Блок это объект,которому можно присвоить любое значение, на любом языке. Это дает возможность транслировать один язык в другой и обратно .Не важно на каком языке программирования вы работаете ,блок будет выполнять одно и то же действие не зависимо от языка программирования ,ему все равно на каком языке вы описали команду которую он выполняет.
Блок+Питон=Блокопитон
издательство smashwords
автор Штумоз
10.05.2020
Аннотация : Блок+Питон=Блокопитон.
Я искала решение быстрой разработки игр и приложений. Сегодня в мире очень много языков программирования и это очень плохо ,так как нет единого стандарта. Есть много проблем .Я выделила две проблемы. Все программы по какой то странной причине пишутся на английском языке. Это парадокс и это большой заговор , мне приходится против своей воли запоминать непонятные слова ,что как минимум вдвое снижает скорость написание кода, а учитывая что нужно часто менять раскладку то в четыре раза снижает скорость написания кода.Вторая причина
сам код .Если вы посмотрите первые программы, например на Fortran ,вы увидите что это очень простой код , чистая математика. По непонятным причинам, язык лого который был изобретен в 1967 ,практически не преподавали. В 2020 году я чисто случайно узнала что есть такой язык Лого,после того как ознакомилась с более чем сотней разных программ по визуальному программированию такими как scratch, tynker , Kodu Game Lab, gamebender, и даже игры Например Dreams ,игра Грезы от PlayStation.
Несмотря на то что существует столько много программ по визуальному программированию,
по необъяснимым причинам, нет не одного игрового движка с этими языками. Исключением может служить компания Epic Games , которая использует blueprints . Но этот язык не совсем хорош.
Пытаясь найти оптимальное решение , я заметила одну вещь, смотря лекцию Python - Intro to Computer Science - Harvard's CS50 (2018) которую посмотрело 264 336 человек, не один человек не задал вопрос, смотрите,разве вы не видите очевидное?, разве вы не видите что есть более простой способ изучать программирование? разве вы не видите что мы можем получить универсальный язык?
Я дала себе ответ на этот вопрос еще год или два года назад, но почему же такое количество людей не видит очевидную вещь? даже сам преподаватель? он сам это говорит,но не верит в то что говорит? или говорит это бессознательно?
Блок -это объект ,которому можно присвоить любую переменную. Почему никто из студентов не разу даже не спросил об этом?
Что это дает на практике? поскольку блок это объект ,мы имеем универсальный язык, объектно визуальный язык программирования. Это позволяет сделать как транслятор языков, так и доступность программирования на любом языке мира .
Выбирая между сотней языков программирования я выбрала Питон и Яву скрипт , они более просты для моего понимания,а также взяла за основу scratch , tynker , Kodu Game Lab. Сами по себе и по отдельности , эти программы бесполезны,так как не несут практического применения на практике, не позволяют продать готовый продукт. Эти программы являются программами обучениями ,но они ничему не учат и не дают возможность пользоваться тем что вы создаете.
Однако есть кое что что может сделать эти программы действительно программами обучения, а
также позволить создать продукт для применения знаний на практике.
Достаточно просто объединить Блоки с реальным языком программирования. Оптимальное решение Это Питон, он практически идеально вписывается в схему блоков. Питон является сам по себе универсальным языком ,имеет много модулей, а добавив к нему блоки, мы получаем универсальный язык для быстрого обучения и реального создания продуктов. Так родилась идея Блокопитона, Блок+Питон. Так появилась методика, благодаря которой очень легко обучиться любому языку. Так как блок позволяет транслировать один язык программирования в другой. В свою очередь это позволяет программировать на любом языке зная всего один язык. Этот способ позволяет сделать абстрактный язык программирования,реальным языком. Я никогда не хотела программировать, я никогда не собиралась писать книги. Программирование убивает полет мысли и фантазии. Я часто общалась с программистами на connect.unity.com.Они хорошие программисты, но они ничего не создают.Они ждут что их наймут. Когда приходишь их нанять,вместо сделать работу они спрашивают зачем это нужно? . Писать код- это не интересно,
поверьте конвейерная работа никак развивать вас не может,но и сделать программу программисты не могут. Потому я занялась этим вопросом в поиске решения . Это решение перед вами. Это инструмент быстрого обучения, быстрой разработки игр и приложений. получив его вы сможете создавать игры и приложения практически не зная программирования ,на любом языке программирования. В основе обучения лежит идея Детских кубиков, языка Лого, гиперссылок и карт действий.
Эта книга не является учебником. Она не создавалась командой профессионалов, она писалась по принципу “Не бойтесь делать то, что не умеете. Помните, ковчег построил любитель, профессионалы построили Титаник” .
Чем является эта книга ? кому она может быть интересна? Она может быть интересна ТРИЗ, разработчикам программного обеспечения,учителям, по сути эта книга дневник. В один прекрасный день я обнаружила что игры исчезли. Их по прежнему было много ,но играть стало не во что . Так бывает и довольно часто,вот вы берете книгу читаете ее,потом берете вторую третью,до тех пор пока в ваших руках не оказывается действительно хорошая книга. Вы читаете ее,перечитываете и больше не хотите читать то,что хуже этой книги. Это явление зовется качеством. Все что было у вас до этого ширпотреб,часто написанный по шаблону который мало чем отличался друг от друга. К вам приходит осознание и понимание что хороших книг очень мало . С играми так же .Как только вы получили игру которая перенесла вас в новый мир, мир в который вы верите,который ожил, вы больше не хотите играть в то,что хуже. А поскольку игр больше нет и брать их негде ,то остается делать их самой. Вместо делать игры вы сталкиваетесь с проблемой, эта проблема в том что из вас хотят сделать программиста. Все поголовно хотят заставить научить вас кодить, я не хочу,мне не интересно программировать. Более того программирование и компьютеры никак не связаны .Герон жил в I веке н. э. и уже умел программировать, в то время никаких компьютеров не было. То что нам пытаются выдать за программирование, это инженерия,механика и целый комплекс наук. Мне куда больше нравятся паровые двигатели,ветряные мельницы, музыкальные шкатулки, это механика,а не программирование,хотя она включает в себя элементы того что можно назвать программированием. Простую программу можно написать для электрического пианино, при этом никакой логики или логических схем эта програма иметь не будет. Первой программой можно также считать кулинарную книгу,одна из таких книг ,это De re coquinaria, написанная в конце четвертого ,пятого века. Зачем заставлять людей делать то,что они не хотять? в мире миллионы безработных программистов и очень мало хороших инженеров которые могут сделать новый процессор и написать новую операционную систему. Вместо заставлять учить программирование, было бы неплохо просто написать всего семь програм,которые позволять програмировать без програмирования. Достаточно написать семь программ и теория Фредерика Брукса рухнет,так как игры сможет сделать любой,причем делать их сможет быстро . В визуальных языках программирования игры делаются за время от 10 до 20 минут . Текстовые редакторы не позволяют делать это так же быстро. Миру нужны новые программы облегчающие разработку игр и приложений, и такой программой может стать Блокопитон. То что вы видете это процесс самообучения с нуля. Я смогла выучить за короткое время два языка программирования,а работать могу практически с любым,даже с тем с которым раньше не работала. Я пыталась изучить неоднократно многие языки и бросала это гиблое дело каждый раз. Я не видела прогресс,я не видела результата,я не понимала, что требуют все эти педагоги? .Все книги были сложны для понимания. Так было до тех пор , пока я не стала искать решение,как же все это понять и осознать? решение нашлось можно сказать случайно . Я взяла лист бумаги, написала на нем бросить кубик. Потом я попыталась упростить ,и осталось только запись генератор чисел. Потом я записала код на 10 языках программирования. Так я поняла что у меня в руках решение , у меня карта действия и десять разных кодов которые описывают всего одно и тоже самое действие. Я не понимала не один из этих языков, но понимала что все они описывают то, что мне понятно,по сути у меня в руках была карта действия с переводом этого действия на 10 языков программирования которые я даже не знаю. С этого момента я смогла достаточно быстро изучать любой язык программирования. Я писала действие которое хочу получить,а потом просто запоминала что вот этот код ,делает это действие. Теперь же я могу учить язык более осознанно, понимая что значит сам код .Блокопитон ,это абстрактный язык на базе реальных языков.
Операторы в Python
Прежде чем мы приступим к работе , мы познакомимся с операторами.
Пусть надпись гласит ,что это операторы Питон , это не должно нас смущать,
на самом деле это просто операторы . Обычная математика ,которую можно выразить в любом выражении на рисунке 1 (рис.1 ) приведена таблица Арифметических операторов .
(рис 1)
Сложение
допустим у меня есть одно яблоко , на столе лежит еще одно яблоко . Если я положу свое яблоко на стол,то сколько будет на столе яблок? яблоко + яблоко=2 яблока . Это операция сложения. Ее можно представить таблицей.
(рис 2)
На рисунке два приведена таблица, которую вы легко можете заполнить самостоятельно .Из заполнения таблицы мы видим , что если сложить числа в виде выражений то один плюс один будет два ,два плюс два равно четыре и так далее 1+1=2, 2+2=4, 3+3=6 ,можно продолжать в порядке увлечения почти бесконечно. Это базовая математика и если мы хотим программировать, то азы математики нам будут полезны.
2 Вычитание
Чем можно представить сложение ? это когда вам что то дают. Условно вы Большой дракон, у вас есть пещера, и если вы что то приносите в эту пещеру, или другие вам что то дают, то это сложение. Вы складываете все ценности в свою пещеру и там их накапливаете. Но что если кто то хочет взять из вашей пещеры что нибудь? правильно это будет отъем, отнимание. Вычитание.
пока Дракон все носить в пещеру идет накопление это сложение, но если кто то что то берет из пещеры это вычитание .
(рис 3)
Допустим У дракона в пещере было четыре золотых ключа, летучая мышь
пролетая мимо взяла один , сколько у дракона осталось ключей?
4-1 =3 У дракона осталось три ключа.
(рис 4)
Для более легкого запоминания, примеры можно визуализировать . Главная цель визуализации — упростить и ускорить восприятие информации. Примером визуализации служит в нашем примере дракон с пещерой. Сложно запомнить и усвоить информацию,которую тяжело представить.
Потому на рис. 1 рядом с арифметическими операторами присутствуют блоки.
Что такое блок? это объект, объект который содержит описание,это описание позволяет понять нам суть объекта. Например дерево, это объект который с зелеными листьями,производить кислород, из него делают бумагу, древесный уголь и так далее. Блок это объект , и мы можем дать ему любое значение. У нас блок это объект ,который выполнять действия , те которые мы ему присвоим.
3 Умножение .
Как же описать процесс умножения? ведь мы не дошли до циклов, можно было бы сказать что это повторяющийся цикл, где одно число прибавляет само себя какое то количество раз. например число три с циклом повторения три,причем каждый цикл мы складываем эти числа 3,3,3 и складывает в сумму. 3+3+3=9.
Раньше поступали так, вот тебе таблица умножения и сиди учи. То есть ты должна была заполнить даже не понимая процесса. Не знаю правильный ли подход просто запомнить наизусть таблицу умножения?.
Что такое умножение? это когда одно число нужно сложить столько раз,сколько указывает второе число. Визуально это довольно легко понять .
проще рассмотреть на примере .
Пример 3*4 =3+3+3+3=12 мы число три сложили столько раз ,насколько указал множитель.
(рис 5)
на рисунке три ,показано следующее, мы берем три клеточки и делаем из них ряд. этот ряд три клетки 1,2,3. потом мы умножаем этот ряд на четыре. Это действие можно было бы описать словом клонирование.Мы создаем четыре одинаковых ряда ,это и есть умножение. Более доступным словом будет возможно тиражирование.
Это можно представить так. Допустим вам на принтере нужно распечатать листок бумаги. Это и есть умножение. Лист который даст нам принтер это копия с первого листа,которая идентична. Допустим мы рисуем на листе число 10 , потом нажимаем на принтере создать три копии. Это и есть умножение. запись будет такой 10*3 =10+10+10=30 . Сложив числа на каждом листе бумаге мы получим сумму чисел. Этот процесс и есть умножение.
4 Деление .
Этот процесс довольно просто описать. Итак вам нужно что то разделить , допустим яблоко , на две части . Яблоко одно, а вас допустим двое, потому нужно разделить на две равные части. Если бы у вас было два яблока, то вы бы дали одно тому с кем хотите поделиться и у вас осталось бы одно , это и есть деление .В результате деление два на два у вас осталось бы одно яблоко. Если яблоко целое, то его лучше разрезать. Это деление целого числа один на два. в результате у вас получится не целое яблоко,а половина. ½=0.5 . Дробное число. Если запишите столбиком вы получите дробь . Пример 2/2=1 ; ½=0.5
(рис.6)
5. Деление по модулю.
Деление по модулю Возвращает остаток от деления.
Пример 7%2=1 ; 8%3=2 . Выглядит это так 7= 2+2+2+ 1 число 2 полностью и без остатка поместилось трижды ,больше раз число 2 не помещается, остаток 1 ,
число три в восемь помещается два раза , остаток два. 8=3+3+2,число три ,два раза помещается полностью, остаток 2.
6.Целочисленное деление.
Деление в котором возвращается только целая часть результата. Часть после запятой отбрасывается. Деление нацело.
Пример 15//7=2 если разделить пятнадцать на семь, то мы получим 2,5 ,целое значение 2, число после запятой отбрасываются.