Norbert,
I stand corrected because I have not followed the mainstream languages
as well as I probably should. Thank you for your candid answer, it
clearly outlines what I can and cannot expect from Pharo and any other
ST project.
I go back to Alan Kay's vision of a Dynabook: A /personal /computer for
children of all ages. It should contain all its owner's /personal /data,
including his or her /personal /programs, as they evolve through the
years. Continuity is a must; the owner shall never loose data.
Again, thank you for your answers. They have given invaluable
contributions to my thinking.
--Trygve.
On 07.05.2018 14:14, Norbert Hartl wrote:
Am 07.05.2018 um 12:42 schrieb Trygve Reenskaug <tryg...@ifi.uio.no
<mailto:tryg...@ifi.uio.no>>:
Please tell me when Java, C, C++, etc programs stopped working
because their runtime systems had changed.
Please tell me when Java, C, C++, etc compilers stopped compiling old
code because the languages had changed.
If we talk about C/C++ the runtime is the operating system. Everytime
I update it the linked libraries are suspect to be invalid from then.
If you have in the same system update a new version of the C compiler
you are doomed. You cannot link your binary with the new libs. And the
new C compiler quirks about your code. So what you have then? Staying
on an old C language standard? Statically link everything. Ah no that
won’t work because you would have to care about all your dependencies
being compilable with the new compiler. But you don’t update the
compiler meaning you don’t update the operating system. It is the same
as staying on pharo 3.
For Java the situation is slightly different because if you use new
programming language features you can only do when switching the
compiler to the new standard. There is a lot of effort that went into
making the java vm recognize the language version and execute
regarding that making version compatible. We are in sync here. I told
you it is about manpower. Do you know how much manpower it needed and
how long it took to add something like closures to the java language?
Do you consider java closure to be en par with other languages?
We are sorry not everything is to your liking. It is not even to our
own liking because we have dreams far beyond. But we will never get
there if we don’t take the effort. And the point of open source (did I
mention pharo is open source?? ) is that the ones that do it decide
what to do. Nuff said!
Norbert
On 07.05.2018 11:57, Norbert Hartl wrote:
I understand what you are saying but it contains some misconceptions
about the modern software world.
„The earth is not stopping to turn just because you want to stay on
the sunny side“
There is two funny concepts going on in the modern software
industry. The one tells you that because you want to do a product
everything else around you should come to a full stop so can
comfortably build your software not disturbed by other things. The
second one tells you that you _have to upgrade_ … there is this
magical force preventing you from staying where you are. Both
notions are funny alone but they come combined and then they turn
out to be a non-sensical monster.
Let’s take a different approach. Put in everything you say about
software, libraries, etc the word version. So you can build upon
Pharo version 3 your own product. You can stay at that version and
it won’t change. If the software you sell is not 80% pharo but your
own you should not have a problem just to stay on that version
because you develop your own stuff. But still the world did not stop
turning and there is pharo 4. You decide there are a few nice
features but the work to adjust is too big to take the risk. Then
there is pharo 5 and you … nahhh not this time….Then there is pharo6
and they not only changed the image but also the way source code is
managed. That prevents you further from adjusting. But hey you can
still be happy with pharo3 and it does not change.
So what is the real problem? Yes, money/time is not enough. I think
there are a lot of people risking their health to promote pharo and
now we have a consortium that can pay engineers to do work on pharo.
So let me tell you a future story:
You see what pharo is doing and you think it is good. You can also
see that there are too less resources to proceed in the way you need
it to go. So you decide to show pharo to the world inspiring people
with some kind of a vision. The result is that more people pay into
the consortium and we hire more engineers. And then one day the
consortium has enough money to pay engineers that can care about a
LTS (long term support) version of pharo. So you can stay on pharo
version 3 and still get those annoying bugs fixed. And hey this team
has also enough time to provide you with tools that make a migration
to pharo version 4 more easy and less annoying for you. And then you
have your own product based on pharo version 4. And then for version
5, version 6,…. Sounds like a dream…but hey…it is indeed realistic.
It just depends on how the people approach it
How does this sound?
Norbert
Am 07.05.2018 um 11:31 schrieb Trygve Reenskaug <tryg...@ifi.uio.no
<mailto:tryg...@ifi.uio.no>>:
Thanks for your quick answer. I have only a fleeting knowledge of
Pharo but liked what I saw. The Squeak class library has seen
organic growth since 1978 or earlier. Pharo gave it a thorough
overhaul. At the Pharo kernel was a minimal image with a minimal
class library. The rest of the functionality was partitioned into
packages that could be added to the kernel image as required.
Beautiful. But only my dream?
/Matthew 7:24-27: And the rain fell, and the floods came, and
the winds blew and beat on that house, but it did not fall,
because it had been founded on the rock. And everyone who
hears these words of mine and does not do them will be like a
foolish man who built his house on the sand."/
I am developing an IDE for non-programmers called BabyIDE, a
non-intrusive extension of Squeak. Where the Class Browser in
Squeak is used to work with one class at the time, the BabyIDE
browser is used to work with structures of collaborating objects,
ignoring their classes. I would like to develop a BabyIDE image
that gets broad usage and long life. I'm looking for a rock to
build on and hoped it could be what I thought was the Pharo kernel+
a few selected packages. In your answer, I read that if I build
BabyIDE on Pharo, I will be building on sand.
pharo.org <http://pharo.org/>writes: "/Pharo is a pure
object-oriented programming language.../". The only language I can
see is defined by the release image. A Pharo programmer builds
application programs in this language. He or she can add new
classes, change existing ones, subclass them, add or change
methods, change the Smalltalk dictionary, etc. etc. An extremely
flexible and powerful language.
A tale from the future when Pharo is a mainstream language:Business
customers benefit from end users using applications that are
written by Pharo programmers who built on the Pharo language and
environment that had been developed by the Pharo community. One day
there is a happy announcement: A new version of Pharo will be
launched tomorrow. It is truly cool and includes any number of
improvements, some of them documented. And, by the way,
applications written in the current Pharo will no longer work. So
please inform your customers that you will not be able to serve
them for a while. We are confident that all your application
programmers will be happy to drop whatever they are doing in order
to adapt their applications to the new Pharo so that you can start
serving your customers again.
Cheers
--Trygve
On 06.05.2018 13:00, Norbert Hartl wrote:
Can you elaborate on what you consider as a kernel? There are
always things moving in the pharo world. The last years the
virtual machine got some iterations and it is still not fully
stable. For pharo it is hard to have it stable because we feel the
need that a lot of the existing parts need to be replaced to be
useful in these times. Furthermore pharo is also prototyping
platform for programming language features. All of these are
counter-stability measures. So if you need a stable kernel from
native ground up to UI pharo won‘t be that thing you are looking
for the coming years (if at all). You always need to adopt to
change so you need to define your required scope better in order
to get an estimate.
Norbert
Am 06.05.2018 um 11:31 schrieb Trygve Reenskaug
<tryg...@ifi.uio.no <mailto:tryg...@ifi.uio.no>>:
I'm working on a programing paradigm and IDE for the personal
programmer who wants to control his or her IoT. The size of the
target audience I have in mind is >100 million. I gave up Squeak
long ago as a platform because they obsolete my code faster than
I can write it. I have now frozen Squeak 3.10.2 and hope its
runtime will survive until I find a better foundation. My hope is
that Pharo has a stable kernel that I can build on. According to
Stephan, this is not so. Is there any plan for creating a stable
Pharo kernel that people can use for building software of lasting
value for millions of non-expert users?
--Thanks, Trygve
On 05.05.2018 13:53, Stephan Eggermont wrote:
I’ve taken a look at what would be needed to
support magma on pharo a few years ago. Chris always told us he uses it
professionally on squeak and/*has not enough capacity to keep up with changes in pharo
without having a customer/maintainer for it.*/ Twice a year
or so someone asks about magma on pharo and takes a look. AFAIK there are
no real obstacles to a port, but magma uses a lot of deep implementation
specifics that will take an experienced smalltalker to deal with, and a lot
of mailing list archeology as pharo changed a lot since magma worked on
pharo last
Stephan
--
--
/The essence of object orientation is that objects collaborateto achieve
a goal. /
Trygve Reenskaug mailto: tryg...@ifi.uio.no <mailto:%20tryg...@ifi.uio.no>
Morgedalsvn. 5A http://folk.uio.no/trygver/
N-0378 Oslo http://fullOO.info
Norway Tel: (+47) 22 49 57 27