what’s new in cincom smalltalk

29
What’s New In Cincom Smalltalk Alan Knight ([email protected]) Cincom Systems of Canada

Upload: esug

Post on 20-May-2015

899 views

Category:

Technology


4 download

DESCRIPTION

What’s New In Cincom Smalltalk. Alan Knight. ESUG 2007, Lugano

TRANSCRIPT

Page 1: What’s New In Cincom Smalltalk

What’s New In Cincom Smalltalk

Alan Knight ([email protected])Cincom Systems of Canada

Page 2: What’s New In Cincom Smalltalk

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

Page 3: What’s New In Cincom Smalltalk

ObjectStudio 8

Separate productShipping now-ish

Full Re-implementationObjectStudio semanticsObjectStudio class librariesNative Widgets (Windows)Access to all VisualWorks facilitiesGreatly improved VM performance

Page 4: What’s New In Cincom Smalltalk

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

Page 5: What’s New In Cincom Smalltalk

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

Page 6: What’s New In Cincom Smalltalk

ObjectStudio 8 – VisualWorks Users

Native WidgetsVista certification pendingCOM and ActiveX support“Legacy” connects

APPCEHLLAPI

Page 7: What’s New In Cincom Smalltalk

Virtual Machine

Intel Mac OS X SupportShipped in 7.5

General Mac OS X Stability andPerformance

Improved in 7.5Much continuing workSingle threaded VM

Page 8: What’s New In Cincom Smalltalk

Mac OS X Virtual Machine

Single Threaded VMWorse performance right nowBetter performance once optimizedMuch more stableMuch easier interface to Mac systemcode

Page 9: What’s New In Cincom Smalltalk

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

Page 10: What’s New In Cincom Smalltalk

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

Page 11: What’s New In Cincom Smalltalk

Widgetry

Entirely new windowing frameworkIn progress for a long timeVersion 1.0 shipping shortly

“Service Pack” releaseSupported product

Page 12: What’s New In Cincom Smalltalk

Widgetry - Benefits

Simpler, cleaner model“Wrapper” system not comprehensivelyupdated for many years

More functionalityBetter compatibility with other systemsEasier to support native widgets(eventually)

Page 13: What’s New In Cincom Smalltalk

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”

Page 14: What’s New In Cincom Smalltalk

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

Page 15: What’s New In Cincom Smalltalk

Seaside - Web

Already a working VisualWorks portMichel Bany

Integration with VisualWorksAccess to facilitiesSupportedCleaner portabilitySimpler underlying layer – fewer choicesEasy to use out of the box

Page 16: What’s New In Cincom Smalltalk

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

Page 17: What’s New In Cincom Smalltalk

Aside: Networking improvements

Much better support for streaminglarge content

HTTP ServingMail messages (SMTP, POP, IMAP)

Improved mail support in generalFirewall/NAT improvements

Page 18: What’s New In Cincom Smalltalk

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

Page 19: What’s New In Cincom Smalltalk

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

Page 20: What’s New In Cincom Smalltalk

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

Page 21: What’s New In Cincom Smalltalk

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”

Page 22: What’s New In Cincom Smalltalk

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)

Page 23: What’s New In Cincom Smalltalk

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

Page 24: What’s New In Cincom Smalltalk

DLL/CC

Major overhaulStill in early stagesEntirely new parser (SMACC based)Lighter weightGet rid of the strange classes

Loading/saving issuesExamining C++ connectivity options

Page 25: What’s New In Cincom Smalltalk

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

Page 26: What’s New In Cincom Smalltalk

Some small items

Dependents, events, removed frombase collections (7.5)

They aren’t supported anywayLarge performance increaseAvoids bottleneck

DatabasesODBC connection pooling, charsetsOracle scrollable cursors

Page 27: What’s New In Cincom Smalltalk

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

Page 28: What’s New In Cincom Smalltalk

Upcoming

Many browser and tool improvementsSee Travis for details

DefaultPackageNamespacesSet a package’s #namespace propertyClass extensions are compiled in thatnamespaceThe “inspect” problem.

Page 29: What’s New In Cincom Smalltalk

The End

Questions?