Hmm, no to na jakiej platformie jest lepsza przenośność między serwerami aplikacyjnymi?
Poza tym, czy różnice są na tyle duże, żeby przesiadka z Glassfisha na JBossa była bardzo bolesna? Albo inaczej mówiąc: czy dzięki temu, że API jest w miarę jednorodne da się szybko wdrożyć programistę Glassfisha do projektu na JBossie?
Pewnie można - cały backend.
Backend czyli? W JavaME nie ma dostępu do plików w standardzie, jest tylko RecordStore, którego znowu nie ma w JavieSE, ani Androidzie. GUI jest robione totalnie różnie na każdej z tych trzech platform, itp itd
To, że jest taki sam język nie oznacza przenośności, no bez przesady. Obojętne czy Java, Python, C++ czy cokolwiek innego. Jak piszesz pod określone API to tylko pod tym określonym API zadziała. A ani JavaME, ani Android nie implementują API JavySE.
Scala dla przykładu daje się skompilować zarówno do MSILa (czy tam CILa czy choj wie jak) jak i do Javowego bajtkodu, ale co z tego, skoro kod Scalowy często gęsto odwołuje się do API JavySE?
Sorry za offtop.
PS:
Ze swojej strony polecam naukę paradygmatu funkcyjnego. Tutorial http://learnyouahaskell.com/ jest dość łatwy i przyjemny, a nawet dość dobrze wprowadza w świat języków funkcyjnych. Tutoriale do Scali skupiają się głównie na programowaniu obiektowym; to że np for-comprehensions w Scali działają na monadach (jak i to czym w ogóle są monady) dowiedziałem się przypadkiem, długo po tym, jak zacząłem czytać o Scali. Jak zdobędę robotę w Scali to pouczę się jeszcze Clojure, aby mieć jeszcze lepsze rozeznanie wśród paradygmatów.
F# z .NOTa jest podobno zbyt uproszczony, żeby miał jakieś wielkie zalety nad najnowszą wersją C# (a kolejne wersje C# wychodzą szybko i dystans do F# się zmniejsza pewnie).
Czy znajomość wielu języków jest asem w rękawie dla przeciętnego pracodawcy? Hmm, raczej rzadko, no ale czasem tak.
Najlepiej po prostu rozejrzeć się po ofertach pracy i zobaczyć jakie języki występują obok siebie w ofertach pracy. W przypadku Javy atutem byłby pewnie Groovy, który jest ZTCW najpopularniejszym językiem skryptowym na JVM.