Hi Marius,Hi Trygve,
I think the group notifications do not work. I wanted to say that I posted a comment regarding your paper.
I put the comment in the thread you started regarding this paper which is: https://groups.google.com/forum/m/#!topic/object-composition/BEgMfumpAdU
I hope you are ok. Have a happy new year. Do not give up. I hardly wait for you to say that you'll start on the process of putting your book on leanpub :). I know is not easy but I think I have an idea how to make it easier for you.
Best regards,Marius
Hi Marius,Hi Trygve,
I think the group notifications do not work. I wanted to say that I posted a comment regarding your paper.
I put the comment in the thread you started regarding this paper which is: https://groups.google.com/forum/m/#!topic/object-composition/BEgMfumpAdU
I hope you are ok. Have a happy new year. Do not give up. I hardly wait for you to say that you'll start on the process of putting your book on leanpub :). I know is not easy but I think I have an idea how to make it easier for you.
Best regards,Marius
Best regards,
Marius
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/CAJ7XQb6X5gzGxBBaq8Zgc%3DnYFYt6Y%2Bxw_ZHV6q0mY%2BSr2YfOyQ%40mail.gmail.com.
Hi Raol,
You are right, Loke is still programming-in-the-hard. The difference is that it targets a different machine, namely a structure of communicating computers. This entails that the human user has a different mental model of what computing is all about. (I'm surprised that you include ML with your exotic tools. Isn't ML a 3GL since it targets a stand-alone von Neumann computer?)
I don't see you as a 'wet blanket', we can and should dream about the future while we work with the here and now. We can dream of a future where machines magically do what we need. Alan Kay (and others before him) wrote: The best way to predict the future is to create it. I have much fun pondering a future machine that will serve me without requiring technical skills on my part. Programming-in-the-soft? I see Loke as a small step towards such a distant future. The notion of a computer may have merged into the environment and disappeared from sight. (What Kevin Kelly calls the single, global machine). 3GLs like Fortran, Algol, C, ... will be for the specially interested. The notion of a program has changed with Loke and is likely change more profoundly in the future. Programming as an activity will be very different. That's the way I see it, your vision may be different.
You appear to like what you have seen -- thank you. There were 16 accesses to the article yesterday making it a grand total of 467. I find that satisfactory, considering that article hasn't been published on paper yet.
Best
--Trygve
On 30.01.2020 17:15, Raoul Duke wrote:
Everything here, and about DCI, and Personal Programming is truly terrific work.--
However... to be a 'wet blanket', I think it is still programming-in-the-hard. I think probably until we have more AGI/AI/ML tools spitting out programs from natural language interactions, helping user-developers discover and cover edge cases etc., like something from StarTrek, that programming will never be more personal-in-the-easy, the mainstream, than successful abominations hacked up in say excel or scratch. There's too much logic, too much state, too much essential complexity in programming, let alone software engineering.
Cf. Dr. Wing's "computational thinking" as an educational / pedagogical need.
but hey call me the eternal optimist.
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composition+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/CAJ7XQb6X5gzGxBBaq8Zgc%3DnYFYt6Y%2Bxw_ZHV6q0mY%2BSr2YfOyQ%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/c424f8c1-8ed2-4dbf-83b5-b4c5078e3995%40googlegroups.com.
Has anybody, ever, tried having a layperson try to specify anything, at all, in an environment like Loke? If so, how much training did it take? And is there anything about any of these environments that offers any demonstrable advantage over any current, broadly available programming technology?
Are there any cognitive learning models that formulate the knowledge gaps and postulate that someone can leap them without substantial training?
Or is it just speculative hope that some nerdish ideas may bridge the gap to human comprehensibility?
https://link.springer.com/article/10.1007%2Fs10270-019-00768-3
On 5 Feb 2020, at 11.39, Trygve Reenskaug <try...@ifi.uio.no> wrote:Comments inline.On 04.02.2020 22:44, James O Coplien wrote:Has anybody, ever, tried having a layperson try to specify anything, at all, in an environment like Loke? If so, how much training did it take? And is there anything about any of these environments that offers any demonstrable advantage over any current, broadly available programming technology?
- The first were the people at Xerox PARC when they developed GUIs in the seventies and made the disruptive change from the remember-and-type kind of user interfaces to the see-and-click kind. There are now 3.5 billion smartphone owners in the world (45% of the total population). This could not have happened without the foundation created at PARC.
- IFTTT is a primitive environment for programming by composition:
If This Then That, also known as IFTTT is a free web-based service to create chains of simple conditional statements, called applets. An applet is triggered by changes that occur within other web services such as Gmail, Facebook, Telegram, Instagram, Pinterest, and hundreds of others.
Many non-professionals are using IFTTT and demonstrate its simplicity as an advantage over current, broadly available programming technology.
- Futurehome is another offer for smart home automation that connects with more than 50.000 devices from over 1000 different brands. Programming is by composition in something they call flows.
- I am sure there are many other examples of layperson programming without me being aware of them.
I see the above as examples applications of the PARC technology. They have laypersons specifying home automation algorithms and they do it today. The advantage is that laypeople create programs without having to use any current, broadly available programming technology and without prior extensive training.
Loke is extending the programming facilities from special-purpose to general-purpose programming.The evolution is experience driven, theory comes far behind. AFAIK, theory has not had any place in the innovations at PARC, Apple, and elsewhere. Notice that the new technology comes on top of, not as a replacement of, current technology.Are there any cognitive learning models that formulate the knowledge gaps and postulate that someone can leap them without substantial training?
As I have shown above, there is only a small but essential step from the current special-purpose layperson programming to Loke's general purpose computer and programming models. I see it as neither speculative nor nerdish.Or is it just speculative hope that some nerdish ideas may bridge the gap to human comprehensibility?
I think it is worth noting the I started writing my current article 5 years ago. At the time, it could be called speculative and nerdish. Today, reality has caught up with the speculations.
On 5 Feb 2020, at 11.39, Trygve Reenskaug <try...@ifi.uio.no> wrote:
Comments inline.
On 04.02.2020 22:44, James O Coplien wrote:
Has anybody, ever, tried having a layperson try to specify anything, at all, in an environment like Loke? If so, how much training did it take? And is there anything about any of these environments that offers any demonstrable advantage over any current, broadly available programming technology?
- The first were the people at Xerox PARC when they developed GUIs in the seventies and made the disruptive change from the remember-and-type kind of user interfaces to the see-and-click kind. There are now 3.5 billion smartphone owners in the world (45% of the total population). This could not have happened without the foundation created at PARC.
I suspect there was some training. Do we know? Do we know how long it took them to master the results? And what would constitute “mastery”? We have 8-year-olds playing with Basic today and there are many, many efforts where 12-year-olds are learning Java. What evidence do we have that this approach either lowers the entry barrier or accelerates the maturation process? It seems that the dominant factors in this learning are the plasticity of child mental models rather than a tuning of some expression to a hypothetical model of either cognition or learning. See my research on this.
If they were already available, why do we need something new?
- IFTTT is a primitive environment for programming by composition:
If This Then That, also known as IFTTT is a free web-based service to create chains of simple conditional statements, called applets. An applet is triggered by changes that occur within other web services such as Gmail, Facebook, Telegram, Instagram, Pinterest, and hundreds of others.
Many non-professionals are using IFTTT and demonstrate its simplicity as an advantage over current, broadly available programming technology.
I feel that this is an unproven claim. Is there any empirical research to back it up? Have there been any real trials?
- Futurehome is another offer for smart home automation that connects with more than 50.000 devices from over 1000 different brands. Programming is by composition in something they call flows.
Yes, I understand Loke to this level. Your response would help me understand Loke better if I did not understand it to this point. It does not help me understand the answer to my question.
- I am sure there are many other examples of layperson programming without me being aware of them.
Good research starts with an understanding of prior art. I am looking only for a single instance of any published research substantiating any claims that Loke might be accessible to other than a skilled programmer.
I see the above as examples applications of the PARC technology. They have laypersons specifying home automation algorithms and they do it today. The advantage is that laypeople create programs without having to use any current, broadly available programming technology and without prior extensive training.
Loke is extending the programming facilities from special-purpose to general-purpose programming.
The evolution is experience driven, theory comes far behind. AFAIK, theory has not had any place in the innovations at PARC, Apple, and elsewhere. Notice that the new technology comes on top of, not as a replacement of, current technology.Are there any cognitive learning models that formulate the knowledge gaps and postulate that someone can leap them without substantial training?
So what experience does anyone other than yourself have with Loke?
As I have shown above, there is only a small but essential step from the current special-purpose layperson programming to Loke's general purpose computer and programming models. I see it as neither speculative nor nerdish.
Or is it just speculative hope that some nerdish ideas may bridge the gap to human comprehensibility?
I think it is worth noting the I started writing my current article 5 years ago. At the time, it could be called speculative and nerdish. Today, reality has caught up with the speculations.
That is the claim for which I am seeking some kind of substantiation. I, too, would like to hope. I can find hundreds of papers that make similar claims about analogous approaches, but none of them seems to have had staying power.
I personally make it a practice either to show the path to good research from my results, or to substantiate claims with empirical results.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/82E4EA19-E8FA-493D-950E-5DE4FC094DE6%40gmail.com.
On 5 Feb 2020, at 15.10, Trygve Reenskaug <try...@ifi.uio.no> wrote:I rather believe that spear-head developers measure their success from the response of their users rather from publishing the results of their endeavors.
On 5 Feb 2020, at 15.10, Trygve Reenskaug <try...@ifi.uio.no> wrote:None, of course. I don't expect that a new and disruptive technology springs out from nothing with a ready body of users and research papers.So what experience does anyone other than yourself have with Loke?
Hi Trygve,
My first feedback was related with what I have read and trying to understand the concepts. As I said the first time, I read it several times to be sure I understand the idea(s).
I would like to touch some points that happened meanwhile regarding this:
- I wrote to Alan Kay on 29 November about your paper. I thought that a review from his part would be important. But till now no response - response in the sense that he read my email/message. In rest the feedback should be toward you , of course.
- Meanwhile, I tried to play with it with the hope of explaining my daughter certain things. It was not easy, is not easy to setup. Also, at this moment I doubt she will like it.
- My intention was also to setup an experiment here in my firm (an IT firm). The intention was to use inexperienced persons(juniors). But I am still struggling to prepare it and for me this is information. At this moment I doubt they will like it in this form. Is not easy ☹ and in me generates frustration.
I begin to have big doubts about laypersons understanding this.
I say about experiment because I am a strong believer in the idea of praxis(theory informed practice). By theory I mean like those researches made by neuro-scientists, or cognitive psychologists.
- I gave this paper to the persons who helps me when reviewing my writings and no feedback(5 of them). And I ask for feedback. I tried not to force them because ,maybe, they would have made a politically correct answer and I do not want this at all. I know it has no statistic relevance, but there it was. And I begun to think even more and see where I might be wrong.
When writing these lines, I feel a contradiction. Because I think that in the same time that your paper is an intuition or vision or perception or…. And this is something else. If is being seen from this perspective, like vision, then is different.
Best regards,
Marius
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/cd99269e-6309-4572-80c3-d0b5eeea5443%40googlegroups.com.
"I have never been able to make Alan Kay interested in my ideas" - >strange. I mean... ok, he might not agree and is ok but I would have hoped to tell you what is not ok or how he sees it. In this light, among others also, I am so happy that James Coplien is here and says what he thinks and is near you. I completely understand and agree with what James Coplien wrote on this thread and I am sure he respects you profoundly.
Please don't be upset.
Regards,
Marius
On 7 Feb 2020, at 17.32, Trygve Reenskaug <try...@ifi.uio.no> wrote:I have never been able to make Alan Kay interested in my ideas. I think we went our different ways after we separated in 1978. I don't know his visions to a sufficient depth to explain the difference.
Dear Marius,
I am very grateful for you trying out the article on such a
variety of people.
I am also grateful for the informative result: This audience is
less than
enthusiastic about the article. I must think more since your
readers do not grok it.
May be the article is premature; people should have used Loke for
their own
purposes before reading it. A usable and generally available
version
is therefore needed. Such a version does not exist and I do not
have the
resources to build one.
A second-best solution would be to present Loke with a live talk
and
demonstration, documenting it with the article. Again, I do not
have the
resources to do this.
A third-best approach is that potential readers of the article
first see my 5-minute
video. It may make them understand what it is all about before
they read the
words. My grandson tells me that the video
quality is so bad that I should be ashamed
to show it. I still hope it conveys the essentials:
http://folk.uio.no/trygver/2017/Ellen-video-2.6(copy22)-%20AVCHD.H264.1440x1080p24.mp4
Marius: Please look at it and give me your feedback.
---Trygve
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/cd99269e-6309-4572-80c3-d0b5eeea5443%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/5a00653d-1e1d-9e57-3e98-5d9ba94e3c92%40ifi.uio.no.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/cd99269e-6309-4572-80c3-d0b5eeea5443%40googlegroups.com.
On 11 Feb 2020, at 13.10, Trygve Reenskaug <try...@ifi.uio.no> wrote:I have narrowed the problem down to supporting laypeople who need to master their own smart home.
On 11 Feb 2020, at 21.47, Marius - Adrian Francu <marius...@gmail.com> wrote:Maybe the problem you are trying to solve is about making life more easier for persons who do not know programming but who want to do more deep stuff on the problems they have
On 12 Feb 2020, at 19.41, Raoul Duke <rao...@gmail.com> wrote:i sorta wish we knew what the essence of programming was.
On 12 Feb 2020, at 19.20, Marius - Adrian Francu <marius...@gmail.com> wrote:Yes indeed intuition is compressed experience of an individual.
* "Intuition is shaped by culture and individual experience" Yes indeed intuition is compressed experience of an individual.
I was trying to think ... how an engineer might configure an algorithm but in a visual way and with small code . But but is hard. I know that in the past some wanted to generate code from UML diagrams.
Yep, picture is indeed worth a thousand wordshttps://www.itrw.net/wp-content/uploads/2016/06/server_spaghetti_1.jpgvshttps://www.itrw.net/wp-content/uploads/2016/06/server_spaghetti_4.jpg- "a programmer with a text editor"Not one, but thousand of programmers looks at a sea of code through a narrow view of text editor + a tons of emails/chat to discuss 1 line of code (what is it doing?...)
Unless we are creative and open to learn a new way of doing this.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/f2c2891f-0b94-4dfb-a521-6d17c4874297%40googlegroups.com.
Programming is much more than writing a text in some programing language. Separation of concerns is, IMO, of the first importance. An over-simplified sketch of one way of achieving a separation of concerns hierarchy:
just my 2¢
- A universe of objects. E.g., an IoT.
- Each object encapsulates state and behavior. The encapsulation separates the object into an outside and an inside.
- The outside is known by its globally unique ID and its provided message interface. Objects in its environment see it as e.g., a RESTful server or they can access it through SOAP.
- The inside can be defined by a Context, recursively.
- The inside can be a universe of objects packaged according to the Facade pattern to make it appear as an object.
- This inside universe of objects can be coded with Python, C, C+, etc.
One thing I don't understand about this is why it's necessary to bring in DCI, or to be specific, the concept of a Context composed of interacting roles. It seems like the target use cases are simple enough that simple object-orientation (as per the original vision) would work fine. If I were teaching a beginning programmer about object orientation, I certainly wouldn't want to show them complex class hierarchies as in Java, but I don't think I'd jump right into DCI either. DCI could perhaps still be the underlying model of a visual programming tool, but for any programming environment that includes a text-based component, it seems like there's enough to understand with the concepts of objects and their state and behavior. A separate role structure that doesn't get merged with the data structure until run-time seems like a lot for a novice to take in. Ultimately it makes code easier to understand, but I think there's still a non-trivial learning curve even for someone without class-oriented baggage.
My more general impression of this is that there's a great vision here, but a lot of practical considerations and maybe even issues in the basic design still to be worked out, as Cope and others have pointed out. I think working with people in the field who have researched this specific topic (teaching programming to non-programmers) for decades could be very helpful. Non-programmers include children who have yet to learn it, so this includes those who work in educational technology.
As far as professional programmers not "grokking" the vision of
empowering lay people to write their own programs, I'm sure
there's some truth in that, but I think there are also a lot of
professional programmers who would be on board with this and
understand that it could be a win-win for society as a whole. But
that doesn't necessarily mean they're going to leap at the chance
to be involved with this if it's outside their primary area of
interest or expertise, or that they're necessarily going to agree
that Loke is the best solution (if they know enough to make such
an evaluation). Most professional programmers will probably be
much more interested in full DCI than Personal Programming because
it's simply more directly relevant to them, and it still has the
benefit of appealing to professional programmers who are
passionate about well-aligned software that empowers the user.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/ef3969c7-bfaa-9137-b723-06b6a97320e9%40ifi.uio.no.
To view this discussion on the web visit https://groups.google.com/d/msgid/object-composition/56869ab7-c819-8cad-cb55-8f3850e50f67%40gmail.com.