|
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 PROGRAMAs 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.
|