Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-21 Thread 88888 Dihedral
Uday S Reddy於 2013年4月17日星期三UTC+8下午5時10分58秒寫道: Mark Janssen writes: Having said that, theorists do want to unify concepts wherever possible and wherever they make sense. Imperative programming types, which I will call storage types, are semantically the same as classes.

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-20 Thread Mark Janssen
On Thu, Apr 18, 2013 at 11:31 PM, Jason Wilkins jason.a.wilk...@gmail.com wrote: I don't quite think I understand what you are saying. Are you saying that mathematical models are not a good foundation for computer science because computers are really made out of electronic gates? No, I'm

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-20 Thread Mark Janssen
I think there is some misunderstanding here. Being mathematical in academic work is a way of making our ideas rigorous and precise, instead of trying to peddle wooly nonsense. I'm sorry. I am responsible for the misunderstanding. I used the word math when I really mean symbolic logic

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-20 Thread 88888 Dihedral
Ned Batchelder於 2013年4月20日星期六UTC+8上午12時41分03秒寫道: On 4/19/2013 12:16 PM, Steven D'Aprano wrote: On Fri, 19 Apr 2013 12:02:00 -0400, Roy Smith wrote: PS: a great C++ interview question is, What's the difference between a class and a struct? Amazing how few self-professed C++

