C #, .NET, ASP, ASP.NET යනාදිය අතර සම්බන්ධතාවය [වසා ඇත]


146

සී #, සී # .නෙට් සහ ඒඑස්පී සහ අනෙකුත් '.නෙට්' භාෂාවන් අතර ඇති වෙනස පිළිබඳව මට පැහැදිලි නැත.

මට තේරෙන දෙයින් .NET යනු පුස්තකාල / රාමුවකි ... දේවල්. ආකෘති මූලද්‍රව්‍ය වැනි වින්ඩෝස් දත්ත වලට ඔවුන් ප්‍රවේශ විය යුතු යැයි මම සිතමි, නමුත් එය ASP.NET සඳහා අදාළ නොවන බව පෙනේ.

ඊට අමතරව, මිනිසුන් තමන් '.NET' සංවර්ධකයින් ලෙස හඳුන්වන බව මට පෙනේ. මෙයින් අදහස් කරන්නේ ඔවුන් සී #, ඒඑස්පී සහ වෙනත් භාෂාවලින් චතුර ලෙස කතා කරනවාද?

අවසාන වශයෙන්, .NET අමුණා නැති C # මා දකින්නේ නැත. C # එය .NET සමඟ සමීපව බැඳී තිබේද?

සාරාංශයක් ලෙස: .NET සපයන්නේ කුමක්ද? එය C # සහ ASP යනාදිය සමඟ සම්බන්ධ වන්නේ කෙසේද? '.NET සංවර්ධකයෙකු' යන්නෙන් අදහස් කරන්නේ කුමක්ද? අවසාන වශයෙන්, .NET නොමැතිව ඔබ කිසි විටෙකත් C # දකින්නේ නැත්තේ ඇයි?

