The Working Programmer's Guide To Language Paradigms |
Written by Mike James | ||||
Friday, 13 June 2025 | ||||
Page 3 of 3
GraphicalThe final paradigm is the graphic language - if they can be called languages. This is a strange mix of the object-oriented approach and the declarative with a little procedural thrown in. However to classify the approach in this way is to miss the bigger picture. The idea is that if code objects are to mimic real world objects let's give them a physical appearance. In the world of the user interface we are very well accustomed to this approach - a button that you drag and drop onto a page is a physical representation of the button code object. You get to work with the button as if it was a real button - you can click it, drag it, size it, change its color and so on. Graphical objects in the UI lead to the component revolution which we are still developing - from ActiveX to WPF, Widgets, Components and so on.
Scratch Now consider using the same approach to building programs in general. You could have a loop component, a conditional component, a module component and so on. This could be assembled just like a user interface by a drag-and-drop designer and "writing the code" would be a matter or connecting them together in a flow of control graph. Some components would need you to write a few lines of procedural code to specify their actions more precisely but mostly components fit together naturally without extra code, just specify a few properties. This approach to building programs has to date mostly been used in languages such as Scratch and the Lego Mindstorms robots to get children interested in programming. However, what is easy for children should be very easy for us and the method could well translate to more ambitious projects. Of all the techniques described so far it is graphical programming that I'd bet was the way of the future - but how far in the future is another matter. The RestThere are a large number of other approaches to programming that we haven't considered but they are mostly side issues and special environments. For example, there is the whole issue of synchronous v asynchronous or event driven programming. Then there is the big question of sequential v parallel programming and so on. There is also the convergence of AI and programming. For example, using genetic algorithms you can evolve a program rather than writing it. Today large language models LLMs are capable of generating complete programs in response to prompts that describe what is required. In a sense this is the ultimate declarative programming. It is early days yet and we have to wait to see if LLMs have a preference for programming language type. Perhaps it also makes the whole issue of how we should program a moot point. If in the future we no longer generate code, does it matter what the language we use to express algorithms actually is?
Related Articles Functional And Dysfunctional Programming Late Binding - Myths and Reality The Goto, Spaghetti and the Velociraptor Towards Objects and Functions - Computer Languages In The 1980s Programming - A Life Long Challenge A Programmer's Guide to Scratch 2
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info <ASIN:0486478831> <ASIN:0596515170> <ASIN:0321992784> <ASIN:0201896834> <ASIN:0262220695> <ASIN:3642076327> <ASIN:053494728X>
|
||||
Last Updated ( Saturday, 14 June 2025 ) |