Saya benar-benar tidak jelas tentang perbedaan antara C #, C # .NET dan sama untuk ASP dan bahasa '.NET' lainnya.
Dari apa yang saya mengerti, .NET adalah pustaka / kerangka dari ... hal-hal. Saya pikir mereka pada dasarnya mengakses data Windows seperti elemen formulir dll, tetapi itu tampaknya tidak berlaku untuk ASP.NET.
Selain itu, saya melihat orang menyebut diri mereka pengembang '.NET'. Apakah ini berarti mereka fasih berbahasa C #, ASP dan bahasa lainnya?
Akhirnya, saya tidak pernah melihat C # tanpa .NET terlampir. Apakah C # terkait erat dengan .NET sehingga tidak dapat digunakan tanpa itu?
Singkatnya: apa sebenarnya yang disediakan oleh .NET? Bagaimana hubungannya dengan C # dan ASP dll? Apa yang dimaksud dengan 'pengembang .NET'? Dan akhirnya, mengapa Anda tidak pernah melihat C # tanpa .NET?
[Sebagai tambahan, saya menyadari ini adalah beberapa pertanyaan, tapi saya pikir mereka sangat saling terkait (atau setidaknya kesan bahwa browsing Programmer / SO dll telah memberi saya)].
.NET adalah kerangka pengembangan aplikasi -. Ini berisi banyak perpustakaan yang berisi berbagai fungsionalitas.
C # adalah bahasa yang dibuat untuk digunakan dengan .NET. Ini bukan satu-satunya bahasa yang kompatibel dengan NET -. Pilihan lain termasuk VB.NET, F #, Managed C ++, IronRuby, dan IronPython. Anda menulis kode dalam bahasa pilihan Anda untuk menggunakan fungsionalitas dalam kerangka NET.
ASP.NET adalah ekstensi .NET yang membantu Anda menulis aplikasi dan situs web berbasis web. Banyak kerangka keseluruhan tersedia (atau berguna, dalam kasus misalnya WinForms) dalam konteks ini.
[Klasik] ASP adalah kerangka kerja web yang lebih lama, juga dari Microsoft. Meskipun nama-nama yang serupa, ASP dan ASP.NET sangat berbeda di bawah tenda. Satu perbedaan penting adalah bahwa satu-satunya pilihan bahasa Anda untuk ASP adalah VBScript dan JScript. ASP adalah teknologi yang lebih tua dan ketinggalan zaman, jangan repot-repot dengan itu.
sumber
Pertama, .Net adalah kerangka kerja bytecode, mirip dengan bytecode Java. Namun .Net hanya BYTECODE. Tidak ada bahasa resmi ".Net". Dua bahasa utama yang menargetkan .Net adalah C # dan VB.Net. ASP.Net adalah ekstensi ke perpustakaan .Net yang disediakan untuk memungkinkan aplikasi yang ditulis dalam C # atau VB.Net (atau bahasa lain yang ditargetkan .Net) berfungsi sebagai situs web.
Pengembang yang mengatakan mereka tahu. Net biasanya berarti mereka tahu C # atau VB.Net, atau keduanya, dan dapat dengan mudah mempelajari mana yang tidak mereka ketahui (C # dan VB.Net adalah bahasa yang sangat mirip selain dari sintaksis umum)
Terakhir, ASP TIDAK sama dengan ASP.Net. Mereka memiliki perbedaan besar
sumber
Karena hanya satu jawaban yang menyebutkan Mono tanpa merinci:
Meskipun C # sebagai bahasa awalnya dikembangkan di Microsoft sebagai bagian dari .NET Framework, ini kemudian distandarisasi oleh ECMA , yang berarti bahwa implementasi independen dari standar bahasa yang sesuai dapat dikembangkan, dan memang benar demikian. Yang paling menonjol dari mereka adalah Mono .
Mono adalah implementasi open source dari seperangkat alat yang kompatibel dengan standar ECMA yang kompatibel dengan .NET Framework, termasuk compiler C # dan implementasi CLI (Mono Runtime, setara dengan CLR Microsoft - mesin virtual .NET Framework). Tujuannya adalah untuk menjalankan lintas platform .NET aplikasi. Sampai hari ini, ia mendukung C # 4.0 dan sebagian besar fitur .NET Framework . Selain mencerminkan implementasi Microsoft, tim Mono juga membuat inovasi sendiri.
Jadi, ya, mungkin dan layak untuk bekerja di C # tanpa .NET. Namun tidak mungkin bahwa Mono akan dapat menyaingi pangsa pasar Microsoft dan posisi .NET Framework, tidak sekarang, dan tidak dalam waktu dekat.
sumber
Buku Jon Skeet, C # In Depth memecah .NET turun dengan lebih ringkas. Ini sering digunakan sehubungan dengan
sumber
jawaban yang lain melakukan pekerjaan yang baik untuk menjelaskan apa teknologi masing-masing, tapi saya pikir mereka kehilangan salah satu alasan utama untuk kebingungan. C # dan C #. NET pada dasarnya sama, namun VB.NET dan VB berbeda dan ASP dan ASP.NET juga berbeda. VB umumnya mengacu pada VB6 dan lebih lama, dan ASP mengacu pada ASP klasik. Teknologi ini didesain ulang secara radikal dengan dirilisnya .NET framework dan bukannya muncul dengan nama baru untuk produk yang ditambahkan Microsoft. NET untuk hampir semua, tetapi C # juga baru sehingga kedua nama benar-benar merujuk pada hal yang sama.
sumber
Anda harus membedakan antara Bahasa, Kerangka Kerja, CLR, Pola dan Metode pemrograman.
ASP.Net menggunakan pola pemrograman yang sama sekali berbeda untuk pengembangan Winforms meskipun mereka berbagi fondasi yang sama. Anda dapat memprogram aplikasi ASP.net dan .Net dalam berbagai bahasa.
Lalu ada bahasa Mono dan bahasa C # yang digunakan dalam konteks Mono - mungkin perlu penelitian.
Baca tautan-tautan ini:
http://en.wikipedia.org/wiki/Common_Language_Runtime
http://en.wikipedia.org/wiki/.NET_Framework#Alternative_implementations
http://en.wikipedia.org/wiki/File: Gambaran umum_of_the_Common_Language_Infrastructure.svg
sumber