Whos down with OPP?
OPP, the title of a 90s rap song by the group Naughty By Nature described the issue of other peoples … well, property. Here Im talking about OPP as Other Peoples Programming.
Ive long equated the world of hip-hop with that of application development, where rappers use samples and snippets of existing music to make music in the way that programmers use components, objects and reusable code snippets to make programs—in short, OPP.
In essence, the whole move to OOP (object-oriented programming) was one big move to OPP.
And the trend only grows with each new wave of software development. The need for more and more applications, and particularly more complex applications, is pushing developers to call for more simplicity in development, more frameworks, more prepackaged code, more OPP to turn out apps.
And its not just mainstream developers who are looking for help, but business analysts, casual developers and practically anybody who needs to piece together applications to help keep their department, small business or organization running.
Meanwhile, vendors are looking to tap this market—Sun is targeting “less sophisticated” developers with its Java Studio Creator and Microsoft is hot after it with its Visual Studio Express line.
But check it, back to the analogy.
In hip-hop, there are all of these folks who are usually not formally trained in music, but who have good ears and have grown up with digital technology and can sample and mix practically anything they want.
Likewise, the push toward greater ease-of-use with components and such can enable less-skilled “developers” to build apps—and even ease the burden of more serious developers.
However, purists might argue that its not real stuff.
“But is it really music?” a former boss once asked when he overheard me talking about a rap song. Well, yeah, it is.
Similarly, one might ask, “Are they real apps?” that non-coding developers are building. Sure. No, the rappers arent writing concertos or complex jazz pieces, but a lot of them put out really remarkable work.
And the folks putting together applications from components, from OPP, are not actually coding, but theyre making useful stuff.
In hip-hop, Kanye West is probably the best example of this lately.
Its no wonder the nerdy rappers/producers are among the most successful. West, a Grammy winner who has graced the cover of Time magazine and been selected as one of Barbara Walters most interesting people this year, is among the most innovative in the rap game.
His hit “Diamonds From Sierra Leone” is a stone cold killer that samples Shirley Bassey belting out the signature line from the theme song of the James Bond film “Diamonds Are Forever.”
On his latest CD, West also capably samples and revives Ray Charles “I Got A Woman” to bring his hit “Gold Digger” to life.
Even nerdier than Kanye is Pharrell Williams, also known as Skateboard P, who with his production team the Neptunes, is up for a Grammy for producer of the year.
Pharrell teamed with legendary rapper Snoop Dogg on the mega-hit “Drop It Like Its Hot” earlier this year. And, one to revel in his nerdiness, Williams and the Neptunes Web site is called www.N-E-R-D.com.
Williams also has been a hitmaker as a producer for the likes of Nelly, Janet Jackson, Gwen Stefani and Jay-Z.
Speaking of Jay-Z, one of the more innovative samplings on a rap tune ever was his treatment of “Its The Hard Knock Life” from the Broadway production of Annie atop a super-phat beat, proving that with the right elements you can fuse almost any music.
The Wisdom of the
Jay-Z later teamed with British-based Indian producer Panjabi MC to fuse hip-hop and Indian music.
But I digress.
Many old school developers can tell you how they are largely self-taught. They talk of how they started with macros or Visual Basic only to graduate to the hard stuff.
For every Winton Marsalis, or Prince or Stevie Wonder there is a host of budding Kanyes out there. For every Anders Hejlsberg (the father of C#) or James Gosling (the father of Java) there are budding David Heinemeier Hanssons (creator of Ruby on Rails).
And for each of them there are tons of workaday app builders doing what it takes to get their jobs done. They use OPP. This new craze around mashups? Pure OPP.
OPP is components, objects, frameworks, libraries, models, public APIs, domain-specific languages, software factories—whatever has been pre-built, can be built upon or used to build new applications.
With the advent of OOP, there came the promise that thered be vast marketplaces of objects to pick and choose from. While that concept never really materialized full-scale for the enterprise, Microsoft fostered it with VB controls and Eclipse supports an ever-increasing number of plug-ins.
But even better than that, perhaps the best model of what is truly OPP is open-source software, where folks are taking open-source stuff and bringing it into their own business models—using OPP to deliver new products and/or services around it.
Open source is the epitome of OPP because so many other people can and do contribute to the code base of open-source projects.
Thomas “She Blinded Me With Science” Dolby granted me a brief interview after his keynote at the last IBM Rational Software Development Conference, where he played music hed made based on sunbursts.
At the time, he told me he agreed with my OPP analogy. He said he thinks what rappers like Kanye are doing is “fantastic,” as long as they do it legally.
“I myself didnt have any formal music training when I started out, but it didnt stop me from making music,” he said.
So, software development is like music, art, poetry and the like in that its all cumulative. You build on stuff thats already there. The great ones pay homage to those that came before.
Hejlsberg will readily recognize the “shoulders of giants” he stood on to create C#. James Gosling, in the pages of eWEEK, also cited a list of others who influenced his work with Java. OPP, baby.
Rappers like to pay homage with particularly clever verses or samples submerged in their songs that point to their influencers. And programmers like to hide Easter eggs (hidden messages or features) in their code, often to do the same thing.
Like the song says: “You down with OPP? Yeah, you know me! Whos down with OPP? Every last homie.”
You need to get yourself some OPP.