Где {{ pis }}

Альтруизм в программировании

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Кодировка

Сообщений 31 страница 60 из 120

31

Пункт 4 нарушен – все элементы имеют различные размеры, потому они НЕ упорядочены и НЕ регулярны (хаотичны).
Пункт 5 нарушен – ни одни из элементов не имеет никакого визуального смыслового значения.
Пункт 6 нарушен – не существует ни одного графического элемента, кроме «стрелок», которые бы хоть как-то позволяли понять – что это за элементы.
Пункт 7 нарушен – подавляющее большинство форм сложные и не прямоугольные.
Пункт 8 нарушен – различные размеры структурных блоков НЕ позволяют эргономично располагать их по декартовым осям координат.
Пункт 10 нарушен – некоторые блоки имеют НЕ однозначную ориентацию выходов, расположенных со стороны.
Пункт 12 нарушен – многие блоки имеют избыточные детали графических элементов, нарушающих целостное когнитивное восприятие путем его дробления.
Пункт 14 частично нарушен – не достаточно качественно определены способы отделения смысловых элементов от фона.
Пункт 16 нарушен – различные размеры смысловых блоков не позволяют унифицировать схему, состоящую из них.

Как видим список внушительный.

Что ж, приступим к исправлению ситуации. Постараемся исправить ошибки авторов и реализовать поставленные задачи более качественно, а затем посмотрим – что у нас из этого выйдет в сравнении, с имеющимся результатом в ДРАКОНе. Выполнять данную задачу будем на примере одной из готовых Драконовских схем, при чем, реализуя ее поэтапно, чтобы наиболее наглядно продемонстрировать наши нововедения и исправления. В качестве основы возьмем алгоритм «Рыбная ловля».

http://s8.uploads.ru/t/TWMKh.jpg

0

32

Итак, исправляем пункт 4, а заодно и 7, 8, 12 и 16 – вместо огромного количества «икон» вводим всего один базовый вид блока – прямоугольник. Все прямоугольники в схеме рисуем одинаковыми.
Далее, исправляем пункт 10 – у всех блоков все входы и выходы должны быть изображены исключительно сверху (входы) и снизу (выходы). С боку разрешается изображать только линии обмена и синхронизации.
Следующими исправим пункты 5 и 6 – внутри каждого блока будем размещать не текст, а графические элементы, обозначающие его смысловую нагрузку.

Теперь попробуем перерисовать наш алгоритм:

http://s2.uploads.ru/t/Fp0CQ.jpg

Даже не смотря на то, что пока мы просто наделали визуальных иконок, не распределили их по диасцене и не построили между ними логических связей, нам уже практически все понятно – о чем будет идти речь. Теперь давайте построим из этих блоков сам алгоритм:

http://s4.uploads.ru/t/g25Z1.jpg

0

33

Как видим, наш алгоритм по сравнению с конкурентным Драконовским стал просто на порядки выразительнее, понятнее и эффективнее для восприятия. Однако так же мы можем увидеть большое количество недостатков, в частности – частое повторение одних и тех же действий, наличие линий пересечения и подсоединения, не эффективное распределение площади диасцены, не эффективное построение самого алгоритма. Частично эти проблемы в Драконе решаются путем создания замкнутых контуров, но это не улучшает понимание алгоритма, ибо противоречит пункту 11.
Что же, давайте попробуем улучшить наш алгоритм путем применения тех же правил. К сожалению, он составлен таким образом, что разбить его на смысловые блоки правильно, с учетом того, что каждый из них может быть использован как подпрограмма – весьма проблематично, так как отдельные команды взаимно пересекаются, поэтому для решения данной задачи мы используем команды адрессного перехода.

http://se.uploads.ru/t/Dzqky.jpg

Как мы можем видеть, наш алгоритм стал еще более выразителен, при этом он стал проще и меньше, а значит – мы идем в верном направлении.
Что же, осталось только его упаковать в более компактное пространство…

http://s9.uploads.ru/t/3VWiM.jpg

Как видите, наш алгоритм приобрел предельную простоту и понятность, воспринимаемую визуально очень хорошо и позволяющую очень быстро разобраться в его логике. Осталось только добавить текстовые элементы из Драконовского алгоритма для более подробного уточнения задач алгоритма и мы получим окончательный вариант, не оставляющий никаких сомнений в своих преимуществах перед схемами предыдущего поколения.

