Interestingly, I think in 10 years time with the influence of technical/music theory videos on TH-cam etc, the ability to gain proficiency in technical ability at your musical instrument, and the influence stuff like Jazz is already having in Pop music, the next generation of pop music I'd be will be highly technical. Will it have heart though is the bigger issue, because no amount of technical ability will be worth a single ounce of heart
@10:20 Alan says that having setters in objects makes them a data structure. @19:20 He says putting setteres in allows the "very same disastrous remote assignments statements to be done, and turns the system into a much more fragile way of thinking about things." What does he mean and what is the better alternative that Smalltalk / real OO propose? Thanks for your help.
I know this is really old... But anyways. You can see objects as tiny little virtual computers that are specialized in some particular problem, and they communicate between them using messages. Imagine you need to compute you income tax and realize that is too hard for you or just uninterested in doing so. So, you decide to get yourself a tax specialist and you send a message to him... Hey you know what, I'd like you to do my income tax, I make $100000 a year and I live in the state of Texas. And that's it you don't need to tell the specialist how to calculate those taxes, or if there is any state income tax in Texas, can you imagine some consequences of doing that? :) In summary, what I am trying to illustrate with this vague example is that you should design your objects embracing immutability whenever possible and whenever makes sense. It is not a thing directly related to a specific language, you can totally define setters/getters for your objects in smalltalk.
@@tmztw bingo... OO was conceptually born as a kind of agent model, and somehow ended up conflated with "encapsulation is binding data structures to methods". Erlang has a nice implementation of the original idea and you can get immutable data structures there with Elixir
@@tmztw Instead getting and setting individual fields of your object, try to figure out a more high-level way of the object doing the thing. Instead of having setx getx sety gety, maybe try doing moveTo(x, y) that returns a new object at that location and even more high-level than doing moveTo(x, y) try having a constraint solver that decides where x, y should be, and think of a declarative representation of doing stuff. Maybe use propagators and LVARS since they are state of the art.
55:00 Mr Kay is jumping to conclusions. I do see that domain specific languages for specific problem domains is probably beneficial as to using general purpose languages. What I don't see is what personal computing has to do with it. Btw DSLs are in full swing these days.
Interestingly, I think in 10 years time with the influence of technical/music theory videos on TH-cam etc, the ability to gain proficiency in technical ability at your musical instrument, and the influence stuff like Jazz is already having in Pop music, the next generation of pop music I'd be will be highly technical. Will it have heart though is the bigger issue, because no amount of technical ability will be worth a single ounce of heart
there's a lot of deep insight in this talk, takes a lot of humility to reach these conclusions
Wow I'm baffled. What an amazing talk.
"pop music programming" - so true
Thanks a lot for putting this online. Much easier to watch on TH-cam.
@10:20 Alan says that having setters in objects makes them a data structure. @19:20 He says putting setteres in allows the "very same disastrous remote assignments statements to be done, and turns the system into a much more fragile way of thinking about things." What does he mean and what is the better alternative that Smalltalk / real OO propose? Thanks for your help.
This video is helping me understand th-cam.com/video/QjJaFG63Hlo/w-d-xo.html
I know this is really old... But anyways.
You can see objects as tiny little virtual computers that are specialized in some particular problem, and they communicate between them using messages.
Imagine you need to compute you income tax and realize that is too hard for you or just uninterested in doing so. So, you decide to get yourself a tax specialist and you send a message to him... Hey you know what, I'd like you to do my income tax, I make $100000 a year and I live in the state of Texas. And that's it you don't need to tell the specialist how to calculate those taxes, or if there is any state income tax in Texas, can you imagine some consequences of doing that? :)
In summary, what I am trying to illustrate with this vague example is that you should design your objects embracing immutability whenever possible and whenever makes sense. It is not a thing directly related to a specific language, you can totally define setters/getters for your objects in smalltalk.
@@tmztw bingo... OO was conceptually born as a kind of agent model, and somehow ended up conflated with "encapsulation is binding data structures to methods". Erlang has a nice implementation of the original idea and you can get immutable data structures there with Elixir
@@tmztw Instead getting and setting individual fields of your object, try to figure out a more high-level way of the object doing the thing. Instead of having setx getx sety gety, maybe try doing moveTo(x, y) that returns a new object at that location and even more high-level than doing moveTo(x, y) try having a constraint solver that decides where x, y should be, and think of a declarative representation of doing stuff. Maybe use propagators and LVARS since they are state of the art.
@@AlexRodriguez-gb9ez I think you meant to reply to the person making the question
18:35 the master programmer teleports
Why does the video skip around 22 - 23 minutes? Was something lost, cut, edited? What was it?
it might be because they were not allowed to show that part to the public, maybe? Or it could be just a damaged file upload
"A New Approach to Function Design and Description" by Robert S. Barton
around 7:00: Where is the list?
55:00 Mr Kay is jumping to conclusions. I do see that domain specific languages for specific problem domains is probably beneficial as to using general purpose languages. What I don't see is what personal computing has to do with it. Btw DSLs are in full swing these days.
Not exactly HD is it?