കോബ്ര (പ്രോഗ്രാമിങ് ഭാഷ)

പ്രോഗ്രാമിങ് ഭാഷ

കോബ്ര ഒരു പൊതു-ഉപയോഗ, ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാമിങ് ഭാഷയാണ്. [1] ചാൾസ് എസ്റ്റേർബ്രോക്ക് ആണ് കോബ്രയെ രൂപപ്പെടുത്തിയത്. മൈക്രോസോഫ്റ്റിന്റെ ഡോട്ട്നെറ്റ്, മോണോ പ്ലാറ്റ്ഫോമുകളിൽ പ്രവർത്തിക്കുന്നു. പൈത്തൺ, സി#, ഈഫൽ, ഒബ്ജക്റ്റീവ്-സി, കൂടാതെ മറ്റു പ്രോഗ്രാമിങ് ഭാഷകളിലും ഇത് ശക്തമായി സ്വാധീനം ചെലുത്തുന്നുണ്ട്.[2][3] ഇത് സ്റ്റാറ്റിക്, ഡൈനാമിക് ടൈപ്പിംഗിനെ പിന്തുണയ്ക്കുന്നു. [4][5] യൂണിറ്റ് ടെസ്റ്റുകളും കരാറുകളും ഇതിന് പിന്തുണയുണ്ട്.[4] ലാംഡാ എക്സ്പ്രഷനുകൾ, ക്ലോസ്സേഴ്സ്, ലിസ്റ്റ് കോമ്പ്രിഹീനുകൾ, ജനറേറ്ററുകൾ എന്നിവയുണ്ട്. [6]

കോബ്ര
ശൈലി:Multi-paradigm: object-oriented
പുറത്തുവന്ന വർഷം:2006; 18 years ago (2006)
രൂപകൽപ്പന ചെയ്തത്:Charles Esterbrook
വികസിപ്പിച്ചത്:Cobra Language LLC
ഏറ്റവും പുതിയ പതിപ്പ്:0.9.6/ ഡിസംബർ 23, 2013; 10 വർഷങ്ങൾക്ക് മുമ്പ് (2013-12-23)
ഡാറ്റാടൈപ്പ് ചിട്ട:strong, static, dynamic, inferred
സ്വാധീനിക്കപ്പെട്ടത്:Python, Eiffel, C#, Objective-C
ഓപറേറ്റിങ്ങ് സിസ്റ്റം:Microsoft .NET, Mono
അനുവാദപത്രം:MIT
വെബ് വിലാസം:cobra-language.com

കോബ്ര, തുറന്ന ഉറവിട (open source) പദ്ധതിയാണ്; 2008 ഫെബ്രുവരി 29 ന് എംഐടി ലൈസൻസിനു കീഴിൽ പുറത്തിറങ്ങി.

സവിശേഷതകൾ തിരുത്തുക

ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് തിരുത്തുക

  • നാമമേഖലകൾ(Namespaces)
  • ക്ലാസുകൾ, ഇൻറർഫേസുകൾ, സ്ട്രറ്റുകൾ(structs), എക്സ്റ്റൻഷനുകൾ, സംഖ്യകൾ
  • രീതികൾ, പ്രോപ്പർട്ടികൾ, ഇൻഡെക്സറുകൾ
  • മിക്സിൻസ്(Mixins), വിപുലീകരണ രീതികൾ
  • ജനറിക്സ്, ആട്രിബ്യൂട്ടുകൾ

ഗുണനിലവാര നിയന്ത്രണം തിരുത്തുക

  • കരാറുകൾ, പ്രസ്താവനകൾ
  • യൂണിറ്റ് പരിശോധനകൾ, ഡോക്രോസ്ട്രിംഗ്
  • കംപൈൽ സമയം നിൽ-ട്രാക്കിംഗ്

വ്യജ്ഞകത്വം തിരുത്തുക

  • സ്റ്റാറ്റിക്, ഡൈനാമിക് ബൈൻഡിംഗ്
  • പട്ടിക, നിഘണ്ടു, ലിറ്ററൽസ് സജ്ജമാക്കുക
  • inഉംimpliesഓപ്പറേറ്ററുകൾ
  • for എക്സപ്രഷനുകൾ
  • സ്ലൈസിംഗ്
  • ഇന്റർപ്ലേറ്റഡ് സ്ട്രിങ്ങുകൾ
  • കംപൈൽ-ടൈം തര അനുപാതം
  • ലാമ്പ്ഡാസും ക്ലോസ്സേഴ്സും

പൊതു ഉത്പാദനക്ഷമത തിരുത്തുക

  • ഒഴിവാക്കൽ കൈകാര്യം ചെയ്യൽ
  • പോസ്റ്റ്മോർട്ടത്തിലെ ഒഴിവാക്കൽ റിപ്പോർട്ട്
  • ഗാർബ്ബേജ് ശേഖരണം

സ്ക്രിപ്റ്റിംഗ് സൗകര്യങ്ങൾ തിരുത്തുക

  • വൃത്തിയുള്ള വാക്യഘടന
  • ചലനാത്മക ബൈൻഡിംഗ്
  • ഒറ്റ-ഘട്ട മാർഗ്ഗം
  • ഷെബാംഗ് ലൈൻ (#!)

പലവകൾ തിരുത്തുക

  • ഡോക്യുമെന്റേഷൻ ടൂൾ (cobra-doc)
  • സിന്റാക്സ് ഹൈലൈറ്റിങ് ടൂൾ (cobra-highlight)

ഉദാഹരണങ്ങൾ തിരുത്തുക

താഴെക്കൊടുത്തിരിക്കുന്ന ഉദാഹരണങ്ങൾ ഒരു ഫയലിൽ നിന്നും cobra <filename> ഉപയോഗിച്ച് പ്രവർത്തിപ്പിക്കാം.

ഹലോ വേൾഡ് തിരുത്തുക

class Hello
    def main
        print 'Hello World'

ഒരു ലളിതമായ ക്ലാസ് തിരുത്തുക

class Person

    var _name as String
    var _age as int

    cue init(name as String, age as int)
        _name, _age = name, age

    def toString as String is override
        return 'My name is [_name] and I am [_age] years old'

ബാഹ്യ ലിങ്കുകൾ തിരുത്തുക

അവലംബം തിരുത്തുക

  1. "The Cobra Programming Language". Cobra Language LLC. Retrieved 2012-09-26.
  2. Charles Esterbrook. Lang.NET Symposium 2008 – The Cobra Programming Language (wmv). Microsoft. Retrieved on 2010-08-31. Archived 2009-03-26 at the Wayback Machine. "ആർക്കൈവ് പകർപ്പ്". Archived from the original on 2009-03-26. Retrieved 2021-08-12.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  3. Bridgwater, Adrian (5 March 2008). "Cobra takes a bite at open source". ZDNet UK. Retrieved 2010-08-31.
  4. 4.0 4.1 Neward, Ted (June 2009). "Reaping the Benefits of Cobra". MSDN Magazine.
  5. Erickson, Jonathan (April 2008). "Was George Costanza a Computer Programmer?". Dr. Dobb's Journal.
  6. Morris, Richard (April 2010). "Chuck Esterbrook: Geek of the Week". simple-talk.