Java, .NET oraz NodeJS

0

Zainspirowany trochę tematem kolegi chciałbym spytać jak wypada porównanie Javy, .NETa oraz nodejs. Zastanawiam się, który język ma największy potencjał na rynku jeśli chodzi o web, odchodząc od stwierdzenia, że np. Java utrzymuje się, bo wiele aplikacji biznesowych jest w niej napisana i utrzymywana. Miałem okazję pisać w NodeJS i prawdę mówiąc mam mieszane uczucia, zwłaszcza jeśli chodzi o jego modułowe działanie, która sama w sobie jest dla mnie plusem (moja aktualna wiedza nie widzi tu minusów) to strasznie mnie denerwuje kiedy widzę bibliotekę i miliony z nią powiązań, co powoduje, że jeśli jest jakiś błąd w jednej to jest duże prawdopodobieństwo, że tej naszej również jest jakiś problem (ostatnio miałem ze dwa takie przypadki, gdzie straciłem przez to trochę czasu...), chodź na pewno fajne jest to, że jednym językiem jestem w stanie pisać front jak i backend. Zarówno java jak i .net pochodzi od dużych corpo (oracle i microsoft), jak to wygląda z ich dostępnością tzn. licencją? Czy pisząc program w np. Javie możemy powiedzieć, że jesteśmy "jego właścicielem"? Jeśli wybieralibyście język do backendu strikte pod aplikacje webowe, której technologii byście użyli? Wiem, że co bym nie wybrał to i tak będzie to dobry wybór, a możliwe przestawienie się z jednego na drugie nie będzie, aż tak bolesne, ale mimo wszystko chciałbym usłyszeć wasze zdanie.

0

Zarówno java jak i .net pochodzi od dużych corpo (oracle i microsoft), jak to wygląda z ich dostępnością tzn. licencją? Czy pisząc program w np. Javie możemy powiedzieć, że jesteśmy "jego właścicielem"?

Miliony programistów piszą w Javie i .NETu, sprzedają te programy i nikt nikogo za to nie pozywa. Jeśli jesteś paranoidalny to zauważ, że Node.js jest wspierane przez firmę Joyent i to powoduje zgrzyty. Za wiki:

Node.js was originally written by Ryan Dahl in 2009,[23] about thirteen years after the introduction of the first server-side JavaScript environment, Netscape's LiveWire Pro Web.[24] The initial release supported only Linux and Mac OS X. Its development and maintenance was led by Dahl and later sponsored by Joyent.[25]
In December 2014, Fedor Indutny started io.js, a fork of Node.js. Due to the internal conflict over Joyent's governance, io.js was created as an open governance alternative with a separate technical committee.[36][37] Unlike Node.js,[38] the authors planned to keep io.js up-to-date with the latest releases of the Google V8 JavaScript engine.[39]

Samo Node.js jest oparte o Google V8, a więc produkt od kolejnego dużego korpo (Google).

0

paranoidalny

chodziło mi bardziej o ogólny zamysł, nie mam nic przeciwko, że zarządza nimi oracle, microsoft czy google ;)

0

Może sprecyzuje pytanie, pisząc o licencji miałem głównie na myśli jej ogólną licencję tzn. GNU General Public License. Jak dobrze rozumiem to wszystkie napisane przeze mnie aplikacje muszą być udostępnione na licencji GNU, czyli mieć udostępniony kod? Czy napisaną taka aplikację mogę sprzedać, albo po prostu nie udostępniać jej kodu?


Widzę, że .NET ma dwie wersje opensource (core) oraz zamkniętą, czym te dwie wersje różnią się od siebie? Oczywiście oprócz tego, że jedna jest otwarta :) Czy pisząc w zamkniętej wersji mamy więcej możliwości?

0

Może sprecyzuje pytanie, pisząc o licencji miałem głównie na myśli jej ogólną licencję tzn. GNU General Public License. Jak dobrze rozumiem to wszystkie napisane przeze mnie aplikacje muszą być udostępnione na licencji GNU, czyli mieć udostępniony kod? Czy napisaną taka aplikację mogę sprzedać, albo po prostu nie udostępniać jej kodu?

Jeśli weźmiesz OpenJDK na licencji GPL, przerobisz i będziesz go udostępniał to będziesz musiał udostępniać też kod źródłowy.

Widzę, że .NET ma dwie wersje opensource (core) oraz zamkniętą, czym te dwie wersje różnią się od siebie? Oczywiście oprócz tego, że jedna jest otwarta :) Czy pisząc w zamkniętej wersji mamy więcej możliwości?

Jeśli posiadasz licencję zamkniętą to możesz zmienić środowisko uruchomieniowe i dystrybuować go bez udostępniania kodu.

Bardzo wątpię byś zmieniał środowisko uruchomieniowe. Patrzysz na licencję zupełnie czegoś innego niż potrzebujesz. OpenJDK (za https://en.wikipedia.org/wiki/OpenJDK ) jest na licencji "GNU GPL+linking exception". GPL linking exception pozwala na używanie biblioteki standardowej z OpenJDK bez potrzeby udostępniania całego programu na licencji GPL.

Otwartość i darmowość Javy była głównym czynnikiem dzięki któremu Java szybko zdobyła popularność. Gdyby była zamknięta czy jakoś ograniczona (poprzez wymuszanie otwierania kodu) to nikt by się w nią nie bawił. Pomyśl przez chociaż sekundę.

0

Mi tam przypasowało Node, jeden język ES6 do wszystkiego, backend, frontend. Node jest sporo szybsze od Python i Ruby, a nawet PHP 7.
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=node&lang2=python3

0

Nie zawsze Node.js jest szybsze od PHP7 w tych benchmarkach: https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=php&lang2=node :]

0

W node pisało mi się dobrze, ale jak wspomniałem mam trochę dość tych wszystkich modułów i spróbować czegoś bardziej 'biznesowego'.

https://pl.wikipedia.org/wiki/Java swoje wnioski opierałem o wiki java, nie openJDK, gdzie w licencji jest tylko GNUPL

Ze względu na to, że wszelkie prace bazujące na dziele objętym licencją GPL muszą również być oparte na tej licencji, licencja GPL jest licencją wirusową. Tak więc GPL oddziałuje na każdy program, który korzysta z kodu GPL. Krytyka tego przymusu najczęściej jest kierowana ze strony zwolenników mniej restrykcyjnych licencji, jak na przykład licencja BSD.

0

Jeśli masz ochotę ciągnąć temat dalej to poczytaj tutaj: Can we use Java for commercial use?

GPL na samej Javie jest raczej po to, aby nikt nie zrobił sobie za darmo własnego zamkniętego forka Javy. Darmowa licencja Javy nie zabrania dystrybuowania (w tym sprzedawania) zamknięto-źródłowych programów napisanych w Javie.

Możesz nawet dorzucać Oracle Java do swojego instalatora: https://java.com/en/download/faq/distribution.xml

0

Faktycznie, dzięki za linka

1 użytkowników online, w tym zalogowanych: 0, gości: 1