The Smalltalk Revitalization Program

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
30 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

horrido
Okay, I've come around to Peter's and Sebastian's way of thinking. Check out the mods to the website.


On Wednesday, 24 December 2014 17:15:48 UTC-5, Peter wrote:
On your website, your statements are of value, especially to Smalltalkers.  Yes, we need to band together to make contributions focused on improving Smalltalk's acceptance.

On the other hand, for a different audience, from the perception of prospective customers, a technology needing "revitalization" is not the best message.

It's a question of who you intend to be the readers of your blog.  Decision makers in business and technical leads need to see pure benefits presented to them, if they are to favor Smalltalk and Amber. 


On Wednesday, 24 December 2014 06:11:32 UTC-8, Richard Eng wrote:
I'm not sure my website positions Smalltalk negatively. "Revitalization" is a reflection on one single reality:  Smalltalk is a largely forgotten language...

Despite all the good work that has been done by the Smalltalk community, Smalltalk still languishes in relative obscurity. At the TIOBE index, Smalltalk doesn't even register on the top 100 list (it used to be on the top 50 list, but has since disappeared). At <a href="http://langpop.corger.nl" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Flangpop.corger.nl\46sa\75D\46sntz\0751\46usg\75AFQjCNHup6iY7zHRilsmGPdClRNVTCUuLg';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Flangpop.corger.nl\46sa\75D\46sntz\0751\46usg\75AFQjCNHup6iY7zHRilsmGPdClRNVTCUuLg';return true;">langpop.corger.nl, the language is in 65th position!

As you've indicated, companies don't think about Smalltalk at all. They're predisposed to well-established technologies such as .NET and Java. Trying to change their mindset, trying to educate them, first requires gaining their attention. In other words, it requires PR and marketing.

As Smalltalkers, we mustn't bury our heads in the sand. Smalltalk needs revitalization; it needs public support. That's what Smalltalk Renaissance is all about.


On Wednesday, 24 December 2014 07:05:32 UTC-5, Peter wrote:
Hello Richard,

Most Smalltalkers would love to have their paying projects be based on Smalltalk. We all have very similar motivations for this.  I understand and I'm with you on wanting Smalltalk to be accepted as a more mainstream technology choice.

I've been using Smalltalk or have managed Smalltalk based projects since the early 1990's.  I can tell you, I've lost too many projects by trying to sell Smalltalk.  Most of my prospective customers do not understand and do not share the passion.  They feel most comfortable with buzzword compliant technologies such as ".NET", "Java", "SQL".  And now, you can add "Javascript" to the list for some projects.  

To close sales, I just presented the benefits of our existing software apps, frameworks and methodologies.  Richard, stick to the benefits on your website.  Smalltalk has many strong points.  If my customer wants to know the details, I frame it by saying, "when I pick up the telephone, I want a dial-tone, and don't care if the backend at the telco is running Linux, Windows or Commodore 64."  Focus on the positive benefits the user experiences, the "dial-tone" for example. Then you can find case studies of successful, large deployments of Smalltalk.  I used (and still do) IBM VisualAge software development tools. IBM Smalltalk has been deployed in mission critical roles at banks, telcos, and Wall Street, for good reasons.  IBM has some credibility. Although, the most impressive case studies are now dated.  Today, Amber is a great tool "for Javascript centric projects."  If you can, Smalltalk has to be introduced as the excellent technology responsible for outstanding deliverables and on-time, on-budget projects. You have to be open and honest, but you also need to provide the best business case to your clients.  It's an art form. 

Please perceive the following as constructive. Your web site positions Smalltalk negativley: 

HOME OF THE SMALLTALK REVITALIZATION PROGRAM

As a businessman or project lead, I don't want to put the success of my project on a technology that needs "revitalization".  

Amber is leading edge technology. Amber has a set of real benefits. Javascript provides the runtime VM and is ubiquitous.  There are lots of great stats to support the growth of Javascript.  Amber makes Javascript shine. Meteor is riding Javascript's coattails, presenting benefits to optimize Javascript centric projects.  Javascript is not a productive language (see table below) and needs Amber's help. 

Occasionally, I write a reply to blog posts, trying to express my passion about the benefits of Smalltalk. Such posts fall on deaf ears. My conclusion, unless you've used Smalltalk or viewed a competent  Smalltalker in action, there will be no interest.  Here's a post, pasted below, expressing my attempt to reply to a "Static Typing is Supperior..." blog post.  I could have written it better. I didn't bother to tune-it.  In hind-sight, I would not make any negative statements and would rewrite any parts that could be mistaken for elitist. I'm learning, it's always best to remove "ego" from human interactions. 

--- start pasted post ---
This post attempts to shed light on Static Typing versus Dynamic Typing, using Smalltalk and C#.

Flexibility is beneficial and crucial to problem solving. When we lack flexibility, we paint ourselves into a corner.  Programming languages are tools. We need to select the right tool for the job.  Else, this quote describes our limitations:

"If the only tool you have is a hammer, every problem looks like a nail."

