Simberon Design Minute
 

Learning a New Language

It's tricky learning a new programming language. When you do, there are several issues that you'll encounter. First, there's the syntax of the language. Normally, the syntax is the easiest part of learning a new language. In our Introduction to Smalltalk courses, we teach the Smalltalk syntax in half a day. Even though Smalltalk syntax is usually easier to learn than the syntax of other languages, it's still the simplest aspect of a programming language to pick up. The harder aspect is the class library. In reality, you'll never completely learn a modern class library because it's just too large. You do, however, need to learn enough of the library to be able to get around and work competantly. You'll need to know the basic classes and basic operations available. This normally takes several weeks to months to learn. At the same time, you need to learn the development environment. How do you change code, add new code, run testcases, debug problems and publish your code to the version control system? This process can take several weeks or months to learn. The next thing to learn is how things are done in that language. If you aren't familiar with object oriented programming, you need to learn how to design good objects. You need to learn about double dispatching, creating good class hierarchies and moving the responsibility to the right objects. Finally, you'll need to learn about your particular application. This isn't an issue if you are starting a new project but if you're coming into an existing project, you'll need to learn how that project is organized and how things work in the existing code. When you're learning a new programming language, you'll be slowly become more and more proficient but don't expect to be able to work at an expert level for a year or more.

Download