Мне могут возразить, что создание таких алгоритмов занимает гораздо больше времени и намного проще написать несколько строк текста. Однако, сейчас речь не о настоящем, а о будущем, ведь большинство программистов, думающих, что пишут программу раз и навсегда и понятность кода можно принести в жертву компактности и быстроте написания кода, не задумываются, что всего через 10 – 20 лет компания, заказавшая разработку ПО, может начать переходить на новые концепции, другие библиотеки, прогрессивные технологии или даже на другой тип лицензирования, и тогда уже другому программисту придется либо разбирать имеющийся код, либо, что гораздо вернее – писать все с нуля. Мы же, замедляя разработку в начале, делаем возможным ее эффективно использовать в дальнейшем и тем самым ускорять работу над крупными проектами.
Второе возражение, которое мы можем встретить – это сложность в поиске графических элементов. Но это не совсем соответствует действительности, ведь нам не нужно сажать новых художников и рисовать каждый элемент программы заново – нам достаточно скачать из сети любой уже имеющийся и хорошо объясняющий суть вопроса, и, обработав его, вставить в стандартную библиотеку. Можно сказать так, что все графы и глифы уже давным давно нарисованы, нужно их только стандартизировать и упорядочить.
Предполагаю и третье возражение, что таким образом писать прикладные программы не получится, ведь они не являются последовательностью действий человека, которые легко отобразить графически, но и это является заблуждением. Дело в том, что перед написанием любого алгоритма, каждый программист может описать те или иные абстрактные графы и глифы, которые он использует в своей программе, а другой, который будет разбираться в его программе, таким же образом, ориентируясь по описаниям, заменить их на те, которые понятны ему, и тем самым одним махом преобразовать имеющийся алгоритм в понятный ему. Это решает любые проблемы со сложными абстрактными моделями и понятиями.

0001

0

34

- Да, такой способ предоставления информации приемлем. Главное - сохранить последовательность событий примерно такой, как в драконе. Сверху - вниз, слева - направо.
Поскольку я в первую очередь - схемотехник, а это правило есть и там, то и причина Драконовского стиля - оттуда, со стиля написания письма... )))

0

35

Не вопрос. Так пойдет?

http://sg.uploads.ru/t/swtHR.jpg

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

0

36

- Да, это ближе к истине. Для удобства основные "тела" можно растягивать/сужать как в ширину, так и в длину, чтобы выходы одних соответствовали входам других, (для наглядности), но это необязательное правило...

flamehowk написал(а):

... чтоб буржуи даже при очень большом желании не доперли как оно работает.

Любая засекреченность либо сокрытие информации - в первую очередь отражается на самом народе. Буржуи и олигархи этого просто не заметят. Они будут продолжать делать деньги на том, что есть. Разработки секретных "НИИ" ещё при СССР становились известны за рубежом гораздо раньше, чем ими могли бы воспользоваться рядовые граждане, а потому гласность - главнейшее правило ускорения прогресса для своего народа. Засекреченность же - одна из основных многочисленных причин отставания социализма в научно техническом прогрессе... )))

0

37

Варлам Ерофеич написал(а):

чем ими могли бы воспользоваться рядовые граждане

С трудом представляю себе ситуацию, в которой рядовые граждане в гаражных условиях лепят себе процессоры по 22 нм-ой технологии, потом собирают из них компьютеры и начинают ими пользоваться.

Варлам Ерофеич написал(а):

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

НАША гласность - главнейшее правило ускорения прогресса ИХ народа. Я изобрел что-то, запатентовал в ИХ патентном бюро и не успел еще и глазом моргнуть, а они уже будут это делать, и отнюдь не в интересах моего народа. А я в это время, буду обивать пороги ИХ банков вымаливая хоть какую-нибудь ссуду на развитие. Сильно от этого мой народ выиграет? Или Вы думаете, что я о надуманных случаях говорю и все не так происходит?

Варлам Ерофеич написал(а):

Любая засекреченность либо сокрытие информации - в первую очередь отражается на самом народе.

