This paper studies {\em why} and {\em how}Smalltalk,although designed as a mono-userand mono-processor programming language,is a very good foundation for concurrent and distributedprogramming.The two main reasons behind this likely paradox are:the rich and reusable library of classes,and the extreme flexibility of Smalltalk.These two specificities complement more generalobject-oriented characteristics and advantages.As examples supporting our claim, we overview  two different Smalltalk-based software platforms for concurrentand distributed programming.