On 7 January 2012 14:14, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
2012/1/6 Lukas Renggli <renggli@gmail.com>:
On 6 January 2012 11:20, Peter Hugosson-Miller <oldmanlink@gmail.com> wrote:
On 6 jan 2012, at 06:41, "Gerry Weaver" <gerryw@compvia.com> wrote:
2. There appear to be some tool choices in the Pharo image. I would like to be able to create a class and it's methods in an editor in one go. I like being able to see all of the class code at once. Is there a way to do this? Â I just want to be able to type it all in and accept (evaluate?) all at once.
This is an interesting question to me personally. After 15 years of working exclusively in Smalltalk I've recently been forced to start programming in Java, where the source code is always (as far as I know) arranged in the way you describe.
This organization just emphasizes the dead and compiled nature of Java (and similar languages), compared to the living objects of Smalltalk, where even methods are objects, created by sending messages to other objects. Source code is relegated to being a mere artifact, which can be saved and organized in any way one wishes, and preferably never shows its ugly face to the coder :-p
Which of course is no argument why Smalltalk code could not be displayed in a more programmer friendly way as a continuous block of text. There is no technical reason why source ranges in text box couldn't correspond to life method objects. Compared to other languages it is extremely tedious in Smalltalk to get an overview over a project, a package, or even a single class or to navigate between entities.
And yes, I really *really* miss a good, object oriented class browser!
Eclipse is pretty good, especially with the Java Browsing Perspective.
Lukas
As soon as you would display the code for many methods in a single text pane, you will find file-based-educated people making large refactorings in a single pass... Imagine this leads to many syntax errors, they will soon be willing to save their changes for a later rework... This would be a complete change in programming flow and if we really want to support this, we would have to: - add a way to save syntactically incorrect code - let IDE tools work on partially correct code (syntax highlighting, navigation, etc...)
IMHO, these features add a lot of complexity... Is it really worth? I like the discipline of focusing on a single method until it is at least syntactically correct.
The Pharo community has extremely limited resources so it seems quite fair to me for Pharo to say "yes, but it's up to you because we have no time". It _is_ very useful to be able to see and edit long reams of text: my favourite text editor's been beaten on since the late 70s. It is now very, very good at manipulating text, in multiple programming languages, in multiple human languages, on many platforms. That I can't use this text editor to manipulate a textual representation of my favourite language is extremely annoying! frank
On the other hand, in Smalltalk we have to transfer the complexity of multi-method changes in the refactoring engines/menus when some simple modify/replace in a file would work.
Nicolas
-- Lukas Renggli www.lukas-renggli.ch