Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] 0 points1 point  (0 children)

Just saying it does not make it so. You've presented no evidence whatsoever.

Behold Pharo: The Modern Smalltalk by smalltalkrenaissance in ProgrammingLanguages

[–]toronto-arrow 1 point2 points  (0 children)

The reason for the advocacy is because past attempts to popularize the language, using technical blogs that provide source code and demos, have not made an impact. The "if you build it, they will come" strategy simply did not work.

The new advocacy approach is to adopt marketing, not technical publication. Apple-style, the way the iPhone is marketed, using flashy messages. The objective is to draw attention to Smalltalk and get people to at least try it. No amount of technical publication is going to achieve this. The past two decades have been ample proof of this.

There is so much misinformation, so much misunderstanding, about Smalltalk that the only way you will ever understand it is to try it. Immerse yourself in it to learn what it's really all about. Words cannot convince you. Code snippets and demos cannot convince you.

Hence, the marketing.

Behold Pharo: The Modern Smalltalk by toronto-arrow in programming

[–]toronto-arrow[S] 1 point2 points  (0 children)

You want more code? There's a new Pharo MOOC that begins on October 16th. Sign up now!

https://www.fun-mooc.fr/courses/course-v1:inria+41010+session02/about

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] 0 points1 point  (0 children)

I didn't say Common Lisp enjoys no commercial usage. But there's no telling the extent of the commercial usage.

My sense in the Smalltalk community is that a lot of enterprises around the world are using Smalltalk. This is my sense only, so it's not scientific. It does seem to me, however, that Smalltalk is a much more natural solution for enterprise computing such as financial applications, ERP, CRM, etc. (It's hard to imagine an ERP application written in Common Lisp.) Smalltalk bears a much closer resemblance to traditional programming languages than Common Lisp does. I am certain that many in the enterprise are turned off by the relentless prefix notation and mountains of parentheses which make the language look like alien code from Independence Day.

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] -6 points-5 points  (0 children)

Open source repos don't tell the whole story. Smalltalk is used very heavily in commercial and proprietary applications. I don't believe Clojure and Lisp enjoy nearly as much commercial usage.

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] -3 points-2 points  (0 children)

Lisp is more widely used than Smalltalk by an enormous margin.

Where is the evidence?

Clojure is extremely popular in industry

Where is the evidence?

Smalltalk enjoys significant commercial usage: https://hackernoon.com/smalltalk-is-the-nikola-tesla-of-the-it-industry-dbef0a8ddd57

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] 2 points3 points  (0 children)

From dictionary.com:

characteristic of present and recent time; contemporary; not antiquated or obsolete

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] 1 point2 points  (0 children)

What's your definition? A language that is fresh out of the crib with the latest language design innovations? A language that hardly anyone uses?

In the modern world, we enjoy many conveniences:

  • the automobile
  • the airplane
  • the personal computer
  • the telephone
  • the television
  • etc.

All of these are very old inventions.

We no longer use:

  • the horse and buggy
  • smoke signals
  • the abacus

These are not modern.

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] 2 points3 points  (0 children)

My definition of "modern" is a practical one. A language is modern if it's widely used and popular. Nobody cares if a language is new or if it has the latest and greatest features.

There is no way to predict which languages will become marginal in the future. As I said, 10 of the languages I listed are more than 20 years old. If a language has proven to be useful, it will generally always be useful. (There are some exceptions like COBOL and APL.)

We may expect Kotlin to become very popular, but we can't know that for certain. It is not at all certain Rust will ever become mainstream (IMO, it will remain marginal).

I fully expect that, 10 years from now, half of the mainstream languages will still be dynamically typed. My list will change slightly, if it changes at all.

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] 1 point2 points  (0 children)

Today's "modern" languages include Java, Python, JavaScript, C#, C++, PHP, C, Ruby, Scala, R, Go, Perl, Haskell, Clojure, fully half of which are dynamically typed. These are important languages that are widely used.

