Page 1 of 1

Cobra is the best language I have ever known but why inactiv

PostPosted: Sat Mar 04, 2017 7:55 pm
by nexialist
Cobra is the best language I have ever known but why inactive now? I am so sad its community has not grown so large and it development has been inactive. Something must be done to save it. This is the language I have been looking for!

Re: Cobra is the best language I have ever known but why ina

PostPosted: Tue Mar 07, 2017 11:57 am
by Charles
I think the most essential problem is that people on .NET won't typically stick with a non-Microsoft language and people who are not already on .NET will not typically use it. So many times I've been told that "Cobra looks great; too bad it's on .NET"

I'm seriously looking into rebooting Cobra as a native language. But it will be months before I have something to report (think "this fall"). In the mean time, the current Cobra for .NET cannot go away because it is open source. You are free to always use it.

Thank you for your interest.

Re: Cobra is the best language I have ever known but why ina

PostPosted: Sun Oct 22, 2017 7:08 am
by MarkusSchmitz
Hi Charles,

I am a bit of a language nerd and just found out about Cobra. I have to say the combination of super readable python syntax combined with static types and Eiffel like contracts and built-in unit tests is fantastic. I have to repeat myself here: fantastic!!!

As a consequence I am very sad to see, that the project did not pick up. I am pretty sure you had your own thoughts, what can be done about it, but for what it is worth here are mine.

When designing Cobra you cleverly learned from the best languages around and you created a perfect blend of features. Now the language needs to repeat the same and see why these features are a success (over and above their core features):

1. Large Eco System (Java, .Net, Python)
2. Basis for high efficient web framework (Ruby on Rails, Django for Python) or basis for mobile development (Java, Kotlin, Swift)
3. Good IDE support (Java, .Net, Kotlin)
4. Unique value proposition (ie concurrency in Erlang)
5. Large community

Actually Cobra is not far off here:
1. Being based on .Net you have the Eco System of libraries etc.
2. Potentially being compatible to Xamarin you could be the basis for cross platform mobile development
3. You seem to have syntax coloring in several editors/IDE, but miss code completion (essential) and refactoring support (not essential)
4. You shine here
5. Big issue and hard to fix

Now my recommendation would be to:
1. Eco System: Stay on .Net at all costs (as it gives you the Eco System), only alternative would be too move to Java VM, but in the end you only would be where you are already today. Going native means abandoning your eco system.
2. Mobile Dev: Make sure you are 100% Xamarin compatible and add documentation and howto use Cobra with Xamarin. There is a forum entry here with someone asking about Xamarin and the answer is "most likely should work". That is not good enough.
3. IDE Support: Focus on one IDE (Monodevelop or VisualStudio) and get code completion working
4. Features: If you ask me, you are good here. The only thing missing for me are some performance benchmarks, compared to loose statements "is based on .Net, so should be fast".
5. Community: Go "git hub" for the source, use "Stack overflow" as support forum, update the web site, make a release (even a minor service release) etc

I run a small software company, but we do not have the compiler/language skill set to really contribute to the development efforts, but if I would have the impression that Cobra is alive and compatible to Xamarin, then I would adopt it for our next mobile up any time.

Regards

Markus

Re: Cobra is the best language I have ever known but why ina

PostPosted: Mon Oct 23, 2017 10:29 pm
by MarkusSchmitz
Had a quick look at the Xamarin topic for Cobra.

While C# and F# are obviously the primary language for Xamarin, it should be possible to write Xamarin Forms applications in Cobra with the limitation, that the UI can not be defined in XML, but needs to be defined in code.

Assuming Intellisense and some decent examples, that should easily be possible.

Maybe worthwhile exploring ...

Re: Cobra is the best language I have ever known but why ina

PostPosted: Wed Oct 25, 2017 11:16 am
by Charles
Thanks Markus.

The native approach has more ecosystem than you might imagine. First, numerous libraries support SWIG (http://www.swig.org/), so if a language supports that then you immediately have GUIs, gaming libs and more. Also, it should be possible to build a run-time Python<-->Cobra bridge which would then give you access to the entire Python ecosystem.

But aside from our musings, I find it difficult to go back to dedicating nights and weekends to Cobra with a very real possibility that it doesn't take off (I already did that). I would love to work on it as my day job, though. :-)

Re: Cobra is the best language I have ever known but why ina

PostPosted: Sun Nov 05, 2017 1:49 pm
by carlosqt
Why not making cobra more like Peachpie https://www.peachpie.io (PHP for .NET)?
The people behind it is making business because they came with the idea of porting PHP to .NET for better performance. Initially they created Phalanger, and years later, with their experience, they re-did it from scratch using the Roslyn .NET Compiler Platform.
They can make Wordpress run on .NET using their PHP compiler and it fascinates everybody. Why not making Cobra compile python "popular" apps to .NET Framework/Core? although maybe this is already possible with IronPython. Does anyone knows the current status of IP 3.0?

Targeting the JVM? I don't think that's a good idea. There are so many languages already, just look at this infographic: https://jaxenter.com/pirates-of-the-jvm-the-infographic-132524.html . Nope, definitely not a good idea.

Cobra Native? kind of Scala Native and Kotlin Native?

Why don't you join the @RemObjects company and sell Cobra to them so they can add Cobra as their 5th language to their Elements suite (Oxygene, C#, Swift and Java), they could easily make it target .NET, Java/Android, or Cocoa frameworks/ecosystems. http://www.elementscompiler.com/elements/default.aspx :)

regards,
carlosqt