[අනෙක් අතට, මේවා බහුවිධ ප්‍රශ්න බව මට වැටහී ඇත, නමුත් ඒවා ඉතා අන්තර් සම්බන්ධිත ඒවා යැයි මම සිතමි.

Answers:


172

ඔබේ ව්‍යාකූලත්වය මට වැටහෙයි, මාව විශ්වාස කරන්න ජාවා ලෝකයට පැමිණෙන විට මට ඇත්තේ එකම ඉදිරිදර්ශනයකි! කෙසේ හෝ මම ඔබගේ ප්‍රශ්න බිඳ දමා ඒවා එකින් එක විසඳා ගැනීමට උත්සාහ කරමි ... එසේම තවත් කරුණු කිහිපයක් එකතු කිරීමෙන් සිදුවන්නේ කුමක්ද යන්න පැහැදිලි කිරීමට උපකාරී වනු ඇත:

  1. C # සහ C # .NET එකම දෙයයි ... C #
  2. .NET යනු ඔබ පවසන පරිදි .NET භාෂාවන්ට කථා කළ හැකි කේත පුස්තකාලයකි.
  3. .NET භාෂා විවිධ රසයන්ගෙන් යුක්ත වේ: C # .NET, VB.NET, කළමනාකරණය කළ C ++, F #.
  4. .නෙට් භාෂා CIL ( පොදු අතරමැදි භාෂාව ) සමඟ සම්පාදනය කරයි, එයින් අදහස් කරන්නේ ඔවුන් සියල්ලන්ම එකම භාෂාව "කථා" කිරීමට පටන් ගන්නා අතර එම නිසා අන්තර් ක්‍රියාකාරී විය හැකි බවයි.
  5. ASP.NET යනු වෙබ් අඩවි සෑදීම සඳහා භාවිතා කරන .NET පුස්තකාලයේ කොටසයි. වෙබ් ෆෝර්ම්ස් (වෙබ් පිටු සෑදීමේ පැරණි ක්‍රමය) හෝ වේගයෙන් පරිණත වන එම්වීසී පුස්තකාලය වැනි ASP.NET හි තවත් අනු කොටස් තිබේ.
  6. ආකෘති (පැරණි තාක්‍ෂණය) හෝ නව WPF (වින්ඩෝස් ඉදිරිපත් කිරීමේ පදනම) යනු සාම්ප්‍රදායික ඩෙස්ක්ටොප් යෙදුම් ලෙස ඔබ දන්නා දේ නිර්මාණය කිරීම සඳහා .NET හි සාමාන්‍යයෙන් භාවිතා කරන තාක්ෂණයන් ය.

මම අවසන් කිරීමට කැමති අවසාන දෙය නම් පුස්තකාලය සහ රාමුව අතර වෙනසයි. මෑත වසරවලදී මෙම පද දෙක සමාන පද ලෙස භාවිතා කර ඇත, කෙසේ වෙතත් එය එසේ නොවේ. මේ දෙක වෙන්කර හඳුනා ගැනීමට මට සිතිය හැකි පහසුම ක්‍රමය නම්:

  • පුස්තකාලයක බොහෝ ක්‍රියාකාරීත්ව කොටස් අඩංගු වන අතර ඔබට තෝරා ගත හැකි හා තෝරා ගත හැකි එක් තාක්‍ෂණයක් භාවිතා කිරීම යන්නෙන් අදහස් වන්නේ ඔබ අනෙක් ඒවාට අගුලු දමා ඇති බවක් නොවේ. මෙයින් අදහස් කරන්නේ නිදහස, කෙසේ වෙතත් ඔබට වැඩි වැඩ කොටසක් ඔබ වෙනුවෙන් කැප කරනු ඇත.
  • රාමුවක් කෙසේ වෙතත් ඔබ වැඩ කරන්නේ කෙසේද යන්න බොහෝ සෙයින් දක්වා ඇත. වඩා හොඳ හෝ නරක සඳහා වෙනස් කිරීමට අපහසු කාර්ය ප්‍රවාහයක් එය සපයයි. මෙයින් අදහස් කරන්නේ වේගවත් සංවර්ධනය / මූලාකෘතිකරණය, නමුත් අනාගතයේ දී සැලකිය යුතු වෙනස්කම් සිදු වුවහොත් ඒවා ක්‍රියාත්මක කිරීම කළ නොහැකි (හෝ බොහෝ කාලයක් ගතවන) විය හැකිය.

ඔබ වැඩ කරන ව්‍යාපෘතිය රඳා පවතින්නේ ඔබ ගන්නා තේරීම මත ය.


7
+1, නමුත් # 2 - .NET හි එක් කුඩා නයිගල් එකක් “කේත පුස්තකාලයක්” නොවේ, එය රාමුවක් (ඔබේ වැඩසටහන් නිර්වචනය කර ක්‍රියාත්මක වන ආකාරය නිර්වචනය කරන “වැඩ ප්‍රවාහයක්” ලෙස ඔබ නිවැරදිව අර්ථ දක්වයි). .NET භාෂාවන්ට ලබා ගත හැකි මයික්‍රොසොෆ්ට් විසින් ප්‍රකාශයට පත් කරන ලද සම්මත පුස්තකාල එකතුව .NET මූලික පන්ති පුස්තකාලය (BCL) වේ.
nlawalker

7
ASP.NET වෙනුවට සම්භාව්‍ය ASP වෙත යොමු වීමට ASP භාවිතා කළ හැකි බව සලකන්න.
බ්‍රයන්

11
1 වන කරුණ සමඟ මම එකඟ නොවෙමි .NET නොමැතිව C # භාවිතා කළ හැකි බැවින් C # .NET පැහැදිලිවම සඳහන් කරන්නේ ඔබ C # භාවිතා කරන්නේ .NET රාමුව සමඟ වන අතර C # භාවිතා නොකරන බවයි. ප්‍රායෝගිකව බොහෝ දෙනා උපකල්පනය කරන්නේ C # .NET සමඟ භාවිතා කරන බවයි.
ඉයන් නිව්සන්

23

.NET යනු යෙදුම් සංවර්ධන රාමුවකි - එහි ක්‍රියාකාරීත්ව පරාසයක් අඩංගු පුස්තකාල ගණනාවක් අඩංගු වේ.

C # යනු .NET සමඟ භාවිතා කිරීම සඳහා නිර්මාණය කරන ලද භාෂාවකි. එය එකම .NET- අනුකූල භාෂාව නොවේ - වෙනත් විකල්ප අතර VB.NET, F #, කළමනාකරණය කළ C ++, IronRuby සහ IronPython ඇතුළත් වේ. .NET රාමුවේ ක්‍රියාකාරිත්වය භාවිතා කිරීමට ඔබ කැමති භාෂාවෙන් කේත ලියයි.

ASP.NET යනු .NET හි දිගුවක් වන අතර එය වෙබ් පාදක යෙදුම් සහ වෙබ් අඩවි ලිවීමට උපකාරී වේ. මෙම සන්දර්භය තුළ සමස්ත රාමුවෙන් වැඩි ප්‍රමාණයක් ලබා ගත හැකිය (හෝ ප්‍රයෝජනවත්, උදා: WinForms සම්බන්ධයෙන්).

[ක්ලැසික්] ඒඑස්පී යනු මයික්‍රොසොෆ්ට් වෙතින් පැරණි වෙබ් රාමුවකි. සමාන නම් තිබියදීත්, ඒඑස්පී සහ ඒඑස්පී නෙට් යන දෙවර්ගයම බෙහෙවින් වෙනස් ය. සැලකිය යුතු වෙනසක් නම් සහකාර පොලිස් අධිකාරී සඳහා ඔබේ එකම භාෂා විකල්ප වන්නේ VBScript සහ JScript ය. සහකාර පොලිස් අධිකාරී යනු පැරණි හා යල් පැන ගිය තාක්‍ෂණයකි, ඒ ගැන කරදර නොවන්න.


14

පළමුවෙන්ම .Net යනු ජාවා බයිට් කේතයට සමාන බයිට් කේත රාමුවකි. .නෙට් කෙසේ වෙතත් බයිටෙකෝඩ් පමණි. ".නෙට්" නිල භාෂාවක් නොමැත. .Net ඉලක්ක කරන ප්‍රධාන භාෂා දෙක වන්නේ C # සහ VB.Net ය. ASP.Net යනු C # හෝ VB.Net (හෝ වෙනත් .Net ඉලක්කගත භාෂා) වලින් ලියා ඇති යෙදුම් වෙබ් අඩවියක් ලෙස වැඩ කිරීමට හැකිවන පරිදි සපයා ඇති .Net පුස්තකාලයට දිගුවකි.

සංවර්ධකයින් තමන් දන්නා බව පවසන .නෙට් සාමාන්‍යයෙන් අදහස් කරන්නේ ඔවුන් C # හෝ VB.Net හෝ දෙකම දන්නා බවත් ඔවුන් නොදන්නා ඕනෑම දෙයක් පහසුවෙන් ඉගෙන ගත හැකි බවත්ය (C # සහ VB.Net සාමාන්‍ය සින්ටැක්ස් හැරුණු විට අතිශයින්ම සමාන භාෂා වේ)

අවසාන වශයෙන්, ASP ASP.Net හා සමාන නොවේ. ඔවුන්ට විශාල වෙනස්කම් තිබේ


ඉතින් ac # යෙදුම සහ ac # .net යෙදුම අතර වෙනසක් තිබේද? ඔබේ පිළිතුරේ ඔබ .net # c වෙතින් ඉවත් කළ විට මම අසමි. .නෙට් සංවර්ධකයින්ගේ අංශය ඉතා ප්‍රයෝජනවත් විය.
මේගන් වෝකර්

5
හොඳයි, C # ඇත්ත වශයෙන්ම .Net සමඟ බැඳී නැති භාෂාවක් පමණි. නමුත් C # හි වර්තමාන සියලුම භාවිතයන් .Net සමඟ ඇත, එබැවින් ප්‍රායෝගිකව "C #" සහ "C # .Net" අතර වෙනසක් නොමැත
අර්ල්ස්


1
සී # භාෂාව යනු භාෂාවක් පමණි. .NET පසුබිමක් හෝ රාමුවක් සමඟ කතා නොකර ඔබට C # හි ඕනෑම දෙයක් ලිවිය හැකිය. මාව සැක කරන අය සඳහා, Xamarin C # දෙස බලන්න: කිසිදු .NET භාවිතා නොකර iOS සහ Android ස්වදේශීය යෙදුම් ලිවීමේ ක්‍රමයක්.
ෆිල් රයන්

HPhilRyan එය වටින දෙය නම්, මෙම පිළිතුර පළ කරන විට Xamarin පවා සොයාගෙන නැත.
ටයිලර් එච්

8

එක් පිළිතුරක් පමණක් විස්තරාත්මකව නොගෙන මොනෝ ගැන සඳහන් කරයි:

භාෂාවක් ලෙස සී # මුලින් මයික්‍රොසොෆ්ට් හි .නෙට් රාමුවේ කොටසක් ලෙස සංවර්ධනය කළද, පසුව එය ඊසීඑම්ඒ විසින් ප්‍රමිතිකරණය කරන ලදි , එයින් අදහස් වන්නේ භාෂාවේ ස්වාධීන සම්මත අනුකූලතා ක්‍රියාවට නැංවිය හැකි අතර ඇත්ත වශයෙන්ම ඒවා විය. ඒ අතරින් වඩාත් කැපී පෙනෙන්නේ මොනෝ ය .

මොනෝ යනු සී # සම්පාදකයෙකු සහ සීඑල්අයි ක්‍රියාත්මක කිරීම ඇතුළුව .නෙට් රාමුවට අනුකූල ඊසීඑම්ඒ සම්මත අනුකූල මෙවලම් සමූහයක විවෘත මූලාශ්‍ර ක්‍රියාත්මක කිරීමකි (මොනෝ ධාවන කාලය, මයික්‍රොසොෆ්ට් හි සීඑල්ආර් හා සමානයි .නෙට් රාමුවේ අථත්‍ය යන්ත්‍රය). .NET යෙදුම් හරස් වේදිකාවක් ධාවනය කිරීම එහි අරමුණයි. අද වන විට, එය C # 4.0 සහ .NET Framework විශේෂාංග වලින් සැලකිය යුතු කොටසක් සඳහා සහය දක්වයි . මයික්‍රොසොෆ්ට් ක්‍රියාත්මක කිරීම පිළිබිඹු කිරීමට අමතරව, මොනෝ කණ්ඩායම ද තමන්ගේම නවෝත්පාදනයන් සිදු කරයි.

ඉතින්, ඔව්, .NET නොමැතිව C # හි වැඩ කිරීමට හැකි සහ හැකි ය. කෙසේවෙතත්, මයික්‍රොසොෆ්ට් හි වෙළඳපල කොටස සහ .නෙට් රාමුවේ ස්ථාවරය සමඟ තරඟ කිරීමට මොනෝට හැකි වනු ඇතැයි සිතිය නොහැක.


.NET සමඟ සම්බන්ධ නොවී ඔබ කිසි විටෙකත් C # දකින්නේ නැතැයි යන වැරදි උපකල්පනය නිවැරදි කිරීමට යමෙකු මොනෝව පැහැදිලි කරන තෙක් බලා සිටියේය. +1.
KChaloux

7

ජෝන් ස්කීට්ගේ පොත, සී # ගැඹුර ගැඹුර බිඳ දමයි .නෙට් සංක්ෂිප්තව පහළට. එය බොහෝ විට සම්බන්ධ වේ

  1. ක්‍රමලේඛන භාෂා (C #, VB)
  2. එම භාෂා බයිට් කේතය ධාවනය කරන ධාවන කාලය (සීඑල්ආර්) සම්පාදනය කර ඇත.
  3. රාමු පුස්තකාල (වින්ඩෝස් පෝරම / ASP.NET)

2

අනෙක් පිළිතුරු එක් එක් තාක්‍ෂණය කුමක්ද යන්න පැහැදිලි කිරීම සඳහා හොඳ කාර්යයක් ඉටු කරයි, නමුත් මම සිතන්නේ ඒවා ව්‍යාකූලත්වයට එක් ප්‍රධාන හේතුවක් මග හැරී ඇත. C # සහ C # .NET අත්‍යවශ්‍යයෙන්ම සමාන පද වේ, කෙසේ වෙතත් VB.NET සහ VB වෙනස් වන අතර ASP සහ ASP.NET ද වෙනස් වේ. VB සාමාන්‍යයෙන් VB6 සහ ඊට වැඩි අය සඳහා යොමු වන අතර ASP යන්නෙන් අදහස් කරන්නේ සම්භාව්‍ය සහකාර පොලිස් අධිකාරීවරයාය. මෙම තාක්ෂණයන් රැඩිකල් ලෙස ප්‍රතිනිර්මාණය කරන ලද්දේ .NET රාමුව මුදා හැරීමත් සමඟය. මයික්‍රොසොෆ්ට් විසින් එකතු කරන ලද නිෂ්පාදන සඳහා නව නම් ඉදිරිපත් කිරීම වෙනුවට .NET සෑම දෙයකටම බොහෝ සෙයින් එකතු විය.


0

ඔබට භාෂා, රාමු, සීඑල්ආර්, රටා සහ ක්‍රමලේඛන ක්‍රම අතර වෙනස හඳුනාගත යුතුය.

වින්ෆෝම්ස් සංවර්ධනය සඳහා ASP.Net සම්පූර්ණයෙන්ම වෙනස් ක්‍රමලේඛ රටාවක් භාවිතා කරයි. ඔබට ASP.net සහ .Net යෙදුම් විවිධ භාෂාවලින් වැඩසටහන්ගත කළ හැකිය.

එවිට මොනෝ සන්දර්භය තුළ භාවිතා කරන මොනෝ සහ සී # භාෂාව ඇත - බොහෝ පර්යේෂණ සඳහා වටිනවා.

මෙම සබැඳි කියවා බලන්න:
http://en.wikipedia.org/wiki/Common_Language_Runtime
http://en.wikipedia.org/wiki/.NET_Framework#Alternative_implementations
http://en.wikipedia.org/wiki/File: දළ විශ්ලේෂණය_ of_the_Common_Language_Infrastructure.svg


"ඔබට ASP.net සහ .Net යෙදුම් විවිධ භාෂාවලින් වැඩසටහන්ගත කළ හැකිය." ඔබ මෙය අදහස් කරන්නේ කුමක් දැයි මට විශ්වාස නැත. ඔබට විවිධ භාෂාවලින් ASP.net වැඩසටහනක් ලිවිය හැකි බව ඔබ කියයි. නමුත් මම සිතුවේ ඒඑස්පී භාෂාව වන අතර .නෙට් යනු ඔබ එකතු කරන රාමුවයි.
මේගන් වෝකර්

ASP.net යනු රාමුවක් වන අතර එය ක්‍රමලේඛන ක්‍රමවේදයක් ලෙස මම දකිමි. ASP.net මෙම ලැයිස්තුවෙන් ඕනෑම භාෂාවකින් කේතනය කළ හැකිය en.wikipedia.org/wiki/List_of_CLI_languages wheras ASP පන්තියට නොහැක.
ජෙරමි

1
සහකාර පොලිස් අධිකාරී යනු භාෂාවක් නොවේ.
මාසි
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.