Problem sind die Abhängigkeiten
Ein ernstzunehmendes Problem aus Sicht der Anwender der Software sind Abhängigkeiten von weiterer Software oder vorzuinstallierenden Frameworks. Die von Entwicklern oft zu hörende Aussage, das gerade von ihnen verwendete Framework sei in der von ihnen verwendeten Version "heutzutage standardmäßig überall installiert" ist mehr arrogant als hilfreich. Dieses Problem betrifft Java genauso wie .Net, Tcl/TK oder sonstige Frameworks.
Wenn Du also ernsthaft willst, dass andere Deine Software benutzen, dann minimiere die Abhängigkeiten. Aus diesem Grund bin ich für GUI-Anwendungen mittlerweile bei C++ mit FLTK gelandet. Da ist eine normale Anwendung 200kB groß ohne irgendwelche zusätzlichen Abhängigkeiten oder zusätzlich zu installierende DLL's.
Wenn Du aber nur Programme für den eigenen Gebrauch schreibst, dann ist das egal, da Du ja auf deinen Rechner vollen Zugriff hast.