From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Date: Mon, 7 Jun 2004 09:09:33 +0200 Message-ID: From: To: <9fans@cse.psu.edu> Subject: [9fans] A prick into the wasps' nest ;-) Topicbox-Message-UUID: 96f448c4-eacd-11e9-9e20-41e7f4b1d025 Hi, friends, I post, with permission, an excerpt from a debate between me and Wlad = Los wlad@mipk.kharkiv.edu ... ... would love to hear reactions from you! Best regards, ++pac. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Vladimir Los wlad@mipk.kharkiv.edu wrote: >=20 > http://www.oberon.ethz.ch/native/WebScreen.html > :o) > And it was the same interface in the middle of 80ths... > As always IT community doesnt think about Wirth's work seriously. And > then (after years) makes similar solutions... >=20 ++pac: Perhaps you don't know that Acme was indeed inspired by Oberon = interface, see http://cm.bell-labs.com/sys/doc/acme/acme.html however, it seems to me [without personal experience with it] that = Oberon's menus are ordinary menus, not ordinary *text* that can be = inserted/modified by the user... Wlad: > Oh! excuse me! Really I didn't know about it! >=20 > > however, it seems to me [without personal experience with it] that > > Oberon's menus are ordinary menus, not ordinary *text* that can be=20 > > inserted/modified by the user... >=20 > Now it is my turn to say "Perhaps you don't know that..." :o) > In Oberon there is nothing but OBJECTS! You can insert/modify=20 > EVERYTHING. There is no difference between any things in the system=20 > ("files", texts, pics, labels, text formatters and scanners, items of=20 > menu - as you asked, ...) everything can be accessed and be=20 > manipulated=20 > by the same way. And it was from the beginning of Oberon system=20 > (aproxim. 1986 - I think...) > You can insert different controls in "text" or you can insert=20 > text into=20 > a "form" or you can even compile a button label (if you want=20 > think about=20 > it as a program text) :o))))) > Sometime I wonder very much why programmers doesn't know about these=20 > systems. May be programmers when they hear word "Wirth" think=20 > "Ahhh, I=20 > know Wirth is a Pascal inventor! But Pascal is the language for=20 > educational goals and not for "real" and "serious" programming.=20 > Consequently the systems developed by Wirth can not be serious." :o))) >=20 > But I sometime think that Wirth "took the baton from > bell-labs" when he=20 > return from there. Almost all famous solutions were made in=20 > Zurich and=20 > then applied by "grands" of IT industry... >=20 very interesting, but how can I live without C? :o)))) There were my thoghuts some time ago too!!! Of course I have to spend=20 some time to teach new system - but you have to do this for every new=20 system! :o) And yet one thing! Oberon diffirintiate from other world very much! It=20 is not "better" or "worse" - it is DIFFERENT. I have to take a habit... = ;o) > I'm a biologist and I need to run also ordinary "programs" > I have ported 50+ ones from various dialects of C to plan9 native C,=20 > and now I should learn Oberon language and port... :-( I am not a "violator". I have some spare/free time and I have seen your=20 message... ;o) Of course it is your decission to learn thomething or not... ;o) I just = give you an advice. And my impressions. I know c/c++, Modula-2,=20 Forth, Delphi, Smalltalk. The better it willl be to say "I worked in=20 them". But three years one my friend shown me Aos (it is the last of=20 ETHZ OS) And I will be "killed"... :o) THeir model of multitasking (and=20 synchronization) is something!!! Aos (or bluebottle=20 http://www.bluebottle.ethz.ch) is the result of 20 years researches. I=20 think it is the same sutiation - NOBODY else couldn't do the same OS.=20 And community even doesn't realize and understand WHAT has appeared!!!=20 ;o) The most of programmers are under the presse of old paradigms?=20 models and thinkings... ++pac: > In Oberon, can I just rewrite the text on a button of a running=20 program, without recompilation, > and the program just does this another command? > Acme does this. By this example I tried to show the flexibility of the system... :o) = But! Of course YOU CAN CHANGE THE behavior of every control without=20 recompilation. There many ways to do this. One of them - to change value = of field Link. :o) And yet some words... Rob Pike rob@plan9.bell-labs.com Originally appeared in Proc. of the Winter 1994 USENIX Conf., pp.=20 223-234, San Francisco, CA "Cedar was, however, the major inspiration for Oberon [Wirt89], a system = of similar scope but much smaller scale. Through careful selection of=20 Cedar's ideas, Oberon shows that its lessons can be applied to a small,=20 coherent system that can run efficiently on modest hardware. In fact,=20 Oberon probably errs too far towards simplicity: a single-process system = with weak networking, it seems an architectural throwback." Sometime I think why creators of most famouse OS of XX cent. look like=20 children or like liars. If you can remember other "father" of Unix Brian = Kernighan in his Why "Pascal is Not My Favorite Programming Language"=20 criticizes Pascal. But in both cases their "arguments" and "facts" are very week and may be = even false! It concernrs Brian's knowing of pascal development and Rob's = estimation of Oberon... One interesting question is Why do they speak wrong things? May be they=20 can look Oberon's potentials and they try to "avert" the attention of=20 community from Wirth's systems and works. But then they use Wirth's=20 result in their works! This is very interesting! I look at Limbo and=20 what I can see - Oberon with a mask! All the time they say "garbage=20 collection is a very bad thing", but introduce it into Inferno. "Byte=20 code is a waste of time" - but use it after Sun (which in their turn=20 used GC and byte-code after slim-binaries of Oberon). Of course Oberon (and its desc-s) are not so popular. But we have veru=20 strange state in our branch. Everybody use "popular" systems. These=20 systems use solutions developed in Wirth's labs. But these solutions in=20 those popular systems are not "native". They are fasten to those systems = with restrictions and under "other ideology" - they can not reveal all=20 of their advantages... In result we have half-decisions and we have to=20 correct problems due to them... And get looped circle again! Wlad: Now I am reading and I think that I walked in the dark forest using else = but not Oberon and Plan9. Now I am even afraid I have to go to Plan9! :o))) I like it more and more while I'm reading about it! :o) I'm going to stay after my work today and download it... ++pac: > [Oeron] has things > that Plan9 does not, eg. objects -- I suppose that GUI in Oberon is = just a > dynamic object that other programs-objects talk to, Something different. GUI IS a set of objects. We have several defined=20 interfaces and you can implement them and achieve neded functionality.=20 Of course the system has predefined implementations of interfaces and=20 then it works... :o) > so any change to this single object affects all other programs talking = > to it, am I right? Yes as we could see if you change for example any property (through=20 Colombo - program-object to access working objects) this change=20 transforms the object "on the fly". More You can change implementation=20 of any objects without "stopping" the system or any part of it. For = example I just can relink refference to other "window manager" and=20 my interface becomes 3D or like in Windows... Of course to achieve such flexibility you (your objects) must fulfil=20 some rules (support defined interfaces). And the most pleasure for me is GARBAGE COLLECTOR!!!!!!!! I know I am not the most attentive homo in this Universe. I make a great = deal of mistakes concerning alloc/free of memory. May be it is due to my = thoughts about rules of proper language are flying behind the thoughts=20 about problem I am solving... :o) But with GC I became to focus only on problem domain not on system low=20 level specific things. I have got very strong habit to program in GC-language. IT'S VERY=20 COMFORTABLE AND YOUR PRODICTIVITY GROWS MUCH MORE! And I am not going to = change such class of systems to something else. May be Java (and system=20 based on it), or Limbo (in Inferno), or Smalltalk... :o) > Plan 9 even has no shared libs (like .so, .dll), thus you have to=20 > relink everything each time you make a change in a library. Everything = > is statically linked. They state that shared libs are not needed,=20 > though not harmful if appropriately used. ??????????????????????????? It is something new for me!!!! And Pike can write that Oberon is step=20 backward????????? :o)))) The dynamic linking and loading is one of the "elephant" to achieve=20 flexibility. Now ETHZ is ending new core of Aos. It becomes real-time. That's great = news! > nevertheless, shared libs are not true objects. I'm not the proper=20 > person to discuss pros and cons of OO paradigm. I was pursuaded I can=20 > live w/o objects :-) Oh, no! It's just a mirage! I can assure you 101% :o) I can't live w/o=20 objects! Nobody can! :o) Unix was so successful because of it was=20 defined one very useful and common OBJECT - "FILE"... :o)))) And I wont=20 speak about graphical library. May be you can't inherit from library's=20 object but the ideology ot those libraries is object. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D