All of these samples perform essentially the same task: traverse an array of strings and print each value to stdout. Of course, the C++ example is actually using a vector rather than an array due to the evil nature of C/C++ arrays, but it comes to the same thing. Passing over the differences in syntax between these four languages, what really stands out are the different ways in which the task is performed. C++ and Java are both using iterators, while Ruby and Scala are making use of higher order functions. Ruby and C++ both use lowercase variables separated by underscores, while Java and Scala share the camelCase convention. This is a bit of a trivial example, but it does open the door to a much more interesting discussion: what are these idioms in Scala’s case? Scala is a very new language which has yet to see truly wide-spread adoption. More than that, Scala is fundamentally different from what has come before.
Gabriel C. Software surgeon / developer / architect with few years consulting and developing software using OOAD with UML and RUP in JEE and MS technolgies. I've been a software developer and project leader in a offshore development center in Uruguay, technical lead on a project in Chile, architect of a COTS application in Dominican Republic, OOAD/ UML mentor in Nicaragua, architecture and RUP mentor in Puerto Rico, and senior programmer in USA. But I'm still trying to learn what this software stuff is about...
Coming back to the above post by Anton, yes, the kind of runtime type checking exists in lots of popular Java frameworks, even today. And this is where frameworks like Guice and EasyMock really shine with their strongly typed API sets that make you feel more secure within the confines of your IDE and refactoring abilities. The Morale When you are programming in a statically typed language, use appropriate language features to make most of your type checking at compile time. This way, before you hit the run button, you can be assured that your code is well-formed within the bounds of the type system. And you have the power of easier refactoring and cleaner evolution of your codebase.
GWT is a framework developed by Google to implement AJAX technology. This framework proposes to develop the GUI entirely from Java. This code is then compiled into Javascript, to be embedded in a web application. GWT is composed of a client part, Javascript, which is the GUI application, it communicates with a server developed in Java. Past the discovery of this excellent framework, a question light in my mind: What are the correct patterns and designs code to implement this framework? Let’s take an example, look at the problems and propose improvements to emerge a coherent design. We have a Toy Project, which consists of a login screen. This example, deliberately simplistic, offers the following GUI:
Dependency Injection has been around for a while, and many teams are refactoring their applications to use DI. But it can be a struggle. In this article, Paul Hammant explains the route to take to move an existing application from a nest-of-singletons ...