'. '

Domain Expert

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Line 3: Line 3:
[[I]] am now participating in an experiment that will check that. [[OracleLabs]] guys asked me to help them design [[Truffle]] interoperability [[API]]s. I do understand bit about [[Truffle]], but certainly [[I]] am not a [[Domain Expert]], yet I am supposed to design something as complicated as [[API]] to allow mixing of [[languages]]: imagine part of program written in [[Ruby]], part in [[JavaScript]], part in [[Java]] with objects floating between these languages without any borders!
[[I]] am now participating in an experiment that will check that. [[OracleLabs]] guys asked me to help them design [[Truffle]] interoperability [[API]]s. I do understand bit about [[Truffle]], but certainly [[I]] am not a [[Domain Expert]], yet I am supposed to design something as complicated as [[API]] to allow mixing of [[languages]]: imagine part of program written in [[Ruby]], part in [[JavaScript]], part in [[Java]] with objects floating between these languages without any borders!
-
This is a new situation for me: In case of [[NetBeans]] or in case of [[Html4Java]] [[API]]s, I was also the architect of the system. [[I]] knew it by heart. Now I barely understand how [[Truffle]] works and what makes it the fastest execution system for dynamic languages. My biggest fear is that I will design something that will slow the whole execution down.
+
This is a new situation for me: In case of [[NetBeans]] or in case of [[Html4Java]] [[API]]s, I was also the architect of the system. [[I]] knew it by heart. Now I barely understand how [[Truffle]] works and what makes it the fastest execution system for dynamic languages. My biggest fear is that I will design something that will be inherently slow.
But on the other hand, if [[I]] can design easy to use [[API]]s for [[Truffle]], then I can create a perfect [[API]] facade around everything! Soon we'll have a chance to see whether one can be good [[API]] designer without being real [[Domain Expert]].
But on the other hand, if [[I]] can design easy to use [[API]]s for [[Truffle]], then I can create a perfect [[API]] facade around everything! Soon we'll have a chance to see whether one can be good [[API]] designer without being real [[Domain Expert]].

Revision as of 21:50, 11 May 2015

Once one has domain knowledge, it is easy to become an expert and develop an API for the domain. However can one be just an API expert and then design API without appropriate domain knowledge?

I am now participating in an experiment that will check that. OracleLabs guys asked me to help them design Truffle interoperability APIs. I do understand bit about Truffle, but certainly I am not a Domain Expert, yet I am supposed to design something as complicated as API to allow mixing of languages: imagine part of program written in Ruby, part in JavaScript, part in Java with objects floating between these languages without any borders!

This is a new situation for me: In case of NetBeans or in case of Html4Java APIs, I was also the architect of the system. I knew it by heart. Now I barely understand how Truffle works and what makes it the fastest execution system for dynamic languages. My biggest fear is that I will design something that will be inherently slow.

But on the other hand, if I can design easy to use APIs for Truffle, then I can create a perfect API facade around everything! Soon we'll have a chance to see whether one can be good API designer without being real Domain Expert.

Personal tools
buy