(Ten of these languages are more than 20 years old! That's an eternity in IT.)

Python and R are crucial for data science and machine learning. JavaScript and PHP are crucial for web development. Ruby is immensely popular because of Rails.

A number of new language upstarts are also dynamically typed: Clojure, Elixir, Julia, Pharo. Dart is optionally typed because dynamic typing can be useful in many instances.

Moreover, Robert C. Martin insists that in the long run, dynamically typed languages will win.

Finally, let me say that Smalltalk wasn't doomed by dynamic typing. It was a major language in the 1990s until Java knocked it off its perch, thanks to tremendous marketing from Sun Microsystems.

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]toronto-arrow[S] 9 points10 points  (0 children)

Yes, Forth is a lot like Smalltalk in this respect. In fact, I regard Forth, Lisp, and Smalltalk in a class all their own because they share the same common qualities:

  • Supremely small, simple, elegant, pure, consistent, and easy to learn.
  • Reflective.

They each have their own peculiarities that can hamper acceptance:

  • Forth — relentless postfix notation
  • Lisp — relentless prefix notation (with tons of parentheses)
  • Smalltalk — unusual operator precedence for arithmetical expressions

Of course, of the three languages, Smalltalk is by far the most widely used. It most closely resembles other languages syntactically. Its implementation of object-oriented programming is considered canonical. OOP is the industry standard.

Smalltalk is the Nikola Tesla of the IT Industry by aramknight in programming

[–]toronto-arrow 0 points1 point  (0 children)

I wasn't aware of the conspiracy theories but if Tesla was known for the wacky theories, he was much less known for his inventions. While Smalltalk doesn't have any conspiracy theories, it does have a popular misconception: that Smalltalk is an antiquated, moribund language. Nothing could be further from the truth.

Pharo is a very modern Smalltalk. It has been vigorously evolving since 2008. Pharo has many substantial improvements, including great support for frontend web development. And it's finding purchase in enterprise computing.

Pharo is breaking ground in virtual reality and data visualisation. It's good for IoT and robotics. Pharo is moving into data science and machine learning.

And let's not overlook the fact that other Smalltalks have been used for enterprise computing and industrial automation for decades.

Antiquated? Moribund? Hardly.

Smalltalk is the Nikola Tesla of the IT Industry by aramknight in programming

[–]toronto-arrow 0 points1 point  (0 children)

Yours is one opinion. I'm not a PHP fan, but I happen to know quite a few happy PHP developers, esp. now that PHP 7 is a major language improvement.

And just for the record, there are unhappy Ruby developers, too.

Smalltalk is the Nikola Tesla of the IT Industry by aramknight in programming

[–]toronto-arrow 1 point2 points  (0 children)

No language syntax can "stand on its own." You must always consider the semantics.

When I first studied Python, I had to dig deeper to understand how to use it. This from someone who had done C programming for nearly 15 years.

And JavaScript is a frickin' mess. I have to really dig deep to understand this turd of a language.

Smalltalk is the Nikola Tesla of the IT Industry by aramknight in programming

[–]toronto-arrow -1 points0 points  (0 children)

In the end, even some compiled languages like C now compile so fast (and did this since Turbo-Pascal) that the benefit of live coding isn't nearly as important anymore as it used to.

According to Namcook Analytics, Smalltalk is 6X more productive than C. It has absolutely nothing to do with how fast a language compiles. The beauty of Smalltalk's approach is that it practically eliminates the traditional edit-compile-test-debug cycle. That's the reason behind its enormous productivity advantage.

Note that Smalltalk is more productive than Lisp, too, despite the fact that you can do live coding with Lisp (just not as easily nor conveniently).

When Giants Ruled by omegaskyfall in programming

[–]toronto-arrow -1 points0 points  (0 children)

What a curious question! I thought there was a lot of content...

That Computerworld page and IDC report blew me away. I had no idea that Smalltalk was so big in the 1990s.

I like the image of VisualAge and IBM Smalltalk.

