Świetne pytanie! Jak powiedział w swojej odpowiedzi whatsisname, „znajomość nie ma wystarczającego uznania”. Inne narzędzie, inna struktura, inny język może być bardzo dużo lepsze niż to, do czego jesteś przyzwyczajony, a przy pierwszym użyciu nadal będziesz o wiele mniej produktywny.
Od kilku lat pracuję jako programista ASP.NET w agencjach cyfrowych, w których mamy mieszankę dużych projektów, małych projektów, ciasnych projektów, dobrze wypełnionych projektów itp. Co staramy się robić, aby poszerzać nasze umiejętności, szuka „miękkich celów”, mniejszych projektów, które nie mają boleśnie napiętych i trudnych terminów, i wykorzystuje je jako okazję do wykorzystania nowej technologii, która może być lepsza. .NET 2.0, 3.5, 4.0, ASP.NET MVC, Linq to SQL, Entity Framework - wszystkie z nich po raz pierwszy użyłem w takim projekcie.
Jeśli wykorzystasz takie możliwości, to masz nadzieję, że będziesz gotowy z większym pakietem opcji wyboru odpowiedniego narzędzia bez cierpienia braku znajomości. Podobnie jak w przykładzie Julio: znaleźli cel, w którym mogliby dodać Ruby do swojego repertuaru, a teraz idąc naprzód mogą wybierać między Javą a Ruby.
Ale jeśli termin jest krótki i solidny, a projekt jest ważny, radzę trzymać się dobrze znanych narzędzi. Coś innego może być lepiej dostosowane, ale w takich projektach chodzi o ryzyko .