I've mentioned a couple of times that I was putting a case together to try and sell my boss on the virtues of Smalltalk.
Well I planted that seed yesterday. I briefly started talking about Smalltalk to my boss. He was vaguely interested, but I didn't feel like I was selling it well while talking about it. I thought a demo would be better, so I showed him the stuff I'd been working on in C#.
I'd been doing prototyping in Dolphin, and moving code back into C# (Which actually was a bad way to do it, as noted by a previous post). However it has allowed me to have a project with sort of similar functionality in Dolphin, as well as C#. The TCP Server was what I used to show my boss that there is no (noticeable) compile/build step when doing work in Smalltalk.
I setup a server, and while test clients were connected to it and sending/receiving messages, I started changing the request handler methods which determined the responses to messages. Simply changing some of the outputs while the test app was connecting to the server. At first it wasn't really apparent to him what was going on. Not until I showed the same task being accomplished in C#. Each rebuild we got to watch the test client start throwing exceptions about failed connections, mean while any change to the code required rebuilding the app. So I wasn't able to change the results of requests on the fly. Trust me when I say if I had been trying to show off C# as the better option, it would have been a pretty bad demo. That was about the time he had a "Holy Shit" moment. It was pretty cool.
So now I am in the next phase. My boss has said he's open to it, but is concerned about the maintenance aspect of it. I'm the only person who would know what any of the code does. So now I have to get at least one more developer here into Smalltalk. Or else it will continue to be a hobby.
There are still a couple of hurdles to cross. I don't want to launch into commercial development using Dolphin without first being able to answer some basic questions. "What do we use for source control", "How do we share code", "How do you do ...". Basically anything we currently do using the .NET framework, I want to be able to give an answer on how to achieve the same thing in Dolphin. Threading, Xml, Sockets, Web Services, Collections, GUI Building. Some of the answers I have already. I've even got a Wiki running on my local machine. Documenting all of this stuff. Its slow going, because this is all occurring between the hours of 5:00 and 6:30 each evening.
It is funny to see first hand the absolutely poor marketing that Smalltalk seems to have almost been killed by. I have placed a couple of Smalltalk books around the office to try and get some interest that way. Only one comment so far: "Smalltalk? I tried that years ago at uni. Why would you bother. You can't even do anything useful with it."