ਲੂਆ (ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ)

ਲੂਆ ( , from    ਜਿਸਦਾ ਅਰਥ ਹੈ  ਚੰਦਰਮਾ) ਇੱਕ ਹਲਕੀ ਮਲਟੀ-ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਹੈ ਜੋ ਅੰਬੈਡੋਡ ਸਿਸਟਮਾਂ ਅਤੇ ਗਾਹਕਾਂ ਲਈ ਡਿਜਾਈਨ ਕੀਤੀ ਹੋਈ ਹੈ। ਲੂਆ ਇੱਕ ਕਰੌਸ ਪਲੇਟਫਾਰਮ ਹੈ ਕਿਉਂਕਿ ਇਸਨੂੰ  ANSI C ਅਤੇ ਇੱਕ ਸੰਬਧਿਕ ਸਰਲ C API.ਵਿੱਚ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ। ਲੂਆ ਨੂੰ ਮੌਲਿਕ ਤੌਰ ਤੇ 1993 ਵਿੱਚ ਸਮੇਂ ਉੱਤੇ ਮਨਮਰਜੀ ਦੀ ਵਧ ਰਹੀ ਮੰਗ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ ਸੌਫਟਵੇਅਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਫੈਲਾਉਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਸੀ। ਇਸਨੇ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦੇ ਸਭ ਤੋਂ ਜਿਆਦਾ ਪ੍ਰਕਿਰਿਆਤਮਿਕ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦੀਆਂ ਬੁਨਿਆਦੀ ਸੁਵਿਧਾਵਾਂ ਮੁਹੱਈਆ ਕਰਵਾਈਆਂ। ਇਸ ਵਿੱਚ ਭਾਸ਼ਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਯੰਤਰਾਵਲੀ ਸ਼ਾਮਿਲ ਕੀਤੀ ਗਈ, ਜਿਸਨੇ ਅਜਿਹੇ ਗੁਣਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵਾਸਤੇ ਪ੍ਰੋਗ੍ਰਾਮਰਾਂ ਨੂੰ ਆਗਿਆ ਦਿੱਤੀ। ਜਿਵੇਂ ਕਿ ਲੂਆ ਦਾ ਮੰਤਵ ਜੜੀ ਹੋਈ ਸ਼ਾਖਾ ਭਾਸ਼ਾ ਹੋਣਾ ਸੀ, ਲੂਆ ਦੇ ਡਿਜ਼ਾਈਨ ਕਰਨ ਵਾਲਿਅਾਂ ਨੇ ਇਸਦੀ ਸਪੀਡ, ਸੰਖੇਪਤਾ, ਸ਼ਾਖਾ-ਯੋਗਤਾ, ਅਤੇ ਵਿਕਾਸ ਵਿੱਚ ਅਸਾਨ ਵਰਤੋਂ ਨੂੰ ਸੋਧਣ ਉੱਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕੀਤਾ।

 ਇਤਿਹਾਸ 

ਲੂਆ 1.0 ਦਾ ਡਿਜਾਈਨ ਇਸ ਤਰੀਕੇ ਨਾਲ ਕੀਤਾ ਗਿਆ ਕਿ ਇਸਦੇ ਵਿਸ਼ਾ ਰਚਨਾਕਾਰ ਜੋ ਅੱਜਕੱਲ ਦੇ ਹਲਕੇ ਅਤੇ ਮੁਚਣਯੋਗ ਅੰਦਾਜ਼ ਤੋਂ ਜ਼ਰਾ ਵੱਖਰੇ ਹੁੰਦੇ ਹੋਏ SOL  ਦੀ ਆਂਕੜਾ -ਵਿਵਰਣ ਵਾਕ ਰਚਨਾ ਨਾਲ ਸਹੋਯੋਗੀ ਰਹਿਣ।
ਸੌਰਡਿਡ ਇਤਿਹਾਸ. , ਪਾਰਜ਼ਰਫੰਕਸ਼ਨ (ParserFunctions), ਲੂਆ ਸ਼ਾਖਾ, ਵਿਕੀ ਸਕ੍ਰਿਪਟਿੰਗ ਭਾਸ਼ਾ ਨੇ  (JavaScript v. Lua), mw:Extension:WikiScripts ਮੁਕਾਬਲਾ ਕਰਾਇਆ, ਲੂਆ ਵਾਸਤੇ ਸ਼ੁਰੂਆਤੀ ਸਮਰਥਨ ਨਾਲ ਟਿੱਮ ਸਕਿਰਬੰਟੋ ਲਿਖਦਾ ਹੈ|

