Engineers don’t innovate often in core technologies, because they’re careful.  

Of course that also means they generally make terrible marketers 😊.  

They also don’t generally compete, which is part of the problem in this 
industry.  The semiconductor industry, for instance, provides money to an 
independent institute, ISMI, that advances the core technologies they all use.

We do love shiny new toys though, that’s half the reason we became engineers.

You don’t ‘need’ an image by any means, but the fact that my live coding 
environments in Eclipse have been running, hiding behind modal dialogs, for 
332, 468, and 992 hours respectively, due to constantly comparison between 
in-memory data and on-disk data combined with a crappy eventing model, implies 
that it’s at the very least much easier.  Granted they’re building parts of a 
huge program, an ERP, and using JPA with it.  Still, I have 3  Eclipse 
environments on 3 Sun servers with 64 threads each that have been untouchable 
for many days. 

Smalltalk is ‘a’ way, a way that doesn’t have the massive discrepancies between 
its syntactical appearance and dynamic implementation that C++ and Java suffer 
from, discrepancies that dynamically propagate depending on different 
libraries, frameworks, internal system states and external environments.

Python is another way, it has plenty of strengths.  Its weakness is that it 
doesn’t scale in terms of either data size or complexity.  Odoo is a great 
case, most usable ERP out there for the end user, but if you try to run more 
than a few of the 40 odd modules it craps out.  Largely that’s lack of time or 
investment, if you haven’t the latter, you need the former.  IMO Python is 
closer to Smalltalk than GNU Smalltalk.  

But why compete?  Where Python has strengths I use it, where there are 
reliable, stable technologies in Java I use them (Synapse and JINI are two main 
ones).  If I have to do work in a browser I have to write JS, I just don’t try 
to do things it’s not reliably capable of.  If I’m using ACT-R for modeling, I 
use LISP, for Wordnet I use Prolog.  

Writing any language in another, especially a language like C, is not going to 
work well in the long term, because while writing the language, one can’t be in 
that language’s proper mindset.  As a result Ruby looks like Smalltalk but 
works like Java, except a Java without the massive investment that make actual 
Java somewhat reliable.  

Funny you mentioned Alan Kay, given I had a disagreement with him last night. 
His argument was that we need to think beyond Smalltalk, beyond anything out 
there at the moment. My argument was that we haven’t yet caught up to 
Smalltalk, never mind LISP, and that despite nearly everything we use having 
originated in those, most don’t even recognize it. We’re nowhere near ready for 
a new paradigm when we haven’t digested the old one yet.  

It was a polite disagreement. Nevertheless, AFAIK only God is God, and I don’t 
speak with him personally all that regularly 😉.

Pharo is far from the Smallltalk I began with in ’88.  Morphic is well beyond 
MVC and the improvements to it, combined with the things built on it, are keys 
to why I use Pharo. The JIT compiler is a another big improvement, which 
originated with Strongtalk - the PoC for the Java JIT compiler written by Sun.  

But when my first language, Forth, is still better than 90% of the ‘new’ 
languages out there, using those new languages as core technologies is 
problematic.  

New is better only if its actually better.

Andrew







Sent from Mail for Windows 10

From: Dimitris Chloupis
Sent: Monday, November 6, 2017 5:29 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

all people like popular choices, including engineers.

Engineers may be more careful but they are not known exactly for their talent 
to innovate. 

We are pact animals, we are social animals. 

This is far from a coding problem, its pretty much coded right inside our DNA, 
not just for us but also for any other animal.

And we have our trends too, our resistance to git is an excellent example. A 
general fixation of avoiding files and especially text files. The unreasonable 
argument that you need an image to preserve a live coding enviroment. The idea 
that just because you have access to the complete source code , life becomes 
easier for some weird way as if people are likely to mess with the internals of 
a system. That for some weird reason you cannot have access to source code in 
other languages or that is hard to do so. The notion that live coding is only 
possible or only easy in Smalltalk. That reimplementing everything in Smalltalk 
is a great idea. That minimal syntax equals softer learning curve. That 
Smalltalk is the only sensible way of doing OOP. 

Finally but not least, "Alan Kay is god".  

People love to stick to their beliefs (me included) and not feel comfortable 
questioning them. It's no surpise it tooks us hundrends of thousands of years 
to get to this point.

JS is chosen as a language for the same reason its so hated, its third party 
libraries. As coders we have to rely a lot more to libraries than we have to 
rely on languages. Sure a language can solve many potential problem but a 
powerful library support can practically give you code on a plate. Hence also 
why JS is practically non existant outside web dev and that is pretty rare for 
a language. 

So sure popularity plays a major role but in the end the preference for JS is 
not insanity, its the right choice for what it focuses on. A difficult/ not 
that well designed language + big library support will always be easier to use 
than a super ease elegant language without such big library support. The time 
when we were relying on our code and our own libraries has passed long time 
ago. 

  

