On 3 November 2016 at 22:36, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> Igor you confuse me with someone else I never asked why Smalltalk doesn't > have... nor I said that I want static types and interfaces. I am actually > trying to use a Pharo instead of C++ with Unreal. > > I hate static types and I hate interfaces. Only pointed that is possible. > I don't like languages that think they are smarter than me. I love my > freedom thank you very much and I love Pharo as it is language wise. > sorry, i confused you with the original question of CodeDmitry. > On Thu, 3 Nov 2016 at 23:16, Igor Stasenko <siguc...@gmail.com> wrote: > >> On 3 November 2016 at 07:11, Dimitris Chloupis <kilon.al...@gmail.com> >> wrote: >> >> Actually sorry Igor but you are wrong, you just defeated the purpose of >> Smalltalk. To expose you to the internals. Of course you can implement >> interfaces. You can even implement static types. You can do anything you >> want. >> >> >> So, why you asking then 'why smalltalk doesn't have .... ' when you know >> that in smalltalk you can do anything you want? >> Yes, you can do anything you want, but not everything you can do makes >> sense to do. >> And it doesn't defeats the purpose of smalltalk, it just defeats the >> common sense. >> >> And last one, i don't understand what kind of 'exposure to internals' you >> are talking about. >> In smalltalk people used to write a functional tests, to check that your >> code behaves as intended. Now you proposing to introduce static interfaces, >> borrowed from other lanuages, the only purpose of which is to declare that >> your code *could* behave as intended, no guarantees , nothing. >> Just a set of formal rules on top of existing ones, with ZERO end effect >> and benefits. >> You want it? You are free to implement it. Good look with it.. >> >> I wonder, why so many people think that if they put soft pillows >> everywhere, seal the doors (because outside is dangerous) , and after >> sealing and pillowing everything they happily rest with thought 'now we are >> safe'.. not realizing, that they built a perfect jail for themselves, >> without any means to escape from it and do something in real world. >> >> The compiler is written in Smalltalk after all. >> >> On Wed, 2 Nov 2016 at 23:02, Igor Stasenko <siguc...@gmail.com> wrote: >> >> >> If you want to ensure that your class(es) comply with certain protocol, >> just write a test that covers the protocol and checks that class instances >> will understand messages you want it to understand. >> But there's no way to restrict your class to comply to whole protocol >> once at a time, because tools made in a way, that you populating your class >> with methods, each method is add individually and compiled separately, and >> the only validation, the compiler is capable of is basically compliance >> with smalltalk syntax. And it doesn't cares about higher lever requirement, >> like whether your class turns to be 'valid' because of a method you just >> added, ready to be used and for what. >> Even more, there's no way to connect all those 'interface' formalisation >> garbage rules with send sites (the place where you actually invoking one or >> another method of one of potetial implementor of your interface), so it >> makes no sense to do any (pre)validation on whatever class/object in a >> system in order to check whether it conforms with it or not. >> That's " Why don't Smalltalk or Smalltalklike languages have checked >> interfaces?" >> >> -- >> Best regards, >> Igor Stasenko. >> >> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > -- Best regards, Igor Stasenko.