Hari ini saya memposting pertanyaan yang menanyakan bahasa C # atau Java mana yang lebih baik untuk saya pelajari. Saya punya beberapa jawaban. Satu hal yang muncul adalah bahwa mungkin Java sekarang agak di belakang C # dengan fitur baru. Saya melihat beberapa tautan web dan sebagian besar menunjukkan apa yang dimiliki C # dan apa yang tidak dimiliki java.
Jadi pertanyaan saya untuk Anda semua adalah apakah Java akan mengejar C # lagi? Dan jika Anda menebak di mana posisinya dalam waktu 5 tahun. Apakah ia memiliki semua hal yang mungkin sekarang hilang? Bagaimana dengan Java 7?
)
, terima kasih banyak.Jawaban:
Fitur bahasa adalah bagian yang sangat kecil dari apa yang membuat Java dan C # tick. Pada akhirnya ini adalah bagian dari ekosistem J2EE dan .NET yang lebih besar.
Keduanya memiliki kekuatan sendiri dan harus tumbuh lebih besar dalam 5 tahun ke depan.
sumber
Saya akan mengatakan ya sampai Oracle muncul. Yang menyedihkan, karena saya benar-benar menikmati lompatan dalam fitur yang dimiliki Java dan C # selama enam tahun terakhir.
sumber
Sebagai bahasa, saya tidak memperluas Jawa untuk menambahkan inovasi pada tingkat yang signifikan, terutama karena orang-orang di komunitas open-source yang berada di ujung tombak lebih cenderung untuk fokus pada bahasa JVM yang lebih baru, seperti Scala, Clojure, Groovy, JRuby, dan JPython.
Juga, komitmen Java untuk kompatibilitas-mundur berarti menambahkan fitur-fitur bahasa secara inheren lebih sulit daripada di masa-masa awal bahasa.
sumber
Tanda tanya besar di sini adalah Oracle. Sun benar-benar memperlambat segalanya untuk Jawa selama setengah dekade terakhir ini. Harapan banyak orang di komunitas Jawa adalah bahwa Sun akan memisahkan Jawa atau menjualnya kepada seseorang yang akan mengerahkan banyak sumber daya dan upaya. Meskipun Oracle pasti bisa melakukan itu, itu adalah perusahaan besar dengan banyak grup dengan kepentingan pribadi mereka sendiri. Tebakan saya, dan hanya itu, tebakan, adalah bahwa Oracle akan membiarkan Java mandek dan menggunakannya terutama sebagai alat untuk tuntutan hukum paten.
Mungkin mereka akan menjualnya ke Google untuk sejumlah besar uang dan semua orang akan senang. Itu ada di tangan dewan direksi dan pengacara daripada insinyur dan perancang perangkat lunak.
Di sisi baik, bahkan tanpa perbaikan, Jawa adalah bahasa yang baik dan memiliki ekosistem yang bagus di sekitarnya. Walaupun saya pribadi lebih suka C # dan dunia .net, Java masih merupakan pilihan yang bagus. Ke depan, waktu akan memberi tahu tetapi sampai sekarang, Jawa sama sekali tidak buruk. (Perpustakaan tanggal dan waktu dikecualikan ... wow, apakah perpustakaan itu jelek dan berantakan)
sumber
Tidak ada yang bisa dicari, jadi pertanyaannya tidak masuk akal.
Hanya karena Java tidak persis mereplikasi C # tidak berarti "inferior" dalam beberapa hal, itu hanya berbeda. Mungkin juga bertanya kapan C # akan "menyusul" dengan Cobol.
sumber
Pertanyaan apakah C # atau Java ada di depan yang lain adalah untuk diperdebatkan, tetapi alih-alih berfokus pada fitur bahasa dari satu atau yang lain saya lebih suka fokus pada apa yang terlibat dengan pengembangan bahasa. Itu adalah satu fakta yang menurut saya tidak akan dibantah siapa pun: Java lebih tua dari C #.
Masalah dengan mengubah cara kerja suatu bahasa:
Jadi, apakah C # memiliki lebih banyak fitur bahasa daripada Java? Aku pikir begitu. Apakah ini bermanfaat? Aku pikir begitu. Apakah itu berarti bahwa C # lebih baik atau lebih dewasa daripada Java? Saya tidak setuju dengan itu. Mereka berbeda, sederhana dan sederhana. Java tidak akan pernah memiliki semua fitur C # karena C # tidak akan pernah memiliki semua fitur Java.
Salah satu fitur Java, kemampuan untuk menulis program di Windows dan menyebarkannya di Unix atau Mac, tidak akan pernah terjadi secara langsung oleh dukungan Microsoft. Mengapa kamu bertanya? Bukan karena Microsoft jahat (apakah itu benar atau tidak, saya tidak terlalu peduli). Itu karena mereka belajar pelajaran yang Sun tidak pernah lakukan: menulis sekali berjalan di mana saja membuat sistem dan perangkat keras menjadi komoditas. Jika Anda peduli untuk menghasilkan uang dari penjualan sistem operasi Anda, Anda tidak ingin membuatnya sepele untuk bertukar dan masih memiliki aplikasi yang berfungsi. Jika Anda melakukannya, Anda tidak dapat memperoleh keuntungan dari sistem operasi karena selalu ada opsi yang lebih murah.
sumber
Java benar-benar tidak memerlukan "fitur" baru seperti C atau C ++. Ini adalah bahasa yang dirancang dengan baik untuk pengembangan berorientasi objek. Tambahan yang mungkin dibuat adalah dalam membuat perpustakaan untuk melakukan berbagai tugas. Hal yang sama berlaku untuk C # - sebagian besar fitur sedang ditambahkan untuk membuat bahasa melakukan lebih banyak hal. Secara pribadi saya pikir sebagian besar fitur itu tidak diperlukan - pointer di OO benar-benar sangat banyak kecuali Anda sedang bekerja pada tingkat perangkat keras (pada titik mana mungkin lebih baik menggunakan sesuatu seperti C). Selain itu, menjalankan VM seharusnya membuat akses langsung ke perangkat keras menjadi sulit, jika bukan tidak mungkin.
Unix memulai tren membuat modul yang melakukan satu hal dengan sangat baik. Saya berpikir bahwa kedua Java dan C # mendapatkan sedikit dari fitur creep langsung. Lebih baik membuat inti yang mudah diperluas daripada "bahasa" multiguna raksasa yang lebih mirip kerangka kerja. Bagi saya , Java lebih cocok dengan persyaratan ini daripada C #.
sumber
Tidak ada yang salah dengan banyak fitur yang ditambahkan C #, tetapi mengingat tingkat perubahan bahasa, mereka secara sadar menyulitkan jika bukan tidak mungkin bagi Mono untuk mengikutinya. Jika demikian, maka saya katakan bahwa kita sedang menunggu C # untuk mengejar ke Jawa dalam hal berbagai sistem yang dapat digunakan untuk itu. Tidak cukup hanya berjalan di Windows.
sumber
Saya tidak akan memulai forum diskusi, tapi saya pikir Java ada di sini jauh sebelum C # dan dalam hal ini C # tampaknya lebih seperti replikasi daripada java.
Sedangkan untuk meng-answare pertanyaan Anda: Java dan C # adalah bahasa yang berbeda karena itu Anda tidak dapat membandingkannya hanya dengan fitur-fiturnya. Apa yang bisa Anda lakukan di Jawa Anda mungkin tidak bisa dalam C # dan vica sebaliknya.
Jadi akhirnya ini seperti memulai topik Windows vs Linux.
sumber