Sanskrit, the secret of India's outsourcing success. 15
Kamal R. Prasad even used
Sanskrit, the secret of India's outsourcing success. 19
Or any other language? What makes you think that? On the other hand I think that the agglutinative SOV languages (Turkish, Japanese, Hungarian, etc.) are the most logical...
I need to transfer designs to my Indian collegues. The English specs I came up with were inadequate and incomplete. I need to some procedure to tell me when I have written enough to convey my design but I am a lowly software engineer, not an architect. It occurred to me that Sanskrit would be a good vehicle for this, unambiguous and concise.
Sanskrit, the secret of India's outsourcing success. 16
But first...) Cross-post to sci.lang added, in the vain hope that someone there will be able to sort out this mess about Sanskrit being an ideal language...
It also occurred to me that the XP approach of writing the Test Cases first was a viable approach to task definition, but this could not replace the spec.
My own efforts have been directed towards making software that is more configurable, so that late- project changes and scope-creep can be readily accomodated. Instead of trying to define what I intend to build up-front, from a good spec, I have written a priori with the thought that the spec is unreliable. For example, I want to apply a set of clbuttes to some data. Each clbutt does one thing; I put the names of the clbuttes in a database field and read that at run-time, instantiating the clbuttes. When the boss comes in and tells me that the sky is falling, I drop the name of the clbutt that does that processing from the list, at run-time. If he wants something extra, I add the new task to the database list, and the software complains (but runs) until it finds the clbutt that defines the new task, when I add the new clbutt to the project. It's all very loose and forgiving with polymorphism and late- binding throughout.
I was thinking of a British versus a European locomotive. The latter has the pipes and vales on the outside, and the former has then all on the inside so it looks cleaner. Obviously, the latter is a lot easier to maintain.
I believe the above design has low coupling and high Sequential Cohesion, and is readily extensible. I am proud of it, but it is verbose and the very opposite of compact and efficient software. There is a lot of code to do relatively little, necessary because projects are defined by committee meetings which proceed at the same time as development.
Sanskrit, the secret of India's outsourcing success. 17
SteveR will for Hi Steve, after in story better My thought was that maybe it would guarantee I put the correct information down. You are right, I don't know how to formally specify software, and...
Maybe a good spec is impossible in a business environment if requirement discovery proceeds at the same time as development! If so, then we need "liquid software", as above.
What do you think?
Alt Computer Consultants from Newsgroups/p>