Естественно. Главное как она отражается - пользительно или нет. На нашем народе ничто не отражается пользительно, потому что нашему народу польза не нужна. Нашему народу не нужно никакого ускорения, никакого прогресса. Нашему народу не нужно никакого развития, самосовершенствования, никаких благ и хорошего уровня жизни. Наш народ не нуждается в спасителях, лидерах, просветителях и руководителях. Наш народ не нуждается даже в самой жизни, она ему не нужна и наш народ упорно доказывает это каждой секундой своего существования. Последний раз, когда я попытался спасти наш народ от взаимоуничтожающей бойни, освободить от оккупационного иудейского правительства и поднять уровень жизни, наш народ посадил меня на 3 года в тюрьму, чтобы я не сильно напрягался в процессе его "спасения" и не мешал ему истреблять самого себя, в визжащей истерике со всеми степенями ненависти друг к другу. И тогда я вспомнил великую мудрость: "Не мечите бисер перед свиньями и не давайте святыни псам...".

Кто хотел - тот уже свой выбор сделал. Кто не хотел - скатертью дорожка в "лучшие" миры. Я больше не собираюсь никого уговаривать и упрашивать быть людьми, достойными этого термина. Для меня мой народ - это теперь лишь те здравомыслящие и ответственные представители Рода, которые осознают свое положение и место в мире и не собираются сидеть сложа руки. Вот именно о них я пекусь, ибо именно из них суждено состояться новому человечеству. А все остальные, эффективно сфокусировав свою ненависть друг против друга доведут таки друг друга до цугундера и грех им мешать, ибо это прямой путь вместе с ними на тот же цугундер. Мы - собираемся жить. Цели наши и "нашего народа" - диаметрально противоположные. А значит и методы тоже будут диаметрально противоположные. В глобальной мировой бойне я не собираюсь заниматься "преследованием" или "обганянием" кого-либо, от которого кто-то отстал. Наша цель проста и ясна как божий день - организовать себе полностью самодостаточное и защищенное от окружающей деградации бытие, в рамках которого мы сможем полноценно Духовно Эволюционировать. И какая нам разница на каком месте по чьим-то спискам мы будем по тем или иным параметрам. Мы не воспринимаем жизнь как соревнование за самую зеленую пальму, ибо мы не из того теста.

Так что помолимся иудейскому Богу Яхве за смиренное само-убиение "нашего народа" во всей его ненависти и презрении к самому себе, во всей его порочности и развращенности, слабоумии и деградации. Да пребудет воистину акбар.

PS.
Только что вот сейчас пришел со встречи с одним таким представителем "нашего народа". Попытка хоть как-то объяснить живому существу, в ответ на его скрипы и стенания о жизни, ошибочность его выбора, который и стал причиной его страданий, закончилась словами живого существа о том, что он знает обо всем об этом гораздо более моего и именно поэтому оно ему нафиг не надо, а потому оно предпочитает мучаться и страдать, и все что ему нужно - это мои смиренные уши, которые должны выносить весь этот мифический поток грязи, порожденный его сознанием в течении нескольких часов, служа ему то жилеткой, то носовым платком... А вот это уже - не нужно мне!
Так что мы хорошо информированы о том - что собой представляет этот пресловутый "наш народ", да при чем в таких красках, что смотреть не хочется. А потому пусть этот народ получает то, что он заслуживает, а у нас - другой путь.

0

38

А работает оно вот так: Ветвление
Применено на странице - Наливай
- Вот таким я себе представлял Дракон... (да и остальное программирование)))

0

39

Ну здесь я вижу уже не столько программу, сколько Имитатор ее работы. Имитатор в ИСР штука очень важная и он должен отличаться от типичных на сегодня дебаггеров. Он должен полностью демонстрировать работу программы на любом уровне иерархии, при этом используя в качестве визуализации те параметры, которые задаст программист. Такая штука не только позволит узреть как работает написанная программа и ее отладить, но и сможет показывать в процентном отношении любые процессы, которые будут заданы схемой. Например, можно будет создать схему-программу для строительства дома или написания программы и по ней же следить за тем - насколько процентов выполнены те или иные блоки, на каком этапе находится процесс строительства или проектирования. Для Имитатора можно задать несколько режимов работы, от пошагового с ручным выбором шага, как в Вашем "пиве/квасе", чтобы проверить корректность работы всех веток, так и другие режимы с разным уровнем автоматизации.

Так что благодарю за предоставленную визуализацию того, как может быть выполнен Имитатор ИСР ВАЯТЕЛЬ! :)

0

40

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

