វីហ្សួលបេហ៊្សិក.ណេត: ការរិះគន់

ការរិះគន់

នៅពេលដាក់បញ្ចូលដំបូង ពួកអ្នកប្រើប្រាស់វីហ្សួលបេហ៊្សិកតាំងពីយូរមកហើយជាច្រើនបានត្អូញត្អែរអំពីវីហ្សួលបេហ៊្សិក.ណេតពីព្រោះតែកំណែដើមបានទម្លាក់ចោលនូវសំណង់ភាសាមួយចំនួនធំ និង លក្ខណៈពិសេសអន្តរៈផ្ទៃរបស់អ្នកប្រើប្រាស់ដែលធ្លាប់ជាភាគនៃVB៦ (លែងមានលក់ដោយម៉ៃក្រូសូផ្វទៀតហើយ) និងបានផ្លាស់ប្ដូរសញ្ញាន័យវិទ្យាដែលនៅសល់ ឧទាហរណ៍ដូចជា បរាមាត្ររបស់ VB.NET ត្រូវ (តាមកំណត់ដើម) បានបោះតាមតម្លៃ មិនមែនបោះតាមលំយោងទេ។ ពួកអ្នកបង្អាប់ហៅដោយចំអក VB.NET ថា Visual Fred រឺ DOTNOT។ ការត្អូញត្អែរធំមួយគឺថា  edit-and-continue  សមត្ថភាពដើម្បីកែឩកាដោយការកែប្រែក្រមប្រភពដើមក្នុងកម្មវិធីកំពុងតែរត់មួយនៅពេលវាបានផ្អាកនៅចំណុចញែក និង បន្តរត់ក្រម ត្រូវបានគេលុបបំបាត់ចោល: លក្ខណៈពិសេសនេះគឺជាជំនួយផលិតភាពសំខាន់មួយដែលទាក់ទាញពួកអ្នកអភិវឌ្ឍជាច្រើនទៅរក VB៦ វិញ។ 

ការផ្លាស់ប្ដូរជាច្រើនគឺចាំបាច់ពីព្រោះពួកគេត្រូវការឆ្លុះបញ្ចាំងឱ្យឃើញភាពខុសគ្នារវាង Windows Foundation Classes  និង បណ្ដាថ្នាក់ដែលស្មើគ្នាក្នុងក្របខណ្ឌ.ណេត (ឧ. ចំពោះការគ្រប់គ្រងអន្តរៈផ្ទៃអ្នកប្រើប្រាស់): បន្ថែមនោះ លក្ខណៈពិសេសបានផ្លាស់ប្ដូរខ្លះ ដូចជាការកំណត់ព្រំដែនសង្កាត់អថេរនៅនឹងកន្លែងទៅនឹងប្លុកដែលអថេរទាំងនោះត្រូវបានគេប្រកាស និង ការបោះបរាមាត្រតាមរយៈតម្លៃ (ដែលជាមធ្យោបាយមួយចំនួនតែប៉ុណ្ណោះអនុញ្ញាតក្នុង Java) ធ្វើឱ្យក្រមមានកំហុសតិចជាងមុន។ កាត់បន្ថយការបង្កកំហុសក៏ដូចជាយុត្តិកម្មដោយការដកចេញនូវលក្ខណៈពិសេសៗដូចជា gosub/goto ដែលបានគណនាហើយ និង ការលុបបំបាត់ចោលចំនួនបន្ទាត់ (ទាំងនេះជាកេរដំណែលនៃមរតក FORTRAN របស់ភាសា BASIC។) ជាទូទៅ គំនិតនេះត្រូវបង្កើតឱ្យមានបណ្ណាល័យ.ណេត ផ្ទុយស្រឡះពីបណ្ណាល័យភាសាជាក់លាក់ ធ្វើដំណើរការច្រើនបំផុត ដូច្នេះហើយក្រមដែលសរសេរក្នុង VB.ណេត រឺ Cទ្រុងជ្រូកនឹងត្រូវចងក្រងជាក្រមអន្តរមធ្យមស្ទើរតែដូចគ្នាទាំងអស់។ 

