Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
What’s New In Cincom Smalltalk
Alan Knight ([email protected])Cincom Systems of Canada
About the Talk
Some New and Interesting StuffThings already shippingThings in the next releaseLonger term goalsNon-technical items (consolidation, releasing)
Both major features and selected smalleritemsNot nearly comprehensiveSome technical detail
ObjectStudio 8
Separate productShipping now-ish
Full Re-implementationObjectStudio semanticsObjectStudio class librariesNative Widgets (Windows)Access to all VisualWorks facilitiesGreatly improved VM performance
Object Studio 8 – Technical Challenges
VM issues for native widgetsDifferent semantics
Methods, assigning to parameters, {}File-basedSolutions
Namespaces for classesDifferent compiler, and code rewritingMessage rewriting, and codetransformation
ObjectStudio 8 – ObjectStudio Users
Ability to use VisualWorks tools wherethey are an improvementAccess to class libraries
Web/Application ServerWeb Services and NetworkingDatabase
VM performanceContinuing Development
ObjectStudio 8 – VisualWorks Users
Native WidgetsVista certification pendingCOM and ActiveX support“Legacy” connects
APPCEHLLAPI
Virtual Machine
Intel Mac OS X SupportShipped in 7.5
General Mac OS X Stability andPerformance
Improved in 7.5Much continuing workSingle threaded VM
Mac OS X Virtual Machine
Single Threaded VMWorse performance right nowBetter performance once optimizedMuch more stableMuch easier interface to Mac systemcode
Virtual Machine
VM as DLLSmalltalk doesn’t have to be in chargeDetailed planning stages
64-bit stability and exploiting featuresE.g. hashing
Socket and THAPI performanceMeta-issues
Source code controlConsolidate platform-specific codeRegression test suite
Aside: Hashing
Major rework of hashesAnalyze existing hashes for betterdistributionString hash that takes into account allcharactersSingle level hash for symbolsNote: Hash Analysis Tool in publicrepository
Widgetry
Entirely new windowing frameworkIn progress for a long timeVersion 1.0 shipping shortly
“Service Pack” releaseSupported product
Widgetry - Benefits
Simpler, cleaner model“Wrapper” system not comprehensivelyupdated for many years
More functionalityBetter compatibility with other systemsEasier to support native widgets(eventually)
Widgetry - Issues
Documentation not shipping with 1.0Some web resources available
No UIBuilder or migration supportTools migration slower than plannedSuitable for
Early adoptersThose with sophisticated UI requirementsthat can’t be met with “Wrapper”
Seaside
Major new initiativePotentially significant opening in webdevelopment space
J2EE, .NET, Web Services extremelyheavyweightLighter frameworks, esp. Ruby on Rails
Outreach to non-Smalltalk developersWe can do better
Seaside - Web
Already a working VisualWorks portMichel Bany
Integration with VisualWorksAccess to facilitiesSupportedCleaner portabilitySimpler underlying layer – fewer choicesEasy to use out of the box
Seaside - Technical
Running on Opentalk-HTTPOpentalk
General distributed programming andnetwork protocol supportBasis for e.g. Web Services, CORBA
Kept strongly in sync with Squeakversion
Tools for supporting easier interchangeRelational Database support
Aside: Networking improvements
Much better support for streaminglarge content
HTTP ServingMail messages (SMTP, POP, IMAP)
Improved mail support in generalFirewall/NAT improvements
Seaside - Database
Be able to use Relational DBs easilyConnectivity - MySQL support
Parallels Ruby on Rails “ActiveRecord”Uses Glorp as underlying mapping layerAutomatic for simple schemasBe able to use database informationScale up to more complex schemasBetter performanceMuch more about this tomorrow
Deployment
Make it much easierVarious Runtime Packager improvementsMake Runtime Packager less necessaryMove functionality into base, be dynamic
» Headless» Runtime» Error Logging
Smaller base imageAlternative ways of running code
Scripting
Do more without requiring the environmentOne liners from the command lineWrite scripts in filesEntire programs in files
Scripting extensionsSystem more tolerant of headless modeStandard I/OExperimental Phases
“Scripting Support” in public repository
Internationalization
Everything should work, regardless oflocale and character set.Areas
Character display/fontsCharacter inputFilesystems
Mac OS X input managerOnly Mac OS 9 right now
Current Windows “Unicode Support”
Store – Shadow Compilation
Shadow compilation“Atomic loading”Shipping in 7.5, but turned offCan’t yet load everything
» Method order dependency» Custom compilers» Semantics of the code (e.g. system overrides)
Store (7.5)
Merge tool UI overhaulMSAccess officially supported
StoreForMSAccessLogging
Records what was loaded from the databaseBy a 7.5 or later clientTable TW_LoadRecord
Overrides within BundlesSetting – required for ObjectStudio 8
DLL/CC
Major overhaulStill in early stagesEntirely new parser (SMACC based)Lighter weightGet rid of the strange classes
Loading/saving issuesExamining C++ connectivity options
DLL/CC - #linkedIn
Small, but interesting, in 7.5If the library name is #linkedIn, it looksfor the library in the currentexecutable.Very useful for e.g. libc functions
Some small items
Dependents, events, removed frombase collections (7.5)
They aren’t supported anywayLarge performance increaseAvoids bottleneck
DatabasesODBC connection pooling, charsetsOracle scrollable cursors
More smaller items
Gecko support for web browser plugin(preview, mostly because of doc)Many COM connect improvementsUUID generationAnnouncements/ and \ as Filename messages#any, #sort, #sortedSplash screen off by default
Upcoming
Many browser and tool improvementsSee Travis for details
DefaultPackageNamespacesSet a package’s #namespace propertyClass extensions are compiled in thatnamespaceThe “inspect” problem.
The End
Questions?