Richard Bucker

The next IDE

Posted at — Aug 10, 2013

I really like LightRoom but my only criticism is that LightRoom seems more like a runner than an IDE. Maybe that’s the purpose; or maybe not. The most important thing to take from the demo is that the smallest commit-able unit is the function and not the module or file. Which has serious implications.

My ideal IDE stores all of the code in a DB. The code is stored as fragments. And the fragments are effective-dated. The storage is relational. The code is shared. The fragments are implemented by strict contract. The fragments are assembled into projects. The simplest fragment is a global declaration and the largest is a proper function.

And taking a page from the SQLite book and most proper C programming examples. The precompile or assembly step concatenates the fragments into a single file and then passes it off to the compiler. With these requirements the notion of namespaces is practically moot().

) GoLang has an object system of sorts. In reality the notation is:

func (m *MyObject) MyFunction (p1, p2, p3 string) (int, err) { …

Which is not really much different from:

def  MyFunction (m *MyObject, p1, p2, p3 string) (int, err) { …

None of that really matters… just do it.