The final evolution of the database: Fusing Java + DB
The final evolution of the database: Fusing Java + DB
We take too few risks in our programming languages. This open-source project tries to fuse a DB directly into Java.
We take too few risks in our programming languages. This open-source project tries to fuse a DB directly into Java. Read more
What is Project Hierarchy?
Project Hierarchy is an open-source project that adds what a programmer works with the most, data, directly into the Java programming-language. We have already spent two and a half years creating a robust, fully-working beta-version and we believe it truly changes how you work with data. In Hierarchy, the database is apart of the programming language! (this is called a NoDB, the successor to NoSQL).
To explain this in more detail, Hierarchy is an extension to the Java language that adds an XML-like data-language directly into Java's grammar. And, just as importantly, data objects created in this new language can instantly become databases, at the flip of a switch. It must be the easiest persistence-solution ever created.
And, as we mentioned, Hierarchy is what's called a NoDB. This is the latest in the evolution of the database. It takes the ease-of-use concepts from NoSQL databases (like MongoDB) and takes it to the next level. Now in NoDB, your data objects are the database! (developers, check out our "Overview" section for more info: http://projecthierarchy.com/overview).
Why is Hierarchy important?
We devs actually are very careful in what tools we use (as we'll invest years of our lives into them). We like things that are new, but not too innovative. So, in turn, when we design our tools, we instinctively change them incrementally, building off on older ideas. Hierarchy, of course, builds on current trends too, but tries to do everything right, pushing things further by fully incorporating a data-language and a DB into Java. It may be a failure, but it needs to be tried by someone to see if it's feasible. We occasionally need to take risks to see what is possible (and on personal note, think what an amazing sight it'd be to see a true NoDB fully working!).
In practical terms, the benefit of Hierarchy to the dev world is our productivity is greatly increased. This is because it reduces the amount of code a developer needs to write (20%-60% for data-driven applications). Hierarchy is a simple idea but one that is powerful, changing how we developers will program now and in the future.
What is the current status of Hierarchy?
Two and a half years were devoted full time by a dedicated developer to create the beta version. He accomplished a lot, and new data-language he created actually doubles the size of the Java language (this is no simple add-on but a full extension to Java's grammar and operators - go to the projecthierarchy.org website for more info). But, after such a long time with no social life and no source of income, this tired dev had to take another two-years off just to rebuild his life (and his finances). After this time away, he's back at it now and realizes two things: First, in this super-complex world, Hierarchy is as important as ever - We need to simplify not only our turbulent lives, but how we develop the Web. And second, it's just too much work for one person, which is why he open sourced it and is now turning to you and the rest of the Kickstarter community.
...and for those interested, here's a link to our open-source code, it hasn't had much activity for the past year as we've been busy with revamping our website and setting up this Kickstarter (not easy for one person in his freetime) https://github.com/UnconventionalThinking/hierarchy
You already have a working beta-version, why do you need funding?
A compiler is extremely tough to make. We have a working beta, but we need many other things:
- Finish the limitations we left in the compiler due to time constraints
- Update the compiler to the latest version of Java (version 8)
- Most importantly, database persistence is just a working demo! It is not production ready and requires a lot of work!
- Lastly, we need to create all the necessary secondary-tools that are expected of a modern compiler - These days, most devs expect a programming-language to be integrated into a graphical user-interface that makes working with the language much easier. These are called IDE's (Integrated Development Environments). These IDE's support things like automatic compilation, on-the-fly syntax checking (just like in Microsoft Word), "pretty-printing" of code... Two of the most popular IDE's are Eclipse and Netbeans. Hierarchy needs to be integrated into these.
And, in the future, we would like to add Hierarchy into the Python language as soon as possible! (Which would be feasible with the right amount of funding, hint, hint :) )
What will you do with the money?
Our goal is to raise $74k - This would allow us to finish up the compiler and also get a production version of persistence working. This will take the work of two developers about 6 months.
Also, just as importantly, we hope this funding will jump start the open-source community to help chip in! Many people think that if you open-source a project, devs will often simply flock to help out. This is very, very far from the truth. Maybe 1 in 20 open source projects ever receive any significant help. It takes a while to build a community and we hope to use this funding to get the ball rolling!
Our stretch goal is $3.3 Million! - Yes, we know, that's an enormous stretch from our original $74k! But, this number is an estimate created in the business plan we put together to see what it would take to add the full ecosystem of supporting tools and features to Hierarchy that are common with modern programming-languages and databases (for example, some type of application similar to Microsoft Excel that would let you edit your application dynamically, while its running). We know this is a stretch, but at least it's good to know the direction we want to go (see our business plan in the "Articles" section on the Project Hierarchy website for more details: http://projecthierarchy.org/index.jsp?PAGE_ID=3&PROG_EXP=y).
As you can see, there's an enormous amount of work that still needs to be done. Contribute what you can!
And, for those that haven't seen our shameless publicity...
... Yes, here on Project Hierarchy, we have no dignity and have followed the herd in creating yet another, stupid Youtube-video to help promote our Kickstarter project. It's called "Can a Computer-Dork Rap?" (No further description needed, the title says it all!) If you haven't seen it, we include it here for your enjoyment (and to trample what's left of our pride).
We believe Hierarchy is how programming should be done. Please help push the art of software development and the web itself to their next stages. Thanks!
- The Project Hierarchy Team
Risks and challenges
Software development is tough, and we hope to have a much more, robust version of the database feature (along with the updates to the compiler itself) done in half-a-year to a year, but as we devs know, it's very, very tough to predict all the things that are necessary to do a release. We'll try our best though, but please be patient with us if we have any setbacks!Learn about accountability on Kickstarter
- (30 days)