This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Georg Heeg eKBaroper Str. 337D-44227 DortmundTel: +49-231-97599-0Fax: +49-231-97599-20
• About us• Smalltalk today?• DotNETConnect• Smalltalk gets mobile
About us...
• Founded 1987, head quarter in Dortmund,since 1996 in Zurich, since 1999 in Koethen/Anhalt
• Consulting and training companyconcentrated around Smalltalk
• Hotline Support, Maintenance, Bug-Fixes
• New technologies for VisualWorks
• Technology partner of
Corporate Mission: Make Sophisticated Projectsa Success for the Customer!
Cooperation
• Anhalt University of Applied Sciences in Koethen– Smalltalk as first programming language– Diploma thesis by Dirk Lannatewitz
• Localization UI for VisualWorks• Finished 18 August 2003
– Diploma thesis by Katrin Nörenberg• German version of VisualWorks
Overview
• About us• Smalltalk today?• DotNETConnect• Smalltalk gets mobil
Smalltalk 1972
• Xerox Palo Alto Research Center• Alan Kay, David Robson, Adele Goldberg• Goal: Dynabook
– The personal Computer for everybody• Same size as a book• Same weight as a book• Dynamic• Available every time• Controllable by everybody
Smalltalk 1980
• Smalltalk 80– 1981 first publication in Byte Magazine
• Foundation of object orientation• Window system• Software development using browser• Debugger• Technical base of today’s VisualWorks
Smalltalk end of the 1980ies
• Commercialization– Founding of Smalltalk companies
• 1985 Digitalk• 1987 Georg Heeg• 1988 ParcPlace Systems
– First application projects• The Analyst (Xerox/CIA)• ProfiSee (Ciba Geigy)
Smalltalk early 1990ies
• Large Projects– JP Morgan– Texas Instruments– Daimler Benz– BMW– Deutsche Bank– Deutsche Bahn– UBS– Siemens
• IBM puts out VisualAge to the market place• Smalltalk books are published
Smalltalk 1996-1999
• Java is the new buzz word– …
• Smalltalk projects are put into operation– Users are happy
Smalltalk 1999-2002
• Cincom takes over ObjectStudio and VisualWorks– Founded 1968– About 800 employees– From the beginning managed by Tom Nies– Located in Cincinnati, Ohio
• Consolidation– Long term strategy
• Smalltalk books get out of stock
Smalltalk 2003
• New Smalltalk companies show up• New platforms
– Webserver– .NET
• New markets– mobility
• New Smalltalk books are published
New Book on Smalltalk
GWV Fachverlage
Grundkurs Smalltalk - Objektorientierung von Anfang an
Eine Einführung in die Programmierung
Johannes Brauer
Erscheinungstermin: 12. September 2003
What is special about Smalltalk?
• „Everything is an Object“– „normal“ Objects– Windows– Numbers, strings, characters– Classes– Meta classes– Processes– Stack frames (contexts)
Smalltalk properties
• Every object is unambiguously typed– Instance of a class
• Variables are ungetyped• Information Hiding
– Only access to objects by messages
• Dynamic binding
Smalltalk Theory
• Smalltalk is a modeling language– Smalltalk is able to represent every well
formulated theory concept as a system of classes in a clear way
=>– Smalltalk is able to represent every
computer science theory concept as a system of classes in a clear way
Fear of Smalltalk
• Pretended arguments– Will no exist for a long enough time– Is slow– Is not company strategy
BUT
• Fear is often hazy and unspecific
What are the roots of the fear?
• „Wat de Buer nich kennt, dat fret he nich“ [Low German: “Whatever the farmer does not know, he does not eat.”– More Marketing– More Sales
• Smalltalk is different– Must be different to achieve the Smalltalk goals
• You cannot build airplanes of steel
The fear of Smalltalk is justified
• Intellectual requirements– Classes = concepts– To understand concepts is intellectually
demanding– To develop concepts requires creativity– To dismiss concepts requires inner freedom– To bear criticism must be learned
• and criticism will come!!!
Who has overcome the fear
• Does not want to do anything else• Achieves a productivity, others can only
dream of• Can spread out her/his own ideas• Feels as creator of a virtual world
• … and travels to ESUG every year
Smalltalk is reasonably cheap
• Ideal for Prototyping• Ideal for Extreme Programming• Ideal for Redesign
• From the idea via the prototype to product quality– Without a technology break– In shortest time
• Few Lines of Code• Proximity of concepts and software
– Notions correspond to classes
One Software Base
• From a server to a mobile device– Sun SPARC – HP UX – IBM AIX – SGI Irix– Linux 86 und PPC– Macintosh OS 9 und OS X– Windows 95, 98, ME, NT, 2000, XP, Server und
Desktop– Windows CE 4.x
• Windows Mobile for Pocket PC 2003
• Binary compatible
Smalltalk 2004
• There are two alternatives– All programming is done the old style in low
salary countries• India, Bela Russia, Ukraine• Does know-how get out of our business control?
– Programming is done VERY efficiently• Modeling in SMALLTALK• Only possible if Smalltalk adopts all possible
worlds
Overview
• Bout us• Smalltalk today and tomorrow!• DotNETConnect• Smalltalk gets mobile
Bill Gates about
• „Wir glauben, dass .NET in der Lage ist,– dem einzelnen Anwender ganz neue Möglichkeiten
zu eröffnen,– Unternehmen ungeahnte geschäftliche
Perspektiven zu bieten– und uns allen erneut bewusst zu machen, welch
ungeheures Potenzial im Internet steckt.“
BizTalk Server 2002
What is .NET according to Microsoft Marketing?
• Microsoft Platform for XML-Web Services• Connects in a uniform und personalized
way – Information– Devices– Users
What is .NET technically?
• Development environment for Windows– VisualStudio .NET 2003
• Object oriented execution platform– Common Language Runtime
• Class library– .NET Framework
• ASP .NET, ADO .NET, Windows Forms, …
• Interface for complex High-Level-Transactions – Web-Services
What is .NET
•Microsoft promotes WebServices as Internet based Strategy since 2001
•Actually development gains more importance with the goal:
– Unifies programming• Same features in all languages• Unified API• Unified platform
– Simplifies deployment and maintenance– Security
.NET: Future Platform of Windows World
• Replaces COM, OLE, DDE• Replaces native programming• Unifies programming languages (C++,
Java, VB, …)• .NET simplifies heavily Windows
programming
Architectural Comparison
.NET VisualWorks
OS Platform
CLR
Framework
Data and XML
Web Services
Web Forms
Windows Forms
OS Platform
VM
VisualWorks Basisimage
EXDI/Lens and XML
Opentalk
WebToolkit
Basisimage
Is .NET Planned as One-Way-Road?
• Interfaces mainly serve for integration of Legacy components
• Extensions of existing systems by .NET components is not intended
• Soft pressure towards migration of existing systems into .NET
• A way back is not provided
Java or .NET
• Java tries to dominate the world– Anything else is ignored– All concepts are newly invented and named
differently
• .NET tries to dominate the world– Anything can be integrated in .NET– .NET specifics can only be used from
inside .NET
Smalltalk and .NET (Theory)
• Repetition:– Smalltalk is able to represent every well formulated
theory concept as a system of classes in a clear way– Smalltalk is able to represent every computer
science theory concept as a system of classes in a clear way
=>• Smalltalk is able to represent .NET as a system
of classes in a clear way
Smalltalk and .NET (Marketing)
• All future development of Microsoft will happen in .NET
• Windows is dominant platform for VisualWorks Client Applications
• Windows is a platform for VisualWorks Server Applications
• Thus we consider a preoccupation with .NET as (compellingly) necessary
.NET Integration Options
1. Smalltalk as .NET integrated language
Available as Technology Preview (S#/Smallscript)
2. Conversion of VM to use CLR byte codes
Probably technically not possible
3. Web Services Available since VisualWorks 7.0 as Server and Client
4. Interoperability DotNETConnect
Smallscript alias S#
+high acceptance in Windows community+First Class Citizen- Low acceptance in Smalltalk community- Loss of platform independence- Restriction of the language (.NET makes
all languages being the same)- Quality of development- Breach with existing application base
.NET Integration: Bytecode
• Technically not investigated• Open whether can be put into practice
at all without massive restrictions– static typing of CLR
Web-Services
• Available in VisualWorks since June 2002 • High strategic advantage• Integration on the level of
– Applications– Systems – Enterprises
• Standardized– XML, SOAP, WSDL, UDDI
Web-Services
• Not suitable for integration of – Local components– Client-server– Operating system services
• “Nobody would ever want to print a Word document using Web-Services”
DotNETConnect: Goals
• Smalltalk and .NET coexist side by side• .NET objects will be usable as Smalltalk objects• Light weight solution• Easy to use
– Time to Market– No technical knowledge about .NET required– All properties of Smalltalk are maintained
• Favorable cost-benefit ratio
DotNETConnect: Concepts
• Smalltalk as Client, .NET as Server• Automatic generation of Smalltalk
classes for .NET classes• Separation of .NET generated classes
from communication medium– Web-Services– Managed Extensions for C++– COM– Remoting
• Garbage Collection coupled with .NET
DotNETConnect: Properties
• No adaptation of .NET Components necessary
• Tool based generation of all necessary Components in source code – Complete access on generated Code
• Components for .NET base classes as part of DotNETConnect available– mscorlib, data, xml
DotNETConnect: Architecture
VisualWorks
VisualWorks object stub
VisualWorks connection stub
Registry
.NET
.NET Object
Proxy (C#, C++)
Registry
Communication Channel (DLL, COM, Remoting)
Generated Code installed Component
Stub Classes
• All Stub classes are subclasses of DotNETObject
• Class methods – static methods– Access to static properties – Constructors
• Instance methods– Non static methods– Access to non static properties
Two Stub-Objects with DLL Channel
VisualWorks
aDateTime
objectId
Registry
objectId
objectId
MscorlibStub
aTimeInterval
objectId
MscorlibExternalInterface
.NET
Communication channel
Registry
objectId
objectId
aDateTime
objectId
aTimeInterval
objectId
MscorlibProxy
Example: Stub Method (generated)
AddDays: value"This is generated code for the .NET method:System.DateTime AddDays (System.Double value)"| returnData |returnData := self executionStub
DateTime_AddDays: self objectIdwith: value.
^self register: returnData
Example: Wrapper Method (generated)
DateTime_AddDays: objectID with: value"execution stub method for the .NET Method
• Currently under development– Intel PXA25x processor family
Currently under Development
• Windows Mobile for Pocked PC – Alias Pocket PC 2003– Based on Windows CE 4.2– Public announcement 23 June 2003
• First devices available– Since End of July 2003– E.g. HP iPAQ 2220
Further plans
• SmartPhone – Currently under market investigation
Availibility
• For tests on Web pads– immediately
• Probably available as part of Cincom Smalltalk November 2003 edition– Look under preview
Deployed Image Adaptations
• During the test phase using VisualWorks 7.1 following adaptations must be loaded as parcels:– DLL&C-Connect adapted to Unicode support– Complete Unicode support at the Image/VM
interface– Special Windows CE classes– Adapted platform recognition
Example Application
• Idea– “Any Business Application for Hoeft&Wessel”– 16 June 2003, 17:19 (= 5:19 p.m.)
• Delivery – 17 June 2003, 18:36 (= 6:36 p.m.)– As-is stocktaking for inventory
• Software presentation– 18 June 2003 in Hanover
Alan Kay‘s Dynabook?
Adele Goldberg(20 February 2003):“This does indeed look like the original Dynabook conception”
Alan Kay‘s Dynabook?
Adele Goldberg(20 February 2003):“The failing is in the Smalltalk, of course, and not the hardware. I still feel we have not figured out how to enable modeling in a direct enough way that non-computer professionals can describe their understanding, find data to test that understanding, and be able to share with others. That was my understanding of the motivation for the Smalltalk projects--modeling as versus programming.”
Georg Heeg eKBaroper Str. 337D-44227 DortmundTel: +49-231-97599-0Fax: +49-231-97599-20