T04: Dynamic Languages for Statically-Typed Minds
Sunday, Oct 22, from 08:30 to 12:00, D135
Dynamic languages are growing in use, but a lot of developers are still skeptical about the buzz. After all, these languages are toy languages, aren't they? This tutorial will give insight of what the differences are between dynamic languages like Ruby, Python and Groovy and traditional, statically typed, curly bracket languages like Java, C# and C++. Are the claims that dynamic languages are more productive really true? If so, what mechanisms in these languages makes it true? How can a language where not even a simple type error can be caught at compile-time not be outright dangerous to use? How do you know what to pass to a method, when the method signatures does not contain types? And how is programming with interfaces accomplished in a dynamic language? All these questions and many more will be examined and answered by a presenter who himself has been doing the transition from statically typed languages to dynamic languages, and who had all these questions and felt the skepticism - but has been convinced by the answers the languages themselves gave. You will also see how dynamic languages can be added to and used within systems that is built in Java, C# and C++.
Intermediate: Basic knowledge of an statically typed curly bracket language is needed - Java, C# or C++.
Goals: The attendees will learn about important mechanisms in dynamic languages and see what the differences are compared to languages like Java, C# and C++.
Format: Lecture based with a lot code examples.
Niclas Nilsson, Activa: Niclas is a software developer consultant, educator and writer with a deep passion for the software development craft. He started working as a developer in 1992 and drawn from experience, he knows that some choices makes significant difference in software development, like languages, tools and processes. This is the reason behind his affection for dynamic languages, test-driven development, code generation and agile processes. Niclas has used dynamic languages since he encountered Python and Ruby in 2002. He has used Python within Java systems, written tools in Ruby and Python and developed web systems using Ruby on Rails. Blog at http://niclasnilsson.se.