ജെനി (പ്രോഗ്രാമിങ് ഭാഷ)
ശൈലി: | multi-paradigm: imperative, structured, object-oriented |
---|---|
പുറത്തുവന്ന വർഷം: | 2008 |
രൂപകൽപ്പന ചെയ്തത്: | Jamie McCracken |
വികസിപ്പിച്ചത്: | GNOME Project |
ഏറ്റവും പുതിയ പതിപ്പ്: | 0.38.8/ ഫെബ്രുവരി 15, 2018 |
ഡാറ്റാടൈപ്പ് ചിട്ട: | static, strong |
സ്വാധീനിക്കപ്പെട്ടത്: | Python, Boo, D, Object Pascal |
ഓപറേറ്റിങ്ങ് സിസ്റ്റം: | Cross-platform (every platform supported by GLib) |
അനുവാദപത്രം: | LGPL 2.1+ |
വെബ് വിലാസം: | wiki |
2008 മുതൽ സജീവമായ ഒരു ആധുനിക, പൊതു-ആവശ്യകത ഉന്നതതല പ്രോഗ്രാമിങ് ഭാഷയാണ് ജെനി.[1] വല കമ്പൈലർക്കായി ബദലായി, ലളിതവും, ക്ലീനുമായ ഭാഷയായി രൂപകൽപ്പന ചെയ്തിരുന്നു, അതേ സമയം വല ഭാഷയുടെ അതേ പ്രവർത്തനത്തെ സംരക്ഷിക്കുകയും ചെയ്തു. ജെനി വല (Vala) യുടെ അതേ കമ്പൈലറും ലൈബ്രറികളും ആണ് ഉപയോഗിക്കുന്നത്; ഇവ രണ്ടും പരസ്പരം യോജിച്ച് ഉപയോഗിക്കാം.[2]വാക്യഘടനയിൽ മാത്രമാണ് വ്യത്യാസങ്ങൾ ഉള്ളത്.
പൈത്തൺ, ബൂ, ഡി, ഡെൽഫി തുടങ്ങിയ ആധുനിക ഭാഷകളിൽ നിന്നാണ് ജെനീസിന്റെ വാക്യഘടന രൂപപ്പെടുന്നത്. പൈത്തണിന്റെ പോലെ ബ്ലോക്കുകൾ ഡിലിമിറ്റ് ചെയ്യുന്നതിനായി ജെനി വളഞ്ഞ ബ്രാക്കറ്റുകളേക്കാൾ ഇൻഡെൻഷൻ ഉപയോഗിക്കുന്നു.
വലയെപ്പോലെ, ജെനിയുടെ സോഴ്സ് കോഡിൽ പ്രഖ്യാപിച്ചിട്ടുള്ള ക്ലാസുകളും ഇന്റർഫേസുകളും സൃഷ്ടിക്കാൻ ജിനീസ് ഉപയോഗിക്കുന്നത് അധിക റൺടൈം ആവശ്യകതകളില്ലാതെ (അതായത്, പൈത്തൺ, ജാവ അല്ലെങ്കിൽ സി# എന്നിവയിൽ നിന്ന് വ്യത്യസ്തമായി ഒരു വെർച്ച്വൽ മെഷീൻ ആവശ്യമില്ല).
വ്യത്യസ്ത ലൈബ്രറികൾ ബൈനറി ഇൻറർഫേസ് (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()
പുറംകണ്ണികൾ
[തിരുത്തുക]- ഔദ്യോഗിക വെബ്സൈറ്റ്
- Barry Kauler's page on Genie at the Wayback Machine (archived 2010-02-17)
- Using the Genie programming language under Puppy Linux Archived 2018-11-24 at the Wayback Machine.
- Puppy Linux: Vala and Genie Programming Archived 2018-11-24 at the Wayback Machine.
- API Documentation