Сэкономленный if..then..elseНачало
если переменная "Пиво" выше кнопки "Наливай",
то {кнопка "Наливай" - недоступна}
иначе {кнопка "Наливай" - доступна}
Конец

В нашем же случае эти строки упразднены за их ненадобностью, поскольку этот "if..then..else" реализован координатами расположения "сущностей" на "слое-холсте" и их приоритетом относительно друг друга.
Скрипт этого "безобразия" прост:

Код html

Код css

Код:
<!-- SVG код -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg height = "300px"  width = "300px"
     viewBox="0 0 300 300" preserveAspectRatio="none"
     style ="border: 0px solid blue;">
<title>SVG анимация</title>
<defs>
<circle r="6" style="fill:#000;  stroke-width:2px; stroke:#fff;"/>
</defs>

<g style="stroke:#1ed; stroke-linecap:round; stroke-width:4px;"> 
  <line id="вход" x1="150" y1="0" x2="150" y2="50"></line>
  <line id="лево" x1="50" y1="150" x2="50" y2="250"></line>
  <line id="прав" x1="250" y1="150" x2="250" y2="250"></line>
  <line id="низ" x1="50" y1="250" x2="250" y2="250"></line>
  <line id="масса" x1="150" y1="250" x2="150" y2="300" 
        style="stroke: #600"></line>
  <line id="земля" x1="0" y1="300" x2="300" y2="300"
        style="stroke: #600; stroke-width: 8px"></line>
  <line id="ключ" x1="150" y1="50" x2="50" y2="150"> 
   <animate id="bx2" attributeName="x2"
            from="50" to="250"
            begin="пуск.click" dur=".4s"
            repeatCount="1" 
            fill="freeze"
            restart="whenNotActive" />
   <animate id="cx2"  attributeName="x2"
            from="250" to="50"
            begin="cy2.end+.4s" dur=".4s"
            repeatCount="1" 
            fill="freeze"
            restart="whenNotActive" /> 
  </line>
</g>
<g id="жижа" style="stroke:#e30; stroke-linecap: butt; 
           stroke-width:80px; stroke-opacity:1">
  <line id="G" x1="250" y1="242" x2="250" y2="242">
   <animate id="cy2" attributeName="y2"
            from="242" to="160"
            begin="bx2.end+.2s" dur="2s"
            repeatCount="1" 
            fill="freeze"
            restart="whenNotActive" />
   <animate id="dy2" attributeName="y2"
            from="160" to="242"
            begin="cy2.end+1s" dur="6s"
            repeatCount="1" 
            fill="freeze"
            restart="whenNotActive" />
  </line>
</g> 
<rect x="208" y="155" width="84" height="90"  
style="stroke:#060;stroke-width:3px;fill: #055;fill-opacity:0.6"/>
  <circle cx="150" cy="50" r="6" 
    style="fill:#000;  stroke-width:2px; stroke:#fff;" />
  <circle cx="50" cy="150" r="6" 
    style="fill:#000;  stroke-width:2px; stroke:#fff;" />
  <circle cx="250" cy="150" r="6" 
    style="fill:#000;  stroke-width:2px; stroke:#fff;" />
  <circle cx="50" cy="250" r="6" 
    style="fill:#000;  stroke-width:2px; stroke:#fff;" />
  <circle cx="250" cy="250" r="6" 
    style="fill:#000;  stroke-width:2px; stroke:#fff;" />
  <circle cx="150" cy="250" r="6" 
    style="fill:#000;  stroke-width:2px; stroke:#fff;" />
  <circle cx="150" cy="300" r="6" 
    style="fill:#000;  stroke-width:2px; stroke:#880;" />
</svg>

<svg id="два" width="100px" height="300px"
     viewBox="0 0 100 300" preserveAspectRatio="none"
     style ="border: 0px solid #060;">
 <g id="пуск"> 
 <rect x="5" y="260" rx="3" ry="3" 
       width="90" height="30"fill="#552" stroke="#2af" />
 <text x="15" y="280" font-size="16" font-weight="bold" 
       font-family="Arial"  fill="white">Наливай</text>
 </g>    
 <g id="жми"> 
 <text x="15" y="200" font-size="16" font-weight="bold" 
       font-family="Arial" fill="white">Налить?</text>
 </g>
 <g id="жижа" style="stroke:#a50; stroke-linecap: butt; 
           stroke-width:95%; stroke-opacity:1">
  <line id="G" x1="10" y1="300" x2="10" y2="300">
   <animate id="cy2" attributeName="y2"
            from="300" to="10"
            begin="bx2.end+.2s" dur="2s"
            repeatCount="1" 
            fill="freeze"
            restart="whenNotActive" />
   <animate id="dy2" attributeName="y2"
            from="10" to="300"
            begin="cy2.end+1s" dur="6s"
            repeatCount="1" 
            fill="freeze"
            restart="whenNotActive" />
  </line>
 </g> 
