ജെനി (പ്രോഗ്രാമിങ് ഭാഷ)

2008 മുതൽ സജീവമായ ഒരു ആധുനിക, പൊതു-ആവശ്യകത ഉന്നതതല പ്രോഗ്രാമിങ് ഭാഷയാണ് ജെനി.https://dbpedia.org/page/Genie_(programming_language) വല കമ്പൈലർക്കായി ബദലായി, ലളിതവും, ക്ലീനുമായ ഭാഷയായി രൂപകൽപ്പന ചെയ്തിരുന്നു, അതേ സമയം വല ഭാഷയുടെ അതേ പ്രവർത്തനത്തെ സംരക്ഷിക്കുകയും ചെയ്തു. ജെനി വല (Vala) യുടെ അതേ കമ്പൈലറും ലൈബ്രറികളും ആണ് ഉപയോഗിക്കുന്നത്; ഇവ രണ്ടും പരസ്പരം യോജിച്ച് ഉപയോഗിക്കാം.Using Genie and Vala togetherവാക്യഘടനയിൽ മാത്രമാണ് വ്യത്യാസങ്ങൾ ഉള്ളത്.

പൈത്തൺ, ബൂ, ഡി, ഡെൽഫി തുടങ്ങിയ ആധുനിക ഭാഷകളിൽ നിന്നാണ് ജെനീസിന്റെ വാക്യഘടന രൂപപ്പെടുന്നത്. പൈത്തണിന്റെ പോലെ  ബ്ലോക്കുകൾ ഡിലിമിറ്റ് ചെയ്യുന്നതിനായി ജെനി വളഞ്ഞ ബ്രാക്കറ്റുകളേക്കാൾ ഇൻഡെൻഷൻ ഉപയോഗിക്കുന്നു.

വലയെപ്പോലെ, ജെനിയുടെ സോഴ്സ് കോഡിൽ പ്രഖ്യാപിച്ചിട്ടുള്ള ക്ലാസുകളും ഇന്റർഫേസുകളും സൃഷ്ടിക്കാൻ ജിനീസ് ഉപയോഗിക്കുന്നത് അധിക റൺടൈം ആവശ്യകതകളില്ലാതെ (അതായത്, പൈത്തൺ, ജാവ അല്ലെങ്കിൽ സി# എന്നിവയിൽ നിന്ന് വ്യത്യസ്തമായി ഒരു വെർച്ച്വൽ മെഷീൻ ആവശ്യമില്ല).

വ്യത്യസ്ത ലൈബ്രറികൾ ബൈനറി ഇൻറർഫേസ് (ABI) ഉപയോഗിക്കാതെ തന്നെ സി ലൈബ്രറികൾ, പ്രത്യേകിച്ച് ജിഒബജക്ട്(GObject) (GTK+ പോലുള്ളവ) അടിസ്ഥാനമാക്കിയുള്ളവ അനുവദിക്കുന്നു.

കംപൈലിംഗ് വേളയിൽ, കോഡ് ആദ്യം സി സ്രോതസ്സും ഹെഡർ ഫയലുകളും, ഇവ ജിസിസി പോലുള്ള ലഭ്യമായ സി കമ്പൈലർ ഉപയോഗിച്ച് പ്ലാറ്റ്ഫോം നിർദ്ദിഷ്ട മെഷീൻ കോഡ് തയ്യാറാക്കി, ക്രോസ് പ്ലാറ്റ്ഫോം സോഫ്റ്റ്‌വേർ വികസിപ്പിക്കൽ അനുവദിക്കുന്നു.

വലയും ജെനിയും ഗ്നോം വികസിപ്പിക്കുകയും പ്രോത്സാഹിപ്പിക്കുകയും ചെയ്യുന്നുവെങ്കിലും, വലയിലും ജെനിയിലും വികസിപ്പിച്ച പ്രോഗ്രാമുകൾ ഗ്നോം ഡസ്ക്ടോപ്പ് എൻവയണ്മെന്റിനെ ആശ്രയിക്കുന്നില്ല, സാധാരണയായി  ജിലിബ്(GLIB) ആവശ്യമാണ്.
കോഡ് സാമ്പിളുകൾ
"ഹലോ വേൾഡ്"
ഈ മാതൃക ഇൻഡന്ററിനുള്ള നാല് സ്പേസുകൾ ഉപയോഗിക്കും.
[indent=4]

init
    print "Hello, world!"
ഒബജക്ട്
സ്പഷ്ടമായ ഇൻഡന്റേഷൻ പ്രഖ്യാപനം ഇല്ലാതെ, സ്ഥിരസ്ഥിതി ടാബുകളാണ് ഉള്ളത്.
class Sample

	def run()
		stdout.printf("Hello, world!\n")

init
	var sample = new Sample()
	sample.run()
 പുറംകണ്ണികൾ 


 Using the Genie programming language under Puppy Linux 
 Puppy Linux: Vala and Genie Programming 
 API Documentation

Category:2008 software
Category:Cross-platform free software
Category:GTK+ language bindings
Category:High-level programming languages
Category:Object-oriented programming languages
Category:Programming languages created in 2008
Category:Software using the LGPL license
Category:Statically typed programming languages

അവലംബം