Forums

Linq

General discussion about Cobra. Releases and general news will also be posted here.
Feel free to ask questions or just say "Hello".

Linq

Postby K. Houwen » Fri Oct 15, 2010 3:52 pm

First of all, congrats with this great language. Keep up the good work.

I'm looking at Cobra to use for some client work. In the recent projects I regulary use Linq, but can't find any documentation about using Linq in Cobra. Can Linq be used in Cobra? If so, where can I find some examples?

Also, are their already people using Cobra in real world projects (contracting, client apps ...)?
K. Houwen
 
Posts: 12

Re: Linq

Postby Charles » Sat Oct 16, 2010 4:48 pm

Thanks.

We don't currently have true LINQ in Cobra, although we have some analogous features such as "for expressions" that allow projection and filtering:
billable = for cust in customers where cust.balance > 0
names = for cust in customers get cust.name
billableName = for cust in customers where cust.balance > 0 get cust.name

These "for expressions" differ from LINQ in that they execute immediately and also are not available in an intermediate form to be translated to SQL, for example.

Among Cobra users, LINQ demand has been fairly low and, of course, prior to VS2008 the entire .NET community was working without LINQ. I haven't decided how high of a priority it is. I'm open to discussion and debate on the subject. If you have examples or stories you want to present, feel free.

On a related note, there are "any" and "all" operators that take anything enumerable and return "true" or "false".

I hope we have enough compelling features to interest you in taking a crack at using Cobra as it is right now. If so, I'm interested in your feedback.

Regarding real world projects, I have used Cobra on some of my contracting and I know another dev who created a game with it, although it's not clear to me if he'll be selling it or not. I think our small community's growth is at least partially hindered by:

-- Lack of Visual Studio integration. VS is very popular in the .NET world, of course.

-- Lack of non-.NET back-end. Some people don't want to be on .NET or even Mono and offering another back-end would attract a broader audience.

These are big tasks though, and I'm usually too busy with the main Cobra effort and earning a living to tackle them.

I'll be cutting a release soon which always bring another wave of users. I always hope for more volunteers out of that as Cobra is a pure open source project.

What op sys and tools would you be using Cobra with in your client work?

How did you hear about Cobra?
Charles
 
Posts: 2515
Location: Los Angeles, CA

Re: Linq

Postby K. Houwen » Sun Oct 17, 2010 1:37 am

To be honest, the only fact I'm using linq today is for it's sugar syntax to browse collections with objects in it. Having "for expressions" will do for me at the moment.

Why I'm looking at Cobra (and other languages like Boo, Python, Ruby ..) for my business?
I'm a solo developer doing mostly web & desktop applications on demand for small businesses. Working with small businesses is fun, but you have to work with low budgets and tight deadlines. For this I want to replace my C# with a more "script-alike" language to work faster so I can deliver more within the same budgets & deadlines. Looking at Ruby and Python their were 2 things that concerned me, I couldn't use my existing toolset (IronPython/IronRuby can help me with this one) and I still have to do desktop apps regularly, mostly because the need for speed a web-app can't deliver (maybe Python could help here, but I'm not convinced, so I can't sell it to my customers). For the moment I'm playing with Boo, wich I know because of the Brail view-engine, and Cobra I found on the www, looking for alternatives to Boo.

What os & tools?
Myself, I'm working on OSX. I have customers on OSX and MS Windows. My current webserver is a Server2008/IIS7.5 to deploy the webapps. My current toolset is C# on Mono/.NET, Castle stack, NHibernate, MySql, Gtk# (recently started with it) and some other open en closed sourced libs. The big advantage is I can use this toolset for the web and on the desktop, even on all major operating systems using Mono, without me to have worry about performance.
I'm mostly use VS2010 on a vm, but also Monodevelop to do cross-platform development. To play with Cobra, I'm using MacVim with the command line (As a former Ubuntu user, this feels like coming home ;-) )

What I like about Cobra is I haven't to type a lot op [] and {} , but also the fact that I can write the unit tests in the classes/methods. Hopefully, this and the fact I can't rely on an IDE will force me to write more in the TDD way. My concerns are the lack of documentation and the small community. Will the language still be around next year? Will I find support fast when things go wrong? But on the other side, only by using it and show it to the world, we can grow the community :-)
K. Houwen
 
Posts: 12

Re: Linq

