History of Programming Language (Lecture-2)

Lecture-2

ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦਾ ਇਤਹਾਸ

ਜਿਸ ਤਰ੍ਹਾਂ ਅਸੀਂ ਸਭ ਜਾਣਦੇ ਹੀ ਹਾਂ ਕਿ ਕੰਪਿਊਟਰ ਇਕ ਮਸ਼ੀਨ ਹੈ ਅਤੇ ਇਹ ਮਸ਼ੀਨ ਭਾਸ਼ਾ ’ਤੇ ਹੀ ਕੰਮ ਕਰਦਾ ਹੈ।  ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦੇ ਇਤਹਾਸ ਨੂੰ ਸਮਝਣ ਲਈ ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਦੀ ਜਾਣਕਾਰੀ ਹੋਣਾ ਜ਼ਰੂਰੀ ਹੈ।

ਮਸ਼ੀਨ ਭਾਸ਼ਾ (Machine Language, Also called Binary Language)

ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਦੋ ਬਿਟਸ (Bits), 0 ਅਤੇ 1 ਤੇ ਅਧਾਰਿਤ ਹੈ।  ਕੰਪਿਊਟਰ ਇਹਨਾਂ ਦੋ ਬਿਟਸ ਨਾਲ ਬਣੇ ਕੋਡਸ ਨੂੰ ਹੀ ਸਮਝ ਸਕਦਾ ਹੈ।  ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਵਿੱਚ ਹਦਾਇਤਾਂ (Instructions) ਇਹਨਾਂ ਬਿਟਸ ਦੀ ਬਣੀ ਲੜੀ (Sequence) ਹੁੰਦੀ ਹੈ। ਉਦਾਹਰਣ ਵਜੋ, ਗਣਿਤ ਅੰਕ 9 ਨੂੰ ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਵਿੱਚ ਇਸ ਤਰ੍ਹਾਂ ‘00001001’ ਲਿਖਿਆ ਜਾਵੇਗਾ।

ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ (Assembly Language)

ਪਰ ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਆਮ ਇਨਸਾਨ ਲਈ ਇਕ ਮੁਸ਼ਕਿਲ ਭਾਸ਼ਾ ਹੈ, ਇਸ ਲਈ ਇਸ ਭਾਸ਼ਾ ਵਿੱਚ ਸਾਫਟਵੇਅਰ ਤਿਆਰ ਕਰਨ ਵਿੱਚ ਬਹੁਤ ਮਿਹਨਤ ਤੇ ਸਮਾਂ ਲਗਦਾ ਹੈ।  ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹਲ ਕਰਨ ਲਈ ਇਕ ਸਾਫਟਵੇਅਰ ਬਣਾਇਆ ਗਿਆ, ਜਿਸ ਨੂੰ ਅਸੈਂਬਲਰ (Assembler) ਕਿਹਾ ਜਾਂਦਾ ਹੈ।

ਅਸੈਂਬਲਰ ਸਾਫਟਵੇਅਰ ਵਿੱਚ ਪ੍ਰੋਗਰਾਮਰ ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ (Assembly Language) ਵਿੱਚ ਹਦਾਇਤਾਂ ਨੂੰ ਲਿਖ ਕੇ ਪ੍ਰੋਗਰਾਮ ਬਣਾ ਸਕਦਾ ਹੈ।  ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ, English ਭਾਸ਼ਾ ਦੇ ਅੱਖਰਾਂ ਦਾ ਇਸਤੇਮਾਲ ਕਰਕੇ ਬਣਾਈ ਗਈ ਹੈ।  ਉਦਾਹਰਣ: ADD x, 5 ਆਦਿ, ਇਸ ਦਾ ਅਰਥ ਹੈ x ਅਤੇ 5 ਦੇ ਮੁਲਾਂ ਨੂੰ ਜੋੜ ਕੇ x ਵਿੱਚ ਹੀ ਸਟੋਰ ਕੀਤਾ ਜਾਵੇ।

ਪ੍ਰੋਗਰਾਮਰ ਬਹੁਤ ਹੀ ਆਸਾਨੀ ਨਾਲ ਇਸ ਭਾਸ਼ਾ ਵਿੱਚ ਆਪਣਾ ਪ੍ਰੋਗਰਾਮ ਲਿਖ ਸਕਦਾ ਹੈ।  ਬਾਕੀ ਦਾ ਕੰਮ ਅਸੈਂਬਲਰ ਦਾ ਹੈ, ਜੋ ਕਿ ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ ਵਿੱਚ ਲਿਖੇ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਵਿੱਚ ਬਦਲ ਕੇ ਇਕ ਫਾਈਲ ਵਿੱਚ ਸਟੋਰ ਕਰ ਦਿੰਦਾ ਹੈ।  ਇਹ ਫਾਈਲ ਹੀ ਸਾਫਟਵੇਅਰ (Software) ਵੱਜੋ ਇਸਤੇਮਾਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

ਕੰਪਾਇਲਰ ਅਤੇ ਟ੍ਰਾਂਸਲੇਟਰ (Compiler and Translator)

ਭਾਵੇ ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ ਨੇ ਪ੍ਰੋਗਰਾਮਰ ਦਾ ਕੰਮ ਆਸਾਨ ਕਰ ਦਿੱਤਾ ਹੈ,  ਪਰ ਅਜੇ ਵੀ ਪ੍ਰੋਗਰਾਮਰ ਨੂੰ ਬਹੁਤ ਸਾਰੀ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ।

