Creating powerful large systems to support business processes in a cost-effective and accessible manner with Deep Data. Listen to a Podcast at the end of the post!
Envisioning the amazing capability to transform human language into code is no fantasy. Our guest in our current post is one of the key figures in the history of Computer Science who helped make that kind of thing Reality.
Rebecca Wirfs-Brock is responsible for such innovations as Responsibility Driven Design and is one of the key people responsible for CRC Cards, both of which inspired much of what’s known as Object Oriented Analysis and Design, (OOAD). And what OOAD inspired was much of what we call Programming today.
Quality of human beings enables us to be able to look into the environment unify it in our minds and bring this to the level of machine usable code?
Actually asked Rebecca that question, and she explained that maybe we don’t have a totally clear view of reality but the view that we have is what we can use to enable machines.
It was a major question for mathematicians a few years ago and even if the current time frame as to why human beings should be able to create mathematics that actually and honestly describes the universe. If you think about it that’s actually kind of odd. That’s why asked you that question.
What you told us was that, when looking at some element of the environment, you can see, “What does it do? And how does it accomplish its work?”
Being able to discern the roles and responsibilities of different people places and things, or processes, that some people might call “Objects” or in other words discrete parcels of reality is 1 of things that we humans seem to be really good at. Think about how much it takes for machine to deal with a simple problem for us is vision. Machine vision is not a simple thing not at all. However machines can easily grasp fast equations and sort and filter through vast amounts of data that go beyond the capabilities of a large group of people.
So there are some things that people are good at, like unifying things, bringing them together and recognizing a higher level (adductive reasoning) which we might call higher reasoning. Machines are great at repetitive tasks, and dividing and defining as result. Together those approaches including Big and Small Data (from machines) and advanced insight from humans, is what Deep Data is all about.
So I was fascinated as Rebecca described in this week’s podcast how you go about using this with CRC Cards. There is elegance and simplicity in this powerful approach to cognize and make useful and lively the significance within different elements of an environment.
We discussed this in a range of topics from how the Mars Rover works to something as mundane as the business process of cancelling an order for a book on Amazon. Believe it or not the process to make those kinds of complex systems function as we would wish them to is not all that different. And this is easily within the reach of developers of all types.
I was fascinated when Rebecca started talking about how you don’t need a totally Object Oriented environment in order to do this kind of Object Oriented Analysis.
In point of fact, she described the process that she went through while she was working at Tektronix, to do board level C and assembly language that came out of a Object Oriented Design.
We discussed how in Scriptcase we could use the same kinds of things to create powerful and highly complex but usable systems that actually work very well. He was a fascinating discussion
One of the things that I’ve noticed in the recent past that Rebecca also brought up is that some of this kind of understanding has been kind of obscured over the years.
Considering the level of power that you have to describe and support the environment with these kinds of easy to do techniques, that can be done in a very low cost and accessibly easy kind of way they should be available to developers again currently and commonly. You can create powerful large systems with good cohesion and the ability to really support some serious business processes in a cost-effective and accessible manner. Object Oriented Design can help to seriously enable that. It should be a key tool in your toolkit if it isn’t already.
I’ve seen well-educated and powerful developers of different sorts who never heard of this kind of thing. And on a number of occasions I’ve seen people in a variety of different kinds of programming environments treat this as it was something mystical, or a dark art.
This could not be further from the truth. And if in this week’s post we begin to introduce you to the fact that such things could exist and their power and their utility than this will indeed have been a really great post.
When considering deep data the issue is that it can be very valuable if we can just make use of it.
So, can humans really easily describe their environment and then enshrined that in silicon by using Object Oriented Analysis and Design methodologies and make it live in their machines?
Please listen to this week’s podcast, and then watch the video demo that should be up in the next couple of days on how we can do this in Scriptcase so that you can decide for yourself.
I look forward to any comments or questions that you might have on this topic and hope to hear from you soon. If you have any comments please send them to: firstname.lastname@example.org