On Mon, Nov 6, 2017 at 10:37 AM Andrew Glynn <aglyn...@gmail.com> wrote:
Btw, I think we gained pace when JS took over the front end, but lost 
visibility.  Nothing is slower than coding a client/server app with the front 
end in JS. The ‘rise’ of JS is a side effect of the fact that the web was 
designed, built and continues to be built by ‘coders’ who don’t know enough to 
be called amateurs.
 
What puts 'coders’ off though is related to way JS is and (mostly doesn’t) 
work.  You can’t just sit down and ‘hack on’ Smalltalk until it ‘sorta kinda’ 
does what you want.  You can’t grab code from some random website and ‘fiddle 
with it’ until it ‘sorta kinda’ works. ‘Coders’ can’t make it ‘sorta kinda’ 
work, and they don’t know how to write code that works.
 
One of the better JS programmers I’ve worked with said at one point “Engineers 
can’t write JavaScript because it doesn’t fit their mentality.  I used to be a 
retoucher, I’d spend hours and hours getting one pixel right.  There’s no good 
reason that one pixel had to be that way, but the image didn’t ‘go’ otherwise. 
JavaScript is like that, you spend hours and hours messing with it, getting it 
to work, and at the end you don’t know why it works, nor why it didn’t.  That’s 
not an engineer’s mindset.”
 
Do aviation engineers choose tools based on ‘popularity’? At the same time, 
would you want your next flight to be on an aircraft running on JavaScript?  I 
wouldn’t eat from a microwave running JavaScript.  
 
I’d rather be an engineer than a popularity contestant or a fashion victim.
 
In any case, more often than not it’s management that chooses technologies, 
generally based on who they have lunch with more than anything else.  
 
Andrew
 
Sent from Mail for Windows 10
 
From: Dimitris Chloupis
Sent: Monday, November 6, 2017 2:35 AM

To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument
 
Another way of promoting Pharo is copying its advantages to other languages. 
The ideal way is for people to get straight to Pharo and fall in love with it. 
But sometimes this may be possible for several reasons. The most usual being 
that people simple are not in the mood of learning a new language unless they 
have to. As the saying goes "People love progress , its just that they equally 
hate change"
 
Introducing similar features to another language, like I did with introducing 
live coding enviroment to Python with direct reference back to Pharo is a very 
good way to promote the language. Just because you cannot code in Pharo at your 
work does not mean you cannot code the Pharo way. Just put a huge tag in your 
documentation, comments and anywhere you mention your code "inspired by Pharo ( 
https://pharo.org)" and you will get their attention whether they like the idea 
of learning a new language or not. 
 
Its like watching an ad, using sex, humour and even unrelated stuff to grab 
your attention to a product. The idea here is to get the attention, once you do 
that, the rest follows. 
 
A huge problem with Smalltalk in general is that even though every language, 
enviroment, tool, IDE has been copying it , it is rarely mentioned. If it did , 
I have no doubt it would have been masively more popular than it is right now. 
 
On Mon, Nov 6, 2017 at 9:22 AM jtuc...@objektfabrik.de 
<jtuc...@objektfabrik.de> wrote:

Phil,

Am 26.10.17 um 08:17 schrieb p...@highoctane.be:
>
>
> Now we miss the boat on mobile and bigdata, but this is solvable.

You know, "It's solvable, and it's even easy in Smalltalk" has been what
we've been shouting down at those worms in the C++/Java swamp for
decades. We just never really proved it. We also missed the boat on web.
Seaside was the last real innovation in that field, almost 15 years ago.
When Javascript took over the frontend, we lost pace.

>
> If we had an open Java bridge (and some people in the community have
> it for Pharo but do not open source it - so this is eminently doable)
> + Pharo as an embeddable piece (e.g. like Tcl and Lua) and not a big
> executable we would have a way to embed Pharo in a lot of places (e.g.
> in the Hadoop ecosystem where fast starting VMs and small footprint
> would make the cluster capacity x2 or x3 vs uberjars all over the
> place)  this would be a real disruption.

To it sounds like a big ball of mud to me, but that is opinion ;-)

>
> Think about being able to call Pharo from JNA
> https://github.com/java-native-access/jna the same way we use C with UFFI.
>
> Smalltalk argument for me is that it makes development bearable (even
> fun and enjoyable would I say) vs the other stacks. That matters.
>
Yep. As long as there is no mobile, web or big data involved ;-) To me
that is not enough for convincing project managers these days, because
web, mobile and big data as well ass AI (oh, is that probably no. 4 on
our list of missed boats?) are the topics of what we consider
future-proof projects... I am not only dissing the Pharo community here,
this is a problem for all Smalltalk vendors in my opinion.


Joachim



--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1
 

Reply via email to