</svg>
Код:
body {
  background: 
  radial-gradient(black 2.5%, transparent 40%) 0 0,
  radial-gradient(black 2.5%, transparent 40%) 3px 3px,
  radial-gradient(rgba(255,255,255,.2) 10%, transparent 30%) .6px .6px,
  radial-gradient(rgba(255,255,255,.2) 10%, transparent 30%) 3.6px 3.6px;
  background-color:#243844;
  background-size:6px 6px;
  padding: 0% 10%;
  position: relative;
}
svg {
  position: absolute;
  transform: translate(0%, 20%);
  background: rgba(25,25,25,.2);
  opacity: .9;
}
#два {transform: translate(360%, 20%); }
#цепи, #цепь {stroke: #1ed; stroke-width: 2px;}
.цель {stroke: #cca; stroke-width: 2px;}
#точка {fill: #000; stroke: #fff; stroke-width: 1.5px;}
.тень {fill: none; stroke: #1ed; stroke-width: .5px; opacity: .5;}
#жми {opacity:1;}
#пуск {cursor: pointer; background-color: linear-gradient(#466, #8cd);}

0

41

Ну, вообще-то, приводя в пример html и css, Вы по сути приводите в пример НЕ языки программирования, а язык разметки страниц и язык описания свойств этой разметки (обои-два ни разу не являются языками программирования ни с какой стороны). Ходят, конечно, слухи, что сейчас в html5 добавили всяческих скриптовых мощностей, но это отдельная тема для разговора.
В языках разметки действительно многие вещи можно сделать недоступными, переместив их на скрытые слои, например, или снизив до нуля их прозрачность (я, к примеру, кнопку для доступа к админке делаю невидимой на главной странице в известном только мне месте с залоченными свойствами курсора). Но это тоже своеобразная логика (алгоритм действий программы), который вполне может быть описан. Другой вопрос заключается в том, что действительно многие вещи при программировании могут лишь мешать и усложнять восприятие, и именно для этого и рекомендуется Иерархизация. Она хорошо видна даже на нашем примере с рыбалкой, в котором базовые блоки программы (их 4) имеют собственные взаимосвязи и последовательность, а внутри них включены блоки уровнем ниже, и они демонстрируются на основной схеме. А вот блоки следующего уровня вложенности уже не отображаются для удобства восприятия, хотя многие из блоков второго уровня так же можно разложить на отдельные последовательности действий и описать алгоритмически. Здесь уже речь идет о тех свойствах и возможностях ИСР, которые мы ей зададим, а иерархизация (то есть разбивка всего АБСОЛЮТА алгоритма [АБСОЛЮТОМ АЛГОРИТМА - назовем весь алгоритм на самом нижнем уровне вложенности, который соответствует машинным командам процессора] на различные уровни вложенности) в ней является одним из фундаментальных качеств, которые и позволят решать задачи глобального программирования.
Попробуем показать это графически...

0

42

http://s8.uploads.ru/t/ColDA.jpg

Здесь мы видим, что в блоке "собрать вещи" имеется внутри вложенный алгоритм более низкого уровня (обозначен зеленым в увеличительном стекле), который на основной диасцене не отображается. Так как уровни вложенности алгоритмов мы не можем считать с верхнего уровня, в связи с тем, что никогда не известно в какой программе сколько будет уровней вложенности, то следует их указывать и отсчитывать с самого нижнего - уровня машинных команд и именно его считать первым (нулевым). Все остальные уровни нумеровать вверх. В данном случае мы видим программу, в которой 3 уровня вложенности алгоритмов друг в друга по степени их Иерархии. Если мы представим данный алгоритм исключительно телом алгоритмов самого нижнего уровня, то получим один глобальный АБСОЛЮТНЫЙ АЛГОРИТМ (предлагаю ввести этот термин в оборот для обозначения обобщенного алгоритма на самом нижнем уровне).
Предполагаю, что именно алгоритмы самого нижнего уровня будут составлять базу основных библиотек для ВАЯТЕЛя, так как именно в этих алгоритмах будут реализованы различные базовые манипуляции с данными в виде машинных команд. Например, алгоритм умножения двух чисел друг на друга будет реализовываться на нижнем уровне в виде цикла с множеством операций сложения и сдвига, в то время как на более высоком уровне уже достаточно будет лишь указать две переменные и знак умножения. По сути - эти переменные и знак будут являться своего рода API для алгоритма более низкого уровня.
Таким образом наш ИСР будет иметь достаточно инструментов для Иерархизации программ и отображения этой иерархии, то есть будет позволять переходить из уровня в уровень алгоритмов, как переключением вложенности, так и плавно (по скролингу мыши).

Отредактировано flamehowk (07-23-2017 18:12:28)

0

43

flamehowk написал(а):

Ну, вообще-то, приводя в пример html и css, Вы по сути приводите в пример НЕ языки программирования, а язык разметки страниц и язык описания свойств этой разметки (обои-два ни разу не являются языками программирования ни с какой стороны).

- Да, и делаю это намеренно. Когда появился первый процессор x8086 и первые графические контроллеры "КЦГД", (ДВК-2), - их почему-то сразу "стали учить" письменности, отодвигая графику "на потом". Это было непростительной ошибкой. Если бы первым появился "язык графики", то понятия "язык разметки" могло бы и не существовать вовсе...
Приведём в пример обычную таблицу основных команд процу:

Команда

Выполняемая операция

ADD

Сложение

ADC

Сложение с переносом

SUB

Вычитание

SBB

Вычитание с заемом

OR

Логическое включающее "ИЛИ"

XOR

Логическое исключающее "ИЛИ"

AND

Логическое "И"

CMP

Сравнение двух операндов

TEST

Логическое сравнение

NEG

Получение дополнительного кода (изменение знака)

NOT

Инвертирование

Далее:
Пишем SVG... (Пока не готов, напишу - продолжу рассуждение)))

