Beginner of smalltalk 80 - first graphic windows and GUI -2
Hello , here is Hans , The Byte Surfer , the smalltalk code is from books of year 1992 and 1993 1988 and 1987. I have a lot of books around the world . ALL of the Topic SMALLTALK 80. Only 80 !!! Because i am a absolute beginner and want to learn smalltalk 80. I realized that thing have changed. for example GUI programming Mosttimes there is a optional library needed for creation. There is a optional IDE i know , for those things. No Matter ! I dont know anything about the NEW TOOLS and Replacements in actual Smalltalk Engineering like PHARO. Please tell me what i have to learn. What is GUI IDE in Pharo. Do i have to learn Morpic. What else for Window and Buttons design ? The Pharo ( and actual squeak ) have very much weight for a beginner. Is it right , that all " NEW STUFF " is decribed in the two manuals : Pharo by Example + Deep into Pharo. Or is there any other actual description about "Up to date programming Pharo" ???? Sincerely Your Friend Hans The Byte Surfer PS. Wish to have Smalltalk 80 from XEROX 1987 here. ha ha ha On 26.11.2014 18:00, pharo-users-request@lists.pharo.org wrote:
Send Pharo-users mailing list submissions to pharo-users@lists.pharo.org
To subscribe or unsubscribe via the World Wide Web, visit http://lists.pharo.org/mailman/listinfo/pharo-users_lists.pharo.org or, via email, send a message with subject or body 'help' to pharo-users-request@lists.pharo.org
You can reach the person managing the list at pharo-users-owner@lists.pharo.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of Pharo-users digest..."
Today's Topics:
1. Beginner of smalltalk 80 - first graphic windows and GUI - need help (Hans Schueren) 2. Re: Beginner of smalltalk 80 - first graphic windows and GUI - need help (Cl?ment Bera) 3. Re: Citizen example for manipulating a bibtex file (Sven Van Caekenberghe)
----------------------------------------------------------------------
Message: 1 Date: Wed, 26 Nov 2014 14:16:11 +0100 From: Hans Schueren <werbung@hans-schueren.de> To: "pharo-users@lists.pharo.org" <pharo-users@lists.pharo.org> Subject: [Pharo-users] Beginner of smalltalk 80 - first graphic windows and GUI - need help Message-ID: <5475D29B.2070708@hans-schueren.de> Content-Type: text/plain; charset=utf-8; format=flowed
To whom it may concern ,
may i ask for some help about standard graphic routines ?
As a beginner i just have learned all the first level SYNTAX of smalltalk 80.
Now , you can imagine , i am interested in writing little GUI windows and graphics for
placing some text in the right positions.
Theese are the statements i have studied from my material.
Does anybody know why the statements not work?
Are there any "replacements" for the syntax that i posted here as example ?
Have a nice day
HERE ARE THE EXAMPLES :
| window | window := ScheduledWindow new. window component: 'Hello World' asComposedText. window open
| window | window := ScheduledWindow new. window label: 'Fenster ohne Inhalt'. window minimumSize: 200 @ 100; maximumSize: 400 @ 300. window open
displayOn: aGraphicsContext 1 to: 10 do: [:i| aGraphicsContext translation printString asComposedText displayOn: aGraphicsContext. aGraphicsContext translateBy: 15 @ 15]
Greetings
Hans The Byte Surfer
------------------------------
Message: 2 Date: Wed, 26 Nov 2014 14:32:34 +0100 From: Cl?ment Bera <bera.clement@gmail.com> To: Any question about pharo is welcome <pharo-users@lists.pharo.org> Subject: Re: [Pharo-users] Beginner of smalltalk 80 - first graphic windows and GUI - need help Message-ID: <CAJrdCbWx1EfaDijSS_vY=BM23oVKbNLfqAHgX-wwnjQz7jScSw@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Hello,
I don't really know how to answer.
Are your examples really from smalltalk-80 ? Were they running on the Xerox-D microcoded machine ? Because I don't think there are anymore smalltalk-80 available right now, nor machine that can run it. There's a smalltalk-78 running on javascript on the web but that's a bit different.
Here you're on the Pharo mailing list, which is a smalltalk which has evolved during 35 years starting from smalltalk-80, so it's quite different from smalltalk-80 right now (for example, closures and exceptions were added, support for modern computers too).
To use window as you are doing something like that works:
| window | window := StandardWindow new. window title: 'Hello World' . window open
However nowadays people use frameworks to build UIs in Pharo, not such APIs. So it depends what you want to do.
2014-11-26 14:16 GMT+01:00 Hans Schueren <werbung@hans-schueren.de>:
To whom it may concern ,
may i ask for some help about standard graphic routines ?
As a beginner i just have learned all the first level SYNTAX of smalltalk 80.
Now , you can imagine , i am interested in writing little GUI windows and graphics for
placing some text in the right positions.
Theese are the statements i have studied from my material.
Does anybody know why the statements not work?
Are there any "replacements" for the syntax that i posted here as example ?
Have a nice day
HERE ARE THE EXAMPLES :
| window | window := ScheduledWindow new. window component: 'Hello World' asComposedText. window open
| window | window := ScheduledWindow new. window label: 'Fenster ohne Inhalt'. window minimumSize: 200 @ 100; maximumSize: 400 @ 300. window open
displayOn: aGraphicsContext 1 to: 10 do: [:i| aGraphicsContext translation printString asComposedText displayOn: aGraphicsContext. aGraphicsContext translateBy: 15 @ 15]
Greetings
Hans The Byte Surfer
Hello Hans My opinion is that you waste your time trying to find a smalltalk 80 just because you were used to it. Its like me returning back to GWBASIC which is the first programming language I learned to use back in 1988. Why use something so old that cant take advantage of new technology and new software ? It will only make suffer and limit you in many diffirent ways. Pharo is a modern implementation of smalltalk it does not try to stick to the past it prefers to embrace the future of smalltalk. Morphic is what Pharo has inherited from Squeak and is by far the most dominant and most mature GUI API of Pharo. New kids in the block graphic wise is Spec , Athens and Roassal.The only common amongst those three is that they are no GUI APIs but they are graphic libraries Spec is wrapper above GUI APIs currently it wraps only Morphic and makes it easier to create complex GUIs. Unlike Morphic however has a steep learning curve but pharoers prefer it because it is easier to manage. Spec documentation is in a dedicate site (Just google "spec pharo" and you will find it) and in Pharo For The Enterprise book. Athens is also similarly to spec a wrapper above vector graphics libraries , currently it wraps the cairo libraries and can mix with Morphic . Athens docs are in Pharo For The Enterprise book plus there is a athens interactive tutorial in smalltalkhub Roassal is part of the moose tools a collection of tools for the visualisation and organisation of code. Roassal is also a wrapper above graphic libraries , it wraps both Morphic and Athens and it has also some GUI classes . Roassal documentation is in Deep Into Pharo and I think it has a chapter in Pharo for the Enterprise. Agains all these doc are easily revealed with a simple google search. GUI wise I will say that Morphic is still the undisputed king and Spec becomes slowly very popular as a way to manage Morphic easily. There is also a new and only Morphic replacement in the works that is called Bloc but I have not tested to provide information about it. So both Morphic and Spec are viable options. Obviously Morphic is more documented because of Squeak but Spec is more actively developed right now in Pharo. Whatever you pick any problems you have you ask here and you get your questions answered and you can also ask at stackoverflow if you have already an account there. There are also other GUI and Graphic libraries inside Pharo and outside Pharo , Pharo like squeak comes with several FFIs that allows you to use external C / C++ library (C++ libraries will have to be wrapped as C libraries) which this alone give you access to pretty much every GUI libraries that popular languages use. JNIPORT is Smalltalk library that allow Pharo to use Java libraries so you can also use Swing. I am also working on a way to allow Pharo to use Python libraries , I was partly successful into creating QT GUIs via pyQT which is the python wrappers for QT GUI API . QT is probably the most powerful GUI library out and so much more than that. So in reality you have like a ton of options , everything comes with its advantages and disadvantages but for now Morphic and Spec should be enough for your needs.
participants (2)
-
Hans Schueren -
kilon alios