Im Basic geht das. Im Wahren Leben nicht.
Die Welt der Informatik hat sich geaendert. Programme die frueher in Basic liefen, benoetigten nicht viel Speicher und hatten auch nicht viel Speicher zur Verfuegung. Es musste noch alles programmiert werden.
Heutzutage wird mit Modulen, fertigen Bauteilen gearbeitet. Ob diese dann noch manipulierbar sind sei dahingestellt.
Beim VO gab es ein Befehl fuer Tabelle. Aber die Tabelle an sich war dann nicht mehr manipulierbar, dass man die 3te Kolonne rot und die vierte in Blau dargestellt bekam. Alles war schwarz weiss.
Auch konnte man zB sich nicht einen einzelnen Buchstaben in einer anderen Farbe darstellen und ueberall dort wo er auftauchte ihn in dieser Farbe sehen. Das ging aber bei dem einfachen Basic.
Es wurde vieles besser, aber auch manches fiel unter den Tisch. Man wurde mit den neuen Programmen, (VO) in Schranken gezwungen zu denken und zu programmieren. Module wurden mit Befehlen bereitgestellt, wie zum Beispiel das auflisten eines ablaufenden Monats. Ich hab das in 100 Zeilen programmiert.
Warum soll man das Rad immer wieder neu erfinden? Es gibt in Java viele Utilityklassen und vor allem Frameworks, die man einbinden und benutzen kann. Vorteil hierbei: Man spart Zeit, Geld und nerven. Und das beste: Ihre Funktionsweise ist meistens sogar durch Unittests abgetestet worden.
Du hast ebenfalls die Möglichkeit ihre Funktionsweise anzupassen (Stichwort Override, Extend). Auch der Aspekt mit dem Speicher ist völliger Mumpitz. Heutige Java Programme müssen nicht viel Speicher verbrauchen. Der Programmierer muss sich einfach nur an einfache Regeln in der Java Programmierung halten (z.B. muss nicht jede Variable als Field deklariert werden und es ist manchmal auch Sinnvoll große Methoden in mehrere kleine aufzusplitten oder von mir aus auch mit Blöcken zu arbeiten).
Wie du vielleicht siehst, ist Java eine wesentlich komplexere Programmiersprache als Basic. Wenn man sich an die Spielregeln hält (Dokumentieren, Unittests, Formatierung des Quellcodes nach Java-Konventionen(!)), kann man aber sehr elegante Programme schreiben, die auch andere Personen warten und verstehen können.
Das ist etwas, was damals gefehlt hat. Nur weil der Programmierer meinte, das seine Programme sicher laufen, musste das nicht zwangsläufig der Realität entsprechen.
Wie bereits schon mehrfach erwähnt, kann in Dekompiler nicht annähernd den Sourcecode wieder herstellen. Beim Compile-Vorgang wird nicht nur der Sourcecode in Java-Byte-Code umgesetzt, sondern es werden in weiteren Schritten auch vom Compiler optimierungen durchgeführt, die den eigentlichen Programmcode von der Struktur her in solch einer Weise verändern, dass man nur mit viel Know-How ein Reverse-Engineering durchführen kann.
Zu deiner Eingangsfrage, wie man am besten jar Dateien selbst erstellt:
Apache Ant oder Maven.
Beide Programme selbst vollständig zu verstehen erfordert aber auch sehr viel Zeit und man muss hierbei auch die Lust haben, sich dieses Wissen anzueignen.
Wenn du vorhast ein größeres Projekt zu Erstellen wäre es auch ratsam sich mit Subversion zu beschäftigen