Third-generation programming language
ત્રીજી પેઢીની પ્રોગ્રામિંગ લેંગ્વેજ (3જીએલ) એ ઉચ્ચ-સ્તરની કમ્પ્યુટર પ્રોગ્રામિંગ લેંગ્વેજ છે જે પ્રથમ પેઢીના મશીન કોડ અને બીજી પેઢીની એસેમ્બલી લેંગ્વેજ કરતાં વધુ મશીન-સ્વતંત્ર અને પ્રોગ્રામર-ફ્રેન્ડલી હોવાનું વલણ ધરાવે છે, જ્યારે ચોથી અને પાંચમી પેઢીઓ પર ઓછું ચોક્કસ ધ્યાન કેન્દ્રિત કરે છે. સામાન્ય અને ઐતિહાસિક ત્રીજી પેઢીની પ્રોગ્રામિંગ ભાષાઓના ઉદાહરણો એએલજીઓએલ, બેઝિક, સી, કોબોલ, ફોરટ્રાન, જાવા અને પાસ્કલ છે. લાક્ષણિકતાઓ 3જીએલ વધુ મશીન-સ્વતંત્ર અને વધુ પ્રોગ્રામર-મૈત્રીપૂર્ણ છે. આમાં એકંદર ડેટા પ્રકારો માટે સુધારેલ સમર્થન અને વિભાવનાઓને એવી રીતે વ્યક્ત કરવા જેવી સુવિધાઓનો સમાવેશ થાય છે કે જે કમ્પ્યુટરની નહીં પણ પ્રોગ્રામરની તરફેણ કરે. કમ્પ્યુટર દ્વારા બિન-આવશ્યક વિગતોની સંભાળ રાખીને ત્રીજી પેઢીની ભાષા બીજી પેઢીની ભાષા કરતાં સુધરે છે. 3જીએલ ભાષાઓની અગાઉની પેઢીઓ કરતાં વધુ અમૂર્ત છે, અને તેથી તેમના પ્રથમ અને બીજી પેઢીના સમકક્ષો કરતાં ઉચ્ચ-સ્તરની ભાષાઓ ગણી શકાય. સૌપ્રથમ 1950 ના દાયકાના અંતમાં રજૂ કરાયેલ, ફોરટ્રાન, એએલજીઓએલ અને કોબોલ પ્રારંભિક 3જીએલના ઉદાહરણો છે. આજે સૌથી વધુ લોકપ્રિય સામાન્ય હેતુની ભાષાઓ, જેમ કે સી, સી + +, સી #, જાવા, બેઝિક અને પાસ્કલ પણ ત્રીજી પેઢીની ભાષાઓ છે, જો કે આ દરેક ભાષાને અન્ય સમકાલીન લક્ષણોના આધારે અન્ય વર્ગોમાં વિભાજિત કરી શકાય છે. મોટાભાગના 3જીએલ માળખાગત પ્રોગ્રામિંગને ટેકો આપે છે. ઘણા લોકો ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગને ટેકો આપે છે. આ પ્રકારના લક્ષણોનો ઉપયોગ માત્ર 3જીએલ બનવાને બદલે ભાષાનું વર્ણન કરવા માટે થાય છે. સી, ફોરટ્રાન અથવા પાસ્કલ જેવી પ્રોગ્રામિંગ ભાષા પ્રોગ્રામરને એવા પ્રોગ્રામ્સ લખવા માટે સક્ષમ બનાવે છે જે ચોક્કસ પ્રકારના કમ્પ્યુટરથી વધુ કે ઓછા સ્વતંત્ર હોય. આવી ભાષાઓને ઉચ્ચ-સ્તરની માનવામાં આવે છે કારણ કે તે માનવ ભાષાઓની નજીક છે અને યાંત્રિક ભાષાઓથી વધુ દૂર છે, અને તેથી સંકલન અથવા અર્થઘટનની જરૂર પડે છે. તેનાથી વિપરીત, મશીન ભાષાઓને નિમ્ન-સ્તરની ગણવામાં આવે છે કારણ કે તેઓ વધુ અનુવાદની જરૂર વગર ભૌતિક હાર્ડવેર દ્વારા ડિઝાઇન અને ચલાવવામાં આવે છે. નિમ્ન-સ્તરની ભાષાઓ કરતાં ઉચ્ચ-સ્તરની ભાષાઓનો મુખ્ય ફાયદો એ છે કે તે વાંચવા, લખવા અને જાળવવા માટે સરળ છે. આખરે, ઉચ્ચ-સ્તરની ભાષામાં લખાયેલા પ્રોગ્રામ્સનું કમ્પાઇલર દ્વારા મશીન ભાષામાં અથવા દુભાષિયા દ્વારા સીધા વર્તનમાં ભાષાંતર કરવું આવશ્યક છે. આ કાર્યક્રમો વિવિધ મશીનો પર ચાલી શકે છે (તેઓ પોર્ટેબલ છે) તેથી તેઓ મશીન-સ્વતંત્ર હતા. જેમ જેમ નવી, વધુ અમૂર્ત ભાષાઓ વિકસાવવામાં આવી છે, તેમ છતાં, ઉચ્ચ અને નીચલા સ્તરની ભાષાઓનો ખ્યાલ સાપેક્ષ બની ગયો છે. પાયથોન, રુબી અને કોમન લિસ્પ જેવી ભાષાઓની સરખામણીમાં પ્રારંભિક ઘણી "ઉચ્ચ-સ્તર" ભાષાઓને હવે પ્રમાણમાં નિમ્ન-સ્તરની માનવામાં આવે છે, જેમાં ચોથી પેઢીની પ્રોગ્રામિંગ ભાષાઓની કેટલીક વિશેષતાઓ છે અને જેને 1990ના દાયકામાં ખૂબ જ ઉચ્ચ-સ્તરની પ્રોગ્રામિંગ ભાષાઓ કહેવામાં આવતી હતી. પ્રોગ્રામિંગ ભાષા પેઢીઓ ડોમેન-વિશિષ્ટ પ્રોગ્રામિંગ ભાષા સંદર્ભો પ્રોગ્રામિંગ ભાષા વર્ગીકરણ પણ જુઓ.