Static vs Dynamic Typing has become a religious argument. Lets not drink the purple Cool-Aid. (a reference to cult followers consuming cyanide-laced Cool-Aid <a href="http://en.wikipedia.org/wiki/Jim_Jones" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;">http://en.wikipedia.org/wiki/Jim_Jones )

I've used both statically typed, C# most recently. And, Smalltalk on the dynamic front.  In my experience, using C#, after Smalltalk is like going back to using a typewriter with white-out, after using a word processor.  Smalltalk is the dynamic word processor. I am 3x more productive with Smalltalk.  I reach a state of mastery faster and more often when using Smalltalk.

For supportive reading, here's a well written article on the topic: <a href="http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;">http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html

Visual Studio vs Smalltalk IDE example
In my Smalltalk IDE, I can select any method, right-click and instantly open a list of all implementors and/or all callers of that method. It's just part of the meta-data.  I want re-usable code, so polymorphic method names are a good thing. A simple example, send the "print" message to any object, letting the object definition encapsulate how to print any object type, or defer to the super-class' generic implementation.

For decades, in Smalltalk, most code could be edited in the debugger, saved (incrementally compiled) and optionally continue running your program. Visual Studio has a partial implementation for .NET languages, not even close to Smalltalk's ability to edit in debuggers, inspectors and other dynamic tools. 

I don't want to sound religious about Smalltalk, but I do prefer a word processor to a typewriter. That's my reality.  Still, I do need to focus on the-best-tool-for-the-job. C# has a place in my toolbox.

Dynamically Typed Smalltalk Shown to be Most Productive
There are many ways to measure productivity and code quality.  Ultimately, total effort per function point is a useful one. On page 46 of <a href="http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;">http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf a table sets out number of months to implement a 1,000 function point program.  Here's a few metrics for dynamics and static languagues:

Smalltalk   21 coding months
Ruby        46
C#          51
Python      53
C++         53
Java        53
PHP         53
JavaScript  71
C          128
Assembly   213

Smalltalk AND .NET
In my work, I've decided to use both highly productive Smalltalk and .NET with C# for Windows and server apps. 
Here's a Smalltalk for .NET, a work-in-progress (just the language, no classic Smalltalk IDE or debuggers yet). Code can be developed in Pharo or VisualWorks Smalltalk, then migrated to Essence#
<a href="https://essencesharp.wordpress.com/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;" onclick="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;">https://essencesharp.wordpress.com/

Smalltalk AND Javascript
For client-side web apps, Smalltalk and JavaScript. Here's a tool that compiles Smalltalk to JavaScript:
<a href="http://amber-lang.net/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;">http://amber-lang.net/
I can manipulate JavaScript objects with Smalltalk, vice-versa.  Amber's web browser hosted dynamic tutorial is being upgraded to the most recent version of Amber. Check back later for the interactive tutorial that teases, "Got 5 minutes? ...  

Learning Overhead
Smalltalk has 5 keywords.  C++ has more than 50 keywords.  Learning Smalltalk is quick, easy and will teach you design patterns to make you better with other languages. Take a look: <a href="https://www.youtube.com/watch?v=eGaKZBr0ga4" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;" onclick="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;">https://www.youtube.com/watch?v=eGaKZBr0ga4

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

Sean P. DeNigris
Administrator
In reply to this post by horrido
horrido wrote
GemStone's exorbitant licence fees
I was surprised by that description. While I've never used Gemstone, their free options seem very generous to me, and if they are outgrown, I assume that means the project is successful enough to afford it!
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

peter.ode
Yes, Gemstone's GLASS scenario is very generous.  However, if you were to really scale out, published Gemstone prices are quite high and the system requires lots and lots of RAM. Gemstone prices are based on your server resources.

Gemstone might be best suited to an Intranet with line-of-business apps.  A Facebook type of deployment would not be price viable with Gemstone unless you can negotiate a special deal.


...
Peter Odehnal
778 338-4800


On Thu, Dec 25, 2014 at 2:01 PM, Sean P. DeNigris <[hidden email]> wrote:
horrido wrote
> GemStone's exorbitant licence fees

I was surprised by that description. While I've never used Gemstone, their
free options seem very generous to me, and if they are outgrown, I assume
that means the project is successful enough to afford it!



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/The-Smalltalk-Revitalization-Program-tp4796726p4797006.html
Sent from the Amber Smalltalk mailing list archive at Nabble.com.

--
You received this message because you are subscribed to a topic in the Google Groups "amber-lang" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/amber-lang/cZzerx5PePY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

sebastianconcept
guys it would be great if you can engage in this thread.

Sounds bad but is good publicity

Quite on topic and lots of fresh eyes there:

Where Smalltalk Went Wrong



from mobile

On 26/12/2014, at 00:56, Peter Ode <[hidden email]> wrote:

Yes, Gemstone's GLASS scenario is very generous.  However, if you were to really scale out, published Gemstone prices are quite high and the system requires lots and lots of RAM. Gemstone prices are based on your server resources.

Gemstone might be best suited to an Intranet with line-of-business apps.  A Facebook type of deployment would not be price viable with Gemstone unless you can negotiate a special deal.


...
Peter Odehnal
778 338-4800


On Thu, Dec 25, 2014 at 2:01 PM, Sean P. DeNigris <[hidden email]> wrote:
horrido wrote
> GemStone's exorbitant licence fees

I was surprised by that description. While I've never used Gemstone, their
free options seem very generous to me, and if they are outgrown, I assume
that means the project is successful enough to afford it!



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/The-Smalltalk-Revitalization-Program-tp4796726p4797006.html
Sent from the Amber Smalltalk mailing list archive at Nabble.com.

--
You received this message because you are subscribed to a topic in the Google Groups "amber-lang" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/amber-lang/cZzerx5PePY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

Reg Krock-4
In reply to this post by peter.ode
But how do these prices compare to DB2 and Oracle for similar size installations?

Sent from my iPhone

On Dec 25, 2014, at 9:56 PM, Peter Ode <[hidden email]> wrote:

Yes, Gemstone's GLASS scenario is very generous.  However, if you were to really scale out, published Gemstone prices are quite high and the system requires lots and lots of RAM. Gemstone prices are based on your server resources.

Gemstone might be best suited to an Intranet with line-of-business apps.  A Facebook type of deployment would not be price viable with Gemstone unless you can negotiate a special deal.


...
Peter Odehnal
778 338-4800


On Thu, Dec 25, 2014 at 2:01 PM, Sean P. DeNigris <[hidden email]> wrote:
horrido wrote
> GemStone's exorbitant licence fees

I was surprised by that description. While I've never used Gemstone, their
free options seem very generous to me, and if they are outgrown, I assume
that means the project is successful enough to afford it!



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/The-Smalltalk-Revitalization-Program-tp4796726p4797006.html
Sent from the Amber Smalltalk mailing list archive at Nabble.com.

--
You received this message because you are subscribed to a topic in the Google Groups "amber-lang" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/amber-lang/cZzerx5PePY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

peter.ode
It has been several years since I've reviewed Gemstone prices. At that time, Gemstone licenses were in the same range as DB2 and Oracle.  Today, there are much more powerful, performant and cost efficent database managers available.  Take a look at VelocityDb.com

Think about using Essence# (Smalltalk on .NET) with VelocityDb...


On Friday, 26 December 2014 11:23:36 UTC-8, Reg Krock wrote:
But how do these prices compare to DB2 and Oracle for similar size installations?

Sent from my iPhone

On Dec 25, 2014, at 9:56 PM, Peter Ode <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="DXaDf4MiVdkJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">pete...@...> wrote:

Yes, Gemstone's GLASS scenario is very generous.  However, if you were to really scale out, published Gemstone prices are quite high and the system requires lots and lots of RAM. Gemstone prices are based on your server resources.

Gemstone might be best suited to an Intranet with line-of-business apps.  A Facebook type of deployment would not be price viable with Gemstone unless you can negotiate a special deal.


...
Peter Odehnal
778 338-4800


On Thu, Dec 25, 2014 at 2:01 PM, Sean P. DeNigris <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="DXaDf4MiVdkJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">se...@...> wrote:
horrido wrote
> GemStone's exorbitant licence fees

I was surprised by that description. While I've never used Gemstone, their
free options seem very generous to me, and if they are outgrown, I assume
that means the project is successful enough to afford it!



-----
Cheers,
Sean
--
View this message in context: <a href="http://forum.world.st/The-Smalltalk-Revitalization-Program-tp4796726p4797006.html" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fforum.world.st%2FThe-Smalltalk-Revitalization-Program-tp4796726p4797006.html\46sa\75D\46sntz\0751\46usg\75AFQjCNEThK3_Do6ptg5g3s_lAFzlShZ2Vw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fforum.world.st%2FThe-Smalltalk-Revitalization-Program-tp4796726p4797006.html\46sa\75D\46sntz\0751\46usg\75AFQjCNEThK3_Do6ptg5g3s_lAFzlShZ2Vw';return true;">http://forum.world.st/The-Smalltalk-Revitalization-Program-tp4796726p4797006.html
Sent from the Amber Smalltalk mailing list archive at <a href="http://Nabble.com" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2FNabble.com\46sa\75D\46sntz\0751\46usg\75AFQjCNFj_pkeg00llVLhzfY-rvtFlIbHcA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2FNabble.com\46sa\75D\46sntz\0751\46usg\75AFQjCNFj_pkeg00llVLhzfY-rvtFlIbHcA';return true;">Nabble.com.

--
You received this message because you are subscribed to a topic in the Google Groups "amber-lang" group.
To unsubscribe from this topic, visit <a href="https://groups.google.com/d/topic/amber-lang/cZzerx5PePY/unsubscribe" target="_blank" onmousedown="this.href='https://groups.google.com/d/topic/amber-lang/cZzerx5PePY/unsubscribe';return true;" onclick="this.href='https://groups.google.com/d/topic/amber-lang/cZzerx5PePY/unsubscribe';return true;">https://groups.google.com/d/topic/amber-lang/cZzerx5PePY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="DXaDf4MiVdkJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">amber-lang+...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="DXaDf4MiVdkJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">amber-lang+...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

peter.ode
In reply to this post by peter.ode
Here is an eloquent description of the Essence#, Smalltalk on .NET, implementation.
http://www.infoq.com/articles/Introducing-Essence-Sharp


On Wednesday, 24 December 2014 14:44:43 UTC-8, Peter wrote:
The originator of Essence# started his blog with posts presenting only benefits and elegant descriptions about an object oriented technology. The website's header positions the technology as:

"Advanced Alien Technology"

He purposely did not want to make Essence# just another Smalltalk. I believe his strategy to be sound.  Maybe I'm too much of a sci-fi or Star Trek fan.  Discovering an advanced alien technology is exciting. Maybe a world-changer.

A major downside of all Smalltalk dialects is the lack of proper support for multi-threading and multiple CPUs.  To me, this is the single biggest drawback to Smalltalk.  My eCommerce websites, based on a Smalltalk engine, can not scale to support a large and successful (high traffic) enterprise.

Essence#, running atop the .NET virtual machine is the first Smalltalk that enables use of today's multi CPU hardware. This is a big, big deal!
For a big project, a website that must scale, I can now use Smalltalk.  I won't have to answer to any investors, clients, analysts for choosing a limited technology bound to only one CPU Core.

And, Amber on the client-side atop the ubiquitous Javascript VM.  We will get there with Smalltalk.

The only other Smalltalk with multi-thread / CPU capabilities is Gemstone, but it requires huge resources and expensive license fees for larger work-loads.

The best way to put Smalltak in the mainstream is to have a global success story built on Smalltalk.  What if Facebook or Twitter was built on Smalltalk?  With Essence#, this is now a possibility. The reach of all media channels would deliver the message of Smalltalk.  Personally, I'd love for the Smalltalk community to rally behind Essence#.  Currently  it is viable as a runtime for Smalltalk apps.  Development to be best done in Pharo or another Smalltalk with mature IDE.


On Wednesday, 24 December 2014 06:17:41 UTC-8, Richard Eng wrote:
A few days ago, I was looking at the Essence# website. I was confused for the longest time. I kept looking for some indication, some mention, that Essence# was derived from Smalltalk. I was looking for some explanation about the "superset" part of Smalltalk. In other words, I wanted to know what the language looked like, what its syntax was, but I couldn't (easily) find it!

It's a horribly designed website. I found it frustrating to use.

Ultimately, I concluded that Essence# was too new and not ready for prime time.


On Wednesday, 24 December 2014 07:05:32 UTC-5, Peter wrote:
Hello Richard,

Most Smalltalkers would love to have their paying projects be based on Smalltalk. We all have very similar motivations for this.  I understand and I'm with you on wanting Smalltalk to be accepted as a more mainstream technology choice.

I've been using Smalltalk or have managed Smalltalk based projects since the early 1990's.  I can tell you, I've lost too many projects by trying to sell Smalltalk.  Most of my prospective customers do not understand and do not share the passion.  They feel most comfortable with buzzword compliant technologies such as ".NET", "Java", "SQL".  And now, you can add "Javascript" to the list for some projects.  

To close sales, I just presented the benefits of our existing software apps, frameworks and methodologies.  Richard, stick to the benefits on your website.  Smalltalk has many strong points.  If my customer wants to know the details, I frame it by saying, "when I pick up the telephone, I want a dial-tone, and don't care if the backend at the telco is running Linux, Windows or Commodore 64."  Focus on the positive benefits the user experiences, the "dial-tone" for example. Then you can find case studies of successful, large deployments of Smalltalk.  I used (and still do) IBM VisualAge software development tools. IBM Smalltalk has been deployed in mission critical roles at banks, telcos, and Wall Street, for good reasons.  IBM has some credibility. Although, the most impressive case studies are now dated.  Today, Amber is a great tool "for Javascript centric projects."  If you can, Smalltalk has to be introduced as the excellent technology responsible for outstanding deliverables and on-time, on-budget projects. You have to be open and honest, but you also need to provide the best business case to your clients.  It's an art form. 

Please perceive the following as constructive. Your web site positions Smalltalk negativley: 

HOME OF THE SMALLTALK REVITALIZATION PROGRAM

As a businessman or project lead, I don't want to put the success of my project on a technology that needs "revitalization".  

Amber is leading edge technology. Amber has a set of real benefits. Javascript provides the runtime VM and is ubiquitous.  There are lots of great stats to support the growth of Javascript.  Amber makes Javascript shine. Meteor is riding Javascript's coattails, presenting benefits to optimize Javascript centric projects.  Javascript is not a productive language (see table below) and needs Amber's help. 

Occasionally, I write a reply to blog posts, trying to express my passion about the benefits of Smalltalk. Such posts fall on deaf ears. My conclusion, unless you've used Smalltalk or viewed a competent  Smalltalker in action, there will be no interest.  Here's a post, pasted below, expressing my attempt to reply to a "Static Typing is Supperior..." blog post.  I could have written it better. I didn't bother to tune-it.  In hind-sight, I would not make any negative statements and would rewrite any parts that could be mistaken for elitist. I'm learning, it's always best to remove "ego" from human interactions. 

--- start pasted post ---
This post attempts to shed light on Static Typing versus Dynamic Typing, using Smalltalk and C#.

Flexibility is beneficial and crucial to problem solving. When we lack flexibility, we paint ourselves into a corner.  Programming languages are tools. We need to select the right tool for the job.  Else, this quote describes our limitations:

"If the only tool you have is a hammer, every problem looks like a nail."

Static vs Dynamic Typing has become a religious argument. Lets not drink the purple Cool-Aid. (a reference to cult followers consuming cyanide-laced Cool-Aid <a href="http://en.wikipedia.org/wiki/Jim_Jones" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;">http://en.wikipedia.org/wiki/Jim_Jones )

I've used both statically typed, C# most recently. And, Smalltalk on the dynamic front.  In my experience, using C#, after Smalltalk is like going back to using a typewriter with white-out, after using a word processor.  Smalltalk is the dynamic word processor. I am 3x more productive with Smalltalk.  I reach a state of mastery faster and more often when using Smalltalk.

For supportive reading, here's a well written article on the topic: <a href="http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;">http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html

Visual Studio vs Smalltalk IDE example
In my Smalltalk IDE, I can select any method, right-click and instantly open a list of all implementors and/or all callers of that method. It's just part of the meta-data.  I want re-usable code, so polymorphic method names are a good thing. A simple example, send the "print" message to any object, letting the object definition encapsulate how to print any object type, or defer to the super-class' generic implementation.

For decades, in Smalltalk, most code could be edited in the debugger, saved (incrementally compiled) and optionally continue running your program. Visual Studio has a partial implementation for .NET languages, not even close to Smalltalk's ability to edit in debuggers, inspectors and other dynamic tools. 

I don't want to sound religious about Smalltalk, but I do prefer a word processor to a typewriter. That's my reality.  Still, I do need to focus on the-best-tool-for-the-job. C# has a place in my toolbox.

Dynamically Typed Smalltalk Shown to be Most Productive
There are many ways to measure productivity and code quality.  Ultimately, total effort per function point is a useful one. On page 46 of <a href="http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;">http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf a table sets out number of months to implement a 1,000 function point program.  Here's a few metrics for dynamics and static languagues:

Smalltalk   21 coding months
Ruby        46
C#          51
Python      53
C++         53
Java        53
PHP         53
JavaScript  71
C          128
Assembly   213

Smalltalk AND .NET
In my work, I've decided to use both highly productive Smalltalk and .NET with C# for Windows and server apps. 
Here's a Smalltalk for .NET, a work-in-progress (just the language, no classic Smalltalk IDE or debuggers yet). Code can be developed in Pharo or VisualWorks Smalltalk, then migrated to Essence#
<a href="https://essencesharp.wordpress.com/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;" onclick="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;">https://essencesharp.wordpress.com/

Smalltalk AND Javascript
For client-side web apps, Smalltalk and JavaScript. Here's a tool that compiles Smalltalk to JavaScript:
<a href="http://amber-lang.net/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;">http://amber-lang.net/
I can manipulate JavaScript objects with Smalltalk, vice-versa.  Amber's web browser hosted dynamic tutorial is being upgraded to the most recent version of Amber. Check back later for the interactive tutorial that teases, "Got 5 minutes? ...  

Learning Overhead
Smalltalk has 5 keywords.  C++ has more than 50 keywords.  Learning Smalltalk is quick, easy and will teach you design patterns to make you better with other languages. Take a look: <a href="https://www.youtube.com/watch?v=eGaKZBr0ga4" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;" onclick="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;">https://www.youtube.com/watch?v=eGaKZBr0ga4

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

horrido
Something that I don't quite understand...

Why create a new language? Why not use something like #Smalltalk from The Refactory? Why not help #Smalltalk evolve to the next level?


On Monday, 29 December 2014 12:37:36 UTC-5, Peter wrote:
Here is an eloquent description of the Essence#, Smalltalk on .NET, implementation.
<a href="http://www.infoq.com/articles/Introducing-Essence-Sharp" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.infoq.com%2Farticles%2FIntroducing-Essence-Sharp\46sa\75D\46sntz\0751\46usg\75AFQjCNEU0Y_My_59CCLTHM30UyFXPo-eAw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.infoq.com%2Farticles%2FIntroducing-Essence-Sharp\46sa\75D\46sntz\0751\46usg\75AFQjCNEU0Y_My_59CCLTHM30UyFXPo-eAw';return true;">http://www.infoq.com/articles/Introducing-Essence-Sharp


On Wednesday, 24 December 2014 14:44:43 UTC-8, Peter wrote:
The originator of Essence# started his blog with posts presenting only benefits and elegant descriptions about an object oriented technology. The website's header positions the technology as:

"Advanced Alien Technology"

He purposely did not want to make Essence# just another Smalltalk. I believe his strategy to be sound.  Maybe I'm too much of a sci-fi or Star Trek fan.  Discovering an advanced alien technology is exciting. Maybe a world-changer.

A major downside of all Smalltalk dialects is the lack of proper support for multi-threading and multiple CPUs.  To me, this is the single biggest drawback to Smalltalk.  My eCommerce websites, based on a Smalltalk engine, can not scale to support a large and successful (high traffic) enterprise.

Essence#, running atop the .NET virtual machine is the first Smalltalk that enables use of today's multi CPU hardware. This is a big, big deal!
For a big project, a website that must scale, I can now use Smalltalk.  I won't have to answer to any investors, clients, analysts for choosing a limited technology bound to only one CPU Core.

And, Amber on the client-side atop the ubiquitous Javascript VM.  We will get there with Smalltalk.

The only other Smalltalk with multi-thread / CPU capabilities is Gemstone, but it requires huge resources and expensive license fees for larger work-loads.

The best way to put Smalltak in the mainstream is to have a global success story built on Smalltalk.  What if Facebook or Twitter was built on Smalltalk?  With Essence#, this is now a possibility. The reach of all media channels would deliver the message of Smalltalk.  Personally, I'd love for the Smalltalk community to rally behind Essence#.  Currently  it is viable as a runtime for Smalltalk apps.  Development to be best done in Pharo or another Smalltalk with mature IDE.


On Wednesday, 24 December 2014 06:17:41 UTC-8, Richard Eng wrote:
A few days ago, I was looking at the Essence# website. I was confused for the longest time. I kept looking for some indication, some mention, that Essence# was derived from Smalltalk. I was looking for some explanation about the "superset" part of Smalltalk. In other words, I wanted to know what the language looked like, what its syntax was, but I couldn't (easily) find it!

It's a horribly designed website. I found it frustrating to use.

Ultimately, I concluded that Essence# was too new and not ready for prime time.


On Wednesday, 24 December 2014 07:05:32 UTC-5, Peter wrote:
Hello Richard,

Most Smalltalkers would love to have their paying projects be based on Smalltalk. We all have very similar motivations for this.  I understand and I'm with you on wanting Smalltalk to be accepted as a more mainstream technology choice.

I've been using Smalltalk or have managed Smalltalk based projects since the early 1990's.  I can tell you, I've lost too many projects by trying to sell Smalltalk.  Most of my prospective customers do not understand and do not share the passion.  They feel most comfortable with buzzword compliant technologies such as ".NET", "Java", "SQL".  And now, you can add "Javascript" to the list for some projects.  

To close sales, I just presented the benefits of our existing software apps, frameworks and methodologies.  Richard, stick to the benefits on your website.  Smalltalk has many strong points.  If my customer wants to know the details, I frame it by saying, "when I pick up the telephone, I want a dial-tone, and don't care if the backend at the telco is running Linux, Windows or Commodore 64."  Focus on the positive benefits the user experiences, the "dial-tone" for example. Then you can find case studies of successful, large deployments of Smalltalk.  I used (and still do) IBM VisualAge software development tools. IBM Smalltalk has been deployed in mission critical roles at banks, telcos, and Wall Street, for good reasons.  IBM has some credibility. Although, the most impressive case studies are now dated.  Today, Amber is a great tool "for Javascript centric projects."  If you can, Smalltalk has to be introduced as the excellent technology responsible for outstanding deliverables and on-time, on-budget projects. You have to be open and honest, but you also need to provide the best business case to your clients.  It's an art form. 

Please perceive the following as constructive. Your web site positions Smalltalk negativley: 

HOME OF THE SMALLTALK REVITALIZATION PROGRAM

As a businessman or project lead, I don't want to put the success of my project on a technology that needs "revitalization".  

Amber is leading edge technology. Amber has a set of real benefits. Javascript provides the runtime VM and is ubiquitous.  There are lots of great stats to support the growth of Javascript.  Amber makes Javascript shine. Meteor is riding Javascript's coattails, presenting benefits to optimize Javascript centric projects.  Javascript is not a productive language (see table below) and needs Amber's help. 

Occasionally, I write a reply to blog posts, trying to express my passion about the benefits of Smalltalk. Such posts fall on deaf ears. My conclusion, unless you've used Smalltalk or viewed a competent  Smalltalker in action, there will be no interest.  Here's a post, pasted below, expressing my attempt to reply to a "Static Typing is Supperior..." blog post.  I could have written it better. I didn't bother to tune-it.  In hind-sight, I would not make any negative statements and would rewrite any parts that could be mistaken for elitist. I'm learning, it's always best to remove "ego" from human interactions. 

--- start pasted post ---
This post attempts to shed light on Static Typing versus Dynamic Typing, using Smalltalk and C#.

Flexibility is beneficial and crucial to problem solving. When we lack flexibility, we paint ourselves into a corner.  Programming languages are tools. We need to select the right tool for the job.  Else, this quote describes our limitations:

"If the only tool you have is a hammer, every problem looks like a nail."

Static vs Dynamic Typing has become a religious argument. Lets not drink the purple Cool-Aid. (a reference to cult followers consuming cyanide-laced Cool-Aid <a href="http://en.wikipedia.org/wiki/Jim_Jones" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;">http://en.wikipedia.org/wiki/Jim_Jones )

I've used both statically typed, C# most recently. And, Smalltalk on the dynamic front.  In my experience, using C#, after Smalltalk is like going back to using a typewriter with white-out, after using a word processor.  Smalltalk is the dynamic word processor. I am 3x more productive with Smalltalk.  I reach a state of mastery faster and more often when using Smalltalk.

For supportive reading, here's a well written article on the topic: <a href="http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;">http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html

Visual Studio vs Smalltalk IDE example
In my Smalltalk IDE, I can select any method, right-click and instantly open a list of all implementors and/or all callers of that method. It's just part of the meta-data.  I want re-usable code, so polymorphic method names are a good thing. A simple example, send the "print" message to any object, letting the object definition encapsulate how to print any object type, or defer to the super-class' generic implementation.

For decades, in Smalltalk, most code could be edited in the debugger, saved (incrementally compiled) and optionally continue running your program. Visual Studio has a partial implementation for .NET languages, not even close to Smalltalk's ability to edit in debuggers, inspectors and other dynamic tools. 

I don't want to sound religious about Smalltalk, but I do prefer a word processor to a typewriter. That's my reality.  Still, I do need to focus on the-best-tool-for-the-job. C# has a place in my toolbox.

Dynamically Typed Smalltalk Shown to be Most Productive
There are many ways to measure productivity and code quality.  Ultimately, total effort per function point is a useful one. On page 46 of <a href="http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;">http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf a table sets out number of months to implement a 1,000 function point program.  Here's a few metrics for dynamics and static languagues:

Smalltalk   21 coding months
Ruby        46
C#          51
Python      53
C++         53
Java        53
PHP         53
JavaScript  71
C          128
Assembly   213

Smalltalk AND .NET
In my work, I've decided to use both highly productive Smalltalk and .NET with C# for Windows and server apps. 
Here's a Smalltalk for .NET, a work-in-progress (just the language, no classic Smalltalk IDE or debuggers yet). Code can be developed in Pharo or VisualWorks Smalltalk, then migrated to Essence#
<a href="https://essencesharp.wordpress.com/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;" onclick="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;">https://essencesharp.wordpress.com/

Smalltalk AND Javascript
For client-side web apps, Smalltalk and JavaScript. Here's a tool that compiles Smalltalk to JavaScript:
<a href="http://amber-lang.net/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;">http://amber-lang.net/
I can manipulate JavaScript objects with Smalltalk, vice-versa.  Amber's web browser hosted dynamic tutorial is being upgraded to the most recent version of Amber. Check back later for the interactive tutorial that teases, "Got 5 minutes? ...  

Learning Overhead
Smalltalk has 5 keywords.  C++ has more than 50 keywords.  Learning Smalltalk is quick, easy and will teach you design patterns to make you better with other languages. Take a look: <a href="https://www.youtube.com/watch?v=eGaKZBr0ga4" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;" onclick="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;">https://www.youtube.com/watch?v=eGaKZBr0ga4

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

peter.ode
The author of Essence# and I have a mutual friend here in Vancouver, BC. In our discussions about using Smalltalk for commercial projects, we found that we've lost many projects to competitors trying to "sell" Smalltalk. Personally, I've learned to sell the benefits of our technology, tools and methodology as our competitive advantage, leaving the word "Smalltalk" out of our presentations if possible.  Unless someone has direct experience with the Smalltalk paradigm, they just can't fathom the benefits.  Smalltalk is foreign to most programmers and technology decision-makers.

Even if I quote formal language comparisons that show Smalltalk to be 2x or 3x more productive than other popular languages, for example 1,000 function point project taking only 21 coding months to complete, versus 51 coding months for C# (On page 46 of http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf a table sets the man-months to complete a project using several languages.), Smalltalk is the productivity leader, but is a tough sell.  Business executives and project leaders are more comfortable with buzzword compliant technologies such as ".NET", "Java", and now "Javascript".

With Essence# and Amber, we can position the platform as .NET and Javascript, using productivity tools that are Smalltalk based. This helps tremendously in the sales process.  It keeps use from being shot down.  

I believe, Smalltalk will get its due recognition when a popular Internet success story is built using Smalltalk.  On the server-side, Essence# is the only Smalltalk that can use server hardware efficiently, being hosted on the .NET runtime capable of multi-CPUs / OS threads. And, Amber on the client-side hosted on the ubiquitous Javascript virtual machine runtime systems.  Such a success story, maybe the next Facebook implemented with Smalltalk, would put Smalltalk on the map. Until then, it's our secret weapon and competitive advantage.

The name Essence# was purposefully not associated with Smalltalk, although you can find references to Smalltalk at the website: 
https://essencesharp.wordpress.com/ 

Personally, I like the tag-line in the website header, "Advanced Alien Technology".  I find this as clever positioning, presenting what can seem foreign to Smalltalk newbies, as worthy of consideration. 

Richard, in your website, I would emphasize the pure benefits of Smalltalk in a compelling presentation. For example: Amber as a Smalltalk productivity tool generating Javascript that runs on the most ubiquitous runtime, on devices ranging from servers (Node.js) to desktops to tablets and smartphones...


On Monday, 29 December 2014 13:40:29 UTC-8, Richard Eng wrote:
Something that I don't quite understand...

Why create a new language? Why not use something like #Smalltalk from The Refactory? Why not help #Smalltalk evolve to the next level?


On Monday, 29 December 2014 12:37:36 UTC-5, Peter wrote:
Here is an eloquent description of the Essence#, Smalltalk on .NET, implementation.
<a href="http://www.infoq.com/articles/Introducing-Essence-Sharp" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.infoq.com%2Farticles%2FIntroducing-Essence-Sharp\46sa\75D\46sntz\0751\46usg\75AFQjCNEU0Y_My_59CCLTHM30UyFXPo-eAw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.infoq.com%2Farticles%2FIntroducing-Essence-Sharp\46sa\75D\46sntz\0751\46usg\75AFQjCNEU0Y_My_59CCLTHM30UyFXPo-eAw';return true;">http://www.infoq.com/articles/Introducing-Essence-Sharp


On Wednesday, 24 December 2014 14:44:43 UTC-8, Peter wrote:
The originator of Essence# started his blog with posts presenting only benefits and elegant descriptions about an object oriented technology. The website's header positions the technology as:

"Advanced Alien Technology"

He purposely did not want to make Essence# just another Smalltalk. I believe his strategy to be sound.  Maybe I'm too much of a sci-fi or Star Trek fan.  Discovering an advanced alien technology is exciting. Maybe a world-changer.

A major downside of all Smalltalk dialects is the lack of proper support for multi-threading and multiple CPUs.  To me, this is the single biggest drawback to Smalltalk.  My eCommerce websites, based on a Smalltalk engine, can not scale to support a large and successful (high traffic) enterprise.

Essence#, running atop the .NET virtual machine is the first Smalltalk that enables use of today's multi CPU hardware. This is a big, big deal!
For a big project, a website that must scale, I can now use Smalltalk.  I won't have to answer to any investors, clients, analysts for choosing a limited technology bound to only one CPU Core.

And, Amber on the client-side atop the ubiquitous Javascript VM.  We will get there with Smalltalk.

The only other Smalltalk with multi-thread / CPU capabilities is Gemstone, but it requires huge resources and expensive license fees for larger work-loads.

The best way to put Smalltak in the mainstream is to have a global success story built on Smalltalk.  What if Facebook or Twitter was built on Smalltalk?  With Essence#, this is now a possibility. The reach of all media channels would deliver the message of Smalltalk.  Personally, I'd love for the Smalltalk community to rally behind Essence#.  Currently  it is viable as a runtime for Smalltalk apps.  Development to be best done in Pharo or another Smalltalk with mature IDE.


On Wednesday, 24 December 2014 06:17:41 UTC-8, Richard Eng wrote:
A few days ago, I was looking at the Essence# website. I was confused for the longest time. I kept looking for some indication, some mention, that Essence# was derived from Smalltalk. I was looking for some explanation about the "superset" part of Smalltalk. In other words, I wanted to know what the language looked like, what its syntax was, but I couldn't (easily) find it!

It's a horribly designed website. I found it frustrating to use.

Ultimately, I concluded that Essence# was too new and not ready for prime time.


On Wednesday, 24 December 2014 07:05:32 UTC-5, Peter wrote:
Hello Richard,

Most Smalltalkers would love to have their paying projects be based on Smalltalk. We all have very similar motivations for this.  I understand and I'm with you on wanting Smalltalk to be accepted as a more mainstream technology choice.

I've been using Smalltalk or have managed Smalltalk based projects since the early 1990's.  I can tell you, I've lost too many projects by trying to sell Smalltalk.  Most of my prospective customers do not understand and do not share the passion.  They feel most comfortable with buzzword compliant technologies such as ".NET", "Java", "SQL".  And now, you can add "Javascript" to the list for some projects.  

To close sales, I just presented the benefits of our existing software apps, frameworks and methodologies.  Richard, stick to the benefits on your website.  Smalltalk has many strong points.  If my customer wants to know the details, I frame it by saying, "when I pick up the telephone, I want a dial-tone, and don't care if the backend at the telco is running Linux, Windows or Commodore 64."  Focus on the positive benefits the user experiences, the "dial-tone" for example. Then you can find case studies of successful, large deployments of Smalltalk.  I used (and still do) IBM VisualAge software development tools. IBM Smalltalk has been deployed in mission critical roles at banks, telcos, and Wall Street, for good reasons.  IBM has some credibility. Although, the most impressive case studies are now dated.  Today, Amber is a great tool "for Javascript centric projects."  If you can, Smalltalk has to be introduced as the excellent technology responsible for outstanding deliverables and on-time, on-budget projects. You have to be open and honest, but you also need to provide the best business case to your clients.  It's an art form. 

Please perceive the following as constructive. Your web site positions Smalltalk negativley: 

HOME OF THE SMALLTALK REVITALIZATION PROGRAM

As a businessman or project lead, I don't want to put the success of my project on a technology that needs "revitalization".  

Amber is leading edge technology. Amber has a set of real benefits. Javascript provides the runtime VM and is ubiquitous.  There are lots of great stats to support the growth of Javascript.  Amber makes Javascript shine. Meteor is riding Javascript's coattails, presenting benefits to optimize Javascript centric projects.  Javascript is not a productive language (see table below) and needs Amber's help. 

Occasionally, I write a reply to blog posts, trying to express my passion about the benefits of Smalltalk. Such posts fall on deaf ears. My conclusion, unless you've used Smalltalk or viewed a competent  Smalltalker in action, there will be no interest.  Here's a post, pasted below, expressing my attempt to reply to a "Static Typing is Supperior..." blog post.  I could have written it better. I didn't bother to tune-it.  In hind-sight, I would not make any negative statements and would rewrite any parts that could be mistaken for elitist. I'm learning, it's always best to remove "ego" from human interactions. 

--- start pasted post ---
This post attempts to shed light on Static Typing versus Dynamic Typing, using Smalltalk and C#.

Flexibility is beneficial and crucial to problem solving. When we lack flexibility, we paint ourselves into a corner.  Programming languages are tools. We need to select the right tool for the job.  Else, this quote describes our limitations:

"If the only tool you have is a hammer, every problem looks like a nail."

Static vs Dynamic Typing has become a religious argument. Lets not drink the purple Cool-Aid. (a reference to cult followers consuming cyanide-laced Cool-Aid <a href="http://en.wikipedia.org/wiki/Jim_Jones" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;">http://en.wikipedia.org/wiki/Jim_Jones )

I've used both statically typed, C# most recently. And, Smalltalk on the dynamic front.  In my experience, using C#, after Smalltalk is like going back to using a typewriter with white-out, after using a word processor.  Smalltalk is the dynamic word processor. I am 3x more productive with Smalltalk.  I reach a state of mastery faster and more often when using Smalltalk.

For supportive reading, here's a well written article on the topic: <a href="http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;">http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html

Visual Studio vs Smalltalk IDE example
In my Smalltalk IDE, I can select any method, right-click and instantly open a list of all implementors and/or all callers of that method. It's just part of the meta-data.  I want re-usable code, so polymorphic method names are a good thing. A simple example, send the "print" message to any object, letting the object definition encapsulate how to print any object type, or defer to the super-class' generic implementation.

For decades, in Smalltalk, most code could be edited in the debugger, saved (incrementally compiled) and optionally continue running your program. Visual Studio has a partial implementation for .NET languages, not even close to Smalltalk's ability to edit in debuggers, inspectors and other dynamic tools. 

I don't want to sound religious about Smalltalk, but I do prefer a word processor to a typewriter. That's my reality.  Still, I do need to focus on the-best-tool-for-the-job. C# has a place in my toolbox.

Dynamically Typed Smalltalk Shown to be Most Productive
There are many ways to measure productivity and code quality.  Ultimately, total effort per function point is a useful one. On page 46 of <a href="http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;">http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf a table sets out number of months to implement a 1,000 function point program.  Here's a few metrics for dynamics and static languagues:

Smalltalk   21 coding months
Ruby        46
C#          51
Python      53
C++         53
Java        53
PHP         53
JavaScript  71
C          128
Assembly   213

Smalltalk AND .NET
In my work, I've decided to use both highly productive Smalltalk and .NET with C# for Windows and server apps. 
Here's a Smalltalk for .NET, a work-in-progress (just the language, no classic Smalltalk IDE or debuggers yet). Code can be developed in Pharo or VisualWorks Smalltalk, then migrated to Essence#
<a href="https://essencesharp.wordpress.com/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;" onclick="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;">https://essencesharp.wordpress.com/

Smalltalk AND Javascript
For client-side web apps, Smalltalk and JavaScript. Here's a tool that compiles Smalltalk to JavaScript:
<a href="http://amber-lang.net/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;">http://amber-lang.net/
I can manipulate JavaScript objects with Smalltalk, vice-versa.  Amber's web browser hosted dynamic tutorial is being upgraded to the most recent version of Amber. Check back later for the interactive tutorial that teases, "Got 5 minutes? ...  

Learning Overhead
Smalltalk has 5 keywords.  C++ has more than 50 keywords.  Learning Smalltalk is quick, easy and will teach you design patterns to make you better with other languages. Take a look: <a href="https://www.youtube.com/watch?v=eGaKZBr0ga4" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;" onclick="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;">https://www.youtube.com/watch?v=eGaKZBr0ga4

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: The Smalltalk Revitalization Program

horrido
Okay, I've updated the website to replace #Smalltalk with Essence#. It turns out that #Smalltalk is essentially an abandoned project. The last official release was in 2003. What have The Refactory been doing with this language for the past 11 years???


On Tuesday, 30 December 2014 14:54:47 UTC-5, Peter wrote:
The author of Essence# and I have a mutual friend here in Vancouver, BC. In our discussions about using Smalltalk for commercial projects, we found that we've lost many projects to competitors trying to "sell" Smalltalk. Personally, I've learned to sell the benefits of our technology, tools and methodology as our competitive advantage, leaving the word "Smalltalk" out of our presentations if possible.  Unless someone has direct experience with the Smalltalk paradigm, they just can't fathom the benefits.  Smalltalk is foreign to most programmers and technology decision-makers.

Even if I quote formal language comparisons that show Smalltalk to be 2x or 3x more productive than other popular languages, for example 1,000 function point project taking only 21 coding months to complete, versus 51 coding months for C# (On page 46 of <a href="http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf" style="color:rgb(17,85,204);font-family:arial,sans-serif" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;">http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf a table sets the man-months to complete a project using several languages.), Smalltalk is the productivity leader, but is a tough sell.  Business executives and project leaders are more comfortable with buzzword compliant technologies such as ".NET", "Java", and now "Javascript".

With Essence# and Amber, we can position the platform as .NET and Javascript, using productivity tools that are Smalltalk based. This helps tremendously in the sales process.  It keeps use from being shot down.  

I believe, Smalltalk will get its due recognition when a popular Internet success story is built using Smalltalk.  On the server-side, Essence# is the only Smalltalk that can use server hardware efficiently, being hosted on the .NET runtime capable of multi-CPUs / OS threads. And, Amber on the client-side hosted on the ubiquitous Javascript virtual machine runtime systems.  Such a success story, maybe the next Facebook implemented with Smalltalk, would put Smalltalk on the map. Until then, it's our secret weapon and competitive advantage.

The name Essence# was purposefully not associated with Smalltalk, although you can find references to Smalltalk at the website: 
<a href="https://essencesharp.wordpress.com/" target="_blank" onmousedown="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;" onclick="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;">https://essencesharp.wordpress.com/ 

Personally, I like the tag-line in the website header, "Advanced Alien Technology".  I find this as clever positioning, presenting what can seem foreign to Smalltalk newbies, as worthy of consideration. 

Richard, in your website, I would emphasize the pure benefits of Smalltalk in a compelling presentation. For example: Amber as a Smalltalk productivity tool generating Javascript that runs on the most ubiquitous runtime, on devices ranging from servers (Node.js) to desktops to tablets and smartphones...


On Monday, 29 December 2014 13:40:29 UTC-8, Richard Eng wrote:
Something that I don't quite understand...

Why create a new language? Why not use something like #Smalltalk from The Refactory? Why not help #Smalltalk evolve to the next level?


On Monday, 29 December 2014 12:37:36 UTC-5, Peter wrote:
Here is an eloquent description of the Essence#, Smalltalk on .NET, implementation.
<a href="http://www.infoq.com/articles/Introducing-Essence-Sharp" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.infoq.com%2Farticles%2FIntroducing-Essence-Sharp\46sa\75D\46sntz\0751\46usg\75AFQjCNEU0Y_My_59CCLTHM30UyFXPo-eAw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.infoq.com%2Farticles%2FIntroducing-Essence-Sharp\46sa\75D\46sntz\0751\46usg\75AFQjCNEU0Y_My_59CCLTHM30UyFXPo-eAw';return true;">http://www.infoq.com/articles/Introducing-Essence-Sharp


On Wednesday, 24 December 2014 14:44:43 UTC-8, Peter wrote:
The originator of Essence# started his blog with posts presenting only benefits and elegant descriptions about an object oriented technology. The website's header positions the technology as:

"Advanced Alien Technology"

He purposely did not want to make Essence# just another Smalltalk. I believe his strategy to be sound.  Maybe I'm too much of a sci-fi or Star Trek fan.  Discovering an advanced alien technology is exciting. Maybe a world-changer.

A major downside of all Smalltalk dialects is the lack of proper support for multi-threading and multiple CPUs.  To me, this is the single biggest drawback to Smalltalk.  My eCommerce websites, based on a Smalltalk engine, can not scale to support a large and successful (high traffic) enterprise.

Essence#, running atop the .NET virtual machine is the first Smalltalk that enables use of today's multi CPU hardware. This is a big, big deal!
For a big project, a website that must scale, I can now use Smalltalk.  I won't have to answer to any investors, clients, analysts for choosing a limited technology bound to only one CPU Core.

And, Amber on the client-side atop the ubiquitous Javascript VM.  We will get there with Smalltalk.

The only other Smalltalk with multi-thread / CPU capabilities is Gemstone, but it requires huge resources and expensive license fees for larger work-loads.

The best way to put Smalltak in the mainstream is to have a global success story built on Smalltalk.  What if Facebook or Twitter was built on Smalltalk?  With Essence#, this is now a possibility. The reach of all media channels would deliver the message of Smalltalk.  Personally, I'd love for the Smalltalk community to rally behind Essence#.  Currently  it is viable as a runtime for Smalltalk apps.  Development to be best done in Pharo or another Smalltalk with mature IDE.


On Wednesday, 24 December 2014 06:17:41 UTC-8, Richard Eng wrote:
A few days ago, I was looking at the Essence# website. I was confused for the longest time. I kept looking for some indication, some mention, that Essence# was derived from Smalltalk. I was looking for some explanation about the "superset" part of Smalltalk. In other words, I wanted to know what the language looked like, what its syntax was, but I couldn't (easily) find it!

It's a horribly designed website. I found it frustrating to use.

Ultimately, I concluded that Essence# was too new and not ready for prime time.


On Wednesday, 24 December 2014 07:05:32 UTC-5, Peter wrote:
Hello Richard,

Most Smalltalkers would love to have their paying projects be based on Smalltalk. We all have very similar motivations for this.  I understand and I'm with you on wanting Smalltalk to be accepted as a more mainstream technology choice.

I've been using Smalltalk or have managed Smalltalk based projects since the early 1990's.  I can tell you, I've lost too many projects by trying to sell Smalltalk.  Most of my prospective customers do not understand and do not share the passion.  They feel most comfortable with buzzword compliant technologies such as ".NET", "Java", "SQL".  And now, you can add "Javascript" to the list for some projects.  

To close sales, I just presented the benefits of our existing software apps, frameworks and methodologies.  Richard, stick to the benefits on your website.  Smalltalk has many strong points.  If my customer wants to know the details, I frame it by saying, "when I pick up the telephone, I want a dial-tone, and don't care if the backend at the telco is running Linux, Windows or Commodore 64."  Focus on the positive benefits the user experiences, the "dial-tone" for example. Then you can find case studies of successful, large deployments of Smalltalk.  I used (and still do) IBM VisualAge software development tools. IBM Smalltalk has been deployed in mission critical roles at banks, telcos, and Wall Street, for good reasons.  IBM has some credibility. Although, the most impressive case studies are now dated.  Today, Amber is a great tool "for Javascript centric projects."  If you can, Smalltalk has to be introduced as the excellent technology responsible for outstanding deliverables and on-time, on-budget projects. You have to be open and honest, but you also need to provide the best business case to your clients.  It's an art form. 

Please perceive the following as constructive. Your web site positions Smalltalk negativley: 

HOME OF THE SMALLTALK REVITALIZATION PROGRAM

As a businessman or project lead, I don't want to put the success of my project on a technology that needs "revitalization".  

Amber is leading edge technology. Amber has a set of real benefits. Javascript provides the runtime VM and is ubiquitous.  There are lots of great stats to support the growth of Javascript.  Amber makes Javascript shine. Meteor is riding Javascript's coattails, presenting benefits to optimize Javascript centric projects.  Javascript is not a productive language (see table below) and needs Amber's help. 

Occasionally, I write a reply to blog posts, trying to express my passion about the benefits of Smalltalk. Such posts fall on deaf ears. My conclusion, unless you've used Smalltalk or viewed a competent  Smalltalker in action, there will be no interest.  Here's a post, pasted below, expressing my attempt to reply to a "Static Typing is Supperior..." blog post.  I could have written it better. I didn't bother to tune-it.  In hind-sight, I would not make any negative statements and would rewrite any parts that could be mistaken for elitist. I'm learning, it's always best to remove "ego" from human interactions. 

--- start pasted post ---
This post attempts to shed light on Static Typing versus Dynamic Typing, using Smalltalk and C#.

Flexibility is beneficial and crucial to problem solving. When we lack flexibility, we paint ourselves into a corner.  Programming languages are tools. We need to select the right tool for the job.  Else, this quote describes our limitations:

"If the only tool you have is a hammer, every problem looks like a nail."

Static vs Dynamic Typing has become a religious argument. Lets not drink the purple Cool-Aid. (a reference to cult followers consuming cyanide-laced Cool-Aid <a href="http://en.wikipedia.org/wiki/Jim_Jones" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJim_Jones\46sa\75D\46sntz\0751\46usg\75AFQjCNF2_i9alGA4-DcnDLDXM514YOW36A';return true;">http://en.wikipedia.org/wiki/Jim_Jones )

I've used both statically typed, C# most recently. And, Smalltalk on the dynamic front.  In my experience, using C#, after Smalltalk is like going back to using a typewriter with white-out, after using a word processor.  Smalltalk is the dynamic word processor. I am 3x more productive with Smalltalk.  I reach a state of mastery faster and more often when using Smalltalk.

For supportive reading, here's a well written article on the topic: <a href="http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fsmalltalk.org%2Farticles%2Farticle_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html\46sa\75D\46sntz\0751\46usg\75AFQjCNH7kV9zIoSWzMxjBQc4iwgkwc42iw';return true;">http://smalltalk.org/articles/article_20070928_a1_ContinuousNuisanceDoubleTypeCognitiveDissonanceTax_v1.html

Visual Studio vs Smalltalk IDE example
In my Smalltalk IDE, I can select any method, right-click and instantly open a list of all implementors and/or all callers of that method. It's just part of the meta-data.  I want re-usable code, so polymorphic method names are a good thing. A simple example, send the "print" message to any object, letting the object definition encapsulate how to print any object type, or defer to the super-class' generic implementation.

For decades, in Smalltalk, most code could be edited in the debugger, saved (incrementally compiled) and optionally continue running your program. Visual Studio has a partial implementation for .NET languages, not even close to Smalltalk's ability to edit in debuggers, inspectors and other dynamic tools. 

I don't want to sound religious about Smalltalk, but I do prefer a word processor to a typewriter. That's my reality.  Still, I do need to focus on the-best-tool-for-the-job. C# has a place in my toolbox.

Dynamically Typed Smalltalk Shown to be Most Productive
There are many ways to measure productivity and code quality.  Ultimately, total effort per function point is a useful one. On page 46 of <a href="http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fnamcookanalytics.com%2Fwp-content%2Fuploads%2F2013%2F07%2FFunction-Points-as-a-Universal-Software-Metric2013.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHVvudAy3a1g3u76NqgBYvBdn-IhA';return true;">http://namcookanalytics.com/wp-content/uploads/2013/07/Function-Points-as-a-Universal-Software-Metric2013.pdf a table sets out number of months to implement a 1,000 function point program.  Here's a few metrics for dynamics and static languagues:

Smalltalk   21 coding months
Ruby        46
C#          51
Python      53
C++         53
Java        53
PHP         53
JavaScript  71
C          128
Assembly   213

Smalltalk AND .NET
In my work, I've decided to use both highly productive Smalltalk and .NET with C# for Windows and server apps. 
Here's a Smalltalk for .NET, a work-in-progress (just the language, no classic Smalltalk IDE or debuggers yet). Code can be developed in Pharo or VisualWorks Smalltalk, then migrated to Essence#
<a href="https://essencesharp.wordpress.com/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;" onclick="this.href='https://www.google.com/url?q\75https%3A%2F%2Fessencesharp.wordpress.com%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNGTwbrSTUyKW7Cmw2vXfaBFsh-VnA';return true;">https://essencesharp.wordpress.com/

Smalltalk AND Javascript
For client-side web apps, Smalltalk and JavaScript. Here's a tool that compiles Smalltalk to JavaScript:
<a href="http://amber-lang.net/" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Famber-lang.net%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHWL5ICufAxmeHv3OKnXbetcV4-aQ';return true;">http://amber-lang.net/
I can manipulate JavaScript objects with Smalltalk, vice-versa.  Amber's web browser hosted dynamic tutorial is being upgraded to the most recent version of Amber. Check back later for the interactive tutorial that teases, "Got 5 minutes? ...  

Learning Overhead
Smalltalk has 5 keywords.  C++ has more than 50 keywords.  Learning Smalltalk is quick, easy and will teach you design patterns to make you better with other languages. Take a look: <a href="https://www.youtube.com/watch?v=eGaKZBr0ga4" style="color:rgb(17,85,204)" target="_blank" onmousedown="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;" onclick="this.href='https://www.youtube.com/watch?v\75eGaKZBr0ga4';return true;">https://www.youtube.com/watch?v=eGaKZBr0ga4

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
12