First, let me split your question into two ones:
- Talking of a programming language, which definite article [is] one supposed to use?
- [...] Programmiersprache is feminine, does that actually mean that I should say "die Kotlin" or "die Scala" on that rare occasion when I need to use definite article at all[?]
In German, languages are typically neuter. This also applies for programming languages. For example, when a definite article is supposed to be used, it is
- das Deutsch
- das Englisch
- das C++
- das Visual Basic
- das Kotlin
- ...
This implies that the answer to your second question, regarding your assumption on the origin of the programming language's gender, is "no, it doesn't". The gender is already determined to be neuter; it does not depend on anything else, such as the gender of Programmiersprache.
Now, let me turn to your example sentences. Notice that they are of two different kinds.
It's the Java language, the Java specifications, and the Java runtime.
⇆
Es ist die Programmiersprache Java, die Java-Spezifikationen und die Java-Laufzeitbibliothek.
Here, the definite articles die belong to the feminine nouns Programmiersprache, Spezifikationen, and Laufzeitbibliothek, respectively, rather than to Java. (By the way this is like in English. The articles the belong to the nouns language, specification, and runtime, respectively.)
You need only one language, and it's the java.
⇆
Man braucht nur eine Sprache, und das ist (das) Java.
Here, the definite article das indeed belongs to Java. In German, it is typically omitted, which is why I put it into brackets. When to retain and when to omit it, is not within the scope of this answer.
I want to conclude with examples, where the programming language is in different grammatical cases:
- Er ist mit dem Visual Basic nicht so vertraut.
- Das C++ ist ganz schön schwer zu erlernen.
- Die Vorzüge des Lisps sind unverkennbar.
- Sprecht ihr über das neue HTML 5.2?