In the era of big data, good old RDBMS is no longer the right tool for many database jobs. Here's a quick guide to choosing among NoSQL alternatives
I've been in Chicago for the last few weeks setting up our first satellite office for my company. While Silicon Valley may be the home of big data vendors, Chicago is the home of the big data users and practitioners. So many people here "get it" that you could go to a packed meetup or big data event nearly every day of the week.
In plain English, domain-specific languages let users define business rules and help ensure applications do what they're supposed to ...
A DSL (domain-specific language) is a language designed for a business or industry domain such as health care, finance, or insurance. It defines processing in terms of the nouns and verbs of your business rather than in terms of a pure computer language.
In most cases, domain-specific languages look like stripped-down versions of English that incorporate business jargon. DSLs are especially powerful when used with a rules engine -- and most rules engines support some kind of DSL system.
Workflow engines help ensure enterprise application development stays on track -- if you know how to use them
Workflow engines are underused and underappreciated. Most companies configure or develop enterprise software so that it implicitly reflects their business processes and leave it at that -- big mistake.
Instead, workflow engine can be used to provide state diagrams for developers. They enable you to map and store the state of the system, as well as hook into state transitions that trigger events and functionality.
The days of Java and .Net dominance are over. Let a thousand languages bloom and cross-pollinate.
Microsoft could be right -- maybe we will write our projects in seven languages for one platform. When interviewing language inventors Gavin King (Ceylon), Rich Hickey (Clojure), and Charles Nutter (Ruby) for my previous article, one detail stuck out. For the most part, they take on faith the idea of "polyglot" software development.
Unless you've been living under a rock, you know functional programming is all the rage among the so-called alpha geeks. Perhaps you already use a functional programming language. If you use a more conventional language like Java or C#, you're probably aware it has functional programming features in store. While this brave new world is upon us, and before we take things too far, it might be a good time to pause and reflect on the appropriateness of functional programming for everyday application development.
With Adobe's divestment of Flex and mobile Flash and Microsoft's move from Silverlight to Metro, Oracle now seems all alone in believing that a fat client framework -- in the form of JavaFX -- is a worthwhile investment.
You might not hear much about SOA anymore, but its imperative to make 'everything a service' is more relevant than ever
A few years back, SOA (service-oriented architecture) was all the rage. Vendors rushed to remarket everything as SOA, and SOA-washing was the new greenwashing. But in today's rush to the cloud, have we abandoned SOA? If so, we're in trouble.
Charles Nutter, Rich Hickey, and Gavin King each discovered that 'simplicity' doesn't mean the same thing. Computer languages reflect the goals, target audiences, and to some degree the personalities of their creators and their communities. As a result, even languages that are created with similar goals in mind may yield highly disparate final results, depending on how their communities understand those goals. Ruby, Clojure, and Ceylon are three such languages.
Like Larry Ellison's yacht, the RDBMS is slowly sailing off into the sunset. But if NoSQL is going to take its place, a standard query language and APIs had better emerge soon. Go ahead, compete, but let's also raise the tide for all boats. Well, maybe not the SS Ellison. Not to worry, I'm sure he'll get by.