Ścieżka szkoleniowa dla programistów internetowych .NET lub Java [zamknięta]

10

Jestem zainteresowany, aby dowiedzieć się, ile prawdziwych serwerów aplikacji WWW jest obsługiwanych przez system Windows?

Nauczę się C # i ASP.NET i chcę przekonwertować siebie z wbudowanego programisty na programistę aplikacji internetowych.

Moi znajomi powiedzieli mi, że istnieje więcej serwerów opartych na Linuksie niż serwerów Windows. Wspomniał także, że stos umiejętności Java jest znacznie bardziej użyteczny niż .NET w świecie aplikacji internetowych.

Moje doświadczenia z Javą i C # są raczej takie same. Jestem jednak doświadczonym programistą C ++.

Czy ktoś może mi coś zasugerować?

Wielkie dzięki

Kevin Zhang
źródło
@home - Dlaczego ta mania do zamykania pytań na tym forum? Jest to pytanie do programistów dotyczące programowania i możliwe jest udzielenie dość konkretnych odpowiedzi na temat zalet i wad bez uciekania się do wojny z płomieniami.
James Anderson,

Odpowiedzi:

14

W przeciwieństwie do @John Fisher (+1) jestem facetem z Javy.

Zawsze jestem zazdrosny o świat Windows / .Net, ponieważ wszystko wydaje się być znacznie bardziej zintegrowane, przynajmniej dla kogoś, kto nie zna wszystkich szczegółów i pułapek.

Miejsce Java jest nieco bardziej chaotyczne, dlatego wytwarza szereg dość innowacyjnych pomysłów (np. Hadoop, Spring itp.) Poza JCP, który promuje oficjalne standardy JavaSE i JavaEE. Ponieważ JCP jest napędzany przez wiele różnych (komercyjnych) organizacji, czasami jest daleko w tyle (np. Funkcje lambda w Javie), ponieważ znalezienie porozumienia między wszystkimi uczestnikami zajmuje tylko trochę czasu.

Obie strony mają wiele zalet i wad. Niemniej jednak, z technicznego punktu widzenia, tak naprawdę nie ma znaczenia, czy używać Javy, czy .Net, ponieważ tworzenie stron internetowych polega bardziej na myśleniu w skalowalności i ogólnej złożoności, jeśli chodzi o np. 10 tys. Jednoczesnych użytkowników uzyskujących dostęp do twojego systemu.

Z punktu widzenia architektury oprogramowania .Net i Java (frameworki EE +) są dość podobne, oba zapewniają interfejsy API do rozwiązywania wszystkich typowych problemów (np. MVC, Rest, JSON, trwałość, przesyłanie wiadomości - żeby wymienić tylko kilka): w obliczu dzisiejszego świata.

Podsumowując - spójrz na obie koncepcje i wybierz jedną. To nie jest decyzja na całe życie.

Dom
źródło
2
+1 Masz rację, to nie jest decyzja na całe życie. Moim celem w życiu jest uczenie się jak największej liczby różnych języków programowania i środowisk. IMHO daje mi zrozumienie programowania bez względu na język. Niemal zasugerowałbym, że ludzie powinni nauczyć się obu.
James Khoury,
1
@James Khoury: Mądre słowa, mam „lear .Net” w mojej agendzie od 3 lub 4 lat - problemem jest znalezienie miejsca i myślę, że jest to wyzwanie dla nas wszystkich. Właśnie wycofałem się z „przerośniętych” ram korporacyjnych i przeniosłem się do świata funkcjonalnego - czegoś, czego nauczyłem się wiele lat temu na uniwersytecie, ale nigdy nie stosowałem go w scenariuszach z prawdziwego świata.
domu
+1 za to, że nie jest to decyzja na całe życie.
Badar
12

Nie jestem pewien, czy liczba serwerów naprawdę ma znaczenie. Co ma znaczenie: czy możesz osiągnąć cele niezawodnie, szybko i tanio dzięki {x}?

Jeśli chodzi o platformę .NET, rzadko byłoby uzyskać odpowiedź „nie” na to pytanie. (Nie jestem javą, więc nie mogę nic na to poradzić.)

Serwery Linux vs. Windows również nie są całkiem odpowiednie. Możesz tworzyć aplikacje sieciowe .NET do uruchamiania na serwerach Linux, używając Mono .

John Fisher
źródło
1
+1 za „linux vs windows nie jest całkiem nowy”.
James Khoury
8

Dobrze pracując intensywnie w Javie i trochę w .NET, powiedziałbym kategorycznie i absolutnie, że .NET jest znacznie ładniejszym środowiskiem do pracy.

Jest to o wiele bardziej spójne i zintegrowane środowisko programistyczne, a platforma „.NET” jest kompletna . Java jest znacznie bardziej jak poszukiwanie skarbów - istnieją dobre biblioteki i frameworki, ale musisz aktywnie wyszukiwać i oceniać prawie wszystko, czego potrzebujesz do praktycznego projektu, a prawidłowe skonfigurowanie środowiska programistycznego może zająć kilka dni.

Istnieje o wiele więcej * serwerów nix niż serwer Windows (i są tańsze do wynajęcia), ale niewiele z nich obsługuje serwer J2EE - więc liczba serwerów nie ma znaczenia. Jest to bardziej przypadek .ASP vs. PHP.

Głównym powodem, dla którego preferuje się Javę nad .NET, jest fakt, że wiele firm z listy Fortune 500 ustandaryzowało się na jednej z dwóch dużych platform J2EE: Webshpere IBM lub Weblogic Oracle. Poza tym wydaje się, że gigantyczna, niszowa Java jako platforma aplikacji internetowych popadła w niełaskę.

James Anderson
źródło
4

Obecnie debata jest bardziej php vs asp.net niż asp.net vs jsp. Obecnie nie widzę wielu rozwiązań jsp / tomcat. W każdym razie, dlaczego nie nauczyć się zarówno asp.net, jak i jsp? Są to podobne pomysły i myślę, że jsp stanowi dobre ramy dla zrozumienia asp.net. Zgadzam się z @John, że Linux vs Windows jest naprawdę nieistotny. .NET działa dobrze w Linuksie i Apache. Jeśli znasz JAVA, to może poświęć kilka tygodni na napisanie kodu JSP, a następnie przejście na asp.net i c #. Zobacz, który Ci się podoba i stamtąd.

Jonathan Henson
źródło