Cobra
Cobra is a generally purpose and object oriented programming language built on the back of Python.
- Comes with a document generator, compiler, and exception reporter
- Supports both dynamic and static binding
- Makes use of Eiffel-style contracts
- Combines some of the best aspects of OO languages into one package
- Very similar in syntax to C# and Python
- Very strong debugging functions
- Has a much lower install base than more popular OO languages
- Might not do enough to distinguish itself from its competitors
There's no lack of programming languages on the market today, and it can be a frankly overwhelming notion for new coders trying to figure out exactly where to start. But once you begin to learn the underlying principles of coding languages and recognize that the inherent differences between many languages are largely syntactic, the versatility of such a large ecosystem becomes apparent. Many modern coders don't specialize in one language but rather treat a whole suite of programming languages as components in their tool belt. For programmers experienced in the ins and outs of Python, Cobra can serve as a valuable new addition to their arsenal, offering a minimal learning curve while bringing some unique specializations and functions to the experience. As an object oriented programming language, the influence of more popular languages like Python and C# is apparent. That means it's easy to pick up for individuals well versed in object oriented theory. Cobra's developer realized that while there are multiple object oriented languages on the market, they all offer their own strengths and weaknesses. Cobra is designed to offer static contracts, static and dynamic binding, and a simple and intuitive coding experience without sacrificing run time in the process. Cobra most closely resembles Python and Ruby in execution, but it also makes use of static typing, so you never have to worry about variables changing across your scripts and programs. It also makes use of .NET/Mono to facilitate the use of machine code generation. One of the main goals of Cobra is to reduce the presence of bugs in programming, saving coders a lot of tedious time and effort that comes from having to debug their code and identify and address problems. It does this in large part by stripping out a lot of the eccentricities in the Python language base. The addition of contracts, most commonly used in the Eiffel language, allow you to set parameters for your project that reduce the risk of unexpected bugs and errors, and unit tests can be embedded directly into the code. That way, error checks will be performed whenever you run the code rather than having to make it a separate process. This saves time by identifying problems as soon as they appear and ensuring that they don't compound, creating a whole broken chain of command and necessitating digging for a needle in the haystack. A documentation component encourages the use of formatting and common etiquette in the language, a necessity for coders working as a part of a team or coders who know others will be working with their legacy code in the future. One of the best aspects of Cobra is how easy it is to pick up for experienced programmers. Since it so closely resembles C# and Python, converting existing code to Cobra is often as simple as removing a few brackets, and experienced object oriented programmers can pick up the language in record time.