Comparison of Visual Basic and Visual Basic .NET
વિઝ્યુઅલ બેઝિક. નેટને માઇક્રોસોફ્ટ દ્વારા 2002માં મૂળ વિઝ્યુઅલ બેઝિક કમ્પ્યુટર પ્રોગ્રામિંગ લેંગ્વેજના અનુગામી તરીકે રજૂ કરવામાં આવી હતી. તે ડોટ નેટ ફ્રેમવર્ક 1 પર લાગુ કરવામાં આવ્યું હતું. મુખ્ય નવી સુવિધા વ્યવસ્થાપિત કોડ હતી. ફક્ત વિઝ્યુઅલ બેઝિકથી પરિચિત પ્રોગ્રામરોને કદાચ નવા સંસ્કરણ સાથે કામ કરવામાં અથવા તેના માટે હાલના પ્રોગ્રામ્સને સ્વીકારવામાં મુશ્કેલીઓનો સામનો કરવો પડ્યો હશે. સ્પષ્ટ મુખ્ય તફાવતો નવા પ્લેટફોર્મ તેના પુરોગામી સાથે બહુ ઓછી સામ્યતા ધરાવે છે. જ્યારે પ્રોગ્રામરોને અપેક્ષા હતી કે તેઓ તેમના વિઝ્યુઅલ બેઝિક સ્રોતને ડોટ નેટ લક્ષ્યમાં ફરીથી સંકલિત કરી શકશે, ત્યારે પરિસ્થિતિની વાસ્તવિકતા એ હતી કે વિઝ્યુઅલ બેઝિક ડોટ નેટ એક અત્યંત અલગ દાખલો હતો. સ્પષ્ટ વાક્યરચના તફાવતોને બાજુએ રાખીને, વિઝ્યુઅલ બેઝિક ડોટ નેટ એ C #જેવી જ કાર્યક્ષમતા પૂરી પાડે છે (કારણ કે તે બંને MSIL સુધી સંકલન કરે છે, જેમાં સૌથી સ્પષ્ટ તફાવત વિઝ્યુઅલ બેઝિક ડોટ નેટની કેસ અસંવેદનશીલતા છે, જે વિઝ્યુઅલ બેઝિકની મૂળ કેસ-અસંવેદનશીલતા જાળવી રાખે છે), જે C #પ્રોગ્રામરો માટે અન્ય કોઈ પણ વસ્તુ કરતાં વિઝ્યુઅલ બેઝિક ડોટ નેટ ડેવલપર્સ સાથે આંતર-સંચાલન કરવાનો પ્રયાસ કરતી સમસ્યા છે. મૂળભૂત વાક્યરચના ખૂબ સમાન રહે છેઃ શરતો, લૂપ્સ, પ્રક્રિયાઓ, પેટા-રૂટિન જાહેર કરવામાં આવે છે અને તે જ રીતે લખવામાં આવે છે (વિઝ્યુઅલ બેઝિક જુઓ). અગાઉના વિઝ્યુઅલ બેઝિક પુનરાવર્તનોથી વિઝ્યુઅલ બેઝિક. નેટ સુધીની ગતિશીલતા ખરેખર હાલના કોડના ભાગો છેઃ બંને વિશ્વનો અનુભવ ધરાવતા પ્રોગ્રામરોએ જૂના તર્ક સાથે નવા પ્લેટફોર્મને અસરકારક રીતે લક્ષ્ય બનાવવું જરૂરી છે. વિઝ્યુઅલ બેઝિક ડોટ નેટ વિકાસકર્તાએ વિઝ્યુઅલ બેઝિકમાં જેનો ઉપયોગ કરવામાં આવ્યો છે તેના બદલે મૂળભૂત ડોટ નેટ પ્રકારોનો ઉપયોગ શીખવો પડશે. જે પ્રોગ્રામરે માત્ર વિઝ્યુઅલ બેઝિક સાથે કામ કર્યું છે તે વિઝ્યુઅલ બેઝિક. નેટ પર સ્થળાંતર કરવા માટે તીવ્ર શિક્ષણ વળાંકનો સામનો કરી શકે છે. એક પ્રોગ્રામર કે જે બીજી ભાષામાં પારંગત છે અથવા જેને. NET રનટાઇમનો સંપર્ક થયો હોય તે સામનો કરવા માટે સક્ષમ હોવા જોઈએ. વિઝ્યુઅલ બેઝિક ડોટ નેટને વિઝ્યુઅલ બેઝિક 6ની સાતત્યતાને બદલે ક્લાસિક વિઝ્યુઅલ બેઝિક દ્વારા પ્રેરિત નવી ભાષા તરીકે વિચારવું વધુ સારું રહેશે, પ્રોગ્રામરોને સ્થળાંતર કરવામાં વધારાની મુશ્કેલી સાથે કે જે VB.NET ડોટ નેટ ફ્રેમવર્ક સાથે ઇન્ટરફેસ કરે છે જ્યારે કે VB6 કોમ્પોનન્ટ ઓબ્જેક્ટ મોડલ (COM) પર આધારિત હતું. વધુ વિગતવાર સરખામણી એવા કેટલાક તાત્કાલિક ફેરફારો છે જેની વિકાસકર્તાઓએ નોંધ લેવી જોઈએઃ વધુ C-જેવા વાક્યરચના વિઝ્યુઅલ બેઝિક. NET + =,-=, * =,/=,\=, ^ =, અને & = સંયોજન ઓપરેટરોને મંજૂરી આપે છે જેથીઃ ચલ = ચલ + 1 જેવી લાંબી રેખાઓ હવે આ રીતે લખી શકાયઃ ચલ + = 1 જો કે, વૃદ્ધિ અને ઘટાડાના ઓપરેટરોને ટેકો આપવામાં આવતો નથી. વિઝ્યુઅલ બેઝિકના અગાઉના પુનરાવર્તનોમાં, શરતમાં તમામ નિવેદનોનું મૂલ્યાંકન કરવામાં આવ્યું હોત, પછી ભલે શરતનું પરિણામ સ્થિતિનું મૂલ્યાંકન કરતા પહેલા નક્કી કરી શકાય. ઉદાહરણ તરીકેઃ જો ફો () અને બાર () હોય તો અહીં 'કોડ' ચલાવવામાં આવે છે જો ફો () અને બાર () બંને સાચું આપે છે, જો કે, જો ફો () ખોટું આપે છે, તો બાર () નું મૂલ્યાંકન હજુ પણ એન્ડ થાય છે જો આ માત્ર બિનકાર્યક્ષમ ન હતું, પરંતુ અન્ય ભાષામાં વપરાતી કોઈપણ વ્યક્તિ માટે અનપેક્ષિત પરિણામો તરફ દોરી શકે છે. વિઝ્યુઅલ બેઝિક. નેટમાં, અન્ય ઘણી ભાષાઓની જેમ શોર્ટ-સર્કિટ મૂલ્યાંકન પ્રદાન કરવા માટે નવા એન્ડઅલ્સો અને ઓરઇલ્સ ઓપરેટરોને ઉમેરવામાં આવ્યા છે. સ્પષ્ટ નિર્દેશક જેવા પ્રકારો હવે વાર * ચલ પ્રકારો વિઝ્યુઅલ બેઝિક. નેટમાં નાપસંદ કરવામાં આવે છે. સામાન્ય રનટાઇમ નક્કી કરે છે કે કયા પ્રકારો સંદર્ભ પ્રકારો છે અને કયા પ્રકારો મૂલ્ય પ્રકારો છે તેથી આ હવે પ્રોગ્રામરનું ડોમેન નથી. ગુણધર્મોઃ ચાલો અને વર્ગ ગુણધર્મોને હવે ચાલો અને સેટ નિવેદનોની જરૂર નથી ડીબગ પ્રિન્ટિંગ ડીબગપ્રિન્ટને ડીબગરાઈટ અને ડીબગરાઈટલાઇન પ્રક્રિયાઓ સાથે બદલવામાં આવે છે એક પ્રક્રિયા કૉલમાં વિઝ્યુઅલ બેઝિક. નેટમાં કૌંસ હોવા આવશ્યક છે. વિઝ્યુઅલ બેઝિક. નેટને પરિમાણો માટે બાયવલ અથવા બાયરેફ સ્પષ્ટીકરણની જરૂર છે. વિઝ્યુઅલ બેઝિકમાં સ્પષ્ટીકરણને અવગણવામાં આવી શકે છે, જે મૂળભૂત રીતે બાયરેફ સૂચવે છે. વિઝ્યુઅલ સ્ટુડિયો ડોટ નેટ જેવા મોટાભાગના વિકાસ પર્યાવરણો આપમેળે બાયવલ દાખલ કરશે, તેથી અસરકારક રીતે ડિફોલ્ટ બાયવલ છે, બાયરેફ નહીં. વિઝ્યુઅલ બેઝિક કોડને VB.NET માં રૂપાંતરિત કરવા માટે સાધનો છે, જેમ કે વિઝ્યુઅલ બેઝિક અપગ્રેડ વિઝાર્ડ કે જે વિઝ્યુઅલ સ્ટુડિયો. NET 2002 અને 2003માં સામેલ કરવામાં આવ્યું હતું. રૂપાંતરણ સાધનો જો જરૂરી હોય તો આપમેળે બાયરેફ દાખલ કરે છે, જે વિઝ્યુઅલ બેઝિક એપ્લિકેશનના શબ્દાર્થને સાચવે છે. શૂન્ય-આધારિત એરે વિઝ્યુઅલ બેઝિક 5 અને 6 પરંપરાગત રીતે શૂન્ય-આધારિત એરે (મૂળભૂત નીચલા બાઉન્ડ) નો ઉપયોગ કરે છે, સિવાય કે "વિકલ્પ આધાર 1" જાહેર કરવામાં આવે. આ વિઝ્યુઅલ બેઝિક પ્રોગ્રામ્સમાં ઘણી બધી એક પછી એક ભૂલોનો સ્ત્રોત હતો, ખાસ કરીને જ્યારે પ્રોગ્રામ લાઇબ્રેરીની સીમાઓમાં આંતરસંચાલનક્ષમતા સાથે વ્યવહાર કરવામાં આવે છે. જો કે ડોટ નેટ કોમન લેંગ્વેજ રનટાઇમ કોઈપણ બેઝ વેલ્યુ સાથે એરેને સપોર્ટ કરી શકે છે, વિઝ્યુઅલ બેઝિક ડોટ નેટ અને સી #માત્ર શૂન્ય-આધારિત એરે અને સૂચિ પ્રદાન કરે છે, અને ડોટ નેટ કોમન લેંગ્વેજ સ્પષ્ટીકરણ માટે ડોટ નેટ ભાષાઓ વચ્ચે આંતરસંચાલનક્ષમતા માટે શૂન્ય-આધારિત એરેની જરૂર પડે છે. જગ્ડ એરે વિઝ્યુઅલ બેઝિક ડોટ નેટએ જગ્ડ એરેની વિભાવના રજૂ કરી હતી, જેમાં વિઝ્યુઅલ બેઝિક પ્રોગ્રામરો પર લાદવામાં આવેલા એરેની સમાન લંબાઈના વિરોધમાં પંક્તિઓની અસમાન લંબાઈ હોઈ શકે છે. . NET પ્લેટફોર્મ પર સંકલન કરતી ભાષાઓમાં, પ્રકારો કડક હોય છે. જ્યારે રનટાઇમ અનામી ઑબ્જેક્ટ માટે પરવાનગી આપે છે જેમાં પૂર્વ-નિર્ધારિત, નામના પ્રકાર નથી, ચલનો પ્રકાર તેના જીવન-સમય દરમિયાન બદલાઈ શકતો નથી, તેથી ચલ ડેટા-પ્રકારને છોડવાની જરૂર છે. જોકે, "ઓબ્જેક્ટ" પ્રકાર વ્યવહારમાં કંઈક અંશે સમાન વર્તન ધરાવે છે. સાચું ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગ વિઝ્યુઅલ બેઝિક એ ઓબ્જેક્ટ-આધારિત ભાષા હતી. તે વર્ગોને ટેકો આપે છે, પરંતુ અન્ય વિભાવનાઓને નહીં કે જે તેને ઓબ્જેક્ટ-ઓરિએન્ટેડ ભાષા બનાવશે. વિઝ્યુઅલ બેઝિક. NET એ નીચેની લાક્ષણિકતાઓ સાથે સાચી ઓબ્જેક્ટ-ઓરિએન્ટેડ ભાષા છેઃ ઇનહેરિટન્સ ફંક્શન ઓવરલોડિંગ જોકે કોઈ પણ ભાષા લક્ષ્યીકરણ. NET વર્ગો માટે બહુવિધ વારસાને મંજૂરી આપતું નથી-ઇન્ટરફેસના બહુવિધ વારસાને સમર્થન આપવામાં આવે છે. COM થી NET માં ફેરફાર જ્યારે IDE એ હકીકતને છુપાવવાનું વાજબી કામ કરે છે, ત્યારે સમાન કાર્યક્ષમતા પ્રદાન કરતા. NET ઘટકોની તરફેણમાં વિઝ્યુઅલ બેઝિક. NET (જોકે. NET માં COM સાથે ઇન્ટરફેસિંગ માટેની પદ્ધતિઓ છે) માં એક્ટિવએક્સ ઓબ્જેક્ટ્સ પરની નિર્ભરતાને પડતી મૂકવામાં આવે છે. આ પરિવર્તન વિઝ્યુઅલ બેઝિક ડેવલપર માટે સારું છે કારણ કે વિઝ્યુઅલ બેઝિકમાં પ્રદર્શનના મોટાભાગના મુદ્દાઓ COM ઇન્ટરફેસના ખર્ચની આસપાસ ઊભા થયા હતા. ફોર્મ ડિઝાઈનર દ્વારા પ્રાથમિક ભૂમિતિ વ્યવસ્થાપન વિઝ્યુઅલ બેઝિક ડેવલપરના જીવનના સાચા પ્રતિબંધોમાંથી એક હંમેશા રીસાઇઝ કોડ લખતું રહ્યું છે. જ્યારે વિનફોર્મ્સનો દાખલો ભૂમિતિ વ્યવસ્થાપન વિભાગમાં ક્યુટી અને જીટીકે + જેવી સાધનસામગ્રી સામે ઇચ્છિત થવા માટે ઘણું બધું છોડી દે છે, ત્યારે ઓછામાં ઓછું વિકાસકર્તા ઓનરેસાઇઝ હેન્ડલર્સમાં કોડના રીમ્સ લખવાને બદલે ફોર્મ્સ પર વિજેટ્સને એન્કર કરી શકે છે. મૂળભૂત રીતે ઓપ્શન એક્સપ્લિસિટ વિઝ્યુઅલ બેઝિક. નેટમાં, મૂળભૂત રીતે ઓપ્શન એક્સપ્લિસિટ ચાલુ છે. સંદર્ભો બાહ્ય કડીઓ VB.NET. NET મૂળભૂત પ્રોગ્રામિંગ ભાષામાં VB 6 અને VB.NET જગ્ડ એરે વચ્ચેના ટોચના 5 ફેરફારો વ્યક્તિગત પ્રોગ્રામિંગ ભાષાઓની સરખામણી મૂળભૂત પ્રોગ્રામિંગ ભાષા પરિવાર