<<O>>  Difference Topic PythonicMss (r1.3 - 16 Dec 2004 - Main.utsim)

META TOPICPARENT PyThonic

PythonicMss

Return to PyThonic

Added:
>
>
"Unless reader and compiler both understand the writer, the program is not communicating properly"
  • Kernighan and Plauger, "The Elements of Programming Style" (2nd Edn), pg. 15

November 11, 2004

Approximately two months into XAYA --

 <<O>>  Difference Topic PythonicMss (r1.2 - 12 Dec 2004 - Main.utsim)

META TOPICPARENT PyThonic

PythonicMss

Line: 12 to 12

Writing a program is like having two conversations at once -- one with an abstract machine. One with another person. One conversation is about efficiency of implementation, manipulation of the machine. The other is about expression -- can another person read and change this?

Added:
>
>
December 12, 2004:

After completion of XAYA iteration 001 (pre-pre-alpha).

The fulcrum of XAYA is becoming this:

There is a point of intersection between three areas of computer science: Logic programming, querying/db and routing problems:

  • Relationships can be represented as directed graph -- which provides an aid to imagination and visualization of a problem.
  • Operations on graphs (set theoretic; input output) provide a basis for rapidly developing complex data manipulations capabilities out of a few primites.
  • Querying and routing problems can both be reprensented as searches through graphs.

Along the way, the real lesson I learned was the need to start in a small corner, work forward; and allow the project to veer "off plan" as interesting insights came in the trial-and-error process of prototyping.

Maintaining a working body of code at all times, allows you to be surprised at what you can do.

Critical to the approach taken in XAYA has been:

  • All fns input and output to the same graph structure. So output of one fn can be fed back to another.
  • Basic search opns on graphs can be combined to build more complex ones.
  • Basic set theoretic opns can handle most of data addn/deletion tasks.
  • extension of relational algebra to graphs not clear to me yet.
  • ????

Finally -- to explain these ideas to others -- I need a concrete tutorial, showing how XAYA could handle "typical" logic programming, db, routing tasks in its own lingo.

I have to keep refining the language so it is simple and intuitive -- and this means testing on others whose intuitions differ from mine.


The basic idea of Pythonic.

 <<O>>  Difference Topic PythonicMss (r1.1 - 12 Nov 2004 - Main.utsim)
Line: 1 to 1
Added:
>
>
META TOPICPARENT PyThonic

PythonicMss

Return to PyThonic

November 11, 2004

Approximately two months into XAYA --

The slow process of growing confidence -- of being able to let an idea simmer, and find that the algorithm you need simplifies over time, to the point you can write it.

Writing a program is like having two conversations at once -- one with an abstract machine. One with another person. One conversation is about efficiency of implementation, manipulation of the machine. The other is about expression -- can another person read and change this?

The basic idea of Pythonic.

  • Illustrate the use of programming to solve biological problems
  • focus on "Algorithms" illustrated by biological applications
  • Context of a "Diary of a Student" over 12 month period. Each one represents a different problem -- using XAYA. Focus on Graphs and Ascendency. Introduce ideas from Probe System Trace. This would almost be like the first "Python Algorithms" book -- but not complete coverage -- just those parts interesting to me. Illustrate the idea of "Thinking with Data". Complementary to a XAYA book focussed on Declarative Programming in Python.

OutLine? for Pythonic

Illustrating computer Science through Biology.

-- MishtuBanerjee - 11 Nov 2004

View topic | Diffs | r1.3 | > | r1.2 | > | r1.1 | More
Revision r1.1 - 12 Nov 2004 - 03:09 - Main.utsim
Revision r1.3 - 16 Dec 2004 - 08:44 - Main.utsim