·         ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰੋਗਰਾਮ ਲਿਖਣ ਵਿੱਚ ਬਹੁਤ ਸਮਾਂ ਲਗਦਾ ਹੈ।

·         ਇਸ ਦੇ ਨਾਲ ਹੀ ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ ਵਿੱਚ ਕੋਡ ਵੀ ਬਹੁਤ ਜਿਆਦਾ ਲਿਖਣਾ ਪੈਂਦਾ ਹੈ।  

·         ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ ਦੇ ਇਸਤੇਮਾਲ ਲਈ ਮਸ਼ੀਨ ਦੇ ਹਾਰਡਵੇਅਰ ਬਾਰੇ ਵੀ ਪੂਰੀ ਜਾਣਕਾਰੀ ਹੋਣੀ ਲਾਜ਼ਮੀ ਹੈ। 

·         ਇਕ ਕੰਪਨੀ ਦੀ ਕੰਪਿਉਟਰ ਮਸ਼ੀਨ ‘ਤੇ ਲਿਖਿਆ ਕੋਡ ਦੂਜੀ ਮਸ਼ੀਨ ਲਈ ਅਨੁਕੂਲ (Compatible) ਨਹੀ ਹੁੰਦਾ।

ਇਹਨਾਂ ਕਮੀਆਂ ਤੇ ਗੁਣਾਂ ਕਰਕੇ ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ ਨੂੰ Low-level Language ਕਿਹਾ ਜਾਂਦਾ ਹੈ।

ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਦੂਰ ਕਰਨ ਲਈ ਨਵੀਂ ਭਾਸ਼ਾਵਾਂ ਨੂੰ ਬਣਾਇਆ ਗਿਆ ਜਿਸ ਰਾਹੀਂ ਪ੍ਰੋਗਰਾਮਰ ਘੱਟ ਸਮੇਂ ਅਤੇ ਘੱਟ ਮਿਹਨਤ ਵਿੱਚ ਹੀ ਸਾਫਟਵੇਅਰ ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ।  ਇਹਨਾਂ ਭਾਸ਼ਾ ਨੂੰ High-level Language ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਹਾਈ-ਲੇਵਲ ਭਾਸ਼ਾਵਾਂ ਦੀ ਉਦਾਹਾਰਣ ਹੈ: java, VB, PHP, C, C++, COBOL ਆਦਿ। ਹਾਈ ਲੇਵਲ ਭਾਸ਼ਾ ਵਿੱਚ ਲਿਖੇ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਵਿੱਚ ਬਦਲਣ ਲਈ ਜੋ ਸਾਫਟਵੇਅਰ ਇਸਤੇਮਾਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਉਹ ਦੋ ਤਰ੍ਹਾਂ ਦੇ ਹੁੰਦੇ ਹਨ: ਕੰਪਾਈਲਰ ਅਤੇ ਟ੍ਰਾਂਸਲੇਟਰ ਇਹ ਸਾਫਟਵੇਅਰ ਵੀ ਅਸੈਂਬਲਰ ਵਾਂਗ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਮਸ਼ੀਨ ਭਾਸ਼ਾ ਵਿੱਚ ਬਦਲ ਕੇ ਇਕ ਫਾਈਲ ਵਿੱਚ ਸਟੋਰ ਕਰ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਇਸ ਫਾਈਲ ਨੂੰ ਹੀ ਸਾਫਟਵੇਅਰ ਵੱਜੋ ਇਸਤੇਮਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਇਸ ਤਰ੍ਹਾਂ ਅਸੀ ਕਿਸੇ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਨੂੰ ਸਿੱਖ ਕੇ ਸਾਫਟਵੇਅਰ ਬਣਾ ਸਕਦੇ ਹਾਂ।  

ਨੋਟ: C ਭਾਸ਼ਾ ਇਕ ਕੰਪਾਈਲਰ ਅਧਾਰਿਤ ਭਾਸ਼ਾ ਹੈ।   

Quiz Link Here


1.      ਮਸ਼ੀਨ ਭਾਸ਼ਾ (Machine Language) ਕਿਸ ਅੰਕ (Digit) ਤੇ ਅਧਾਰਿਤ ਹੈ।

a)      0                b) 1                  c) 0, 1              d) 0, 1, -1

2.      ਹਦਾਇਤ “ADD x, 5” ਵਿੱਚ ਕੀ ਡਾਟਾ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।

a)      x                b) 5                  c) ADD             d) x ਅਤੇ 5

3.      ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ (Assembly Language) ਕਿਸ ਲੇਵਲ ਦੀ ਭਾਸ਼ਾ ਹੈ।

a)      Low Level Language

b)      Middle Level Language

c)      High Level Language

d)      None of these

4.      C ਭਾਸ਼ਾ ਹੈ

a)      ਅਸੈਂਬਲਰ ਅਧਾਰਿਤ

b)      ਕੰਪਾਇਲਰ ਅਧਾਰਿਤ

c)      ਟ੍ਰਾਂਸਲੇਟਰ ਅਧਾਰਿਤ

d)      ਮਸ਼ੀਨ ਭਾਆ ਅਧਾਰਿਤ

5.      ਸਾਫਟਵੇਅਰ ਤਿਆਰ ਕਰਨ ਲਈ ਕਿਸ ਭਾਸ਼ਾ ਦਾ ਆਉਣਾ ਜ਼ਰੂਰੀ ਹੈ।

a)      Assembly Language

b)      C

c)      Java

d)      Any Programming Language


Comments