Z mojego punktu widzenia takie informacje są niezbędne, aby przyciągnąć nowych autorów, a także dać potencjalnym użytkownikom natychmiastowe wyobrażenie o tym, ile pracy może wymagać zintegrowanie aplikacji z ich systemem.
- Ogólnym aspektem są biblioteki używane podczas uruchamiania aplikacji.
Niektóre instalacje są ograniczone do kilku wybranych zestawów narzędzi, takich jak GTK +, ale nie QT, i odwrotnie. Dla administratora, który utrzymuje system i regularnie aktualizuje jego komponenty przez długi czas, może to być wyłącznie kwestia praktyczna, a nie religijna.
- Kolejnym aspektem są używane biblioteki i wymagania wstępne niezbędne do skompilowania aplikacji.
To znaczy dla użytkowników źródłowej dystrybucji Linuksa robi to dużą różnicę, czy aplikacja jest napisana w C, czy w Objective-C, ponieważ ich kompilator musi przede wszystkim obsługiwać język. Inne języki mogą wymagać zainstalowania ogromnego stosu bibliotek. Pytanie zatem brzmi, ile pracy jesteś gotów podjąć, aby skompilować tę aplikację.
- Innym aspektem jest chęć przyciągnięcia autorów.
Większość programistów preferuje niewielką liczbę języków lub może po prostu brakować doświadczenia w innych. Aby umożliwić większej liczbie osób współtworzenie aplikacji, niektóre projekty nawet podzieliły swoje źródła na dwa różne języki (np. Wesnoth, Vega Strike, Naev, żeby wymienić tylko kilka). Jeden z nich do podstawowej aplikacji (jak C lub C ++), drugi do łatwej modyfikacji (jak Python lub Lua). Oto link do rozdziału „Architektura aplikacji Open Source”, który opisuje, w jaki sposób i dlaczego zostało to zrobione w Wesnoth.
- Wreszcie, istnieje oczywiście wiele stronniczości i uprzedzeń wobec niektórych języków.
Powiem tylko, że widziałem okropnie nieefektywne oprogramowanie napisane w dowolnym języku. Jeśli pytasz mnie o wydajność, jakość kodu aplikacji jest znacznie ważniejsza niż język, w którym jest napisana.