I want to know in which applications/programming domain are most suitable for Smalltalk. Could anyone please provide me some useful links that could answer my query?

Through googling I learned that some companies use it for:

logistics and foreign trade application
desktop, server and script development
data processing and logistics, scripts and presentations
but I cant find documents/research papers that can tell me which programming domain Smalltalk-80 (or Smalltalk) is best suited.

3 Answers
3

Smalltalk is a general-purpose programming language that is used for all sorts of stuff.

A lot of consulting companies treat Smalltalk as their "secret weapon" that allows them to outbid and outperform their competitors, for example. Some of them even go so far as to develop their own Smalltalk implementations.

It is widely used in the financial industry for modeling complex financial products such as derivatives, swaps, etc. So widely, in fact, that some Smalltalk community leaders have jokingly accepted full responsibility for the 2007 meltdown.

Smalltalk excels the more complex the domain is. Trendly uses an interesting mix of languages and its lead developer, Avi Bryant, gave a good description of what the particular languages are useful for. He said something like "we use Smalltalk for the thinking, Java for the muscle, ECMAScript for the pretty face and Ruby to glue it all together". So, the complex statistical models and algorithms are in Smalltalk, the actual brute-force calculations are done in Java and the results are rendered dynamically on the client-side in ECMASCript.

Asking the question "where is (programming language X) best used?" is equivalent to asking "which road is (car brand X) best driven on?". The question cannot be answered. I've used (and continue to use) Smalltalk for a wide variety of problems. From your list, I've used Smalltalk for artificial intelligence, general purpose applications, relational database querying, text processing, matrix algorithms, and other uses (although once one has said "general purpose applications" one has probably covered just about everything). I strongly suspect that Smalltalk (and just about any language out there) has been used for all the categories you mentioned. Having said that, what has been "proved"? Nothing, IMHO. Smalltalk is a Turing-complete language and can thus be used for nearly any purpose. Same-same for Autocoder, PL/I, COBOL, Java, C, C#, C++, FORTRAN, BASIC, Visual Basic, assembler for any particular processor, Ruby, Forth, Python, PERL, SPL, APL, Pascal, Delphi, B, BCPL, ALGOL, PL/SQL, etc, etc, etc. And you can probably find someone out there who will argue that each of the above is The Best Language for any particular purpose. YMMV.