1. Introducing Opa
Opa is a new generation of web development platform. It is a new programming language, a new web server, a new database and a new distributed execution engine, all of them tightly integrated to provide a great experience for web developers. And it works in the cloud too!
Throughout the pages of this book, we will introduce you to all the neat features of Opa, and as you will see, there are many. To quote but a few, Opa is concise, simple and readable, it is also extremely powerful, concurrent, dynamically distributed, and secure, much more so than just about any other web programming language. Opa is designed to make web development fun, secure and right.
1.1. What problem does Opa solve?
This is a great time to be a developer: as a community, we are changing the world, every day, thanks to the web, to the cloud and their myriads of applications. And indeed, web applications and the amount of technologies available to developers have evolved tremendously since the first days of the web.
Unfortunately, the process of web application development has evolved neither quite as far nor nearly as fast. Indeed, developing a web application in 2011 is not so different from developing a PC application in 1991: an impressive amount of developer time is spent not working on features or improvements but on gluing together antagonist technologies that were never designed to quite work together or in this context. In 1991, the technologies were the various hardware components, the low-level operating system, the high-level operating system and the memory itself, which could only be hacked into compliance through copious amounts of machine code. Per se, none of these technologies was wrong, but they just failed to fit together — a problem now known as impedence mismatch.
So, while it is a great time to be a developer, we wanted to make it a better time.
1.2. How Opa solves it
With Opa, we set out to provide another, better, way of developing web applications for the cloud. Opa is designed to get you to your finished app faster, concentrating only on the interesting parts, without the hassle of writing the glue or of using a programming language against its original design; also without having to keep such a constant watch on low-level security issues.
Opa is a programming language, but it is a programming language vastly more powerful than any programming language you have ever used. Opa offers all the features of a database management system, of a web server, of a server-side framework, of a client-side framework, of a distribution middleware, a security audit tool, but without the complexity of deployment, administration, or impedence mismatch of these technologies.
Interesting. While there's no Windows bin at this point, but I've still added this to my watch list, to keep an eye on it. I like the idea, and it's about that time for a completely new dev approach to start making the rounds...