This project has moved. For the latest updates, please go here.

node.js & bDB

Dec 12, 2013 at 8:02 AM
I see C#, VB(.net?), and C++ are covered in the classes in the bDB API docs.

I am not versed in all this OOP context but I paddle thru and survive. I don't see classes as patterns to model after. I only see objects in different states. Thus javascript and its prototype approach feels more native to my understanding. I can do inheritance in javascript just the same. I am not saying that at some point my thinking will evolve and will reflect a different alignment to this understanding. But my immediate dilemma is to minimize the learning curve I am faced with. A lot of my code is in VB right now with a minor amount in C#. I have longed to see javascript as a tool on the server side so that I could use one language, one syntax, one mind-set on all my coding. Thus the following points I need clarified to visualize my road-map and whether or not I will bite that bullet and do 2 conversions simultaneously(I really do not want to):

1. To avoid a simultaneous (VB to C#)conversion project with this RDBMS to RDF conversion, does bDB support VB.NET or is it a matter of documentation reuse and the entries in the API docs are misleading? The reason I ask that is because somewhere in a post or some write-up I saw VB mentioned as well, but not a firm(at the top of documentation 'languages supported' type entry) and normally most of what I see on the net only supports C#, hardly ever VB. ...and of course all your samples are C#!

2. Could node.js be used as the server side platform? under the ASP and the .NET Framework? or other equivalent Framework? so that all the extensions remain the same(.aspx, etc) and VB and C# still work ...and of course offer the same security protection as C# and VB provide, not exposing the kitchen like REST(ful) does.

I hope I made sense.
Coordinator
Dec 12, 2013 at 10:27 AM
Hi NIQ

I think that BrightstarDB could be a good match - there is the flexibility there to treat all "objects" as simply things with a collection of properties. They don't have to match up to classes (unless you are using the Entity Framework) so they work well with dynamic languages like JS. The only downside is that then you really will have to learn a bit of the RDF stuff (especially the query language, SPARQL) if you want to go beyond just getting and putting objects.

VB should work. The thing is I'm not a VB programmer and everytime I try to do things in VB it takes me three times longer than C#, so mostly I stick to C#. However VB.NET and C# are both .NET languages and they share the same core libraries so everything should just work. The only thing you might find is that some of the APIs seem not very VB-ish (I have no idea if that is a thing, but I am vaguely aware of VB having some features C# doesn't...)

Node.js is an interesting one because I think with the 1.5 release it becomes a real possibility to use Node.js on the server. The only thing is that you would need to run BrightstarDB as a service (AFAIK there is no way for Node to call directly into .NET stuff), but because we now have a proper HTTP & JSON service interface it would require relatively little work and it really could be quite cool. I'm going to put that on my list of things to take a look at, probably the first step would be to create a Node.js library for accessing the BrightstarDB APIs so that you don't have to write all the low-level HTTP stuff.

I would be really interested to hear if anyone else is thinking of combining BrightstarDB and Node...

Cheers

Kal
Dec 12, 2013 at 11:08 AM
You answer has me salivating... let me know as soon as you know that Node is a go... please confirm to me(forgive my ignorance) that if Node is a go it does not open a can of worms when it comes to security and having the system exposed as I spelled out in my previous post.

I don't mind writing the low level HTTP there is hardly anything to it. Pure javascript without any bloated libraries is my approach, it gives me max speed and less abstraction to rake my neurons over. I will surely give the Entity Framework a try and use the extra layer tools to test and perhaps complement my work, perhaps go that direction, unless you come back with a Node solution. ...and I will be rid of all Microsoft's shinglings(lol). No asp, no .NET, no VB, no C#, no SQLServer... my! I am ready to jump to a linear memory Unix based platform! lol

Node freakin',
Thank you so much for your answer and promptness!