Looks very interesting! I will read it (it arrives just in time to be part of the holiday reading pile…)
Marcus > On 25 Jul 2019, at 11:29, Trygve <tryg...@ifi.uio.no> wrote: > > Dear all, > The final draft of my magnum opus about Personal Programming is now ready for > review: > http://folk.uio.no/trygver/themes/Personal/PP-019%20-%20Copy%20(17).pdf > <http://folk.uio.no/trygver/themes/Personal/PP-019%20-%20Copy%20(17).pdf> > > The article's main theme is Personal Programming for everybody with Loke, a > personal object computer. Its first purpose is to empower laypeople to take > control over their corner of the Net with its IoT. I have created a > proof-of-concept implementation as a non-intrusive extension of Squeak > version 3.10.2, and have used it to demonstrate how a novice uses the Loke > IDE to create a small and intuitive program. > > The article describes the concepts behind Loke .The current Squeak > implementation should be ported to Pharo and can grow into the preferred > Pharo-based IDE for laypeople taking control over their information > environment. > > I will appreciate your possible comments before Aug. 31. > Enjoy > --Trygve > > The article's 43 pages has several high points, I have included one of them > here: > ----------- 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 below). 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 > <pbeopicbehdhbfmc.png> > 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 ------------------ > > >