ഓപ (പ്രോഗ്രാമിംഗ് ഭാഷ)
ശൈലി: | multi-paradigm: functional, imperative |
---|---|
പുറത്തുവന്ന വർഷം: | 2011 |
വികസിപ്പിച്ചത്: | MLstate |
ഏറ്റവും പുതിയ പതിപ്പ്: | 1.1.0 (stable)/ ഫെബ്രുവരി 13, 2013[1] |
ഡാറ്റാടൈപ്പ് ചിട്ട: | static, strong, inferred |
സ്വാധീനിക്കപ്പെട്ടത്: | OCaml, Erlang, JavaScript |
ഓപറേറ്റിങ്ങ് സിസ്റ്റം: | Linux, OS X, Windows |
അനുവാദപത്രം: | MIT License, AGPLv3 |
വെബ് വിലാസം: | opalang |
സ്കേലബിൾ വെബ് ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കുന്നതിനുള്ള ഒരു ഓപ്പൺ സോഴ്സ് പ്രോഗ്രാമിംഗ് ഭാഷയാണ് ഓപ.
ക്ലയന്റ്-സൈഡ്, സെർവർ-സൈഡ് സ്ക്രിപ്റ്റിംഗിനായി ഇത് ഉപയോഗിക്കാം, അവിടെ പൂർണ്ണ പ്രോഗ്രാമുകൾ ഓപയിൽ എഴുതുകയും പിന്നീട് സെർവറിലെ നോഡ്.ജെഎസിലേക്കും ക്ലയന്റിലെ ജാവാസ്ക്രിപ്റ്റിലേക്കും കംപൈൽ ചെയ്യുകയും കംപൈലർ രണ്ടും തമ്മിലുള്ള എല്ലാ ആശയവിനിമയങ്ങളും ഓട്ടോമേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു. ഓപ ശക്തമായതും സ്റ്റാറ്റിക് ടൈപ്പിംഗും നടപ്പിലാക്കുന്നു, ഇത് എസ്.ക്യു.എൽ. ഇഞ്ചക്ഷൻ, ക്രോസ് സൈറ്റ് സ്ക്രിപ്റ്റിംഗ് ആക്രമണങ്ങൾ എന്നിവ പോലുള്ള സുരക്ഷാ പ്രശ്നങ്ങളിൽ നിന്ന് പരിരക്ഷിക്കുന്നതിന് സഹായകമാകും.
2010 ൽ ഒഡബ്ല്യൂഎഎസ്പി(OWASP) കോൺഫറൻസിലാണ് ഈ ഭാഷ ആദ്യമായി അവതരിപ്പിച്ചത്, [2]സോഴ്സ് കോഡ് 2011 ജൂണിൽ ഗിറ്റ്ഹബിൽ [3] ഒരു ഗ്നു അഫെറോ ജനറൽ പബ്ലിക് ലൈസൻസിന് കീഴിൽ പുറത്തിറക്കി. പിന്നീട്, ലൈസൻസ് ഫ്രെയിംവർക്ക് പാർട്ടിനായുള്ള (ലൈബ്രറി) എംഐടി ലൈസൻസിലേക്കും കംപൈലറിനായുള്ള എജിപിഎലിലേക്കും മാറ്റി, അങ്ങനെ ഓപയിൽ എഴുതിയ അപേക്ഷകൾ ഏതെങ്കിലും ലൈസൻസ്, പ്രൊപ്രൈറ്ററി അല്ലെങ്കിൽ ഓപ്പൺ സോഴ്സ് പ്രകാരം പുറത്തിറക്കാൻ കഴിയും.
രൂപകൽപ്പനയും സവിശേഷതകളും
[തിരുത്തുക]ഒപയിൽ ഒരു വെബ് സെർവർ, ഒരു ഡാറ്റാബേസ്, വിതരണം ചെയ്ത എക്സിക്യൂഷൻ എഞ്ചിൻ എന്നിവ അടങ്ങിയിരിക്കുന്നു. [4] ഓപയിൽ എഴുതിയ കോഡ് സെർവർ ഭാഗത്തുള്ള നോഡ്.ജെഎസ് ഉപയോഗിച്ച് ജാവാസ്ക്രിപ്റ്റിലേക്കും ക്ലയന്റ് ഭാഗത്ത് ക്രോസ് ബ്രൗസർ അനുയോജ്യതയ്ക്കായി ജെക്വറി (jQuery) ഉപയോഗിച്ച് ജാവാസ്ക്രിപ്റ്റിലേക്കും സമാഹരിച്ചിരിക്കുന്നു. ചില റിച്ച് ഇന്റർനെറ്റ് ആപ്ലിക്കേഷൻ (ആർഐഎ) പ്ലാറ്റ്ഫോമുകളുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ സമീപനത്തിന്റെ പ്രയോജനം ഉപയോക്താക്കൾ അവരുടെ ബ്രൗസറിൽ ഒരു പ്ലഗിൻ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതില്ല എന്നതാണ്. [5]വെബ് ഫ്രെയിംവർക്കുകളുമായി ഓപ പ്രചോദനങ്ങൾ പങ്കിടുന്നു, പക്ഷേ മറ്റൊരു സമീപനം സ്വീകരിക്കുന്നു.[6] എസ്ക്യുഎൽ കുത്തിവയ്പ്പുകൾ അല്ലെങ്കിൽ ക്രോസ്-സൈറ്റ് സ്ക്രിപ്റ്റിംഗ് (എക്സ്എസ്എസ്) ആക്രമണങ്ങൾ പോലുള്ള നിരവധി സുരക്ഷാ പ്രശ്നങ്ങൾ ഒഴിവാക്കാൻ ഇത് ഒപയെ സഹായിക്കുന്നുവെന്ന് അതിന്റെ ഡിസൈനർമാർ വാദിക്കുന്നു. .[7]
പ്രധാന ഭാഷ പ്രവർത്തനക്ഷമമാണ്, ഒപ്പം തരം അനുമാനത്തോടുകൂടിയ ഒരു സ്റ്റാറ്റിക് തരം സംവിധാനവുമുണ്ട്. എർലാംഗ് പ്രോസസ്സുകൾക്ക് സമാനമായ ഒരു അനിവാര്യ അവസ്ഥയെ ഉൾക്കൊള്ളുന്നതും സന്ദേശ കൈമാറ്റം ഉപയോഗിച്ച് ആശയവിനിമയം നടത്തുന്നതുമായ സെഷനുകളും ഒപ നൽകുന്നു. ഫസ്റ്റ്-ക്ലാസ് ഒബ്ജക്റ്റുകളായി വെബ് വികസനത്തിൽ സാധാരണ കാണുന്ന നിരവധി ഘടനകളും പ്രവർത്തനങ്ങളും ഓപ നൽകുന്നു, ഉദാഹരണത്തിന് എച്.ടി.എം.എൽ (HTML) [8] പാഴ്സിംഗ് എക്സ്പ്രഷൻ വ്യാകരണങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ള പാഴ്സറുകൾ. ഭാഷയും വെബ്-അനുബന്ധ ആശയങ്ങളും തമ്മിലുള്ള ഈ അഡിഷൻ കാരണം, വെബ് ഇതര ആപ്ലിക്കേഷനുകൾക്കായി ഓപ ഉദ്ദേശിച്ചുള്ളതല്ല (ഉദാഹരണത്തിന് ഡെസ്ക്ടോപ്പ് ആപ്ലിക്കേഷനുകൾ). [9]
ഒബ്ജക്റ്റ്-റിലേഷണൽ മാപ്പിംഗിന് സമാനമായ നോൺ-റിലേഷണൽ, ഡോക്യുമെന്റ്-ഓറിയന്റഡ് ഡാറ്റാബേസ് മോംഗോഡിബിക്കായി [10][11][12] ഡാറ്റാബേസ് മാപ്പിംഗ് സാങ്കേതികവിദ്യ 2012 ഫെബ്രുവരിയിൽ 0.9.0 പുറത്തിറക്കി. 2013 ഫെബ്രുവരിയിലെ 1.1.0 പതിപ്പ് പോസ്റ്റ്ഗ്രെസ്ക്യുഎല്ലിനുള്ള പിന്തുണയും ചേർത്തു, ഇത് നിരവധി എസ്ക്യുഎൽ ഡാറ്റാബേസുകളുടെ പിന്തുണയ്ക്ക് വഴിയൊരുക്കി.
അവലംബം
[തിരുത്തുക]- ↑ http://blog.opalang.org/2013/02/some-great-news-on-opa.html
- ↑ "OPA: Language Support for a Sane, Safe and Secure Web, at OWASP 2010". OWASP. June 2010.
- ↑ "GitHub repository".
- ↑ "Opa – The Scalable Open Source Cloud Language". WebAppers. 22 July 2011.
- ↑ "Interview: François-Régis Sinot on Opa, a Web Development Platform". InfoQ. 7 September 2011.
- ↑ Neil McAllister (8 September 2011). "Introducing Opa, a Web dev language to rule them all". InfoWorld.
- ↑ "InfoWorld review: Tools for rapid Web development". InfoWorld. 12 May 2010.
- ↑ Koprowski, Binsztok (2011). "TRX: A Formally Verified Parser Interpreter". Logical Methods in Computer Science.
- ↑ "Opa, un nouveau langage pour le développement d'applications Web" (in French). LinuxFr. 22 June 2011.
{{cite web}}
: CS1 maint: unrecognized language (link) - ↑ "Hello, database". Opa Documentation. Archived from the original on 2014-01-12. Retrieved 2012-02-22.
- ↑ "Low-level MongoDB support". Opa Documentation. Archived from the original on 2014-01-12. Retrieved 2012-02-22.
- ↑ "Programming Opa: Web development, reimagined". Computerworld. 1 February 2012. Archived from the original on 2016-10-02. Retrieved 2019-10-30.