Personal Programming

66 views
Skip to first unread message

Trygve

unread,
Jul 25, 2019, 4:28:43 AM7/25/19
to object-co...@googlegroups.com
Dear all,
The final draft of my magnum opus about personal programming with DCI is now ready for review:
http://folk.uio.no/trygver/themes/Personal/PP-019%20-%20Copy%20(17).pdf

Its main theme is personal programming for everybody with Loke, a personal object computer. The first goal is to empower laypeople to take control over their corner of the Net with its IoT. Its 43 pages has several high points, I have included one of them below.

I will appreciate your possible comments before Aug. 31.
Enjoy
--Trygve

----------- begin extract ------------------

C.7.We need a paradigm shift

The history of Western astronomy shows a series of paradigm shifts from the geocentric paradigm with its stationary Earth as the center of the Universe with its epicycles and other bizarre explanations of what appeared to be essential complexities. Astronomy evolved via the heliocentric to the current distributed paradigm with its chunks of mass connected by gravity. What appeared as essential complexity in one paradigm was easily resolved in the next.

It is tempting to look for similar paradigm shifts in computing. Mainstream programming has based much of its theory and practice on the CPU-centric paradigm exemplified by the von Neumann machine. A memory-centric paradigm came in 1960 with the Autokon CAC/ CAM system and its central database (Reenskaug, 1973). The solution was obvious, and there must have been many similar initiatives without me being aware of them.

It is time to realize that the first two paradigms do not meet our current challenges: We are plagued with immensely large, complex, and insecure systems that long ago left the realm of human understanding. A recent example: Customers found that their bank charged them twice for the same transaction. Several weeks after the problem was discovered, the bank publicly admitted that they still didn't understand how the problem could arise: The complexity of their system was clearly beyond human comprehension. The bank has a staff of very competent experts, but they need a better foundation for modeling and implementing their sophisticated requirements.

Computers can transform, store, and communicate data, (Figure 15). The essence of the CPU-centric paradigm is that computers are primarily used to transform data; they compute. The essence of the memory-centric paradigm is that computers are used primarily to store data; they organize applications around a shared database. The essence of the communication-centric paradigm is that computers are primarily used to exchange messages with other computers to make them collaborate to achieve a common goal.

The three paradigms of computing

It is time to heed Tony Hoare's plea for simplicity and achieve a better way of separating concerns. Mainstream programming should shift to the communication-centric paradigm exemplified by the object computer that is the foundation for this article.

The communication-centric paradigm has been on the horizon for many years. I first met it in Prokon's idea of distributed computers (Reenskaug, 1977), but there must have been many other initiatives. A newer example is Service-Oriented Architectures (SOA) that, in essence, is communication-centric. It didn't meet with immediate success, possibly because people tried to apply it within the CPU-centric paradigm where it doesn't belong. There are many other examples such as distributed computing. And of course, DCI and the IoT itself are, by definition, communication-centric.

----------- end extract ------------------



Keith Patrick

unread,
Jul 25, 2019, 9:54:05 AM7/25/19
to object-composition
I would be thrilled to work on this, it does look very exciting.

Unfortunately, due to the damning shame that Smalltalk (my language of preference) is not only out of fashion, but jobs appear impossible to come by I am going to have to get a real job first. My current plan involves taking over the PHP world with DCI. I am so impressed with the way that my first DCI based framework is turning out, I expect that it could be generalised and ported to several languages.

However if anyone did find funding, even a very modest amount, I would be up for joining your revolution.

Keith
Reply all
Reply to author
Forward
0 new messages