Scala Days 2013 / Simple API Design, Lessons Learned
Please RSVP for instructions on how to join the event.
Description
Scala is one of the most feature rich, expressive and flexible languages around at present. It offers more ways to solve a problem than virtually any other language around, since it mixes Object Orientation, Functional Programming, Static Typing and much more.
The down side of all this power and functionality is all too commonly observable in the libraries available for Scala. Many libraries forget the audience for whom they are being written, and instead expose details like the underlying model (which may be very clever, but should mostly be orthogonal to the resulting API and certainly should not directly affect it). To put it another way, if your database structure dictates your user interface or web page, something is wrong with the design of your site (too many failed model driven design projects back this assertion). In the same way, APIs that are dictated by the innermost workings of your library have likely failed to take into account the needs of the user.
While writing SubCut, and further enhancing the feature set for SubCut 2.0, I learned many lessons about the advantages of teasing apart your semantic model from your library API. This is not a talk about SubCut, but a talk about some of the techniques I used to provide what I believe is the smallest, simplest and most streamlined API, while hiding most of the details of the implementation. I can also speak to the advantage of that approach with the enhancements made in SubCut 2.0 - the small targeted API let me change much about the inner workings, and while the API was affected for some new features, the new features were always added in a way that kept the API familiar to current users, and more importantly provided an easy, often non-breaking transition path.
Outline
No outline is available
Content is not yet available
Dick Wall (dick.wall)

0

No biography is available.
For a complete view of this profile,
including education, work experience and developer information,
you need to be logged in and have a subscription.
Dick's upcoming trainings
No events
Dick's past online trainings
850 USD
Jun 10-12, 2013
After much anticipation, we’re thrilled to announce the fourth annual Scala Days will be held this year in New York at The Hudson Theater on June 10th-12th.
Dick's blog posts
Course tags
- f# × 13
- functional × 4
- erlang × 3
- http × 2
- introduction × 2
- web × 2
- websharper × 2
- agents × 1
- asp.net × 1
- asp.net mvc × 1
- async × 1
- beginners,, × 1
- c# × 1
- clojure × 1
- concurrent × 1
- distributed programming × 1
- erlang express × 1
- erlang for beginners × 1
- erlang, × 1
- ets × 1
- for, × 1
- haskell × 1
- linq × 1
- ocaml × 1
- otp × 1
- otp, × 1
- pit fw × 1
- scala × 1
- servicestack × 1
- silverlight × 1
- single page application × 1
- web api × 1
- workflows × 1
Featured Courses
Learning F# - Basics
Get started with F# quickly and effectively.F# Programming I
Part I of a comprehensive 3-part introduction to the F# programming language.F# Programming II
Part II of a comprehensive 3-part introduction to the F# programming language.F# Programming III
Part III of a comprehensive 3-part introduction to the F# programming language.Understanding Functional Programming
Master functional programming concepts that jumpstart your productivity.Introduction to WebSharper
Learn how to use WebSharper for real-life web applications.
![]() |
Copyright (c) 2011-2012 IntelliFactory. All rights reserved. Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy |
Built with WebSharper |