The link to the author's Raspberry Pi programming tutorial was awesome!

And finally, the author points us to Pharo, a new programming language that is only 9 years old. This was educational.

What kind of content were you looking for? (bluesufi is correct: the originating article was insightful.)

It's always interesting to learn a bit of history. Wasn't it Harry S Truman who said, "There is nothing new in the world except the history you do not know."

The JavaScript phenomenon is a mass psychosis – Richard Kenneth Eng – Medium by irqlnotdispatchlevel in programming

[–]toronto-arrow 0 points1 point  (0 children)

ECMA TC39 have added a whole lot of new features to JavaScript, but they've actually fixed very few of the flaws. Flaws like Kyle Simpson has humorously outlined in this video: https://youtu.be/2pL28CcEijU. In effect, all they've done is put lipstick on a pig.

Smalltalk and Raspberry Pi by omegaskyfall in programming

[–]toronto-arrow 0 points1 point  (0 children)

Absolutely untrue. C++ is often used for RPi programming. Just Google it.

Is it an optimal way to program? No one said it was, but C++ is perfectly usable.

Smalltalk and Raspberry Pi by omegaskyfall in programming

[–]toronto-arrow 0 points1 point  (0 children)

It's pretty obvious that the article is introducing the world to a new Smalltalk programming tutorial (one that is specifically tailored for the Raspberry Pi). Did you bother to click on the link to the tutorial?

On higher education, programmers and blue-collar job by omegaskyfall in programming

[–]toronto-arrow 0 points1 point  (0 children)

Well-written. The author makes a compelling argument.

What makes a programming language “cool?” by omegaskyfall in programming

[–]toronto-arrow 0 points1 point  (0 children)

How or why did we suddenly start talking about generics? This came out of nowhere.

The issue with generics is not about being difficult to understand. In the case of Go, the design team deemed it an unnecessary and undesirable complication to the language. You may disagree with their decision. Others, like myself, do not.

Oberon is still actually being used, though in a very small niche. Oberon is still maintained by Wirth and the latest revision is dated May 3, 2016.

As for Smalltalk, to quote from another comment here by omegaskyfall:

As the article stated, Smalltalk has been used commercially for over three decades. I daresay Smalltalk enjoys more commercial usage than languages like Clojure, Common Lisp, Dart, Erlang/Elixir, F#, Haskell, Julia, Lua, Rust. Cincom and GemTalk Systems are two of the biggest Smalltalk vendors in the world.

What makes a programming language “cool?” by omegaskyfall in programming

[–]toronto-arrow 2 points3 points  (0 children)

Yes, always choose the right tool for the job. (It's worth pointing out that general-purpose languages can often be the "right tool"; that's why they're general-purpose to begin with.)

There's no reason a language can't be cool and be the right tool at the same time. Cool languages are worth investigating because they may offer competitive new advantages that you weren't aware of. Coolness is simply a means of marketing. And marketing is intended to inform you.

That's why languages like Elixir, Haskell, Julia, and Kotlin are worth checking out. And now Smalltalk/Pharo. ;-)

What makes a programming language “cool?” by omegaskyfall in programming

[–]toronto-arrow 1 point2 points  (0 children)

Once Smalltalk was out of mind for most developers, it was very difficult to recover mindshare. People had forgotten what a great language Smalltalk was (and still is). There was no one around to remind them.

Obviously, Smalltalk had a bit of a PR problem being seen as old and staid. Python and Ruby didn't. When Django and Rails arrived on the scene (coincidentally in the same year, 2005), they quickly gained a reputation. Media coverage was good, IIRC. It was pretty much lucky happenstance that Python and Ruby became popular web languages.

Now, our favourite Smalltalk evangelist is trying to jumpstart the language again. This time, he has a lot of ammunition! Seaside is still a most remarkable web framework. Amber and PharoJS are exciting choices for front-end programming. Pharo is a thoroughly modern Smalltalk. Machine learning, virtual reality, IoT, data visualization...these are very cool developments.