0

44

Думаю, что Вы, все-таки, делаете слишком большой скачек во времени. Первые процы были настолько слабы мощами, что им под силу были только нули да единички в нескольких битах, куда там до байта добираться. А Вы говорите "почему-то"... Все было обусловлено. Это сейчас они оперируют данными о 64 разрядах, в которых вполне себе можно шифровать что угодно, хоть графику, а хоть синхронное плавание, а тогда... Кто-кто, а Вы то должны знать и помнить еще машины на перфокартах. Я еще помню магнитофонные ленты и первые пятидюймовые дискеты, полное отсутствие НЖМД и графику о двух палочках и трех кружочках. И в общем-то сейчас мы имеем дело с теми же машинами, которые стали просто шире внутри да уже снаружи.

http://sh.uploads.ru/t/LO7Bv.jpg

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

Отредактировано flamehowk (07-24-2017 01:24:30)

0

45

Исправил на "более приемлемое", на ДВК-2, я на них успел поработать. Там уже был графический контроллер КЦГД и система команд к нему в машинных кодах. "Осина" была - FODOS, да и винты уже более вместимые пошли, вполне можно было начать развитие графики. Мы даже игрушку "жизнь" в графике запускали...   :D )))
- Рисую логику на SVG, чтобы наглядно подкрепить свои "словоизвержения". Как тока справлюсь - продолжу предыдущий пост...

0

46

рисуйте, рисуйте, проскорики слушные,
рисуйте, рисуйте, не ради молвы,
рисуйте, рисуйте, как вы только можете,
рисуйте, рисуйте, как видите вы... :)

0

47

- Стараюсь... :writing: )))

Я - рынок, и Язык мой - доллар.

Язык

https://ds03.infourok.ru/uploads/ex/0aac/0002c9cb-81458a5a/640/img6.jpghttp://www.grandars.ru/images/1/review/id/522/34f1aaafbf.jpg

Я Рынок... Мои "цены" - велики,
- Рискни, доверься, не томись, не парься,
Для верноподданных - все правила легки,
- Имей... Имай... И лишь в науку не ударься.

