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.