Issue 2 :: February 2005

Listeners Dependency Injection

Listeners and events are widely used in modern application. This article finds a way to explicitly define listener-based component dependencies in generic IoC container. The method leads to simplifying listener code, separation of event delivery logic as well as defines listener dependencies in analyzable way. These benefits a used to solve common problems with listeners: the order of event notifications and the problem of exponential growth of events in system with many components.

Mike Aizatsky / Fabrique Project Manager / JetBrains

TMate – new look at the good old CVS

Sometimes it is just a question of right tools that helps to use VCS smarter. This article introduces TMate – an IntelliJ IDEA plug-in that helps developers to get most of the CVS – the most popular version control system.

Alexander Kitaev / Founder and CEO / TMate Software

What's good and what's bad about profiling nowadays

There are lots of developers who already understand the necessity of performance tuning of Java application. They know about profilers, and most likely use them in everyday developer's life. These people reasonably ask: why should we use this or that tool, why one is better than another, and finally which one is the best?

Anton Katilin/ Co-founder and CEO YourKit

Issue 1 :: November 2004

Language Oriented Programming: The Next Programming Paradigm

The next programming paradigm is already almost upon us. It is not yet fully formed—different parts have different names: Intentional programming, MDA, generative programming, etc. I suggest uniting all of these new approaches under one name, 'language-oriented programming', and this article explains the main principles of this new programming paradigm.

Sergey Dmitriev/ CEO / JetBrains

Applying Code Generation Approach in Fabrique

Fabrique is a tool for rapid development of applications with rich client-side web-based interface and a database at the backend. Although there are lots of such tools around, all of them represent a big family of “libraries” that provide some more service yet ask you to conform to some rules for that. The point is that after you chose on a platform, you become dependent on it.

Kirill Kalishev/ Senior Software Developer / JetBrains

IntelliJ IDEA: Structural Search and Replace, What, Why and How-to

Imagine that we have large source codebase that we need to browse and/or modify it. Conventional tools like find and replace text could be of little use for the declared goals because when we use them it is just easy to find or replace too much or too little.

Maxim Mossienko/ Senior Software Developer / JetBrains

Extending Omea with New Resource Types

The main advantage of developing Omea plugins is that, by spending a small effort to describe your resource type to Omea, you automatically get its entire range of information organization and search facilities for free.

Dmitry Jemerov/ Project Lead / JetBrains