Live data from Hacker News

If Smalltalk Is So Good Why Does Nobody Use It

c2.com

51–60 of 74 posts

Re: If Smalltalk Is So Good Why Does Nobody Use It

#51
post #27

Earlier quoted context omitted.

I don't find that strange, as I remember the days we had to pay for every single one of our tools, including distribution royalties. Open source kind of killed this way the industry used to work forcing companies to find other ways of revenue, except for big corporations that kind of still work this way.

cough borland cough :) Oh I guess, i just felt it was strange that Cincom still charges a significant amount of money to run their stuff, per seat and per server pricing. When you look at the market of tools today. Historically speaking, they were par for the course.

There is a big difference in pricing between Borland and Smalltalk vendors. I remember the Turbo Pascal / Turbo C pricing and how it really made quality compilers accessible. Smalltalk never had that revolution.

Anytime you need to "call for pricing", you know its going to cost.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#52

A lot of people point out here Smalltalk is not great. I personally don't know either ways, because I haven't used it. However, I do want to point out that adoption and quality need not be correlated. Haskell, for e.g., was relatively obscure till recently (and even now I would say very few people use it). But it is absolutely amazing compared to most mainstream languages. The article linked makes some excellent poin…

As a haskell user, I would say that you're overstating how amazing it is. The language is certainly fantastic, but the tools are so awful that it almost makes me willing to use go! GHC takes ages to compile code, as well as easily a couple of GB of RAM. When you're longing for the days of C++ because your build time was so much faster, something is seriously messed up. Cabal mostly stinks, ocaml's cabal inspired packager is far better despite being much newer and having fewer resources invested into it.

The community is borderline insane when it comes to style, so you basically have to use a huge complicated emacs setup with a bunch of plugins just to be able to produce code that meets the bizarre style guides without manually messing with spaces all the time. That last point shouldn't matter since for your own code you can just pretend it is a normal language, but as soon as you want to make a change to an open source library you're stuck.

Much of this is similar to smalltalk, where the language itself was good, but trying to use it would drive you mad.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#53

A lot of people point out here Smalltalk is not great. I personally don't know either ways, because I haven't used it. However, I do want to point out that adoption and quality need not be correlated. Haskell, for e.g., was relatively obscure till recently (and even now I would say very few people use it). But it is absolutely amazing compared to most mainstream languages. The article linked makes some excellent poin…

As a haskell user, I would say that you're overstating how amazing it is. The language is certainly fantastic, but the tools are so awful that it almost makes me willing to use go! GHC takes ages to compile code, as well as easily a couple of GB of RAM. When you're longing for the days of C++ because your build time was so much faster, something is seriously messed up. Cabal mostly stinks, ocaml's cabal inspired pack…

> GHC takes ages to compile code, as well as easily a couple of GB of RAM. When you're longing for the days of C++ because your build time was so much faster, something is seriously messed up.

IMO, that's only true if what you get out of the compiler provides the same or less value as what you get out of the compiler for competing options. OTOH, the whole reason people choose Haskell over other languages is value-add from Haskell's compilation process. Spending some clock cycles at build time for that is, IMO, worth it.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#54

Put simply: because the things that made Smalltalk great are now part of modern stacks. Dependency management, interactive development tools, object-browsing IDEs, plus virtual machines improved significantly. Why go back to Smalltalk when we have all of these things with the language of our choice today?

Because smalltalk integrates those things together better than any other language / environment that has them?

Don't get me wrong - I'm thankful that I got to use Smalltalk in my career. It was incredibly expressive and productive - maybe the most productive I've ever been. But, time marches on. There are simply more people working today on python / node / to maintain and improve those tools plus making it easier to find a programmer over a Smalltalk programmer.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#55

Earlier quoted context omitted.

As a haskell user, I would say that you're overstating how amazing it is. The language is certainly fantastic, but the tools are so awful that it almost makes me willing to use go! GHC takes ages to compile code, as well as easily a couple of GB of RAM. When you're longing for the days of C++ because your build time was so much faster, something is seriously messed up. Cabal mostly stinks, ocaml's cabal inspired pack…

> GHC takes ages to compile code, as well as easily a couple of GB of RAM. When you're longing for the days of C++ because your build time was so much faster, something is seriously messed up. IMO, that's only true if what you get out of the compiler provides the same or less value as what you get out of the compiler for competing options. OTOH, the whole reason people choose Haskell over other languages is value-add…

You are assuming that it is necessary to take many minutes and GBs of RAM to compile haskell code. There is no reason to believe that is so. Especially since other haskell compilers are much faster. It is 100% certain that GHC contains at least one memory leak that has been unaddressed for years. Simply put, absolutely nobody has put any effort into making GHC fast. Only into making it produce fast output. Ocaml gives you 90% of the benefits of haskell with 10% of the compile time (actually faster than that, but close enough).

Re: If Smalltalk Is So Good Why Does Nobody Use It

#56
Smalltalk was and is used for many advanced, super complex and difficult to understand requirements based systems. Much as Lisp and Scheme are. It sprang the ideas of full OO onto the programming community, it's guru's brought us Agile development techniques, Refactoring tools, ChangeSets (Git has this now), Everything is an Object and many other ideas and concepts prevalent in today's languages and tools. Many languages freely admit the inspiration of Smalltalk to their ideas and have expanded on Smalltalk's ideas. Some people have continued to expand Smalltalk itself. Even it's original creator (Alan Kay) hopes for a better system than Smalltalk, but even recently he says he hasn't seen it yet and has called Lisp the "the greatest single programming language ever designed".