Postby Charles » Sun Oct 17, 2010 12:52 pm

I'm also on Mac OS X and run Windows in a VM. One of my clients has all Windows servers, but for my other clients, I use Linux, Apache and MySQL.

Thanks for the informative reply. The question "will it still be here next year?" gets asked every year. :-) Cobra will definitely be around next year because it's open source and I'm committed to keeping it going.

For docs, take a look at the wiki and let us know what things you found lacking, whether it's a specific page or something more subtle like the approach. Also, feel free to edit the wiki as you learn things and to ask further questions here in the forums.
Charles
 
Posts: 2515
Location: Los Angeles, CA

Re: Linq

Postby K. Houwen » Sun Oct 17, 2010 1:32 pm

You also do webapps? If so, what framework are you using on LAMP?
Myself I recently started to use Castle Monorail. Today I've spend a couple of hours to translate my Castle Monorail "template" to Cobra ( I'm almost getting their :-) ), using the info I've found on the wiki. I find the code examples very useful, but I think this isn't easy for people with no prior (or less) development experience. When I can free some time and get Cobra to know better, maybe I start a blog or do some screencasts (but my English isn't that good :-( ) introducing the basic programming techniques with Cobra. Seems like I already have plans for the next holiday ;-)

May I ask how you setup your environment on MacOSX to develop apps with Cobra?
K. Houwen
 
Posts: 12

Re: Linq

Postby Charles » Sun Oct 17, 2010 6:17 pm

Sorry, but so far my web apps have been either C#+ASP.NET+MVC, or Python+Webware, or canned apps like phpBB and Trac. On occasion, I have taken a crack at making a web framework for Cobra, but I never have time to get very far. The lack of time is in part due to committing some time to other things which I'll get to in a minute.

I know at least one person was using Cobra with Castle, ActiveRecord et al, so it's certainly possible. Also, in other language communities like Ruby and Python, the web framework author and the language author are two separate people as both are big projects. Hint, hint, people.

So on Mac, I use Novell Mono 2.6.7 or 2.8. For editing, I was using TextMate, but eventually found an open source project for an IDE for Mono on Mac. It's called Continuum. It was in an alpha state when I started with it, but through a combination of reporting bugs and contributing patches, it's getting closer to Beta.

I also have some mods to it that the original author has not accepted including a fix for debugging Cobra programs. When it is a bit more mature and I learn how to pack it up, I plan on releasing my custom version as "Cobra Continuum" under the same MIT license as Continuum. I'm guessing that will happen in November.

Another good option besides TextMate is gedit. It looks and acts weak out of the box, but a few minutes with the prefs will have it acting like a programmer's editor. It's syntax highlighting is solid.

And yes, I would love to see more introductory material on Cobra in whatever format people like (blog, video, etc.).
Charles
 
Posts: 2515
Location: Los Angeles, CA

Re: Linq

Postby K. Houwen » Mon Oct 18, 2010 2:38 am

Webdevelopment is what I do most, so having a webframework in Cobra would be awesome. I have build a webframework in PHP for a client before. Building/looking for a framework using Cobra was already on my to-do list ;-)
I prefer the way RoR was made, first build a web application and afterwards extract the framework. I also did this with the PHP framework which was extracted from a webshop. But if you have some code already you can share, I like to have a look at it. It's always nice to have a starting point.

How do see a Cobra webframework? Build on top of ASP.NET ? On its own webserver? Or as FastCgi on Apache/IIS ?
More like asp.net mvc where you can hook up what you want or as RoR, using conventions over configuration? Personally if I build one for my own use, I prefer the RoR way.

Are their plans for an Cobra interpreter (cfr. booi) and shell (cfr. booish) ? This could make things a lot easier todo it the RoR way. Commands like
Code: Select all
$> cobra spit MyNewWebProject
creating the directory structure with all the necessary files would be cool
Or
Code: Select all
$> cobra bite NameOfTheMySqlDatabase
to connect and update/create the db based on some config files :-D
K. Houwen
 
Posts: 12

Re: Linq

Postby Charles » Mon Oct 18, 2010 9:54 am

I'll get back to you on this, probably in 24 hours. I'm trying to finish up the release and then I have client work today.
Charles
 
Posts: 2515
Location: Los Angeles, CA


Return to Discussion

Who is online

Users browsing this forum: No registered users and 49 guests