ਸਾਲਾਂ ਦੀ ਚਰਚਾ ਤੋਂ ਬਾਦ ਲੂਆ ਨੂੰ test2.wikipedia.org ਉੱਤੇ ਪਰਖਣ ਵਾਸਤੇ 2012 ਵਿੱਚ ਇਨਸਟਾਲ ਕੀਤਾ ਗਿਆ, ਜਿਸ ਵਿੱਚ ਲੂਆ ਮੌਡਿਊਲਾਜ਼ ਨੂੰ ਵਿਕਸਿਤ ਕਰਨ ਵਾਲੇ ਪ੍ਰਯੋਗਾਂ ਲਈ ਸਾਰੇ ਸੰਪਾਦਕਾਂ ਨੂੰ ਖੁੱਲਾ ਸੱਦਾ ਦਿੱਤਾ ਗਿਆ | ਲੂਆ ਫਰਵਰੀ 2013 ਵਿੱਚ ਅੰਗਰੇਜੀ ਵਿਕੀਪੀਡੀਆ ਵਿੱਚ  mediawiki.org ਅਤੇ Wikimedia test wikis ਉੱਤੇ ਪਰਖਣ ਤੋਂ ਬਾਦ ਇਨਸਟਾਲ ਕਰ ਦਿੱਤੀ ਗਈ|

 ਗੁਣ 

ਲੂਆ ਨੂੰ ਸਾਂਝੇ ਤੌਰ ਤੇ ਇੱਕ ਮਲਟੀ-ਮਿਸਾਲ ਭਾਸ਼ਾ ਦੇ ਤੌਰ ਤੇ ਦਰਸਾਇਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਵੱਖਰੇ ਸਮੱਸਿਆ ਰੂਪਾਂ ਵਿੱਚ ਫਿੱਟ ਹੋਣ ਲਈ ਵਧਾਈਆਂ ਜਾ ਸਕਣ ਵਾਲੀਆਂ ਸਰਵ ਸਧਾਰਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਇੱਕ ਛੋਟੇ ਸੈੱਟ ਨੂੰ ਉਪਲਬਧ ਕਰਵਾਉਂਦੀ ਹੈ।

 ਉਦਾਹਰਨ ਕੋਡ 
ਕਲਾਸਿਕ  ''ਹੈਲੋ ਸੰਸਾਰ'' ਪ੍ਰੋਗ੍ਰਾਮ ਨੂੰ ਇਸਤਰਾਂ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ:

ਪਰਿੰਟ("ਹੈਲੋ ਸੰਸਾਰ!")
ਇਸਨੂੰ ਇਸਤਰਾਂ ਵੀ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ
io.write('ਹੈਲੋ ਸੰਸਾਰ!\n')
ਜਾਂ Lua website  ਉੱਤੇ ਦਿੱਤੀ ਉਦਾਹਰਨ ਦੇ ਤੌਰ ਤੇ 
io.write("ਹੈਲੋ ਸੰਸਾਰ, from ", _VERSION, "!\n")