យ៉ាងណាក៏ដោយ ការផ្លាស់ប្ដូរសញ្ញាន័យវិទ្យាទាំងនេះភាគច្រើនមិនត្រឡប់ទៅជាមានភាពត្រូវគ្នាជាមួយក្រមដែលមានច្រើនស្រាប់ និង ក្រមដែលមានស្រាប់ត្រូវការសរសេរឡើងវិញ និង សាកល្បង ការខាតបង់សំខាន់មួយ ពេលតួនៃក្រម មានទំហំធំ។ តាមតែដែលអ្នកនិពន្ធ  ជអ៊ែល-ស្ភលស្គី បានកត់សំគាល់ថា "វាគឺជាលើកដំបូងហើយដែលការតំឡើងថ្នាក់របស់ ម៉ៃក្រូសូផ្វមិនគិតគូរដល់ការងារដែលពួកអ្នកប្រើបានប្រើប្រាស់កំណែមុននៃផលិតផលមួយ។" Joel Spolsky, How Microsoft Lost the API War, Joel on Software, 13 June 2004, URL: http://www.joelonsoftware.com/articles/APIWar.html

បអស វីហ្សួលស្ទីដយ៉ូ ពិតជាបានគាំទ្រកម្រិតនៃបំណកប្រែដោយស្វ័យប្រវត្តិទៅ VB.NET នៅពេលក្រម VB៦ ត្រូវបានបិទផ្អោបចូលទៅក្នុងវីហ្សួលស្ទីដយ៉ូ។ ផងដែរ អង្គចងក្រង VB.NET បានរាយការណ៍កំហុសជាច្រើន (រហូតដល់ចំណូលកំណត់ដោយអ្នកប្រើ - ឧ.ហ. កំហុស ១០០) ទាំងអស់ក្នុងពេលតែម្ដងជំនួសឱ្យម្ដងៗមួយៗ ជាមួយការកែកុនប្រភពកាត់បន្ថយបញ្ជីកំហុសនេះតាមរយៈដំណើរការការចងក្រងនៅផ្ទៃខាងក្នុង។ ទោះបីដូច្នេះ ការសម្របខ្លួនទៅនឹងVB.NET នៅតែពន្យារពេលរហូតដល់ឆ្នាំ២០០៥ នៅពេលដែលម៉ៃក្រូសូផ្វជាចុងក្រោយបានដាក់បញ្ចូល edit-and-continue វិញ: លក្ខណៈពិសេសនេះក៏ត្រូវបានបង្កើតឱ្យជាប្រយោជន៍ដល់ពួកអ្នកអភិវឌ្ឍស៊ីទ្រុងជ្រូកដែរ។ 

វាកាន់តែធម្មតាដើម្បីពន្លាបណ្ដាភាសាដែលតម្រង់ទៅភាសាអន្តរមធ្យមសាមញ្ញ (ភ.អ.ស.) រួមមានVB.NET ប្រៀបធៀបនឹងភាសាដែលចងក្រងដោយក្រមយន្ត។ ប្រដាប់ប្រដាដូចជា .NET Reflector អាចផ្ដល់ឱ្យនូវការប្រហាក់ប្រហែលជិតស្និទទៅនឹងក្រមដើមដោយសារតែចំនួនដ៏ច្រើននៃបច្ឆិមទិន្នន័យដែលផ្ដល់ក្នុងភ.ស.ស.។   នេះក៏ពិតដែរចំពោះកំណែដើមនៃវីហ្សួលបេហ៊្សិក (ពីមុនមកដល់ VB៥) ដែលមិនអាចចងក្រងទៅជាក្រមដើមឡើយ។

បណ្ដាកម្មវិធីវីហ្សួលបេហ៊្សិក៦.០ ដែលភាគច្រើនជាវិធាននព្វន្តក្នុងធម្មជាតិអាចត្រូវបានផ្លាស់ទីដោយលំបាកបន្តិចបន្តួច ប៉ុន្តែប្រភេទខ្លះនៃក្រមអាចមានបញ្ហាខ្លះ តាមឈ្មោះ : 
 ការទ្រទ្រង់មូលទិន្នន័យ: ក្របខណ្ឌរបស់.ណេតសម្រាប់ការចូលទៅកាន់មូលទិន្នន័យ អាឌីអូ.ណេត (ADO.NET) សង្កត់ធ្ងន់លើប្រតិបត្តិកម្មកាត់ផ្ដាច់ ដែលប្រើប្រាស់ធនធានមូលទិន្នន័យ-សេវាករសន្សំសំចៃតាមតែអាចធ្វើបានដោយការចេញផ្សាយនៅពេលគេមិនទាន់ប្រើ។  នេះហុចលទ្ធផលក្នុងក្រមកាន់តែអាចប្រែប្រួលទំហំជាង បើសិនជាបណ្ដា វត្ថុចំណូលទិន្នន័យ រឺ វត្ថុទិន្នន័យសកម្មX ពីមុនៗត្រូវបានប្រើ ក៏ ប៉ុន្តែក្រមនេះក៏កាន់តែស្មុគស្មាញ។
 រេខិយ: .ណេតមានបណ្ណាល័យថ្មី (ហើយកាន់តែមានអនុភាព) សម្រាប់បណ្ដារេខិយ។
 ប្រតិបត្តិកម្មមិនបានគ្រប់គ្រង: .ណេត, ដូចជា Java (ជ្វា) សង្កត់ធ្ងន់លើសន្តិសុខ ដូច្នេះក្រមមិនបានគ្រប់គ្រងត្រូវបានប្រើត្រឹមតែជាមធ្យោបាយចុងក្រោយបំផុត។

