Jalur pembelajaran untuk pengembang web .NET atau Java [ditutup]

10

Saya tertarik untuk mengetahui berapa banyak server aplikasi web dunia nyata yang dihosting oleh windows?

Saya akan belajar C # dan ASP.NET dan ingin mengubah diri saya dari pengembang yang disematkan ke pengembang aplikasi web.

Teman-teman saya mengatakan kepada saya bahwa ada banyak cara server berbasis Linux daripada server windows. Dia juga menyebutkan tumpukan keterampilan Java jauh lebih berguna daripada. NET di dunia aplikasi web.

Pengalaman saya tentang Java dan C # secara kasar sama. Namun saya adalah pengembang C ++ yang berpengalaman.

Adakah yang bisa memberi saya saran tentang hal itu?

Terimakasih banyak

Kevin Zhang
sumber
@ rumah - Mengapa mania ini untuk menutup pertanyaan di forum ini? Ini pertanyaan bagi programmer tentang pemrograman dan mungkin untuk memberikan jawaban yang cukup spesifik tentang pro dan kontra tanpa bantuan perang api.
James Anderson

Jawaban:

14

Berbeda dengan @John Fisher (+1) saya seorang pria Jawa.

Saya selalu iri dengan dunia Windows / .Net karena semuanya tampak jauh lebih terintegrasi, setidaknya untuk seseorang yang tidak familier dengan semua detail dan jebakan.

Tempat Java sedikit lebih kacau, karena itu menghasilkan sejumlah ide yang cukup inovatif (pikirkan hadoop, Spring, dll.) Di luar JCP yang mempromosikan standar JavaSE dan JavaEE resmi. Karena JCP didorong oleh sekelompok organisasi (komersial) yang berbeda, kadang-kadang jauh di belakang (misalnya fungsi lambda di Jawa) karena hanya membutuhkan waktu untuk menemukan kesepakatan antara semua peserta yang berbeda.

Ada sejumlah pro dan kontra untuk kedua belah pihak. Namun demikian, dari sudut pandang teknis, tidak terlalu penting apakah melakukan Java atau .Net sebagai pengembangan web lebih banyak tentang berpikir dalam skalabilitas dan keseluruhan kompleksitas ketika datang ke misalnya 10k pengguna bersamaan mengakses sistem Anda.

Dari sudut pandang arsitektur perangkat lunak .Net dan Java (kerangka kerja EE +) cukup mirip, keduanya menyediakan API untuk menyelesaikan semua masalah umum (mis. MVC, Istirahat, JSON, Kegigihan, perpesanan - hanya untuk beberapa nama) kami sedang menghadapi di dunia saat ini.

Untuk menyimpulkan - lihat kedua konsep dan pilih satu. Itu bukan keputusan seumur hidup.

rumah
sumber
2
+1 Anda benar, itu bukan keputusan seumur hidup. Saya benar-benar menjadikannya tujuan hidup saya untuk mempelajari sebanyak mungkin bahasa dan lingkungan pemrograman yang berbeda. IMHO itu memberi saya pemahaman tentang pemrograman terlepas dari bahasa. Saya hampir menyarankan orang untuk belajar keduanya.
James Khoury
1
@ James Khoury: Kata-kata bijak, saya punya 'learing. Net' dalam agenda saya selama 3 atau 4 tahun sekarang - masalahnya adalah menemukan slot dan saya kira ini adalah tantangan bagi kita semua. Saya baru saja melangkah mundur dari kerangka kerja perusahaan yang 'berlebihan' dan pindah ke dunia fungsional - sesuatu yang saya pelajari bertahun-tahun yang lalu di universitas, tetapi tidak pernah diterapkan dalam skenario dunia nyata.
rumah
+1 untuk ini bukan keputusan untuk seumur hidup.
Badar
12

Saya tidak yakin jumlah server benar-benar penting. Apa yang dilakukannya peduli adalah: Dapatkah Anda mencapai tujuan andal, cepat, dan cukup murah dengan {x}?

Sejauh menyangkut .NET, akan jarang mendapatkan jawaban "tidak" untuk pertanyaan itu. (Saya bukan orang java, jadi tidak banyak membantu di sana.)

Server Linux vs Windows juga tidak begitu relevan. Anda dapat mengembangkan aplikasi web .NET untuk dijalankan di server Linux, menggunakan Mono .

John Fisher
sumber
1
+1 untuk "linux vs windows tidak cukup relevan".
James Khoury
8

Yah setelah bekerja secara luas di Jawa dan sedikit dalam. NET, saya akan mengatakan dengan tegas dan pasti bahwa. NET adalah lingkungan yang jauh lebih baik untuk bekerja.

Lingkungan pemrogramannya jauh lebih koheren dan terintegrasi dan kerangka kerja ".NET" selesai . Java jauh lebih seperti perburuan harta karun ada perpustakaan dan kerangka kerja yang baik di luar sana, tetapi Anda perlu mencari dan mengevaluasi hampir semua yang Anda perlukan untuk proyek praktis secara aktif, hanya dengan mendapatkan lingkungan pengembangan yang diatur dengan benar dapat memakan waktu berhari-hari.

Ada lebih banyak * nix server di luar sana daripada windows server (dan mereka lebih murah untuk disewa) tetapi tidak banyak dari mereka meng-host server J2EE - sehingga jumlah server tidak relevan. Ini jauh lebih seperti kasus .ASP vs PHP.

Alasan utama untuk mendukung Java daripada .NET adalah bahwa banyak perusahaan Fortune 500 telah distandarisasi pada salah satu dari 2 platform J2EE besar: IBM Webshpere atau Oracle's Weblogic. Di luar ini, Java yang dianggap raksasa dan relung sebagai platform aplikasi web tampaknya tidak disukai.

James Anderson
sumber
4

Hari-hari ini perdebatannya adalah lebih banyak php vs asp.net daripada asp.net vs jsp. Saya tidak melihat banyak solusi jsp / kucing jantan hari ini. Bagaimanapun, mengapa tidak belajar asp.net dan jsp? Mereka adalah ide yang mirip dan saya pikir jsp memberikan kerangka kerja yang baik untuk memahami asp.net. Saya setuju dengan @John bahwa linux vs windows benar-benar tidak relevan. .NET berjalan dengan baik di linux dan apache. Jika Anda tahu JAWA maka mungkin menghabiskan beberapa minggu menulis beberapa kode JSP dan kemudian beralih ke asp.net dan c #. Lihat yang mana yang Anda suka dan pergi dari sana.

Jonathan Henson
sumber