Whatever happened to Intentional Programming paradigm?

  • Thread starter Thread starter elcaro
  • Start date Start date
  • Tags Tags
    Programming
Click For Summary

Discussion Overview

The discussion revolves around the Intentional Programming paradigm, exploring its effectiveness and relevance in programming practices. Participants examine its relationship to Domain Specific Languages (DSL) and the broader implications of intentional versus unintentional coding approaches.

Discussion Character

  • Debate/contested, Conceptual clarification

Main Points Raised

  • One participant questions whether Intentional Programming has been proven fruitful in practice.
  • Another participant notes potential overlap between Intentional Programming and Domain Specific Languages, suggesting that both allow for concise expression in specific problem domains, though the nature of their relationship remains unclear.
  • A participant humorously advocates for the "unintentional school of programming," where code is written without full understanding, relying on luck to avoid errors.
  • Further elaboration on the "unintentional" approach emphasizes the idea that production code should be intentionally crafted, contrasting it with experimental code that may be developed through trial and error.
  • A similar sentiment is expressed regarding the notion that code often emerges from a chaotic process, likening it to monkeys producing valid code over time.

Areas of Agreement / Disagreement

Participants express differing views on the value and understanding of Intentional Programming, with some favoring intentional coding principles while others embrace a more chaotic, unintentional approach. The discussion remains unresolved regarding the effectiveness and influence of Intentional Programming.

Contextual Notes

Participants do not clarify the definitions of Intentional Programming or Domain Specific Languages, leaving assumptions about their meanings and implications open to interpretation.

elcaro
Messages
129
Reaction score
30
TL;DR
Almost all existing programming languages work at the basis of source files (text format) that gets compiled/linked into executable code or interpreted. A different approach (such as utilized by Intentional Pogramming) stores program source not in text format but in its abstract syntax tree (AST). The approach here is similar to how relational databases work, avoiding redundancy. For example objects are identified by some key, while their names are just labels stored at only one place.
Has the approach towards programming, like for instance that of Intentional Programming, been proven to be fruitfull?
 
Technology news on Phys.org
I was not familiar with the specific concept of Intentional Programming before you mentioned it, but at a glance it seems to me that there is some overlap with the concept or pattern of Domain Specific language in that both allow programmers to express themselves in way that is concise for a particular problem domain. I am not aware if any such overlap is accidentally or if part of IP went on to influence DSL (which seems a bit younger than IP). At least its quite common in the software business to see some of the same ideas being rehashed or rediscovered in quite many different incarnations over time.
 
  • Like
Likes   Reactions: elcaro and jedishrfu
I favor the unintentional school of programming where one writes code not fully understanding the application or system and hopes not to make unintentional errors.
 
  • Haha
Likes   Reactions: berkeman and Filip Larsen
jedishrfu said:
I favor the unintentional school of programming ...
I actually first thought OP was thinking about the principle of intentional code, i.e. that all pieces of (production) code present should be there for a known and valid reason and not just because you hit it with a hammer (e.g. trial and error) until it magically worked. The hammer is reserved for experimental code only.
 
  • Like
Likes   Reactions: elcaro
Filip Larsen said:
I actually first thought OP was thinking about the principle of intentional code, i.e. that all pieces of (production) code present should be there for a known and valid reason and not just because you hit it with a hammer (e.g. trial and error) until it magically worked. The hammer is reserved for experimental code only.
Normally code is written by monkeys, but you need a whole bunch of them and lot of time, before some unintentional valid code emerges...
 

Similar threads

Replies
38
Views
4K
  • · Replies 32 ·
2
Replies
32
Views
7K
Replies
65
Views
5K
Replies
4
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 22 ·
Replies
22
Views
2K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K