On 1/15/2012 6:55 AM, Gerry Weaver wrote:
Hi Andreas,
I am not comfortable with the idea to write parts of an application in
different languages.
Typically the disadvantages overweigh the advantages to do so as you
would have different languages and systems to master and update.
Interoperability with other systems and languages should be easy and
Squeak/Pharo are still lacking in this area. This is well known and
hopefully there will be some improvements in the future.
I guess I would have to disagree with you here. Most of the editors and
IDEs of other languages are not maintained by the language proper. There
are many editors and IDEs that support many languages in addition to the
one they are written in. I think the benefits of using a full featured
GUI toolkit to create an IDE would be significant.
And I have to disagree with you here. You lack the imagination and
knowledge to understand the significant advantage of having a single
language, environment and toolset that Smalltalk provides.
Planning to give up on parts like GUI is a bad idea in my opinion.
Smalltalk would be even more niche than it is now. I want to be able to
build complete applications without the need to build parts in another
language.
In theory I would agree with you. However, I wasn't able to come up with
an application scenario where the Pharo GUI would work. Either the
widget set and OS integration are too limited or performance is a
problem. For example, the last several applications I have done needed
to display PDF files. I have done a little testing with Pharo and I'm
sorry to say the results were not very encouraging. The problem I think
is one of limited resources. I think that maybe trimming some things
would render more progress on the core. Perhaps a good and complete
binding to one of the current GUI toolkits would be easier to maintain.
You would also get the instant advantage of everything the toolkit had
to offer (including performance). A more robust FFI would inevitably be
realized as a result.
Again, I think you lack imagination. You are stuck in box built by all
your previous tools and experience. And from your box you are trying to
look at Smalltalk and trying to shape it to your experience and thusly
declaring its deficiencies. This does not make Smalltalk wrong.
Most of us here like the Smalltalk experience. We like the language. We
like the image. Are there issues that we would like to overcome? Of
course. Outside of interfacing with the outside world being made easier,
I don't think you are really addressing those issues. Instead, your are
creating issues we don't have. And many of us find many things we can do
living in our world and slowly working on what our world can access.
If you want to mold Pharo into the image that you think it should be.
Please feel free to do so. It is open source. Fork it and make it so. We
would even help where we are able. But you are going outside of the
vision and worldview of this community and most any Smalltalk community.
Cincom, Gemstone, or any of the other commercial Smalltalks have
reasonable success despite all the deficiencies you have discovered.
And if you decide that Smalltalk doesn't fit your worldview. That is ok.
Find the tool that fits you. Be productive with it. And if you want to
create what you think is a better way with what you learn from
Smalltalk. Go for it.
As far as GUI. I like ours. I think it can be improved greatly. But I
like access to it as part of my environment.
What is a standard UI? Who set this standard? Why is QT standard? or
WxWidgets or ...? Look at the most used apps out there. Are they using
native standard UI? I don't think so. iTunes is a hugely used app. Is it
standard UI? No. Apple Mail? Safari? Windows Media player? No these
things are used by most of the computing world and they don't even use
the normal standard native UI of their platform. And they are all ugly.
Is Facebook standard? Web apps are used all the time.
Who says what is standard. And is what is standard today, what we should
strive for? Or can we work towards a better future.
I use all kinds of applications which do not meet your standard of being
a native standard UI. But I use them. Why? Because they provide the
abilities to do what I want or need. Not because they meet any
particular standards as defined by nameless potentially clueless people.
So more than meeting any particularly defined standard of UI, what is
required is than an application be compelling. If it is not, then no
matter how standards compliant it will meet with little receptiveness.
Is Eclipse, Netbeans, Vi, Emacs standard. Windows or Mac? If Windows,
XP, Vista, 7, 8? What is standard on Linux? KDE, Gnome, Unity, pick your
favorite WM. So why is it your developers get to use non-standard tools,
(Emacs, Vi), or define then standard as being what they use?
There are lots of applications where the UI is almost never standard by
anyone's definition. In my world financial investment apps. Education
apps, games, ...
This argument passes no reasonable standard.
Especially having the IDE in Smalltalk itself and thus being able to
inspect and debug and modify everything is a big advantage over any IDE
in a different language.
I don't understand why the IDE needs to be in the image/language to do that.
All Smalltalk implementations have shortcomings in some areas. There
are a multitude of reasons for it, be it commercially
(greater estimated expenses than earnings from it) or just lack of
capacity. Smalltalk users are rare these days and the community is
split because of different implementations and interests. For me, Pharo
is on a good way to take the Smalltalk language into a better
ecosystem. But for the moment Dolphin Smalltalk is my preferred system
because it's relatively cheap and has only few known bugs. In my eyes
it deserves a bigger community and better commercial success. But I
guess that's what every Smalltalker thinks about his preferred
Smalltalk system...
Dolphin seems to be one of the better implementations, but the problem
with Dolphin is Windows. All of the projects on my radar right now are
moving applications away from Windows to Mac/Linux (mostly Mac).
So, in this statement, by definition you are moving from the most
standard defined UI to lesser standard UIs. Linux is all over the map.
The above are simply my opinions and I make no express statements that
anyone else in the Pharo community agrees with them.
Personally I am all for improving the Pharo worlds and making more
things accessible within that world. Not necessarily becoming like the
world outside of Pharo/Smalltalk. If I want that world, it is already there.
I would also presume that by your exploration of our little world, which
by the way is 30+ years old, that you have sufficient deficiencies in
the world you come from to explore what else is available.
Jimmie