К чему прогресс? - Мне это дело не с руки,
- Урежу Век... Пущай "мудреют" человеки,
Скрижали - "избранным", (в "кошерные" деньки),
- Богов прославлю... (но смешаю языки),
Разверзну бездну им... (и вспять отправлю реки).
---
И наступил счастливый миг - под бой "курантов",
Кому не лень - все сочиняют "эсперанто",
Дерзают "пенки" снять, (кто "выше" и толков),
Предвосхитиши эру "мёртвых" языков,
Смурных понятий... (и смирительных оков),
И раньше всех возглавив толпы эмигрантов...

Многоязычие с тех пор мне не претит,
Слегка - куражит, разжигая аппетиты,
Родной язык? - Ума палата? - Не рекИ!,
Штаны - заплата, на дорогах - дураки,
Но на английском... Дюже "жарят"... Мужики,
(хоть не "мужи" они уже, но "троглодиты").

Язык "системы" - тоже прост, но путь - тернист,
А позаботилась о том - сама система,
Вот ты уже не программист, но "альпинист",
И суть не важно, что пред ангелами чист,
Но пред тобой - межъязыковая дилемма...

Хоть "иордань", хоть "хирогань", хоть "хатагань",
Лишь на латинском языке - не хулиганя,
Очередную истину - "сроди-сваргань",
Что "во хмелю" узреть успел, (на дне, в стакане)...
Я - терпелив, я не просплю "курантов" бой,
В тот час, когда ты... (перестанешь быть собой).

А про амбиции - забудь и гордость - вынь,
Чать не Декарт, не Лобачевский, не Белинский,
Во храм науки - путь один: - Зубри латынь,
Ещё - арабский не забудь... (и греко-римский).

Как одолеешь этот путь - и Бог с тобой,
Но, "присутулившись" к основам мирозданья,
Читай молитву... (и готовься на покой),
Пусть до "гипотезы" твоей - подать рукой,
- Нет "языков" для передачи знанья...
---
Я Рынок... Мои "цены" - велики,
А ежли "ценности" - те вовсе не подъёмны,
Я - Зло, ведь мои слуги - неуёмны,
Их - тьма... Пред ними люди - мотыльки...

0

48

Забыли Вы, мудрейший, ВАК упомянуть -
Древнейший наш язык, язЫков предок,
Во все народы пролагая путь,
Оставил он везде десятки меток.

И Ваша славная Латынь, Аккад, Ассир,
И всяко разно - раскинув крону
В глубину и в ширь, стоят на нем,
Как на столпе булатном.

0

49

Здравствуйте!

Куда все пропали?
Вот так всегда!
Как только найдёшь, что-нибудь интересное, интересных умных людей ... , так, обязательно, то акула глухая, то свисток без дырочки.
А я вот всю жизнь пытаюсь тянуться к программированию и вот, наконец-то, здесь понял, что больше всего, по душе - это визуально-графическое программирование, графический язык программирования.

0

50

Мне 52 будет. Я немного знаком с Python3, немного с HTML, CSS. Всё на любительском уровне. Зато если есть реальная интересная задача, то могу в ней разобраться и сделать, может быть и долго, но разобраться и сделать.В деле создания ВАЯТЕЛя, по тому плану, как вы здесь расписали, полностью вас поддерживаю и может быть могу надеяться, что вы воспользуетесь моими силами.
Очень надеюсь, что смогу быть полезен.

0

51

Мне всегда было интересно, почему испокон веков, что в технике, что в науке, что в архитектуре, да, в принципе, в любом виде деятельности, люди начинают с графики, то есть с набросков, эскизов, которые потом превращаются в чертежи, схемы и т. п., из которых потом получаются творения рук человеческих, и только в программировании всё свелось к тексту, к набору букв на клавиатуре, извращая свой мозг,  чтобы подстроиться под компьютер, а не решать задачи естественно, по человечески.
    Посмотрите до чего дошло. Открываю книгу "Дискретная математика для программиста". Там автор начинает рассказ про алгоритм обхода графа с целью найти минимальный путь и ..... он описывает алгоритм текстом, затем в псевдокоде ....
    Я листаю страницы и не вижу, хотя бы блок-схем .... Ведь казалось бы, что эффективнее и нагляднее всего представить алгоритм в графическо-текстовом виде. Ан нет! И это в любой книге и даже в тех, которые непосредственно посвящены алгоритмам.
    Что это?
    Я не понимаю! 
    Но ведь не зря, и не просто так существуют кинематические схемы, электрические принципиальные схемы, топология печатных плат, схемы в гидравлике, да где только их нет. Но только упоротые программисты предпочитают не замечать и игнорировать то, что подтверждено развитием человеческой цивилизации. Всё начиналось с рисунков, то есть с графики. Сначала с наскальных рисунков, а затем дальше больше.
    И только программисты предпочитают идти своим путём, хотя вековое развитие инженерных наук говорит об обратном.

