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

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

കോബ്ര, തുറന്ന ഉറവിട (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'
ബാഹ്യ ലിങ്കുകൾ

 The Cobra blog by Charles Esterbrook
 Cobra News Index 

Category:.NET programming languages
Category:Object-oriented programming languages
Category:Programming languages created in 2006
Category:Software using the MIT license

അവലംബം