際際滷

際際滷Share a Scribd company logo
Agile Development with Smalltalk


           Tomas Kukol
      tomas.kukol@gmail.com
Agenda




This presentation brings an overview of Smalltalk
programming language and Smalltalk object database
and benefits of program and data integration into
object database
Current situation

We use object oriented languages (C# .NET, Java)
   Complicated (more than 300 rules), mastering takes 3-4 years
   Change very often (every 2-3 years in Microsoft .NET)
   Data persistence is not part of languages


We use relational databases to store data (Oracle, SQL Server)
   There are no objects, only plain tables and procedures
   Different procedural languages, mastering takes also 3-4 years
   Difficult to be agile and response to business changing needs


Problems with separate application and database
   Business logic is often on more places  hard to maintain
   Different platforms, languages and tools  takes a lot of time to learn
   Difficult and time consuming to change existing database and application
   Frequent changes in all platforms
   High costs
Possible solution?

We should use true object programming language and
true object database that integrates program and
data, supports agile test driven development,
refactoring and quick deployment

Have a look at Smalltalk object programming
language and GemStone/S Smalltalk object database
Smalltalk is 

Programming language
  Simple and powerful object language
  Has only few basic rules and easy to learn
  Very stable (no breaking changes since 1980)


Object database
  Stores complete objects in object database
  Application code is together with data in objects
  Everything is written in Smalltalk language


Productive development environment
  Integrates all tools for rapid application development
  Best for web and mobile applications, web services and service
  oriented architectures
Stability, lower costs, reuse

Smalltalk is well designed and easy to learn
   No breaking changes since 1980
   No need to rewrite applications every 2-3 years
   Mastering Smalltalk takes 6 months vs. 3-4 years of C# .NET


Persistence is integrated into Smalltalk
   Saves 60%  90% of developer time to handle persistence
   Developer can focus on real business processes
   Code and data stored together in objects in object database
   Only one platform and Smalltalk language


Objects can be reused
   High reuse of existing code  up to 80%
   Saves development and maintenance costs
   Better and stable applications
Agile, test driven, quickly to market

Agile test driven development and refactoring
   Supports agile and iterative test driven development
   All kinds of tests are part of Smalltalk program
   IDE allows refactoring of code together with data


Rapid application prototyping
   Allows rapid application prototyping and frequent changes
   Contains all development tools with web server and source codes
   Can be used even on restricted enterprise desktops without special
   permissions (all in 40 MB)


Quick and easy deployment with packages
   Packages contains all objects, data, tests, examples, documentation
   Supports different pillars (DEV, ACC, PRO)
   Built-in concurrent version system, no need for other software (SVN)
   Can be deployed from web application by authorized user (ISO Admin)

More Related Content

Agile Development with Smalltalk - Short

  • 1. Agile Development with Smalltalk Tomas Kukol tomas.kukol@gmail.com
  • 2. Agenda This presentation brings an overview of Smalltalk programming language and Smalltalk object database and benefits of program and data integration into object database
  • 3. Current situation We use object oriented languages (C# .NET, Java) Complicated (more than 300 rules), mastering takes 3-4 years Change very often (every 2-3 years in Microsoft .NET) Data persistence is not part of languages We use relational databases to store data (Oracle, SQL Server) There are no objects, only plain tables and procedures Different procedural languages, mastering takes also 3-4 years Difficult to be agile and response to business changing needs Problems with separate application and database Business logic is often on more places hard to maintain Different platforms, languages and tools takes a lot of time to learn Difficult and time consuming to change existing database and application Frequent changes in all platforms High costs
  • 4. Possible solution? We should use true object programming language and true object database that integrates program and data, supports agile test driven development, refactoring and quick deployment Have a look at Smalltalk object programming language and GemStone/S Smalltalk object database
  • 5. Smalltalk is Programming language Simple and powerful object language Has only few basic rules and easy to learn Very stable (no breaking changes since 1980) Object database Stores complete objects in object database Application code is together with data in objects Everything is written in Smalltalk language Productive development environment Integrates all tools for rapid application development Best for web and mobile applications, web services and service oriented architectures
  • 6. Stability, lower costs, reuse Smalltalk is well designed and easy to learn No breaking changes since 1980 No need to rewrite applications every 2-3 years Mastering Smalltalk takes 6 months vs. 3-4 years of C# .NET Persistence is integrated into Smalltalk Saves 60% 90% of developer time to handle persistence Developer can focus on real business processes Code and data stored together in objects in object database Only one platform and Smalltalk language Objects can be reused High reuse of existing code up to 80% Saves development and maintenance costs Better and stable applications
  • 7. Agile, test driven, quickly to market Agile test driven development and refactoring Supports agile and iterative test driven development All kinds of tests are part of Smalltalk program IDE allows refactoring of code together with data Rapid application prototyping Allows rapid application prototyping and frequent changes Contains all development tools with web server and source codes Can be used even on restricted enterprise desktops without special permissions (all in 40 MB) Quick and easy deployment with packages Packages contains all objects, data, tests, examples, documentation Supports different pillars (DEV, ACC, PRO) Built-in concurrent version system, no need for other software (SVN) Can be deployed from web application by authorized user (ISO Admin)