0

52

деда написал(а):

Что это?
    Я не понимаю!

- Верно, деда, и я не понимаю. Особенно эта приверженность заметна на ресурсах наподобие "Хабрахабра".
Паче "святой молитвы" храня свою приверженность англицизмам, - им и собака Павлова не станет примером.
(если чашка пуста - останусь лежать на коврике, иначе...)))

http://atkritka.com/upload/iblock/f37/atkritka_1351462169_629.jpg

0

53

По идее, компьютер - это инструмент, который должен помогать человеку в его деятельности. Также и язык программирования - это инструмент, который должен помогать.
Такие же инструменты, какими, в своё время были пишущие машинки.
Почему пишущие машинки не возвели в ранг науки?
Вот существует ручной рубанок. Это инструмент, помогающий обрабатывать древесину.
Его можно взять и использовать по прямому назначению.
Есть электрорубанок, то есть рубанок с электроприводом.
Или взять весь сегмент электроинструмента.
Его тоже можно взять и использовать по назначению, не задумываясь, и даже не зная ничего об устройстве и принципе работы электричества, электромотора и прочих деталей.
И только, в так называемых компьютерных науках всё не так, и всё через задний проход.
Как я понимал, когда только впервые сталкивался с изучением электроники, синтезом и анализом цифровых логических схем,ТАУ, автоматизированных систем управления, хотя это и было в 1985-88 гг., что компьютер, в-первую, очередь - это помощник инженера в той предметной области, где он работает.
То есть компьютер и программирование - для специалиста в предметной области, а не наоборот, как сейчас общепринято.
Куча программистов, как отдельных специалистов, а с другой стороны - специалисты в предметных областях.

Да ёпрст!!!!
Эти извращенцы, даже язык описания аппаратуры придумали!?
То есть текстом описывать схему электронного устройства.

Я, просто, худею, дорогая редакция.

0

54

Представьте, допустим, как какой-нибудь, военный командир текстом описывает расположение своего подразделения на местности.....
Или текстовое описание карты местности.
Ну да, в художественной литературе, может быть ...
Но, во многих областях человеческой деятельности картинка, схема, графика - нагляднее, эффективнее, понятнее ...
От схемы эвакуации до схемы сложных систем.

0

55

И правильно дяденька-Уткин сказал, (на мою реплику о циклах), что у него жена - учительница. Всё это - действительно фракталы и вот с них-то и надо начинать настоящее обучение. А то "Волга впадает в Чёрное море"... - Дожили...

0

56

Честно говоря, не совсем понял предыдущее сообщение.
Но возвращаясь к графическому представлению ...
Вот, допустим триггер можно представить в виде схемы на транзисторах:
http://sg.uploads.ru/t/Jz9L7.png
Или на логических элементах:
http://sg.uploads.ru/t/kDfj5.png
Или представить триггер в виде его УГО (условного графического обозначения):
http://sh.uploads.ru/t/O4hfN.gif
И в любом случае понятно что это за устройство и что оно делает....
Просто получается, что это три уровня абстракции и как ни нарисуй, а устройство
будет себя вести всегда одинаково и понятно

0

57

То есть, в электронике, электротехнике и др. решили вопросы разработки даже сложных систем с помощью графических схем и УГО элементов и функциональных узлов и вполне успешно всё это используется.
А вот в программировании всё не так!

0

58

Кстати, всё-таки существуют  системы графического программирования промышленных логических контроллеров (ПЛК), например, CannyLab.
А есть ещё парадигма автоматного программирования http://is.ifmo.ru/automata/

0

59

http://joxi.ru/v29lgeOf3yY3Vm

http://joxi.ru/5mdMDpzckzp362

0

60

http://sg.uploads.ru/t/53TG1.jpg
http://s5.uploads.ru/t/iERW0.jpg

0