ਟਿੱਪਣੀਆਂ ਹੇਠਾਂ ਲਿਖਿਆ ਸਿਨਟੈਕਸ ਵਰਤਦੇ ਹਨ ਜੋ Ada, Eiffel, Haskell, SQL ਅਤੇ VHDL ਨਾਲ ਮਿਲਦੇ ਜੁਲਦੇ ਹੁੰਦੇ ਹਨ:
-- ਲੂਆ ਵਿੱਚ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਟਿੱਪਣੀ ਇੱਕ ਦੋਹਰੀ-ਹਾਈਫਨ ਨਾਲ਼ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਅਤੇ ਲਾਈਨ ਦੇ ਅਖੀਰ ਤੱਕ ਜਾਂਦੀ ਹੈ

--[[ ਮਲਟੀ ਲਾਈਨ ਸਟਰਿੰਗਜ਼ ਅਤੇ ਟਿੱਪਣੀਆਂ ਨੂੰ ਡਬਲ ਵਰਗ ਬਰੈਕਿਟਾਂ ਵਿੱਚ ਬੰਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ]]

--[=[ ਇਸ ਤਰਾਂ ਦੀਆਂ ਟਿੱਪਣੀਆਂ ਦਾ ਆਹਲਣਾਂ ਜਾਂ ਤਾਂ ਹੋਰ  --[[ਟਿੱਪਣੀਆਂ]] ਵਿੱਚ ਰੱਖਿਆ ਜਾ ਸਕਦਾ ਹੈ ]=]

ਫੈਂਕਟੋਰੀਅਲ ਫੰਕਸ਼ਨ ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ ਇੱਕ ਫੰਕਸ਼ਨ ਦੇ ਤੌਰ ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ:

ਫੰਕਸ਼ਨ ਫੈਂਕਟੋਰੀਅਲ(n)
  ਸਥਾਨਕ  ਐਕਸ = 1
   ਆਈ = 2, ਐੱਨ ਡੂ ਲਈ
    ਐਕਸ = ਐਕਸ * ਆਈ
  ਅੰਤ
  ਐਕਸ ਤੇ ਵਾਪਿਸ ਆ ਜਾਓ
ਅੰਤ

 ਲੂਪ 
 ਫੰਕਸ਼ਨ 
 ਸਾਰਣੀਆਂ 
 ਰਿਕਾਰਡ ਦੇ ਤੋਰ ਤੇ 
ਨੇਮਸਪੇਸਾਂ ਦੇ ਤੌਰ ਤੇ
 ਐਰਏਜ਼ ਦੇ ਤੌਰ ਤੇ
 ਮੈਟਾ-ਸਾਰਣੀਆਂ ਦੇ ਤੌਰ ਤੇ
 ਵਸਤੂ-ਝੁਕਾਓ ਸਬੰਧੀ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ

 ਅੰਦਰੂਨੀ 
 4 C API 
 ਸਟੈਕ
 ਉਦਾਹਰਨ
 ਖਾਸ ਸਾਰਣੀਆਂ
 ਸ਼ਾਖਾਵਾਂ ਅਤੇ ਬੰਧਨ
 ਉਪਯੋਗ
 ਵੀਡੀਓ ਗੇਮਾਂ
 ਹੋਰ
 ਇਹ ਵੀ ਦੇਖੋ 
 ਹਵਾਲੇ 
 ਹੋਰ ਪੜਤਾਂ 
 ਪੁਸਤਕਾਂ 
 ਆਰਟੀਕਲ 
 ਬਾਹਰੀ ਲਿੰਕ
 ਇਤਿਹਾਸ
 ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
 ਉਦਾਹਰਨ ਕੋਡ
 ਲੂਪ 
 ਫੰਕਸ਼ਨ 
 ਸਾਰਣੀਆਂ 
 ਇੱਕ ਰਿਕਾਰਡ ਦੇ ਰੂਪ ਵਿੱਚ 
 ਨੇਮਾਸਪੇਸਾਂ ਦੇ ਰੂਪ ਵਿੱਚ 
 ਐਰਏਜ਼ ਦੇ ਰੂਪ ਵਿੱਚ 
ਮੈਟਾ-ਸਾਰਣੀਆਂ ਦੇ ਰੂਪ ਵਿੱਚ

ਹਵਾਲੇ

ਸ਼੍ਰੇਣੀ:ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