ភាពដោយឡែកគ្នានៃវាក្យសម្ព័ន្ធដទៃៗដែលទាក់ទងនឹងការផ្លាស់ប្ដូរបានធ្វើឡើងដើម្បីនាំយក  VB.NET ចូលជាបក្សសម្ព័ន្ធជាមួយភាសា.ណេតដទៃទៀត ដូចជារនៀបចាប់ពីសូន្យ (រនៀប.ណេតទាំងអស់មានសន្ទស្សន៍ ០ ដល់ n-1 រីឯរនៀប VB កាលពីដើមអាចចាប់ពីសូន្យ រឺ ចាប់ពីមួយ (សន្ទស្សន៍ 1 ដល់ n ) និងអញ្ញត្រកម្មរចនាសម្ព័ន្ធដែលចាប់យក (VB កាលពីដើមបានប្រើយន្តការ ON ERROR ជាគុណលក្ខណៈ) ដូច្នេះការផ្លាស់ប្ដូរពិបាក រឺ មិនមានលទ្ធភាពដើម្បីបំលែងដោយស្វ័យប្រវត្តិ ហើយអង្គបំលែងជាធម្មតាដោតទង់ក្នុងបរិវេណដែលមានបញ្ហាចំពោះការបំលែងជាហត្ថកម្ម។

ជាការបន្ថែម បណ្ណាល័យពេលរត់ដែលតម្រូវសម្រាប់កម្មវិធី VB៦ ត្រូវបានផ្ដល់ជាមួយWindows 98 SE និង លើនោះ ខណៈនោះដែរកម្មវិធី VB.NET តម្រូវឱ្យមានការតម្លើង .NET Framework ធំជាងមុនដែលពាក់ព័ន្ធនឹងគ្នា។ ក្របខណ្ឌត្រូវបានបញ្ចូលជាមួយ Windows 7, Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Edition, Windows Server 2008 និង Windows Server 2003។ ចំពោះប្រព័ន្ធប្រតិបត្តិការដែលស៊ីគ្នាផ្សេងទៀតដូចជា Windows 2000 រឺ Windows XP (Home or Professional Editions) .NET Framework ត្រូវបានដំឡើងដាច់ដោយឡែកពីគ្នា។

ការឆ្លើយតបរបស់ម៉ៃក្រូសូផ្វទៅនឹងការមិនពេញចិត្តរបស់អ្នកអភិវឌ្ឍដោយផ្ដោតជុំវិញទៅលើការធ្វើឱ្យវាកាន់តែងាយស្រួលដើម្បីរំកិលខ្លួនទៅការអភិវឌ្ឍថ្មី និង ប្ដូរមូលក្រមដែលមានស្រាប់ ពី VB៦ ទៅ VB.NET។ ជំនូនមួយនៅឆ្នាំ ២០០៥គឺ ស្ថានីយសំណាញ់ រត់VB ផ្ដល់នូវសំណាកក្រមនិងអត្ថបទនានាចំពោះ:
 ការប្រើប្រាស់ VB.NET ដើម្បីបំពេញបន្ថែមរាល់ការងារដែលមានជាធម្មតាក្នុង VB ៦ ដូចជាការបង្កើតបុរេទិដ្ឋភាពបោះពុម្ព
 ការច្របាច់បញ្ចូលគ្នាដំណោះស្រាយរបស់ VB៦ និង VB.NET (បានឱ្យឈ្មោះថា VB Fushion )