473,802 Members | 2,350 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Smalltalk

CD
I doubt this is the correct group to post this in, but since I couldn't find
a better place, here goes.

Smalltalk is a very mature, highly portable pure object language. From my
view of it, it lacks the development and marketing support that a company
like Microsoft can supply.

Why hasn't Microsoft looked at Smalltalk products like Visualworks and
considered taking them over? I know that this language has a huge potential
given a company that can really bring it to market.

Thanks

Jul 21 '05 #1
8 2498
Hi,

I shall try to give a more technical answer:

there are two big language groups
Algol ( to which Microsoft's languages C, C++, C# belong )
Lisp ( to which I would sort Smalltalk )

programs in Algol languages **desribe** (object models) where Lisp like languages are used to modify object-models.
In Algol like languages you have to compile and run your program, in Lisp like languages you just modify classes & methods ( they
are first class objects ) themselves.

Algol like languages are traditionally used to implement Operating-Systems where Microsoft come from.

Lisp like languages can be viewed as (Operating)Syst ems themselves.
They require a Virtual-Machine and it is difficult to compile them down to machine-code.
This makes Lisp like languages less performant than their Algol like competitors.
And it is more difficult to interface with an Operating-System. OS-Functions require recursive callback.
So early Smalltalk Language implementations ignored the part of OS ( GUI widgets ) which requires requires Callbacks or emulated
them - which was ok in the early days of Windows.

Smalltalk lost its premier position when Java appeared.
Microsoft has invited some well known Smalltalkers to participate on the design of the CLR (e.g. a known Virtual-Machine engineer
from Parcplace-Digitalk and the creator of Smallscript )
But creating a Smalltalk on top of the CLR is a very difficult task ( I know what I say because we do it since several years now )

I like that Smalltalk and it has created a nice market niche for small firms. I am personally afraid of the idea that Microsoft gets
hands on it.
We have created a Tool for .NET ( LSW DotNet-Lab ) which is written in Smalltalk and will bring some features of a
Smalltalk-Development Environment to .NET.

with best regards, Frank Lessser, www.lesser-software.com

Jul 21 '05 #2
CD
Frank,
I am not, nor have I ever professed to be, anything other than a business
app developer. Nor am I am scholar on languages.

With that in mind, I've found Smalltalk to be extremely productive for the
applications I develop (complex derivative trading systems). In fact, given
the opportunity, I would choose the language again. My systems deal with
complexity and can be modified very quickly, due to the nature of the
language and the development tools.
The problems I have with the language stem from it not being a high-profile
language and the fact that I do not think the language have enough vendor
support. Meaning they do not have the resources behind them to clean up some
of the aspects of the environment that have become old, namely the GUI. I
would not expect Microsoft to use it in OS developemnt, as I would not expect
VB to be used in OS code. I am just hoping that a vendor with some resources
would jump in and build it up. It really is a nice language. I've worked in
the development area for 20+ years now.

As for Java, I cannot comment directly on it since I have not used it a lot.
From what I understand, some of it derives from Smalltalk. I also understand
that it still has a lot of maturing to do.

I am not afraid of a Microsoft takover, because the language needs a boost.

Regards,
Chip
Jul 21 '05 #3
Chip,

The problem which Smalltalk has to fight with is exactly the GUI and the lack of integration with the Windows-OS.
I agree with you that Smalltalk is extremely productive - I also used it for more than 20 years now - just that every change is
immediatley visible the powerful debugging features
all that I don't want to miss - But when you have to interface with other components - to integrate with modern GUI you start to
loose all the advantages.
We had to create our own implementation to overcome the GUI and other problems.

What Smalltalk had from the very beginning ( e.g. change code while debugging is right now introduced in a very limited way compared
to Smalltalk as Edit-and-Continue in .NET language environments )
For Windows Desktop Development I would regard to today only Dolphin and Smalltalk-MT as possible environments. Both implementations
are from small firms. VW is still using emulated widgets - Pollock and Chagall ( Native Widgets ) are in development - Cincom is not
a small firm. Smallscript as a Smalltalk superset with integration into Visual-Studio will be the .NET Smalltalk ( but with the loss
of everything is an object feature ). VMX Smalltalk is a nice Interpreter on top of the CLR ( loss of performance )
Jul 21 '05 #4

Bill Gates on smalltalk:

From the back of an old Digitalk Smalltalk/V PM manual, 1990:
"This is the right way to develop applications for OS/2 PM. OS/2 PM
is a tremendously rich environment, which makes it inherently complex.
Smalltalk/V PM removes that complexity and lets you concentrate on
writing great programs. Smalltalk/V PM is the kind of tool that will
make OS/2 the successor to MS/DOS".

http://www.quotesandsayings.com/gbillgates.htm
Frank Lesser [LSW] wrote:
Chip,

The problem which Smalltalk has to fight with is exactly the GUI and the lack of integration with the Windows-OS.
I agree with you that Smalltalk is extremely productive - I also used it for more than 20 years now - just that every change is
immediatley visible the powerful debugging features
all that I don't want to miss - But when you have to interface with other components - to integrate with modern GUI you start to
loose all the advantages.
We had to create our own implementation to overcome the GUI and other problems.

What Smalltalk had from the very beginning ( e.g. change code while debugging is right now introduced in a very limited way compared
to Smalltalk as Edit-and-Continue in .NET language environments )
For Windows Desktop Development I would regard to today only Dolphin and Smalltalk-MT as possible environments. Both implementations
are from small firms. VW is still using emulated widgets - Pollock and Chagall ( Native Widgets ) are in development - Cincom is not
a small firm. Smallscript as a Smalltalk superset with integration into Visual-Studio will be the .NET Smalltalk ( but with the loss
of everything is an object feature ). VMX Smalltalk is a nice Interpreter on top of the CLR ( loss of performance )
.
With appearance of .NET the Situation of Smalltalk became even worse. Because Smalltalk is based on its own Virtual-Machine and JIT
which is incompatible with
.NET it is almost impossible to transport Smalltalk to .NET CLR without loosing performance and/or its basic features.
For our ( Win32 based ) Smalltalk we have choosen to create an interface to.NET. ( Smalltalk primitives can invoke .NET methods ) -
Also our pure .NET implementation does not integrate with the .NET object model and it uses its own JIT technology.

I guess that I need not to be afraid - Microsoft's CLR and Smalltalk are so incompatible today that MS will not take hands on that
language.
However they will take more and more features ( e.g. Object-Browser / Refactoring ) which have their origins in Smalltalk and add
them to their development environments.

Frank

Jul 21 '05 #5
CD
Moe,
You'd think Bill would have jumped right on that wouldn't you? What's the
deal Bill?

Frank,
I'm with you on what you are saying. I've been bitching at Cincom for years
to fix the GUI. They've implemented some nice stuff, but unfortunately, it is
the GUI that gives the first impression and that kills things from the start.
I've been working closely with an engineer there and from what I gather,
Cincom is squeezing everything out of these guys that they can. Although I do
not have a count, I do not think that the number of real developers there are
many.

I'm starting to teach myself C# now, as a hedge in the job market, but I
find it hard to concentrate on the application logic without some of the
tools and features of Smalltalk. I've gotten so used to just placing a halt
in an empty method and coding "on the fly" while running. The whole build and
run thing is hard to go back to. Also, I can't remember the last time I lost
code because of an exception, or even a crash of a machine. The
transactioning of code in VW blows people away when I show them. I've gotten
very used to "dumping" my image in order to back out of changes and just
reapplying the change log up to a specific point. I'n not familiar with
recent releases of Visual SourceSafe, but I doubt that it approaches the
functionality of the Store repository. I could go on and on about stuff like
the TimeProfiler and Refactory Browser.

It's a real shame to see a language like this just standing on the sideline.

Chip

"Moe Green" wrote:

Bill Gates on smalltalk:

From the back of an old Digitalk Smalltalk/V PM manual, 1990:
"This is the right way to develop applications for OS/2 PM. OS/2 PM
is a tremendously rich environment, which makes it inherently complex.
Smalltalk/V PM removes that complexity and lets you concentrate on
writing great programs. Smalltalk/V PM is the kind of tool that will
make OS/2 the successor to MS/DOS".

http://www.quotesandsayings.com/gbillgates.htm
Frank Lesser [LSW] wrote:
Chip,

The problem which Smalltalk has to fight with is exactly the GUI and the lack of integration with the Windows-OS.
I agree with you that Smalltalk is extremely productive - I also used it for more than 20 years now - just that every change is
immediatley visible the powerful debugging features
all that I don't want to miss - But when you have to interface with other components - to integrate with modern GUI you start to
loose all the advantages.
We had to create our own implementation to overcome the GUI and other problems.

What Smalltalk had from the very beginning ( e.g. change code while debugging is right now introduced in a very limited way compared
to Smalltalk as Edit-and-Continue in .NET language environments )
For Windows Desktop Development I would regard to today only Dolphin and Smalltalk-MT as possible environments. Both implementations
are from small firms. VW is still using emulated widgets - Pollock and Chagall ( Native Widgets ) are in development - Cincom is not
a small firm. Smallscript as a Smalltalk superset with integration into Visual-Studio will be the .NET Smalltalk ( but with the loss
of everything is an object feature ). VMX Smalltalk is a nice Interpreter on top of the CLR ( loss of performance )
.
With appearance of .NET the Situation of Smalltalk became even worse. Because Smalltalk is based on its own Virtual-Machine and JIT
which is incompatible with
.NET it is almost impossible to transport Smalltalk to .NET CLR without loosing performance and/or its basic features.
For our ( Win32 based ) Smalltalk we have choosen to create an interface to.NET. ( Smalltalk primitives can invoke .NET methods ) -
Also our pure .NET implementation does not integrate with the .NET object model and it uses its own JIT technology.

I guess that I need not to be afraid - Microsoft's CLR and Smalltalk are so incompatible today that MS will not take hands on that
language.
However they will take more and more features ( e.g. Object-Browser / Refactoring ) which have their origins in Smalltalk and add
them to their development environments.

Frank

Jul 21 '05 #6

"Moe Green" <mo*@vegas.west > wrote in message news:33******** *****@individua l.net...

Bill Gates on smalltalk:

From the back of an old Digitalk Smalltalk/V PM manual, 1990:
"This is the right way to develop applications for OS/2 PM. OS/2 PM
is a tremendously rich environment, which makes it inherently complex.
Smalltalk/V PM removes that complexity and lets you concentrate on
writing great programs. Smalltalk/V PM is the kind of tool that will
make OS/2 the successor to MS/DOS".

http://www.quotesandsayings.com/gbillgates.htm


unfortunatley Smalltalk/V died.
Smalltalk/V and its successor Visual-Smalltalk ( VSE ) were long time ago the best development tool available under Desktop OS'es.

again a technical answer on the problems of V/Win32 VSE.
Due to the lack of outer Callback support ( Recursive Callbacks could not be debugged ) a hack was introduced
( whenValidPerfor m: ) - Dolphin has solved this problem at the VM-Level ( Recursive Callbacks can be debugged ).
Smalltalk/V / VSE used some very unusual way of handling certain WM_ messages due to the Outer Callback-Problem.

This made the language incompatible and further problems apeared due to the "wrong" handling of OS-Events.
This was the technical dead of Smalltalk/V / VSE.
VSE COM / OLE support framework is huge but still inomplete ( no full Unicode support ) and imperformant.
The Prototyping environment and Visual-Programming PARTS was not accepted by the Smalltalk Community.
Big efforts where made to create a Java Development environment ( PARTS for Java 1999 ) which was implemented in VSE using a socket
connection to JVM.
It was imperformant and could only be used with JDK 1.0
Most Smalltalk's are not fully Unicode capable.




Jul 21 '05 #7
Chip,

regarding the framework development it IMHO it doesn't count whether you have a big or small development team.
Ours is small - it is important that you make the right decisions at the very beginning.
Just a decision would be -
(1) ignore Microsoft technically we support every OS - big Smalltalk Vendors went this way ( VAST uses a Motif layer to bind to the
GUI functionality which is a disaster under Windows )
(2) try to support Microsoft as good as possible ( Dolphin and ST/MT go this way - they have not made their .NET decisions public
yet )

we are also trying to support Microsoft's OSes in our Smalltalk - it is a big effort but IMHO the only way to survive with a
language implementation.

also Java has ignored the Desktop - a decision similar to the disastroes Smalltalk decision was made to ignore Windows - now Java is
weak on the desktop and strong on servers. A good luck for Java that the consumer & cellphone market is not dominated by MS.

Frank

Jul 21 '05 #8
Joe

CD (NNNNN NNNN) wrote:
....
I'm starting to teach myself C# now, as a hedge in the job market, but I find it hard to concentrate on the application logic without some of the tools and features of Smalltalk. I've gotten so used to just placing a halt in an empty method and coding "on the fly" while running. The whole build and run thing is hard to go back to. Also, I can't remember the last time

I lost

I'm an old Smalltalk guy myself, but working in C# doesn't have to be
that bad.

In Smalltalk I used to do a lot of unit testing in the transcript. In
..Net a unit test program takes the place of the transcript (for me at
least). I use the one called NUnit, available at SourceForge. What you
do is write small snippets of test code, which NUnit will keep
organized and run for you on demand.

Use Visual Studio to attach to an NUnit process containing the code you
want to debug. Set a breakpoint in your code. In NUnit, run the method
you want to debug. The debugger pops up when you hit the code in NUnit.
Make any desired modifications. Rebuild the assembly in Visual Studio.
Pop the NUnit window back to the front. The run button will be disabled
until the project finishes rebuilding at which point NUnit
automatically reloads the assembly you recompiled. The whole process
only takes maybe 15 seconds for perform a complete test,edit,compi le
round trip. Note that you don't have to reattach to the process being
debugged. Been doing it for 3 years now.

Now for web pages and the like I usually just attach directly to those
using Vistual Studio. But for back-end code I always debug using NUnit.

As far as stability, for me Visual Studio rarely crashes. There are a
couple of things to avoid,though. For instance, if I inspect too many
SqlDateTimes, VS will lose its marbles after a few minutes. I've
learned dump such stuff out to the console when I want to take a look
at it. I pray this glitch is fixed with this year's release.

I will agree with you that SourceSafe stinks, but it does the job
(barely). I often find myself wistfully daydreaming about how much
easier life was with Team/V or Envy.
It ain't Smalltalk but it ain't that bad.

Jul 21 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
2842
by: j_mckitrick | last post by:
Hi all! I've heard good things about SmallTalk, and I read that the IDE is extremely productive. Why is this the case? What are the technical points where Python and SmallTalk differ? Is SmallTalk really faster than Python? I tried Objective-C, but eventually dropped it for lack of support and the need to use NS-type classes to do anything productive. Python's built in containers and types are so much more concise. But if
16
2731
by: English Teacher | last post by:
Which would be a more useful language to learn, Smalltalk or Pearl? Learning curves any different? Thanks!
177
7104
by: C# Learner | last post by:
Why is C syntax so uneasy on the eye? In its day, was it _really_ designed by snobby programmers to scare away potential "n00bs"? If so, and after 50+ years of programming research, why are programming languages still being designed with C's syntax? These questions drive me insane. Every waking minute...
10
5766
by: Yechezkal Gutfreund | last post by:
I have two subclasses of SpriteModel (1) LocalSprite (2)Sprite Both implement a method called .ToXml() which returns an XmlDocument. But they are different. I instances of these objects stored in a Hashtable. Extracting them from the Hashtable means that I get a object that is tentatively an instance of Class Object (or Type Object to use the correct C# word). I can HARD cast the object to a SpriteModel, and then invoke the .ToXml()
8
268
by: CD | last post by:
I doubt this is the correct group to post this in, but since I couldn't find a better place, here goes. Smalltalk is a very mature, highly portable pure object language. From my view of it, it lacks the development and marketing support that a company like Microsoft can supply. Why hasn't Microsoft looked at Smalltalk products like Visualworks and considered taking them over? I know that this language has a huge potential given a...
11
1352
by: frankgerlach22 | last post by:
SimpleORB is a simple Object Request Broker for VisualWorks Smalltalk, java and C#. It uses a simple but powerful serialization library for data marshalling. Because this is not a CORBA server, it is quite small (about 150kByte for all languages together). There exists a Wikipedia entry with a simple Helloworld application: http://en.wikipedia.org/wiki/SimpleORB Performance is ca. 500 calls/s with java client and Smalltalk server. 1600...
2
1328
by: nelson | last post by:
Hi all, sorry if it isn't the right group (and sorry for the cross post, but it's a cross- question :P ), but i'm not sure where to post. I have a python library and i want to be able to call it from smalltalk (the squeak implementation in particular..). I was just wondering if there is a standard mechanism to do it. On windows i know i can create in python a COM server and call it from smalltalk, but i wonder if there is a more general...
3
2657
by: SPECTACULAR | last post by:
Hi all. I have a question here.. what kind of scoping does C++ use? and what kind does Smalltalk use? I know smalltalk is a little bit old .. but any help would be appreciated.
6
3411
by: gavino | last post by:
python vs smalltalk 80 which is nicer?
0
9561
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10302
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10281
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7597
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6835
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5494
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5622
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3789
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2966
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.