Мой небольшой опус на данную тему:
Однажды, когда медвежонок выступал с докладом об искусственном интеллекте на очередной конференции, его спросили почему он использует IDE Lazarus, а не например Delphi или QtCreator. Медвежонок немного замялся как будто бы ему предложили бесплатно банку мёда и ничего не попросили взамен, а потом с видом наставника начал свой рассказ.
Давайте сразу разделим разрабатываемые проекты на части: библиотеки, компоненты (визуальные и не визуальные) и код программы.
С кодом программы всё просто, кому какой язык программирования нравится тот на том и пишет.
С библиотеками посложнее, многие библиотеки написаны на языке программирования C++ и не всегда имеют нужные заголовочные файлы для использования в проекте созданном с помощью IDE Lazarus. В таких случаях приходится самостоятельно писать заголовочные файлы для этих библиотек. Или даже создавать дополнительную DLL на C++ для этих библиотек, к этой DLL писать заголовочный файл и через эту DLL использовать функции библиотеки в своей программе.
При работе с компонентами, их использование должно быть экономически обоснованно. Если для какого то проекта быстрее изучить новый язык программирования и научиться пользоваться инструментами разработки для него, чем пытаться скопировать на знакомый Вам язык компоненты которые уже есть для среды разработки данного языка. То очевидно, что лучше на время засесть за книги, чем «изобретать велосипед».
У Lazarus, правда только под Windows, имеется возможность использовать компоненты Delphi, запаковывая их в DLL.
Самое главное - отделяйте в коде: представление программы от самой программы, разнося их по разным юнитам. Например это позволит иметь 2 представления для одной программы. Одно будет стандартным, второе с использованием скинов. Скины могут быть реализованы с помощью переопределения процедуры отрисовки контролов, например с использованием OpenGL для сглаживания шрифтов и более плавной анимации иконок.
Встроенный пошаговый отладчик, логер MultiLog (http://wiki.freepascal.org/MultiLog), огромное количество профайлеров под Linux (http://wiki.lazarus.freepascal.org/Profiling), а так же один под Windows (http://17slon.com/gp/gpprofile/index.htm). Множество сторонних компонентов с примерами, примеры кода поставляемые как с самой IDE Lazarus, так и с пакетами входящими в Lazarus и компилятор FreePascal. Что ещё нужно для счастья разработчику?
Закончив изложение своих мыслей медвежонок вспомнил свою пасеку. Хоть она была расположена очень далеко от его дома и давала мало мёда, он очень любил отдыхать на ней. Любил на утренней заре ловить рыбу в местном озере, любил лежать в поле цветов под тенью раскидистого дуба. Любил бывать там так же, как и любил в свободное время разрабатывать для себя программы в IDE Lazarus.