Programmation structurelle / visuelle

Historiquement, le développement de logiciels se faisait en tapant du texte brut. Depuis plusieurs décennies maintenant, l'approche principale de la programmation a été un ensemble séquentiel de caractères qui doivent former des structures à un niveau supérieur à ces caractères. Le programmeur doit non seulement taper les mêmes raccourcis clavier encore et encore, mais aussi surveiller le formatage correct du code, sinon l'ordinateur refusera simplement de comprendre ce qui est écrit dans le code. Un personnage oublié ";" peut donner des erreurs de compilation / interprétation totalement inintelligibles. De plus, l'utilisation de la représentation textuelle du programme définit non seulement des exigences supplémentaires pour la programmation, mais limite également considérablement la capacité du programmeur à écrire et à utiliser efficacement du code.En outre, la représentation textuelle des informations complique considérablement l'analyse de ces informations par programmation. Jetons un coup d'œil à une approche alternative à l'écriture de programmes.






- MetaIDE. / . ( for, if, while) , . - , . , AST - Abstract syntax tree ( ). MetaIDE AST, .





. , MetaIDE : wh while, fo for .. , . , , , , . . . , IDE . , , . . , .. , - () VR. - , - .





Scratch, UML, moteur Unreal
Scratch, UML, Unreal Engine

, . , (Scratch, Blockly), (UML, ), (blueprints - Unreal, Unity). MetaIDE . .





, . , , -, .





. , . (enum) . - , . - ( ), ( ), ( " " ).





. MetaIDE ( ), - , . (, , ), , . , . . , , . , . MetaIDE . . , .





MetaIDE MVC (Model-View-Controller, --) . . , ( , , ) , - . , , .





- ( ), , . . .





MetaIDE , IDE, . . , IDE IDE - ( SDK API, ).





, DSL

fix code main table
	name: varLocal node: var get local fn: varLocal switch: ndPtr
	name: varMember node: var get member fn: varMember switch: ndPtr
	name: varGlobal node: var get global fn: varGlobal switch: ndPtr
	name: varUnkn node: var unknown fn: varUnkn switch: ndPtr
	
	name: call node: call fn fn: call switch: ndPtr
	name: inline node: inlineCall fn: inline switch: ndPtr
	
	name: subClass node: getSubClass fn: subClass switch: ndPtr
	name: subNode node: var get subnode fn: subNode switch: ndPtr
	
	name: nextFn node: nextFn fn: nextFn switch: ndPtr
      
      



, , , enum, , .. . , , , . , - . . , . MetaIDE - DSL ( UI) , . .





IDE

Carte mémoire

MetaIDE , . MetaIDE ( ) - (mind map), (outliner), ( HSB, LCH, HSLuv, HPLuv). , MetaIDE, , , (undo/redo) . ( git), , .





Choisir les couleurs pour le menu

, . – , , , . , , .





Delight

Liste des opérateurs

MetaIDE Delight. ++, , - ( ), .





Description des nœuds, widgets et menus
,

MetaIDE. Lazarus, . , . , . , ( , ). , , . , . Delight, – , Delight. ( ), . IDE Delight. , - . . , , , . . , . , , Delight - . . MetaIDE Delight - , .





. , , . , , IDE .





№2

Actuellement, MetaIDE et Delight sont en cours de développement et ne sont disponibles qu'en aperçu (pas même en version alpha). Loin que tout a été finalisé et que tout ne se fait pas de manière pratique. L'ampleur du développement est trop grande et il n'y a pas assez de temps pour régler tous les détails à la fois.





Liste complète des tâches
Liste complète des tâches

conclusions

À l'heure actuelle, MetaIDE représente une approche complètement nouvelle de l'écriture de programmes, ouvrant de nouveaux horizons au programmeur dans l'organisation de l'ensemble du flux de travail. Les deux fonctionnent avec le code dans son ensemble et les aspects individuels de la programmation sont considérablement simplifiés.












All Articles