MH>Тема про ДРАКОН уже овердофига всего содержит, предлагаю выделить подобсуждение.. MH>Понятно что графическое представление алгоритмов в некоторых случаях и для некоторых удобнее, проще воспринимать и все вытекающие из этого следствия. MH>И также понятно что такой подход в некоторых случаях (что-то очень большое, высокопроизводительное и тп) не подойдёт.
1. С учетом контингента, поступающего к нам на программную инженерию, приняли решение — нужна некая графическая среда.
Пошукали, поняли, что дракон для обучения алгоритмике подойдет.
Пилим.
Если интересно, то вот что мы пилим: https://www.youtube.com/watch?v=nGvpO51gBRI
2. Выяснилось, что существует дофига народа, которым нужно делать алгоритмы, но они не программисты
Они — технологи.
Им надо делать системы с микропроцессорами, но писать программы им затруднительно.
Они предпочитают чертежи. Их они легко читают и могут делать сами.
Есть даже конкретная контора и конкретный чел, который просто чертит Дракон-схему в Дракон-редакторе, потом конвертирует ее в прогу для CodeSys
В CodeSys смотрит, что получилось — и опять в Дракон — редакторе поправляет дракон-схему.
Мы с ним беседовали — мужик конкретно сказал, что ему нафиг не упало становиться программистом и писать код. Он хочет видеть схему и работать со схемой.
Если что — контора Овен, одно из его подразделений.
MH>Интересно есть ли уже какие-то онлайн тулы/сервисы, чтоб редактировать, и во что потом преобразуется на кликанный алгоритм? javascript? что-то ещё? MH>Есть ли у кого опыт применения их и какой? MH>Например мне видится интересной мысль, чтоб ДРАКОН юзать для кастомизации разной бизнес-логики в бизнес-процессах...
Именно для этого он и предназначен.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, MadHuman, Вы писали:
MH>Понятно что графическое представление алгоритмов в некоторых случаях и для некоторых удобнее, проще воспринимать и все вытекающие из этого следствия.
Меня относительно недавно посетила мысль, что языки программирования и так имеют графическое представление. До этого я считал код текстом, который преобразуется в синтаксическое дерево. А текст в свою очередь это строка с символами переноса строки и возврата каретки. Далее он преобразуется в графический вид на экране.
При этом если бы шрифт был моноширным, то есть имел одну и ту же ширину, то получилась бы 2D таблица каждая ячейка которой является символом. Казалось бы что это меняет? Но это полностью меняет представление о тексте.
Если воспринимать текст как 2D массив или таблицу, то соответственно на него распространяются операции, вроде прямоугольного выделения. А это в свою очередь позволяет выделять и сохранять блоки текста, вкладывать блоки в блоки, использовать оверлеи, символьный альфаканал, подмену блоков текста, свою подсветку и многое другое.
Дело в том, что большинство редакторов выделяют текст как одномерную, но не двухмерную сущность. Лишь немногочисленные ascii-редакторы могут работать с текстом иначе, но они слишком примитивны.
При этом во времена старых консольных интерфейсов всё это было естественно. А сейчас, когда шрифты давно уже не моноширны восприятие программы исказилось. Да, мы видим текст как двумерную сущность, но из-за редакторов работаем как с одномерной.
Таким образом программистам не нужно уходить от работы с текстом, чтобы создавать графическое представление, просто нужны новые инструменты. Есть даже пример, который преобразует изображение в текст — pixelator. Но тут суть не в этом функционале, а в общей идее, что к тексту можно применять правила для работы с изображениями, а следовательно можно превратить программирование в черчение при этом не теряя связь ни с одним из текстовых языков.
Re[3]: Дракон - онлайн редактор, во что компилится..
L>Сильно подозреваю, что кому-то уже пришла в голову обратная идея: писать программу как обычно, а потом на основе написанного кода автоматически генерировать блок-схему. Смею предположить, что в общем случае мало-мальски опытный программист гораздо быстрее напишет код, чем нарисует блок-схему.
Работать с текстом или картинкой — зависит от психотипа.
Программисты в огромном большинстве — да.
Но!
а) есть люди (и девочки — почти все), которые просто предпочитают картинку.
б) есть множество специалистов, которым алгоритмы делать надо, но они хотят их чертить, а не писать. Не программисты.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Lazytech, Вы писали:
L>Сильно подозреваю, что кому-то уже пришла в голову обратная идея: писать программу как обычно, а потом на основе написанного кода автоматически генерировать блок-схему. Смею предположить, что в общем случае мало-мальски опытный программист гораздо быстрее напишет код, чем нарисует блок-схему.
Вы правы. Так, конечно, можно сделать.
Но сгенерированная таким образом блок-схема не будет иметь ничего общего с ДРАКОН-схемой.
Роман Озеров пишет:
Я на ДРАКОНе работаю уже 6 лет.
Любое создание программы начинаю с него и при отладке работаю только с ним.
Скорость разработки, качество возрастает в разы!
ДРАКОН это сила, но многие не догоняют, думают, что это обычная блок-схема...
Здравствуйте, Dym On, Вы писали:
A>>Обрыв линии ты видишь сразу. А незакрытую скобку ещё попробуй найди. DO>Практически любой алгоритм в виде схемы сложнее "Hello world" не влезет в экран. Как правило это будет безумный лес из спагетти линий и разных кватратиков/ромбиков/овальчиков/etc, и найти там обрыв линии не легче, чем незакрытую скобку, а то и сложнее.
Сдуру можно и хрен сломать.
Я подозреваю, что хорошие программисты будут изображать код определённым образом.
Собственно, сам Паронджанов где-то формулировал как надо рисовать алгоритмы,
чтобы ошибки сразу были видны. Типа линии не должны пересекаться и ветвиться только вправо.
А если они пересекаются и ветвятся в другую сторону — значит сам дурак.
Это примерно соответствует отказу от goto в текстовых программах.
И ещё, у него программа двумерная в отличие от текста.
Поэтому у него-то как раз больше в экран влезет.
Течёт вода Кубань-реки куда велят большевики.
Re[8]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Dym On, Вы писали:
DO>Но эта ниша не для коммерческого софта. Большинство таких программ не выходят за пределы организации, где были созданы.
Это не так. Вот пример. На видео показана установка глубокой переработки широкой фракции легких углеводородов (ШФЛУ) Южно-Балыкского газоперерабатывающего завода компании «Сургутнефтегаз» и шкаф управления установкой, где используется управляющая программа, 70%-80% которой написано на языке ДРАКОН.
Программа загружается в энергонезависимую память Сенсорного программируемого контроллера СПК 107 М01 фирмы ОВЕН.
Здравствуйте, MadHuman, Вы писали:
MH>Понятно что графическое представление алгоритмов в некоторых случаях и для некоторых удобнее, проще воспринимать и все вытекающие из этого следствия. MH>И также понятно что такой подход в некоторых случаях (что-то очень большое, высокопроизводительное и тп) не подойдёт.
Overhead от этого дракона, суда по описанию, очень невелик, он просто генерирует управляющие конструкции (ветвления и циклы) из нарисованных пользователем картинок, а действия внутри этий конструкций все равно надо руками написать на целевом языке программирования, и они попадают на выход без анализа и модификаций. Поэтому производительность-то вряд ли пострадает.
Но мне кажется, что в тех редких случаях, когда мы имеем дело с действительно непростым алгоритмом (а не как обычно "позвать библиотечную функцию, проверить ошибку, положить результат за пазуху"), то в виде диаграмм его будет понять куда как сложнее, чем в виде текста.
Re[5]: Дракон - онлайн редактор, во что компилится..
LVV>>б) у нас появляется инструмент, на котором можно обучать алгоритмам совсем уж неграмотных поступленцев. Они Питон просто не осилят. AN>Стоит ли их учить? Может быть их лучше отчислить? Потом ведь более сложные темы будут. Если они простые базовые вещи не могут освоить, будут ли они потом работать по специальности? AN>Когда учился я, в первых двух семестрах почти половина поступивших были отчислены или сами ушли. Завалились на матане, физике и программировании.
С тех прошло много лет, и министерство постановило, что можно не отчислять целый год.
И еще требует: сколько на бюджет пришло, столько и должно закончить. Иначе верните деньги взад.
Наше руководство на это пойтить никак не может, поэтому давит нас.
Мы, естественно, сопротивляемся и никак не ставим на халяву.
Толпа чистится, но не так быстро, как было раньше.
Второе. К нам часто едут из Казахстана и из Африки.
Естественно, большинство коммерческих. Им пофигу, сколько учиться.
Не раз было так: вылетел после 2 курса. Через год опять пришел, опять на 2 курс. И даже были случаи, когда второй раз реально брался за ум и вполне себе нормально учился.
Были случаи, когда с большим скрипом переваливались через 2 курса, а потом — лучше и лучше. И глядишь, к выпуску вполне квалифицированный чел, который находит свою нишу и вполне достойно зарабатывает.
Так что тут по-разному бывает.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Дракон - онлайн редактор, во что компилится..
L>Смею предположить, что люди, которые предпочитают работать с картинкой, дружно идут лесом, когда надо сделать мало-мальски сложную программу.
Нет. Системы управления с микропроцессорами — я лично общался с людьми, которые делают достаточно сложные системы, и они не программисты.
Посмотрите в моем видеодокладе.
Я знаком с Паронджановым лично, и он рассказывал, что при разработке системы управления Бурана
сначала ИНЖЕНЕРЫ чертили схемы управления (была разработана некая технология — предшественник дракона)
а потом программисты по схеме однозначно переводили это в программы для ботового компьютера.
Согласитесь, что та разработка была феноменально успешна:
на компьютерах с килобайтами памяти безошибочно сработала система автоматического управления.
И посадила Буран в сложных погодных условиях (был косой боковой ветер, который сносил планер).
Система приняла решение сделать разворот над полосой и сесть с противоположной стороны.
Та система почти не требовала отладки, так как кодировались уже правильные алгоритмы.
Нарисованные как формализованные схемы.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Dym On, Вы писали:
ВП>>Исходный код среды разработки Drakon.Tech выложен на GitHub DO>К сожалению оценить исходный код нельзя. Насколько я понял файл drn это просто файл sqlite, т.е. к нему нужен интерфейс. Какой же это исходник?
Спасибо за вопрос. Поясняю.
Открытый исходный код (public domain) имеют все три инструментальные программы Степана Митькина.
Здравствуйте, LaptevVV, Вы писали:
LVV>Работать с текстом или картинкой — зависит от психотипа. LVV>Программисты в огромном большинстве — да.
Дело не только и не столько в психотипе. Есть две вполне объективне проблемы:
1) Чисто технически описать сложную конструкцию текстом на клавиатуре в разы, если не на порядки быстрее. А если сравнить с современными редакторами типа того что в Студии или Райдере, то разрыв становится галактическим.
2) Графические языки очень, нет, ОЧЕНЬ хреново масштабируются. Графические схемы с десятком сущностей ещ как то воспринимаются, когда счет начинает идти на сотни все становится неудобоваримым.
И если по п.1 еще есть шанс что то исправить, хотя это и задачка крайне высокой сложности и требующая нестандартного подхода, то с п.2, боюсь, мало что можно сделать. Не зря же человечество задолго до компов стало передавать знания практически исключительно текстом.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Дракон - онлайн редактор, во что компилится..
В этой статье и в комментариях можно найти ответы на некоторые (конечно, не на все, а только на некоторые) вопросы и сомнения, которые здесь прозвучали.
Здравствуйте, IT, Вы писали:
IT>Т.е. если диаграмма не вмещается на мониторе моего лаптопа с 13" дисплеем, то это нарушение правил.
Вовсе нет. Правила Дракона совсем другие.
• Алгоритмы и программы следует изображать как силуэты.
• Сложные алгоритмы и программы следует изображать как силуэты, в которых многократно используются иконы «Вставка». Последние, в свою очередь, раскрываются как силуэты и т.д.
• Примитивы рекомендуется не использовать совсем или использовать в простейших случаях.
IT>А когда закончится ширина экрана, то во что будем превращать силуэт?
Горизонтальная прокрутка или использование Вставок.
IT>Это если в разделении есть смысл. А если нету?
Смысл всегда можно найти. Проблемы нет никакой. Это вопрос об имени ветки.
IT>Я ищу аналоги в здравом смысле. Пока я вижу, что дракон решает, что программист делает правильно, а что неправильно в зависимости от разрешения его монитора. Именно об этом я и говорил в своём первом сообщении: проходили, вердикт — нафик, вернёмся, когда мониторы будут поддерживать расширения 100000x50000.
Увы, Ваше последнее замечание не имеет никакого отношения к языку Дракон.
В качестве ответа на Ваш вердикт повторю слова Романа Озерова:
Я на ДРАКОНе работаю уже 6 лет.
Любое создание программы начинаю с него и при отладке работаю только с ним.
Скорость разработки, качество возрастает в разы!
ДРАКОН это сила, но многие не догоняют, думают, что это обычная блок-схема...
A>>Обрыв линии ты видишь сразу. А незакрытую скобку ещё попробуй найди. DO>Практически любой алгоритм в виде схемы сложнее "Hello world" не влезет в экран. Как правило это будет безумный лес из спагетти линий и разных кватратиков/ромбиков/овальчиков/etc, и найти там обрыв линии не легче, чем незакрытую скобку, а то и сложнее.
В том-то и дело, что "безумного леса" не наблюдается из-зы строгих правил Дракона.
На блок-схемах — да, безумный лес.
У меня вот в курсовой один перец изобразил несколько ветвлений с уходом в левую часть (по-арабски... ),
да еще и да-нет по-разному на разных ветках.
В Драконе все жестко. И леса не получается.
бесконечные схемы (как и всю прогу в одной main()) — никтотне рисует. Рисуют либо прототип, лтибо небольшой силуэт.
Малые схемы делают макроиконами и потом эту макроикону вставляют в бОльшую схему.
Ну, как программисты и делают — только с кодом.
Я сам это видел у конкретного чела в конкретной конторе и в конкретной разработке.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>
Я на ДРАКОНе работаю уже 6 лет.
ВП>Любое создание программы начинаю с него и при отладке работаю только с ним.
ВП>Скорость разработки, качество возрастает в разы! ВП>ДРАКОН это сила, но многие не догоняют, думают, что это обычная блок-схема...
НИЧЕГО НЕ ПОНЯЛ! СДЕЛАЙ БУКВЫ ПОБОЛЬШЕ!!!111
Re[7]: Дракон - онлайн редактор, во что компилится..
Три года назад я делал доклад в Институте системного программирования Российской академии наук под названием Неклассическая теория алгоритмов и алгоритмический язык ДРАКОН.
Аннотация доклада
Современная теория алгоритмов не имеет удобного (эргономичного) языка, позволяющего облегчить и ускорить понимание алгоритмов ЧЕЛОВЕКОМ. Она не применима к медицинским алгоритмам и не содействует повышению безопасности пациентов. Она не оказывает практической помощи при разработке бизнес-процессов, потоков работ (workflows) и пр.
Современные языки программирования используют управляющие слова (if, then, else, case, switch, break, while, do, repeat, until, for, foreach, continue, loop, exit, when, last и др.) , которые играют роль визуальных помех, провоцируют появление ошибок и мешают понять смысл алгоритма в терминах предметной области.
В докладе предлагаются теоретические и практические средства, чтобы устранить или ослабить указанные недостатки.
Здравствуйте, Dym On, Вы писали:
DO>Практически любой алгоритм в виде схемы сложнее "Hello world" не влезет в экран. Как правило это будет безумный лес из спагетти линий и разных кватратиков/ромбиков/овальчиков/etc.
Это не так. Никакого леса. Никаких спагетти.
Вам возражает Степан Митькин (Норвегия), разработчик трех программ DRAKON Editor (2011), DrakonHub (2018), Drakon.Tech (2019).
Drakon.Tech написан (нарисован) на языке ДРАКОН в среде DRAKON Editor
Это к вопросу о том, можно ли на ДРАКОНе создавать большой серьёзный софт.
Публикация исходных текстов проекта Drakon.Tech примечательна в том числе и потому, что показывает, как язык ДРАКОН применяется в практическом программировании.
Любая среда разработки – алгоритмически нагруженная программа. Поэтому язык программирования, на котором написана среда, подвергается особенно суровой проверке.
Выдержал ли ДРАКОН такую проверку? Теперь каждый может это узнать, посмотрев на исходный код Drakon.Tech.
Здравствуйте, LaptevVV, Вы писали:
LVV>Система приняла решение сделать разворот над полосой и сесть с противоположной стороны.
Не надо такую глупость говорить. С противоположной стороны означало сеть по ветру, что крайне большая глупость в данных метеоусловиях и скорее всего все закончилось бы фатально, полосы бы не хватило. И над полосой он не разворачивался, это тоже бы ни к чему хорошего не привело. Что было — ожидалось, что заход будет левым разворотом, все шло к этому, а он зашел правым, хотя его ветер сдул вправо. При этом это не означает, что сесть как ожидалось было бы неправильным решением, просто в алгоритме была заложена соответствующая свобода действий и алгоритм этой свободой воспользовался, посчитав, что так будет оптимальнее. На деле там не такие уж и сложные расчеты и совсем не сверхсложный алгоритм, огромного количества памяти для него явно не требовалось, да и сведхбыстродействие тоже не требовалось. Задача конечно интересная, особенно для тех лет, но все технологии для ее решения были давно в наличии с ИТшной точки зрения.
Re[7]: Дракон - онлайн редактор, во что компилится..
G>Скажем, в 3д софтах (Майа, Блендер) широко используется графическое программирование, но ниже лежит Питон, при желании можно писать только на нем. В данном сл. есть ядро и плагины, далее скриптовый язык, далее графический. Для Питона много всего, большие коммьюнити, многие владеют, поэтому пока мне его использование представляется выгодным.
Задача конвертирования Дракон-схемы в язык — поставлена.
Более того, думаем в конечном итоге переводить на LLVM, а потом из LLVM — в коды непосредственно микропроцессоров.
Один из пацанов уже написал начальную версию прямого интерпретатора Дракон-схемы. Как это требовалось потенциальному потребителю.
Сначала он все писал на С++, потом из-за необходимости веб-интерфейса, переписал все на Dart+Flutter.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>б) у нас появляется инструмент, на котором можно обучать алгоритмам совсем уж неграмотных поступленцев. Они Питон просто не осилят.
Стоит ли их учить? Может быть их лучше отчислить? Потом ведь более сложные темы будут. Если они простые базовые вещи не могут освоить, будут ли они потом работать по специальности?
Когда учился я, в первых двух семестрах почти половина поступивших были отчислены или сами ушли. Завалились на матане, физике и программировании.
Здравствуйте, MadHuman, Вы писали:
MH>Интересно есть ли уже какие-то онлайн тулы/сервисы, чтоб редактировать, и во что потом преобразуется накликанный алгоритм? javascript? что-то ещё?
1. Инструментальная программа ИС Дракон (автор Геннадий Тышов) по желанию пользователя автоматически преобразует дракон-программу в исходный код любого из 10 целевых языков: С, Delphi, Java, Lua, PL/SQL, ABAP, Forth, Oberon, 1С, BASCOM. https://bit.ly/2OOgXgN
2. Инструментальная программа DRAKON Editor (автор Степан Митькин) преобразует дракон-программу в исходный код любого из 13 целевых языков: Java, Processing, D, C#, C/C++ (with Qt support), Python, Tcl, JavaScript, Lua, Erlang, AutoHotkey, КуМир и Veriloghttp://sourceforge.net/projects/drakon-editor/files/
3. Инструментальная онлайн-программа Drakon.Tech (автор Степан Митькин) преобразует дракон-программу в исходный код JavaScript https://drakon.tech
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Это не так. У языка Дракон есть мощные средства декомпозиции.
Имхо графические схемы не нужны при описании алгоритмов. Они нужны при описании процессов (где исполнитель не один и всё крутится одновременно и событийно).
Вот интересно какие такие мощные средства декомпозиции. Из презентации видно даже простая логика обработки отказов превращается дикий ужас. Не говоря уже о вложенных алгоритмах. ВП>Чем сложнее алгоритмы, тем больше выигрыш от использования Дракона. https://www.youtube.com/watch?v=P2yr-3F6PQo&t=1394
Re[16]: Дракон - онлайн редактор, во что компилится..
LVV>>1. Есть вот такая книжка: https://www.labirint.ru/books/562034/ LVV>>Там автор со статистикой приводит доводы в пользу небольших размеров. IT>И какие они должны быть небольшие? В KB или MB?
Там мужик, видимо из консалтинговой конторы, приводит данные по успешным проектам.
Написано, что 85% методов/функций должны быть в объеме 15-30 строк исходного кода.
Тогда проект по сопровождаемости/модификации имеет ранг 4 звезды (всего — 5 звезд — как это принято на западе... ).
Мартин Фаулер в новом издании книжки Рефакторинг в 1 вводной главе проводит рефакторинг функции из примерно 50-70 строк (может 100 — не уточнял)
и разбивает ее на смысловые независимые части, которые оформляет в более короткие функции. LVV>>2. Мой личный опыт разработки научных программ по моделированию перколяционных процессов показал мне влияние кэша на скорость работы. LVV>>Правда у меня это касалось конкретно кэша данных. IT>Мой личный опыт разработки энтерпрайз и open-source проектов показал мне абсолютное отсутствие какого-либо влияния кеша на скорость работы. При этом оптимизациям производительности в этих проектах уделяется существенное внимание.
Ну, скорее всего, там производительность зависит от работы с базой данных.
У меня была другая ситуация.
Квадратная матрица со стороной 10000/20000/30000/40000 элементов заполняется определенным образом отрезками элементов по вертикали и горизонтали.
Отрезки размером от 2 элементов и больше — все одинаковые.
1 раз заполнение — это 1 шаг моделирования.
Потом матрицу очищаем и по-новой.
Таких шагов — не менее 1000, а лучше больше.
Поэтому скорость выполнения 1 шага — критична.
Да, и работа велась еще в 32-битной системе на моем ноуте с win7.
Естественно, делал профилирование, смотрел все показатели.
И заметил, что при работе в матрице по вертикали скорость в 4 раза меньше, чем при работе по горизонтали.
Работа совершенно идентичная, кроме порядка индексов.
Повысил скорость, перед работой по вертикали переписывал столбец в голизонтальный вектор.
Замедление составило 1.25, по сравнению с 4 это очень существенно.
Поэтому для задач-числодробилок больших объемов в памяти кэш играет рояль.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Дракон - онлайн редактор, во что компилится..
L>Смутно подозреваю, что разработка системы управления космическим кораблем — особый случай, а в общем случае разрабатывать таким образом современные программы крайне неэффективно.
Дело в том, что подобных систем дофига не только в околовооружениях.
Например, в стиралке микропроцессор и там система управления.
В автомобиле компьютер. Не говоря уж о специальных системах (мне в Овене показывали).
Помнится, в САРНИГМИ каждую ночь рассчитывалась погода на весь среднеазиатский регион СССР.
дык данные поступали с датчиков, которые были раскиданы по всей Средней Азии (сам видел эти шкафы)
В общем, мэйнстримная типовая обработка данных — это только одно направление разработки.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, MadHuman, Вы писали:
MH>Интересно есть ли уже какие-то онлайн тулы/сервисы, чтоб редактировать, и во что потом преобразуется на кликанный алгоритм? javascript? что-то ещё?
Flowgorithm can interactively convert your flowchart to over 18 languages. These include: C#, C++, Java, JavaScript, Lua, Perl, Python, Ruby, Swift, Visual Basic .NET, and VBA (used in Office).
MH>Есть ли у кого опыт применения их и какой?
Нет
With best regards
Pavel Dvorkin
Re[5]: Дракон - онлайн редактор, во что компилится..
, что-то не открывается. Зато открывается другая ссылка оттуда же.
Не только слышал, но книжку Вельбицкого читал, и по сети смотрел. P>Почему бы не применить такую схему? Рассмотреть преимущества и недостатки этой технологии по сравнению с Драконом?
Мы живем в капитализме, когда реклама — наше все.
Все, что вне мэйнстрима, абитурой воспринимается очень негативно.
Про Дракон, по крайней мере, многие слыхали, а про Р-технологию знают только такие бронтозавры, как мы с тобой.
Я, конечно, школьников воспитываю.
Один первокурсник мне, например, говорит: Семантик — отстой, там ошибки, и вообще...
А я ему: Крутой, да? Возьми проект и исправь ошибки. Там еще доработать надо — скажу, что.
Заодно и перепиши, как тебе хочется.
С нуля. Овер 20000 операторов исходного кода.
Только вот такой грубый наезд до них доходит.
А то растопырят пальцы веером, сопли пузырями — все из себя такие крутые...
Круче только яйца вареные.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Дракон - онлайн редактор, во что компилится..
AN>Т.е. — сейчас нет такой практики, что набрать студентов больше, чем есть мест, а на первом курсе устроить жёсткий отсев?
Набирается больше за счет коммерческих.
Но БЫСТРОГО и ЖЕСТКОГО отсева не получается из-за условий, в которые нас ставит министерство.
Вообще по моим наблюдениям, которые подтвердил Шалыто в интервью 2017 года, заканчивает 1/4 часть от поступивших.
У нас при примерно 40 поступивших завершает обычно не более 10. В итмо — при 200 принятых — завершает примерно 50 (это озвучил Шалыто) LVV>>Второе. К нам часто едут из Казахстана и из Африки. LVV>>Естественно, большинство коммерческих. Им пофигу, сколько учиться. AN>Если за каждый повторный год платит, то, конечно не выгонят
Ну, совсем уж никаких все же отчисляют, и им приходится повторно платить за тот же год. Тоже выгода. AN>Когда я учился, тех кто отлично учился на платном, переводили на бюджетное обучение. AN>В Астраханском ГУ это практикуется?
АГТУ. АГУ — это не мы.
Практикуется. 2 сессии без троек — и при наличии свободных мест — переводим. Сам участвую в этих заседаниях нашего ученого совета. LVV>>Не раз было так: вылетел после 2 курса. Через год опять пришел, опять на 2 курс. И даже были случаи, когда второй раз реально брался за ум и вполне себе нормально учился. AN>Случаи разные бывают. Были 2 однокурсника, которые решили, что не хотят ИТ заниматься. Ушли на 2-м курсе, после армии один восстановился, второй поступил в другой технический ВУЗ, причём сданные у нас экзамены и зачёты ему перезачли.
У нас перезачеты, естественно, тоже есть.
Но к нам перевестись сложно.
Из МФТИ чел с программной инженерии на нашу программную инженерию не смог перевестись из-за разницы планов.
Он в МФТИ закончил 3 курс, а к нам хотел на 4-й.
Но! мы смогли его только на 2-й.
У него там было 2 курсовых за 3 года, а у нас 2 курсовых КАЖДЫЙ семестр.
И еще учебные и производственные практики.
В общем, по нормативам министерства — никак не получалось даже на третий.
Это к вопросу о стандартах и их фактическом отсутствии...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Дракон - онлайн редактор, во что компилится..
НС>И если по п.1 еще есть шанс что то исправить, хотя это и задачка крайне высокой сложности и требующая нестандартного подхода, то с п.2, боюсь, мало что можно сделать. Не зря же человечество задолго до компов стало передавать знания практически исключительно текстом.
Я во многом согласен.
Но все же...
1. Мы опрашивали студентов нескольких групп разных возрастов. Девочки предпочитают картинку (блок-схему)
Мальчики — в огромном большинстве — текст. Но есть и те (их очень мало), кому пофигу.
2. Попытки использовать графические языке не прекращаются.
Вспоминаю Р-схемы и РТК-комплекс, которые начинались в СССР : http://emag.iis.ru/arc/infosoc/emag.nsf/BPA/e72abd849fe68a7dc32576eb0034c090
И ведь система реально работала и развивалась, но с приходом Горбачева все стало загибаться.
3. Вот прямо сейчас меня по телефону домогается мужик, которому до зарезу нужна Drakon IDE — построение и отладка Дракон-схем.
Мне навязывали денежный договор на разработку очень настойчиво.
Мой доклад в Орле на эту тему на ютубе посмотрели более 1500 человек — я просто фигею! Обычная цифра — 100-200 просмотров.
Значит, кому-то это НУЖНО реально.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Все привет!
Тема про ДРАКОН уже овердофига всего содержит, предлагаю выделить подобсуждение..
Понятно что графическое представление алгоритмов в некоторых случаях и для некоторых удобнее, проще воспринимать и все вытекающие из этого следствия.
И также понятно что такой подход в некоторых случаях (что-то очень большое, высокопроизводительное и тп) не подойдёт.
Интересно есть ли уже какие-то онлайн тулы/сервисы, чтоб редактировать, и во что потом преобразуется на кликанный алгоритм? javascript? что-то ещё?
Есть ли у кого опыт применения их и какой?
Например мне видится интересной мысль, чтоб ДРАКОН юзать для кастомизации разной бизнес-логики в бизнес-процессах...
Здравствуйте, velkin, Вы писали:
V>Таким образом программистам не нужно уходить от работы с текстом, чтобы создавать графическое представление, просто нужны новые инструменты.
Следуя такому подходу, надо было бы и твой пост соответствующим образом отформатировать.
Чтобы посмотрел на текст — и в мозгу закрутилась программа.
Только, пожалуйста, без зацикливаний и делений на 0.
И монощиринным шрифтом пиши.
MH>Понятно что графическое представление алгоритмов в некоторых случаях и для некоторых удобнее
По-моему, вся эта графика куда менее удобна, чем табулированный и комментированный текстовый код. Хотя бы за счёт меньшей плотности: приходится бегать глазами по диаграмме, которая может быть не маленькой.
Кроме того, непонятно: если человек запомнил графический "условный ромб", почему он не в силах запомнить директивы "if-then-else"? В чём тут принципиальное отличие?
Re[2]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, L.K., Вы писали:
LK>Кроме того, непонятно: если человек запомнил графический "условный ромб", почему он не в силах запомнить директивы "if-then-else"? В чём тут принципиальное отличие?
Обрыв линии ты видишь сразу. А незакрытую скобку ещё попробуй найди.
Течёт вода Кубань-реки куда велят большевики.
Re[3]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Carc, Вы писали:
A>>Обрыв линии ты видишь сразу. А незакрытую скобку ещё попробуй найди. C>Есть старый способ от Стива МакКонелла про поиск потерянных скобок. C>Начинаем считать с единицы скобки с начала "дремучего леса" этих потерянных скобок. Каждая открывающая скобка +1 к сумме. Каждая закрывающая скобка -1 из суммы. На выходе из "леса" скобок должны получить ноль. Простой и действенный способ.
Ты предлагаешь это делать человеку при взгляде на программу?
Если это будет делать программа, то она конечно обнаружит факт отсутствия скобки.
Но где именно скобка отсутствует?
Течёт вода Кубань-реки куда велят большевики.
Re[5]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, Carc, Вы писали:
A>>>Обрыв линии ты видишь сразу. А незакрытую скобку ещё попробуй найди. C>>Есть старый способ от Стива МакКонелла про поиск потерянных скобок. C>>Начинаем считать с единицы скобки с начала "дремучего леса" этих потерянных скобок. Каждая открывающая скобка +1 к сумме. Каждая закрывающая скобка -1 из суммы. На выходе из "леса" скобок должны получить ноль. Простой и действенный способ.
A>Ты предлагаешь это делать человеку при взгляде на программу? A>Если это будет делать программа, то она конечно обнаружит факт отсутствия скобки. A>Но где именно скобка отсутствует?
Дык по ходу такого счета скобок обычно и становится ясно, где скобка и потерялась
Здравствуйте, alpha21264, Вы писали:
A>Обрыв линии ты видишь сразу. А незакрытую скобку ещё попробуй найди.
Практически любой алгоритм в виде схемы сложнее "Hello world" не влезет в экран. Как правило это будет безумный лес из спагетти линий и разных кватратиков/ромбиков/овальчиков/etc, и найти там обрыв линии не легче, чем незакрытую скобку, а то и сложнее.
Счастье — это Glück!
Re[5]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, alpha21264, Вы писали:
A>Я подозреваю, что хорошие программисты будут изображать код определённым образом.
Смешная шутка
A>Типа линии не должны пересекаться и ветвиться только вправо. A>А если они пересекаются и ветвятся в другую сторону — значит сам дурак. A>Это примерно соответствует отказу от goto в текстовых программах.
Ну да, ну да, а если вправо ветвится некуда, то опять же сам дурак
A>И ещё, у него программа двумерная в отличие от текста. A>Поэтому у него-то как раз больше в экран влезет.
Э-э-э-эм, не уверен.
Программы пишутся один раз, а потом нескончаемое число раз редактируются, типа: сюда добавить, отсюда убрать, а вот сюда временную переменную, сейчас удалю (ага, конечно!!! забыл, через 10 лет на нее полалгоритма завязано), а этот кусочек закомментим, компильнем, потом раскоментим (на самом деле не раскомментим) и так в течение 30 лет. Мне даже страшно представить как это будет на схеме.
PS Да и не надо тут писать про культуру разработки, про то, что хорошие программисты что-то там делают... Все всё понимают, но в итоге получается как я написал.
Счастье — это Glück!
Re[4]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
L>>Сильно подозреваю, что кому-то уже пришла в голову обратная идея: писать программу как обычно, а потом на основе написанного кода автоматически генерировать блок-схему. Смею предположить, что в общем случае мало-мальски опытный программист гораздо быстрее напишет код, чем нарисует блок-схему. LVV>Работать с текстом или картинкой — зависит от психотипа. LVV>Программисты в огромном большинстве — да. LVV>Но! LVV>а) есть люди (и девочки — почти все), которые просто предпочитают картинку.
Для описания высокоуровневых абстракций, картинки многие применяют и для таких задач Дракон может использоваться вместо других графических нотаций или совместно с ними.
Но идея, что бы написать внутри графических элементов куски кода, потом из них сгенерировать исходник, мне кажется неудачной. Лучше сразу написать текст. К тому же, редко ПО ограничивается одной версией. А смотреть, где, что, когда и кем менялось, в тексте проще, чем в картинках. Особенно, если проект большой. И код ревью изменений тоже проще делать.
LVV>б) есть множество специалистов, которым алгоритмы делать надо, но они хотят их чертить, а не писать. Не программисты.
Как они потом эти аглоритмы переводят в код, который можно выполнить?
Re[6]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>1. Мы опрашивали студентов нескольких групп разных возрастов. Девочки предпочитают картинку (блок-схему) LVV>Мальчики — в огромном большинстве — текст. Но есть и те (их очень мало), кому пофигу.
А сколько в вашем вопросе было сущностей на картинке? Как думаешь, будет ли меняться ответ, если на ней будет 100 сущностей? 1000?
LVV>2. Попытки использовать графические языке не прекращаются.
И в случае программирования все попытки строго неудачные.
LVV>3. Вот прямо сейчас меня по телефону домогается мужик, которому до зарезу нужна Drakon IDE — построение и отладка Дракон-схем. LVV>Мне навязывали денежный договор на разработку очень настойчиво.
Фриков много, в том числе и таких кто хочет потратить деньги, особенно если деньги не свои.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>Но ниша — достаточно объемная. Мне москвичи сообщили, что даже в Иркутске интересуются.
Но эта ниша не для коммерческого софта. Большинство таких программ не выходят за пределы организации, где были созданы.
Счастье — это Glück!
Re[2]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, IT, Вы писали:
IT>Был такой у MS сервер — BizTalk. Лет 17-ть назад на одном проекте нам его активно пихали. Так вот там, всё это уже было реализовано.
Эти слова не имеют отношения к Дракону. Первый общедоступный редактор Дракона появился 12 лет назад. Ваши слова "всё это уже было реализовано" не относятся к Дракону и вводят в заблуждение.
IT>Для того, чтобы нарисовать в графике более менее сложные алгоритмы потребовались бы экраны с разрешением не менее 100000x50000.
Это не так. У языка Дракон есть мощные средства декомпозиции. Чем сложнее алгоритмы, тем больше выигрыш от использования Дракона.
С уважением В. Паронджанов
Re[4]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, IT, Вы писали:
IT>В приведённой в этом топике презентации никаких средств декомпозиции не обнаружено.
В языке ДРАКОН для декомпозиции больших алгоритмов предусмотрены два инструмента:
• использование Вставок (процедур и функций),
• дробление алгоритмов силуэт на ветки.
IT>Этот способ известен лет сорок и звучит как "процедура должна помещаться на экране". Обусловлен он ограничениями древних мониторов, которые умели листать код только постранично. Если такой полезный приём необходим дракону, то это однозначно признак несовершенства.
Процедура и сейчас должна быть маленькой...
И дело не в экране.
А в размере страницы памяти и кэша.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, IT, Вы писали:
IT>...простые диаграммы вынуждают нас прокручивать их по вертикали...
Это не так. Прокручивать по вертикали ничто не вынуждает. Если простая диаграмма (примитив) имеет большую высоту, это ошибка и нарушение правил. Нужно ее разделить на части и превратить в силуэт.
IT>Интересно, как будет выглядеть такая диаграмма, если у неё в одном блоке будет 15 элементов, а в другом 2. Боюсь, что таких ровненьких алгоритмов, как в этой презентации, в жизни существует не много.
Блок (ветка силуэта) из 15 икон надо разделить по смыслу на две (или даже три) ветки. Тут нет никакой проблемы. Это делается моментально.
В программе "ИС Дракон" вопрос "изменить высоту схемы" решается просто.
В контекстных меню есть пункты "Разделить Примитив, Ветку" и "Объединить Ветки".
Вы ищете аналоги в текстовом программировании (textual programming).
Дракон — это визуальное программирование (visual programming).
Тут надо соблюдать осторожность с выводами. Прямых аналогий здесь нет.
Здравствуйте, MadHuman, Вы писали:
MH>Понятно что графическое представление алгоритмов в некоторых случаях и для некоторых удобнее, проще воспринимать и все вытекающие из этого следствия.
Кому понятно
MH>Интересно есть ли уже какие-то онлайн тулы/сервисы, чтоб редактировать, и во что потом преобразуется на кликанный алгоритм? javascript? что-то ещё?
Построители воркфлоу всякие? Типа когда ты рисуешь "процесс" или "алгоритм" а он потом исполняется.
Во всяких системах документооборота встречается (Nintex например). Микрософт с SharePoint Workflow Designer тужился, теперь вот с PowerAutomate.
Также в например во всяких issue tracker, например JIRA или Azure DevOps (TFS), для настройки процесса.
Здравствуйте, MadHuman, Вы писали:
MH>Интересно есть ли уже какие-то онлайн тулы/сервисы, чтоб редактировать, и во что потом преобразуется на кликанный алгоритм? javascript? что-то ещё?
Подробную информацию можно найти на официальном форуме языка ДРАКОН https://forum.drakon.su/
Здравствуйте, LaptevVV, Вы писали:
MH>>Например мне видится интересной мысль, чтоб ДРАКОН юзать для кастомизации разной бизнес-логики в бизнес-процессах... LVV>Именно для этого он и предназначен.
Я не спец в таком, но задачки граф. программирования пролетали рядом и, не исключено, скоро столкнутся со мной. Чем прекрасен именно Дракон? Почему, скажем, не Питон, под который много чего и где наработано?
Добавлю про микроконтроллеры. Есть LabView с граф. подходом и своим языком. Если не ошибаюсь, это фактически стандарт.
G>Я не спец в таком, но задачки граф. программирования пролетали рядом и, не исключено, скоро столкнутся со мной. Чем прекрасен именно Дракон? Почему, скажем, не Питон, под который много чего и где наработано?
Питон — это не графический язык. G>Добавлю про микроконтроллеры. Есть LabView с граф. подходом и своим языком. Если не ошибаюсь, это фактически стандарт.
Ну, мы ж исходим из конкретной ситуации. Есть конкретная потребность у конкретных людей.
И нам хорошо.
а) ряд студентов получают практику реальной разработки с учетом пожеланий потенциального потребителя.
б) у нас появляется инструмент, на котором можно обучать алгоритмам совсем уж неграмотных поступленцев. Они Питон просто не осилят.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>Питон — это не графический язык.
Скажем, в 3д софтах (Майа, Блендер) широко используется графическое программирование, но ниже лежит Питон, при желании можно писать только на нем. В данном сл. есть ядро и плагины, далее скриптовый язык, далее графический. Для Питона много всего, большие коммьюнити, многие владеют, поэтому пока мне его использование представляется выгодным.
Я не пропагандирую, пытаюсь понять для себя. Маячит подобная задачка в перспективе. Охватить тему граф. программирования, трудоемкости встраивания, возможностей у меня быстрым наскоком не получилось.
LVV>Ну, мы ж исходим из конкретной ситуации. Есть конкретная потребность у конкретных людей. LVV>И нам хорошо. LVV>а) ряд студентов получают практику реальной разработки с учетом пожеланий потенциального потребителя. LVV>б) у нас появляется инструмент, на котором можно обучать алгоритмам совсем уж неграмотных поступленцев. Они Питон просто не осилят.
Я понял, спасибо. Гляну этот ваш Дракон.
Re[4]: Дракон - онлайн редактор, во что компилится..
, что-то не открывается. Зато открывается другая ссылка оттуда же.
Для работы по Ртехнологии разработаны технологические комплексы РТК, которые автоматизируют графический стиль программирования практически на всех этапах разработки программного проекта от постановки задачи, системного анализа и модельного проектирования до его конструирования, отладки, документирования и эксплуатации пользователем. Комплексы РТК реализованы на всех вычислительных машинах широкого применения и поддерживают графический стиль программирования в штатных операционных системах со всеми основными языками программирования: Си, Модула2, Паскаль, Фортран, ШТ1, ассемблеры и т.д. (табл. 1).
Я видел графические схемы на Фортране и PL/1. Правда, как их вводили в ЕС ЭВМ, для меня до сих пор загадка. Значит, в рамках этой технологии возможно сделать графический Питон, не?
Я еще помню, что если заполнить графическую схему операторами PL/1, и результат чем-то не устроит, PL/1 можно заменить чем угодно, хоть ассемблером.
Тогда же много обсуждали РТК, аббревиатура врезалась мне в память, но я напрочь забыл, как она раскрывается. ТК, по-видимиму, технологический комплекс.
Почему бы не применить такую схему? Рассмотреть преимущества и недостатки этой технологии по сравнению с Драконом?
Re[2]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, alpha21264, Вы писали:
A>Обрыв линии ты видишь сразу. А незакрытую скобку ещё попробуй найди.
Есть старый способ от Стива МакКонелла про поиск потерянных скобок.
Начинаем считать с единицы скобки с начала "дремучего леса" этих потерянных скобок. Каждая открывающая скобка +1 к сумме. Каждая закрывающая скобка -1 из суммы. На выходе из "леса" скобок должны получить ноль. Простой и действенный способ.
Здравствуйте, LaptevVV, Вы писали:
LVV>Не только слышал, но книжку Вельбицкого читал, и по сети смотрел.
А я слушал доклад кого-то из института Глушкова. А может, из Института прикладной математики и механики. (Был такой в Донецке. Посмотрел в Сети, оказывается он существует по сей день.)
Но до какой-то практики дело не дошло. Так что в этом вопросе я теоретик. И, конечно, очень многое забылось.
LVV>Мы живем в капитализме, когда реклама — наше все. LVV>Все, что вне мэйнстрима, абитурой воспринимается очень негативно.
А потом вдруг выясняется, что мир постепенно меняется.
Вот нам когда-то довольно подробно рассказывали про рекурсивные функции. А про Лисп, где их можно было бы попробовать, я даже не слышал тогда. А сейчас функциональщина взодит в моду. Ясно, что в то время для Лиспа просто не хватало ресурсов тех ЭВМ. Да еще попробуй не запутаться в скобках, набивая код на перфокартах.
LVV>Один первокурсник мне, например, говорит: Семантик — отстой, там ошибки, и вообще...
А вот про это я сейчас слышу впервые. Что-то полезное? Дашь почитать про него?
LVV>А я ему: Крутой, да? Возьми проект и исправь ошибки. Там еще доработать надо — скажу, что. LVV>Заодно и перепиши, как тебе хочется. LVV>С нуля. Овер 20000 операторов исходного кода.
Ага, про переписывание с нуля надо с пеленок объяснять. Я раз в таком переписывании участвовал. Только не во время учебы, а в суровой реальности. Старый проект перестал удовлетворять требованиям. Должен заметить, что решение переписать его было правильным. Но при планировании кое-чего не предусмотрели, кое-что не заметили, в общем, проект запустили на 2.5 года позже, чем планировали.
LVV>Круче только яйца вареные.
Вспомни себя первокурсником. Чужой код всегда выглядел написанным по-китайски. В лучшем случае — по-арабски.
Re[7]: Дракон - онлайн редактор, во что компилится..
LVV>>Мы живем в капитализме, когда реклама — наше все. LVV>>Все, что вне мэйнстрима, абитурой воспринимается очень негативно. P>А потом вдруг выясняется, что мир постепенно меняется. P>Вот нам когда-то довольно подробно рассказывали про рекурсивные функции. А про Лисп, где их можно было бы попробовать, я даже не слышал тогда. А сейчас функциональщина взодит в моду. Ясно, что в то время для Лиспа просто не хватало ресурсов тех ЭВМ. Да еще попробуй не запутаться в скобках, набивая код на перфокартах.
Это да. Но молодым это объяснять бесполезно, как ты понимаешь... LVV>>Один первокурсник мне, например, говорит: Семантик — отстой, там ошибки, и вообще... P>А вот про это я сейчас слышу впервые. Что-то полезное? Дашь почитать про него?
Да мы с 2012 года юзаем. Сами сделали, сами юзаем.
Если хочешь, вот можно посмотреть: https://www.youtube.com/watch?v=M2o2wARHtcM
P>Вспомни себя первокурсником. Чужой код всегда выглядел написанным по-китайски. В лучшем случае — по-арабски.
Я со второго семестра программирование изучал...
Поэтому у меня это пришло позже, во время работы.
Я — выпускник ПЕРВОЙ группы факультета Прикладной математики и механики Ташкентского универа.
У нас было программирование в кодах Минск-22. На машине были на 2 курсе осенью 3 недели.
Так что там не до крутизны было...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Pzz, Вы писали:
Pzz>Но мне кажется, что в тех редких случаях, когда мы имеем дело с действительно непростым алгоритмом (а не как обычно "позвать библиотечную функцию, проверить ошибку, положить результат за пазуху"), то в виде диаграмм его будет понять куда как сложнее, чем в виде текста.
Сильно подозреваю, что кому-то уже пришла в голову обратная идея: писать программу как обычно, а потом на основе написанного кода автоматически генерировать блок-схему. Смею предположить, что в общем случае мало-мальски опытный программист гораздо быстрее напишет код, чем нарисует блок-схему.
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Но сгенерированная таким образом блок-схема не будет иметь ничего общего с ДРАКОН-схемой.
Совершенно верно.
ВП> Роман Озеров пишет: ВП>
Я на ДРАКОНе работаю уже 6 лет.
ВП>Любое создание программы начинаю с него и при отладке работаю только с ним.
ВП>Скорость разработки, качество возрастает в разы! ВП>ДРАКОН это сила, но многие не догоняют, думают, что это обычная блок-схема...ВП>https://bit.ly/2NHnYzb см. комментарии к видео
Очень похоже на
эффект плацебо.
P.S. А если серьезно, не имею ничего против ДРАКОНа. Если он кому-то полезен, почему бы и нет.
Здравствуйте, LaptevVV, Вы писали:
LVV>Это да. Но молодым это объяснять бесполезно, как ты понимаешь...
Если про перфокарты, то и не нужно. А если про рекурсивные функции, тоих сегодня и к суровой реальности привязать можно. Хаскель для них — что-то академическое, а вот на F# можно показать.
Другое дело, я не очень понимаю, как их можно использовать в том же Драконе или Р-технологии. В последней, ЕМНИП, циклы и ветвления изображались схемами. а в нужных местах вписывался код на обычном ЯП. А у функциональных языков все есть функция. Циклов нет, ветвления — снова-таки функции. Я не сильно большой знаток ФП.
Вот нам когда читали матан или алгебру, никогда не показывали, зачем оно все нужно. Матрицы, тензоры, мера, еще вагон всякого. Что в школе, что в вузе. В результате интерес к предмету пропадает. А заново он появился, когда я в НИИ работал и увидел, зачем нужны 50-мерные пространства. И еще многое.
Если студент будет видеть цель, тогда ему многое можно будет объяснить.
LVV>Да мы с 2012 года юзаем. Сами сделали, сами юзаем. LVV>Если хочешь, вот можно посмотреть: https://www.youtube.com/watch?v=M2o2wARHtcM
Вспомнил. ты несколько лет назад ссылку на предварительную версию этой штуки выкладывал. Я скачивал, запускал. Что запомнил, она при переходе с английского на русский оставила begin/end без перевода.
LVV>Я со второго семестра программирование изучал... LVV>Поэтому у меня это пришло позже, во время работы.
Нас тоже с чужим кодом работать не учили. От некоторых преподов мы слышали: проще свое написать, чем чужое прочитать. А в итоге своего я написал не особенно много. Зато чужого я совсем не боюсь. Хотя до сих пор иногда ловлю сюрпризы в хорошо, казалось бы, изученных местах.
LVV>У нас было программирование в кодах Минск-22. На машине были на 2 курсе осенью 3 недели.
Я его даже на картинках не видел. Учился на ЕС.
LVV>Так что там не до крутизны было...
Некоторые все же мерялись. Слышал тогда же разговор двух первокурсников. Один другому: "Я по сравнению с тобой великий программист! Ты учишь Фортран, а я — PL/1!".
Re[3]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
ВВ>>Про метапрог уже слышали? LVV>Слышал, но не вникал.
Среда визуального программирования. Компиляция в С, поддержка библиотек С, поддержка мультиязычности (несколько переводов для функций, комментариев), отсутствие текстового кода (даже сам метапрог рисуется на LabView), иконки для блоков, собственная СКВ ориентированная на доступность простому пользователю, встроенный мессенджер для обсуждения разработки, присутствует интерактивное обучение и возможность самому записать "урок".
Автор очень любит визуальное программирование и уверен что при грамотной реализации оно сможет заменить текстовое.
Re[3]: Дракон - онлайн редактор, во что компилится..
Добавлю. Благодаря компиляции в С есть поддержка практически всех платформ. С появлением WASM можно выходить даже в веб (frontend), текущие демонстрации построения графического интерфейса метапрога запускаются даже в IE.
Re[4]: Дракон - онлайн редактор, во что компилится..
Есть один нюанс: нам не только отсталых учить приходится, но и нормальных пацанов.
И вот их-то мы учим,давая вполне себе профессиональную разработку систем для обучения отсталых.
Поэтому вместо того, чтобы взять чужое готовое, осваивать его, вникать в нюансы, я предпочитаю подобрать пару токовых ребят, обсудить с ними постановку, наметить план — и вперед.
Пацанам — БОЛЬШАЯ плюс в карму квалификации.
А отсталым — почти все равно, на чем учиться.
Поэтому мы и пилим свои среды, компилеры, проверочные системы и т.п.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>Работать с текстом или картинкой — зависит от психотипа. LVV>Программисты в огромном большинстве — да. LVV>Но! LVV>а) есть люди (и девочки — почти все), которые просто предпочитают картинку. LVV>б) есть множество специалистов, которым алгоритмы делать надо, но они хотят их чертить, а не писать. Не программисты.
Смею предположить, что люди, которые предпочитают работать с картинкой, дружно идут лесом, когда надо сделать мало-мальски сложную программу.
Re[6]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>С тех прошло много лет, и министерство постановило, что можно не отчислять целый год. LVV>И еще требует: сколько на бюджет пришло, столько и должно закончить. Иначе верните деньги взад. LVV>Наше руководство на это пойтить никак не может, поэтому давит нас. LVV>Мы, естественно, сопротивляемся и никак не ставим на халяву. LVV>Толпа чистится, но не так быстро, как было раньше.
Т.е. — сейчас нет такой практики, что набрать студентов больше, чем есть мест, а на первом курсе устроить жёсткий отсев?
LVV>Второе. К нам часто едут из Казахстана и из Африки. LVV>Естественно, большинство коммерческих. Им пофигу, сколько учиться.
Если за каждый повторный год платит, то, конечно не выгонят
Когда я учился, тех кто отлично учился на платном, переводили на бюджетное обучение.
В Астраханском ГУ это практикуется?
LVV>Не раз было так: вылетел после 2 курса. Через год опять пришел, опять на 2 курс. И даже были случаи, когда второй раз реально брался за ум и вполне себе нормально учился. LVV>Были случаи, когда с большим скрипом переваливались через 2 курса, а потом — лучше и лучше. И глядишь, к выпуску вполне квалифицированный чел, который находит свою нишу и вполне достойно зарабатывает. LVV>Так что тут по-разному бывает.
Случаи разные бывают. Были 2 однокурсника, которые решили, что не хотят ИТ заниматься. Ушли на 2-м курсе, после армии один восстановился, второй поступил в другой технический ВУЗ, причём сданные у нас экзамены и зачёты ему перезачли.
Re[6]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>Та система почти не требовала отладки, так как кодировались уже правильные алгоритмы. LVV>Нарисованные как формализованные схемы.
Кто и как правильность аглоритмов проверял?
Re[6]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>Я знаком с Паронджановым лично, и он рассказывал, что при разработке системы управления Бурана LVV>сначала ИНЖЕНЕРЫ чертили схемы управления (была разработана некая технология — предшественник дракона) LVV>а потом программисты по схеме однозначно переводили это в программы для ботового компьютера.
Смутно подозреваю, что разработка системы управления космическим кораблем — особый случай, а в общем случае разрабатывать таким образом современные программы крайне неэффективно.
Re[5]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, AleksandrN, Вы писали:
AN>Для описания высокоуровневых абстракций, картинки многие применяют и для таких задач Дракон может использоваться вместо других графических нотаций или совместно с ними. AN>Но идея, что бы написать внутри графических элементов куски кода, потом из них сгенерировать исходник, мне кажется неудачной. Лучше сразу написать текст. К тому же, редко ПО ограничивается одной версией. А смотреть, где, что, когда и кем менялось, в тексте проще, чем в картинках. Особенно, если проект большой. И код ревью изменений тоже проще делать.
Ну будет графичекий diff.
Точно так-же на картинках ты будешь видеть красные и зелёные фрагменты.
Течёт вода Кубань-реки куда велят большевики.
Re[6]: Дракон - онлайн редактор, во что компилится..
LVV>>Та система почти не требовала отладки, так как кодировались уже правильные алгоритмы. LVV>>Нарисованные как формализованные схемы. AN>Кто и как правильность аглоритмов проверял?
Дык а) на земле
б) практика показала.
Единственная система, которая в автоматическом режиме смогла посадить челнок.
В сложных погодных условиях.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>В том-то и дело, что "безумного леса" не наблюдается из-зы строгих правил Дракона.
Именно из-за строгих правил у Дракона нет и не будет большого будущего в массовой коммерческой разработке. Строго нишевый продукт.
LVV>В Драконе все жестко. И леса не получается. LVV>бесконечные схемы (как и всю прогу в одной main()) — никтотне рисует. Рисуют либо прототип, лтибо небольшой силуэт. LVV>Малые схемы делают макроиконами и потом эту макроикону вставляют в бОльшую схему.
Чтобы посмотреть вложенную схему нужно провалиться в иконку? А если таких вложений много? В какой-то момент надоест тыкаться и перейдешь на текст.
На практике, я встречал обратное — текст преобразуется в схему, на конечном этапе. А работа идет только с текстом. Ну в начале, по-молодости, многие рисуют схемы, потом от схем переходят к тексту и работают с текстом, а потом этап со схемами пропускают.
Счастье — это Glück!
Re[2]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, L.K., Вы писали:
MH>>Понятно что графическое представление алгоритмов в некоторых случаях и для некоторых удобнее LK>По-моему, вся эта графика куда менее удобна, чем табулированный и комментированный текстовый код. Хотя бы за счёт меньшей плотности: приходится бегать глазами по диаграмме, которая может быть не маленькой. LK>Кроме того, непонятно: если человек запомнил графический "условный ромб", почему он не в силах запомнить директивы "if-then-else"? В чём тут принципиальное отличие?
+1, однако я нашел случай удачного применения графических схем, когда ребенок стал изучать scratch
Он графический и с ним можно быстро создать программу и даже вполне рабочую игру.
Суть в том, что ребенок еще пока очень, очень медленно печатает. С текстом он бы просто сломался сразу и никуда не продвинулся в изучении. А тут перетаскивая мышкой блоки и вбивая только параметры — вполне успешно собирает программу и учится.
Re[5]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, fmiracle, Вы писали:
F>+1, однако я нашел случай удачного применения графических схем, когда ребенок стал изучать scratch F>Он графический и с ним можно быстро создать программу и даже вполне рабочую игру.
Это не совсем удачное применение. Это просто применение для простейших случаев на начальном этапе, на scratch что то серьезное написать это проще застрелиться, как и на любом другом графическом языке. И это принципиальная проблема графических языков — они годятся только для чего то простого и на начальном этапе.
А для такой ниши, как scratch — языков до черта и больше, причем вполне успешно применяются. Например в геймдева blueprint юзают вполне успешно. Есть еще LabVIEW. Но все они крайне нишевые. Вот только не надо на такие языки сажать реальных программистов, они могут застрелиться!!!! Называется мечта всех биг боссов что программисты станут не нужны, вместо них поставим биороботов и минимальной квалификацией, сэкономим кучу денег. А результат всегда один наоборот раздувается штат, на эти графических языки приходится сажать реальных программистов, при этом им платить еще сильно больше, чтоб они не убежали.
Re[2]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Вам возражает Степан Митькин (Норвегия), разработчик трех программ DRAKON Editor (2011), DrakonHub (2018), Drakon.Tech (2019).
Спасибо за ответ.
ВП>Степан пишет: ВП>Исходный код среды разработки Drakon.Tech выложен на GitHub
К сожалению оценить исходный код нельзя. Насколько я понял файл drn это просто файл sqlite, т.е. к нему нужен интерфейс. Какой же это исходник?
Этот пример как раз подтверждает, что Дракон узконишевый язык. Среда разработки, кстати, небольшой проект.
Вообще графические языки вполне применяются в промышленности: МЭК 61131-3-2016. Они удобны, когда программирует не программист, а инженер, требования к конечному продукту зафиксированы и каждую программу полностью обслуживает один человек.
Счастье — это Glück!
Re[6]: Дракон - онлайн редактор, во что компилится..
LVV>>В том-то и дело, что "безумного леса" не наблюдается из-зы строгих правил Дракона. DO>Именно из-за строгих правил у Дракона нет и не будет большого будущего в массовой коммерческой разработке. Строго нишевый продукт.
Но ниша — достаточно объемная. Мне москвичи сообщили, что даже в Иркутске интересуются. LVV>>В Драконе все жестко. И леса не получается. LVV>>бесконечные схемы (как и всю прогу в одной main()) — никтотне рисует. Рисуют либо прототип, лтибо небольшой силуэт. LVV>>Малые схемы делают макроиконами и потом эту макроикону вставляют в бОльшую схему. DO>Чтобы посмотреть вложенную схему нужно провалиться в иконку? А если таких вложений много? В какой-то момент надоест тыкаться и перейдешь на текст.
Ну, а как ты переходишь от вызова функции к определению? DO>На практике, я встречал обратное — текст преобразуется в схему, на конечном этапе. А работа идет только с текстом. Ну в начале, по-молодости, многие рисуют схемы, потом от схем переходят к тексту и работают с текстом, а потом этап со схемами пропускают.
в мейнстриме — естественно...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Дракон - онлайн редактор, во что компилится..
DO>Вообще графические языки вполне применяются в промышленности: МЭК 61131-3-2016. Они удобны, когда программирует не программист, а инженер, требования к конечному продукту зафиксированы и каждую программу полностью обслуживает один человек.
Ну, дык а я о чем! И таких "один человек" — дофига и больше.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Дракон - онлайн редактор, во что компилится..
LVV>>Но ниша — достаточно объемная. Мне москвичи сообщили, что даже в Иркутске интересуются. DO>Но эта ниша не для коммерческого софта. Большинство таких программ не выходят за пределы организации, где были созданы.
А вот нас настойчиво втягивают именно в коммерцию. Контора, для которой делаем, намерена это продавать заинтересованным людям. И они уверены, что спрос будет.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Программа загружается в энергонезависимую память Сенсорного программируемого контроллера СПК 107 М01 фирмы ОВЕН.
Именно, о чем я и говорил
Здравствуйте, MadHuman, Вы писали:
MH>И также понятно что такой подход в некоторых случаях (что-то очень большое, высокопроизводительное и тп) не подойдёт.
Был такой у MS сервер — BizTalk. Лет 17-ть назад на одном проекте нам его активно пихали. Так вот там, всё это уже было реализовано. После нескольких попыток использования вердикт был однозначен — фтопку. Для того, чтобы нарисовать в графике более менее сложные алгоритмы потребовались бы экранны с разрешением не менее 100000x50000.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Владимир Паронджанов, Вы писали:
IT>>Для того, чтобы нарисовать в графике более менее сложные алгоритмы потребовались бы экраны с разрешением не менее 100000x50000. ВП>Это не так. У языка Дракон есть мощные средства декомпозиции. Чем сложнее алгоритмы, тем больше выигрыш от использования Дракона.
Конечно, есть. Но мы их не покажем. Я правильно понимаю? В приведённой в этом топике презентации никаких средств декомпозиции не обнаружено.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Дракон - онлайн редактор, во что компилится..
IT>>>Для того, чтобы нарисовать в графике более менее сложные алгоритмы потребовались бы экраны с разрешением не менее 100000x50000. ВП>>Это не так. У языка Дракон есть мощные средства декомпозиции. Чем сложнее алгоритмы, тем больше выигрыш от использования Дракона. IT>Конечно, есть. Но мы их не покажем. Я правильно понимаю? В приведённой в этом топике презентации никаких средств декомпозиции не обнаружено.
Почему не покажем. Посмотри у Митькина — там вполне работающий редактор и не только...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП> В языке ДРАКОН для декомпозиции больших алгоритмов предусмотрены два инструмента: ВП>• использование Вставок (процедур и функций), ВП>• дробление алгоритмов силуэт на ветки.
Т.е. если простые диаграммы вынуждают нас прогручивать их по вертикали, то силуэты добавляют сюда ещё и прокрутку по горизонтали.
Интересно, как будет выглядеть такая диаграмма, если у неё в одном блоке будет 15 элементов, а в другом 2. Боюсь, что таких ровненьких алгоритмов, как в этой презентации, в жизни существует не много.
ВП>Есть еще один полезный прием, известный как Правило Сергея Ефанова. ВП>https://forum.drakon.su/viewtopic.php?f=172&t=6853 ВП>Делайте ветки силуэта небольшой высоты, чтобы силуэт по высоте целиком размещался на экране (без прокручивания вверх-вниз).
Этот способ известен лет сорок и звучит как "процедура должна помещаться на экране". Обусловлен он ограничениями древних мониторов, которые умели листать код только постранично. Если такой полезный приём необходим дракону, то это однозначно признак несовершенства.
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Дракон - онлайн редактор, во что компилится..
LVV>>И дело не в экране. LVV>>А в размере страницы памяти и кэша. IT>Т.е. размеры экранов должны увеличиваться пропорционально размерам страницы памяти и кеша?
Зачем?
При чем здесь экран.
Если функция помещается в страницу, то на ней не будет качания страниц.
Если функция помещается в кэш, то на ней не будет качания кэша.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>Если функция помещается в страницу, то на ней не будет качания страниц. LVV>Если функция помещается в кэш, то на ней не будет качания кэша.
Мы с тобой об одних и тех же страницах?
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Вы ищете аналоги в текстовом программировании (textual programming). ВП>Дракон — это визуальное программирование (visual programming). ВП>Тут надо соблюдать осторожность с выводами. Прямых аналогий здесь нет.
В общем случае взаимодействие объектов это граф. Каждую ветвь графа можно отобразить как алгоритм. Или как двухмерное изображение как графики Дракона. Т.е. в общем случае необходимо иметь несколько видов редактирования. Графический-типа Consructor для формирования общего взаимодействия типа как строятся формы, графический типа дракон-блок схема, графический в виде графа, текстовый и даже табличный для отображения объектов одного класса, и само собой текстовый! Все эти виды должны быть равноправны в смысле резудьтата.
Re[10]: Дракон - онлайн редактор, во что компилится..
LVV>>Если функция помещается в страницу, то на ней не будет качания страниц. LVV>>Если функция помещается в кэш, то на ней не будет качания кэша. IT>Мы с тобой об одних и тех же страницах?
Вообще не понял.
Мы на разных машинах.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[11]: Дракон - онлайн редактор, во что компилится..
IT>>>Мы с тобой об одних и тех же страницах? LVV>>Вообще не понял. LVV>>Мы на разных машинах. IT>Ты уже бухой что-ли? Вроде рано ещё.
Я не пью...
Поясни, при чем здесь мы с тобой, да еще на одних страницах?
Вроде шел разговор о том, что надо писать маленькие процедуры.
Кроме того, что они читабельные, повышают сопровождаемость проекта, так еще аппаратные причины есть писать их маленькими.
О чем я и сказал.
А ты о чем?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Если простая диаграмма (примитив) имеет большую высоту, это ошибка и нарушение правил.
Т.е. если диаграмма не вмещается на мониторе моего лаптопа с 13" дисплеем, то это нарушение правил. Но если она же помещается на 34" мониторе повёрнутым вертикально, то это уже вовсе не нарушение правил. Понятно. Именно это я и хотел прояснить.
ВП>Нужно ее разделить на части и превратить в силуэт.
А когда закончится ширина экрана, то во что будем превращать силуэт?
IT>>Интересно, как будет выглядеть такая диаграмма, если у неё в одном блоке будет 15 элементов, а в другом 2. Боюсь, что таких ровненьких алгоритмов, как в этой презентации, в жизни существует не много.
ВП>Блок (ветка силуэта) из 15 икон надо разделить по смыслу на две (или даже три) ветки. Тут нет никакой проблемы. Это делается моментально.
Это если в разделении есть смысл. А если нету?
IT>>Этот способ известен лет сорок и звучит как "процедура должна помещаться на экране".
ВП>Вы ищете аналоги в текстовом программировании (textual programming).
Я ищу аналоги в здравом смысле. Пока я вижу, что дракон решает, что программист делает правильно, а что неправильно в зависимости от разрешения его монитора. Именно об этом я и говорил в своём первом сообщении: проходили, вердикт — нафик, вернёмся, когда мониторы будут поддерживать расширения 100000x50000.
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
IT>>Ты уже бухой что-ли? Вроде рано ещё. LVV>Я не пью...
Вот и я не понял
LVV>Поясни, при чем здесь мы с тобой, да еще на одних страницах?
Выше говорилось, что размер процедур в одну страницу — это дебильное правило, продиктованное прежде всего ограничениями архаичных мониторов, с отсутсвием скроллинга как такового. Ты же начал про размер страниц памяти
LVV>Вроде шел разговор о том, что надо писать маленькие процедуры.
Да, это идиотский разговор. Не надо писать маленькие процедуры. Надо писать такие процедуры, которые надо.
LVV>Кроме того, что они читабельные, повышают сопровождаемость проекта, так еще аппаратные причины есть писать их маленькими.
Искуственное разбиение кода на типа читабельные методы там, где это не нужно совершенно не делает код более читабельным и обязательно снижает сопровождаемость проекта. А по поводу аппаратных причин, у тебя есть статистика, исследования, что-нибудь посмотреть и сравнить? Или это просто домыслы? Хорошо бы пример кода на C#, который можно было бы погонять в домашних условиях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[14]: Дракон - онлайн редактор, во что компилится..
IT>Выше говорилось, что размер процедур в одну страницу — это дебильное правило, продиктованное прежде всего ограничениями архаичных мониторов, с отсутсвием скроллинга как такового. Ты же начал про размер страниц памяти LVV>>Вроде шел разговор о том, что надо писать маленькие процедуры. IT>Да, это идиотский разговор. Не надо писать маленькие процедуры. Надо писать такие процедуры, которые надо. LVV>>Кроме того, что они читабельные, повышают сопровождаемость проекта, так еще аппаратные причины есть писать их маленькими. IT>Искуственное разбиение кода на типа читабельные методы там, где это не нужно совершенно не делает код более читабельным и обязательно снижает сопровождаемость проекта. А по поводу аппаратных причин, у тебя есть статистика, исследования, что-нибудь посмотреть и сравнить? Или это просто домыслы? Хорошо бы пример кода на C#, который можно было бы погонять в домашних условиях.
1. Есть вот такая книжка: https://www.labirint.ru/books/562034/
Там автор со статистикой приводит доводы в пользу небольших размеров.
2. Мой личный опыт разработки научных программ по моделированию перколяционных процессов показал мне влияние кэша на скорость работы.
Правда у меня это касалось конкретно кэша данных.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[15]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
LVV>1. Есть вот такая книжка: https://www.labirint.ru/books/562034/ LVV>Там автор со статистикой приводит доводы в пользу небольших размеров.
И какие они должны быть небольшие? В KB или MB?
LVV>2. Мой личный опыт разработки научных программ по моделированию перколяционных процессов показал мне влияние кэша на скорость работы. LVV>Правда у меня это касалось конкретно кэша данных.
Мой личный опыт разработки энтерпрайз и open-source проектов показал мне абсолютное отсутствие какого-либо влияния кеша на скорость работы. При этом оптимизациям производительности в этих проектах уделяется существенное внимание.
Если нам не помогут, то мы тоже никого не пощадим.
Re[17]: Дракон - онлайн редактор, во что компилится..
Здравствуйте, LaptevVV, Вы писали:
IT>>И какие они должны быть небольшие? В KB или MB? LVV>Там мужик, видимо из консалтинговой конторы, приводит данные по успешным проектам. LVV>Написано, что 85% методов/функций должны быть в объеме 15-30 строк исходного кода.
А остальные 15% можно по 10000 строк?
LVV>Тогда проект по сопровождаемости/модификации имеет ранг 4 звезды (всего — 5 звезд — как это принято на западе... ).
Да-да, мы сами себе определяем ранги и сами себя по ним оцениваем. Я тоже так умею.
LVV>Мартин Фаулер в новом издании книжки Рефакторинг в 1 вводной главе проводит рефакторинг функции из примерно 50-70 строк (может 100 — не уточнял) LVV>и разбивает ее на смысловые независимые части, которые оформляет в более короткие функции.
Не стоит произность это имя в приличном обществе. Этот человек, открывший ящик Пандоры, будет гореть в аду и минимум пару тысяч лет будет разгребать свои интерпрайз паттерны в исполнении индусов.
Но главное, что про KB/MB ты мне так и не ответил. А прикол в том, что код на 20-30 строк в компилированном виде вряд ли потянет хотя бы на 1 KB. Т.е. при размере современных кешей в мегабайты, туда целиком может поместиться вся программа. Либо, по твоей логике, одна процедура, даже если в ней не 20-30, а 20-30 * 1000 = 20000-30000 строк
И ещё по поводу строк и размера бинарного кода. Всё зависит от выразительности языка. Например, плотненькие два десятка строк паттерн матчинга легко заменяют пару сотен строк аналогичного кода на ифах, но при этом компилируются в аналогичный код. Как ты это будешь учитывать?
LVV>>>2. Мой личный опыт разработки научных программ по моделированию перколяционных процессов показал мне влияние кэша на скорость работы. LVV>>>Правда у меня это касалось конкретно кэша данных. IT>>Мой личный опыт разработки энтерпрайз и open-source проектов показал мне абсолютное отсутствие какого-либо влияния кеша на скорость работы. При этом оптимизациям производительности в этих проектах уделяется существенное внимание. LVV>Ну, скорее всего, там производительность зависит от работы с базой данных.
В том числе. Вычислений тоже хватает.
Если нам не помогут, то мы тоже никого не пощадим.