Company's like JPMorgan (Currency Trading), Booz Allen & Hamilton (Currency Trading), Sprint (Network Topology and Configuration), Digital Switch Corp (now Alcatel) (Digital Cross Connect), TenX Technologies (C source code maintenance and analysis tool), American Express (Full IDE for a custom in-house Credit processing language) and Nortel (Meridian PBX line Configurator as well as Configurator for the Nortel Wireless Modules used in cell towers) have used Smalltalk to great ends and gotten competitive advantages and accomplished great things with Smalltalk.

There were lots of others projects that used Smalltalk to create systems that they had failed at previously or did not want to tackle due to the enormous complexity. OO and specifically Smalltalk gave them a way to implement these systems in an Agile way, long before Agile Manifesto was dropped onto the world. Remember ST at the time embodied the most mature implementations of the OO paradigm and it's power was not meet for many years. No other language gave the bang for the buck overall. C++ was still being standardized thru the early 90's. At the time and up until Borland shipped their Turbo C++, most compilers were incompatible with one another and/or generated C code because they were based on ATT's C-front system, which itself was being fluidly developed.

I worked on those examples listed above for those companies and knew of many others working on other projects. I also happened to work with C++ from 1989-1993 while porting tools such at SUN Tooltalk and SUN Net License to IBM's AIX boxes as well as Porting the Mentor Graphics ECAD products and core libraries to AIX and DEC Ultrix and OSF/1. We had 14 hour compile times, even with 128 Meg of memory (which at the time was huge) using the $150K box on my desk. I had also worked with Obj-C on the NeXT systems and IBM RT system and several OO Lisps including CLOS.

Each of those systems had good points and enabled different things, but Smalltalk and the tools it provided and the amazing productivity that we were able to accomplish was amazing. Fixing bugs in the debugger, stepping back one call on the stack-trace and continuing on (no stopping the whole program and starting again) [Fix and Continue that worked every time, not just some of the time like the C++ and Java versions), adding capabilities to the system itself, being able to inspect and see anything at any time, seeing all the code for the system and adding to that were amazing and still are.

The title is misleading in that "Nobody" is not the right word for the title. It's safer to say "few" people use it. But those that do have reasons as diverse as why there are so many languages that programmers use now and why the number of languages being created is going up. We as programmers use languages for many reasons, including their relative power, alignment with our own thought processes, libraries available, community, religion, syntax preference, etc.

Don't buy into group thought when looking at any language. I also think that no one language is going to solve all your problems. Much like we have AWK, SED, etc. we can use the language that helps us in that moment. Smalltalk is just one of those languages that is available and for many uses it still is very applicable.

Sam Griffith Jr.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#57
post #23

Earlier quoted context omitted.

Anyone who understands Rust's good points (and there are many) is probably already using Haskell. What compelling advantage does Rust have over Haskell to justify the cost of switching (and, more importantly, the cost of losing higher-kinded types, and of adding macros)? Manual memory management is unlikely to be enough.

Anyone who understands Rust's good points wouldn't write a comment like yours. Rust's goal is to be a systems language that allows one to write programs with native performance (equivalent to C's) without sacrificing the safety of higher-level languages by leveraging an advanced type system. Haskell is an extremely poor candidate for that niche.

It is entirely possible to write native-performance (better than C++, and soft-realtime at the same time) programs in Haskell; I've seen it done in a professional environment.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#58
post #49

Smalltalk is a little shrewd in some ways as outlined here. Self has already been mentioned as a great alternative (and the related papers are amazing IMO and influence most modern JITs). But there are some other really interesting alternatives that IMO keep with the spirit: Io (io-lang.org), Ioke (defunct now, ioke-lang.org - some awesome ideas IMO) and Squeak which is being actively developed. I'd recommend checkin…

The Java HotSpot compiler was originally worked on for Smalltalk before SUN bought the company. It along with the ideas from SELF certainly helped improve JIT systems and dynamic compilation solutions in the late 90's and all thru the early 2000's

Re: If Smalltalk Is So Good Why Does Nobody Use It

#59
post #38

Maybe Self was the best chance. We all know that java has won, but Self could have been Java (and thus the success of smalltalk). Maybe my understanding of this history is imcomplety, if it is please help me out. Java should never have reached where it is today. Im not hatting on java btw. Just historiclly speaking, java was a embeded language that was pushed for the internet. At the same time Sun had the well advanc…

Self has reincarnated as Javascript.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#60

Earlier quoted context omitted.

> GHC takes ages to compile code, as well as easily a couple of GB of RAM. When you're longing for the days of C++ because your build time was so much faster, something is seriously messed up. IMO, that's only true if what you get out of the compiler provides the same or less value as what you get out of the compiler for competing options. OTOH, the whole reason people choose Haskell over other languages is value-add…

You are assuming that it is necessary to take many minutes and GBs of RAM to compile haskell code. There is no reason to believe that is so. Especially since other haskell compilers are much faster. It is 100% certain that GHC contains at least one memory leak that has been unaddressed for years. Simply put, absolutely nobody has put any effort into making GHC fast. Only into making it produce fast output. Ocaml give…

> It is 100% certain that GHC contains at least one memory leak that has been unaddressed for years.

That's clearly a problem.

> Simply put, absolutely nobody has put any effort into making GHC fast. Only into making it produce fast output.

OTOH, as annoying as it may be to developers, on the assumption that code will be run more frequently than it will be built, that seems like priorities being in the right place.

Post reply on HN