RE: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Moez AbdelGawad
Date: Thu, 18 Apr 2013 15:53:15 -0700 From: dreamingforw...@gmail.com To: types-l...@lists.seas.upenn.edu Subject: Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages I am very thankful for the references given by everyone.

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Jason Wilkins
I don't quite think I understand what you are saying. Are you saying that mathematical models are not a good foundation for computer science because computers are really made out of electronic gates? All I need to do is show that my model reduces to some basic physical implementation (with

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Uday S Reddy
Mark Janssen writes: The main thing that I notice is that there is a heavy bias in academia towards mathematical models. I understand that Turing Machines, for example, were originally abstract computational concepts before there was an implementation in hardware, so I have some sympathies

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Claus Reinke
The main thing that I notice is that there is a heavy bias in academia towards mathematical models. I understand that Turing Machines, for example, were originally abstract computational concepts before there was an implementation in hardware, so I have some sympathies with that view, yet,

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Steven D'Aprano
On Thu, 18 Apr 2013 17:14:13 -0400, Robert Harper wrote: In short, there is no such thing as a paradigm. Of course there is. A paradigm is a distinct way of thinking, a philosophy if you will. To say that there is no such thing as a paradigm is to say that all ways of thinking about a topic

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Roy Smith
In article 517131cd$0$29977$c3e8da3$54964...@news.astraweb.com, Steven D'Aprano steve+comp.lang.pyt...@pearwood.info wrote: On Thu, 18 Apr 2013 17:14:13 -0400, Robert Harper wrote: In short, there is no such thing as a paradigm. Of course there is. A paradigm is a distinct way of

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Chris Angelico
On Fri, Apr 19, 2013 at 11:07 PM, Roy Smith r...@panix.com wrote: I was indeed talking about the ways people think about programming. For example, OOP in C++ is very much about encapsulation. People declare all data private, and writing setter/getter functions which carefully control what

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Roy Smith
In article mailman.821.1366378384.3114.python-l...@python.org, Chris Angelico ros...@gmail.com wrote: On Fri, Apr 19, 2013 at 11:07 PM, Roy Smith r...@panix.com wrote: I was indeed talking about the ways people think about programming. For example, OOP in C++ is very much about

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Chris Angelico
On Sat, Apr 20, 2013 at 1:31 AM, Roy Smith r...@panix.com wrote: #define private public #define protected public #include whatever.h And: #define class struct But what I mean is that, _in my design_, I make everything public. No getters/setters, just direct member access. The theory behind

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Roy Smith
In article mailman.824.1366386029.3114.python-l...@python.org, Chris Angelico ros...@gmail.com wrote: On Sat, Apr 20, 2013 at 1:31 AM, Roy Smith r...@panix.com wrote: #define private public #define protected public #include whatever.h And: #define class struct I suppose, while we're

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Steven D'Aprano
On Fri, 19 Apr 2013 12:02:00 -0400, Roy Smith wrote: PS: a great C++ interview question is, What's the difference between a class and a struct? Amazing how few self-professed C++ experts have no clue. I'm not a C++ expert, but I am an inquiring mind, and I want to know the answer! --

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Steven D'Aprano
On Fri, 19 Apr 2013 09:07:15 -0400, Roy Smith wrote: Often, when you talk to C++ people, they will tell you that encapsulation is what OOP is all about. What they are doing is saying, C++ isa OOPL, and C++ has encapsulation, therefore OOPL implies encapsulation. When they look at something

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Ned Batchelder
On 4/19/2013 12:16 PM, Steven D'Aprano wrote: On Fri, 19 Apr 2013 12:02:00 -0400, Roy Smith wrote: PS: a great C++ interview question is, What's the difference between a class and a struct? Amazing how few self-professed C++ experts have no clue. I'm not a C++ expert, but I am an inquiring

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Ian Kelly
On Fri, Apr 19, 2013 at 4:16 PM, Steven D'Aprano steve+comp.lang.pyt...@pearwood.info wrote: On Fri, 19 Apr 2013 12:02:00 -0400, Roy Smith wrote: PS: a great C++ interview question is, What's the difference between a class and a struct? Amazing how few self-professed C++ experts have no

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Roy Smith
I wrote: I suppose people who grew up learning Python as their first language look at something like C++ and say, That's not OOP because classes aren't objects, or something equally silly. In article 517172e7$0$29977$c3e8da3$54964...@news.astraweb.com, Steven D'Aprano

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Roy Smith
In article mailman.843.1366412626.3114.python-l...@python.org, Dennis Lee Bieber wlfr...@ix.netcom.com wrote: On Fri, 19 Apr 2013 12:02:00 -0400, Roy Smith r...@panix.com declaimed the following in gmane.comp.python.general: PS: a great C++ interview question is, What's the difference

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-19 Thread Steven D'Aprano
On Fri, 19 Apr 2013 19:37:38 -0400, Roy Smith wrote: There aren't many schools who teach Python as a first (and only language), but I suppose it's starting to catch on. 5 years from now, we may see waves of kids graduating from college knowing nothing but Python, with a similarly narrow view

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-18 Thread Jason Wilkins
Warning, this is a bit of a rant. That paragraph from Wikipedia seems to be confused. It gives the fourth paradigm as declarative but then says first order logic for logic programming. It seems somebody did an incomplete replacement of declarative for logic. Wikipedia is often schizophrenic

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-18 Thread Robert Harper
In short, there is no such thing as a paradigm. I agree fully. This term is a holdover from the days when people spent time and space trying to build taxonomies based on ill-defined superficialities. See Steve Gould's essay What, If Anything, Is A Zebra?. You'll enjoy learning that there

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-18 Thread Robert Harper
The term declarative never meant a damn thing, but was often used, absurdly, to somehow lump together functional programming with logic programming, and separate it from imperative programming. It never made a lick of sense; it's just a marketing term. Bob Harper On Apr 18, 2013, at 2:48 PM,

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-18 Thread Mark Janssen
On Mon, Apr 15, 2013 at 2:53 AM, Moez AbdelGawad moeza...@outlook.com wrote: I'm not quite sure I understand your question, but I'll give it a shot. :-) I'm in this same camp too :) I am very thankful for the references given by everyone. Unfortunately my library does not have the titles and

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-18 Thread Ian Kelly
On Thu, Apr 18, 2013 at 4:53 PM, Mark Janssen dreamingforw...@gmail.com wrote: The main thing that I notice is that there is a heavy bias in academia towards mathematical models. I understand that Turing Machines, for example, were originally abstract computational concepts before there was

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-17 Thread Uday S Reddy
Mark Janssen writes: Having said that, theorists do want to unify concepts wherever possible and wherever they make sense. Imperative programming types, which I will call storage types, are semantically the same as classes. I like that word storage type, it makes it much clearer what

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-17 Thread Uday S Reddy
Mark Janssen writes: From: en.wikipedia.org: Programming_paradigm: A programming paradigm is a fundamental style of computer programming. There are four main paradigms: object-oriented, imperative, functional and declarative. Their foundations are distinct models of computation: Turing

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-17 Thread Rishiyur Nikhil
If you have trouble getting hold of The Essence of Algol, ... There seems to be a downloadable copy at: www.cs.cmu.edu/~crary/819-f09/Reynolds81.ps It's in PostScript, which is easily convertible to PDF if you wish. Nikhil On Wed, Apr 17, 2013 at 5:30 AM, Uday S Reddy

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-17 Thread Andreas Abel
On 17.04.2013 11:30, Uday S Reddy wrote: Mark Janssen writes: From: en.wikipedia.org: Programming_paradigm: A programming paradigm is a fundamental style of computer programming. There are four main paradigms: object-oriented, imperative, functional and declarative. Their foundations are

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-16 Thread Mark Janssen
I'm not quite sure I understand your question, but I'll give it a shot. :-) Thank you, and my apologies for my late reply. The C/C++ model, in which the types are anchored to the machine hardware, in the exception, not the rule. In the academic literature, type theory is almost entirely

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-16 Thread Mark Janssen
On Mon, Apr 15, 2013 at 2:06 AM, Uday S Reddy u.s.re...@cs.bham.ac.uk wrote: In programming language theory, there is no law to the effect that everything should be of one kind or another. So, we would not go with Alan Kay's ideal. I understand. I state Kay's points to show how the evolution

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-16 Thread Ian Kelly
On Tue, Apr 16, 2013 at 5:16 PM, Mark Janssen dreamingforw...@gmail.com wrote: Understood, but I feel this is where theory has gone too far away from reality. How so? Turing machines and lambda calculus were both invented in the 30s, before any real mechanical computers existed. If anything,

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-16 Thread Ian Kelly
On Tue, Apr 16, 2013 at 5:40 PM, Mark Janssen dreamingforw...@gmail.com wrote: I feel like I'm having to come up to speed of the academic community, but wonder how and why this large chasm happened between the applied community and the theoretical. In my mind, despite the ideals of academia,

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-15 Thread Uday S Reddy
Mark Janssen writes: After the 2001 type/class unification , it went towards Alan Kay's ideal of everything is an object As a contrast, this is very distinct from C++, where everything is concretely rooted in the language's type model which in *itself* is rooted (from it's long

RE: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-15 Thread Moez AbdelGawad
Date: Sun, 14 Apr 2013 22:55:59 -0700 From: deles...@gmail.com To: dreamingforw...@gmail.com CC: types-l...@lists.seas.upenn.edu; python-list@python.org Subject: Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages [ The Types

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-15 Thread Matthias Felleisen
On Apr 14, 2013, at 11:48 PM, Mark Janssen wrote: After the 2001 type/class unification , it went towards Alan Kay's ideal Are you sure? Remember Kay's two motivations [*], which he so elegantly describes with [the] large scale one was to find a better module scheme for complex systems

Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

2013-04-14 Thread DeLesley Hutchins
I'm not quite sure I understand your question, but I'll give it a shot. :-) The C/C++ model, in which the types are anchored to the machine hardware, in the exception, not the rule. In the academic literature, type theory is almost entirely focused on studying abstract models of computation