diff --git a/docs/docs/acknowledgements.rst b/docs/docs/acknowledgements.rst index 5db5ca67..335ae256 100644 --- a/docs/docs/acknowledgements.rst +++ b/docs/docs/acknowledgements.rst @@ -3,36 +3,6 @@ History & Acknowledgements ========================== -A Little Bit of History ------------------------ - -The Star Wars Jedi are awesome. My Jedi software tries to imitate a little bit -of the precognition the Jedi have. There's even an awesome `scene -`_ of Monty Python Jedis :-). - -But actually the name has not much to do with Star Wars. It's part of my -second name. - -After I explained Guido van Rossum, how some parts of my auto-completion work, -he said (we drank a beer or two): - - *"Oh, that worries me..."* - -Now that it is finished, I hope he likes it :-) - -I actually started Jedi back in 2012, because there were no good solutions -available for VIM. Most auto-completions just didn't work well. The only good -solution was PyCharm. But I like my good old VIM. Rope was never really -intended to be an auto-completion (and also I really hate project folders for -my Python scripts). It's more of a refactoring suite. So I decided to do my -own version of a completion, which would execute non-dangerous code. But I soon -realized, that this would not work. So I started working with a lot of -recursion to to understands many of Python's key features. - -By the way, I really tried to program it as understandable as possible. But I -think understanding it might need quite some time, because of its recursive -nature. - Acknowledgements ---------------- @@ -42,4 +12,52 @@ Acknowledgements - Guido van Rossum (@gvanrossum) for creating the parser generator pgen2 (originally used in lib2to3). +A Little Bit of History +----------------------- + +Written by Dave. + +The Star Wars Jedi are awesome. My Jedi software tries to imitate a little bit +of the precognition the Jedi have. There's even an awesome `scene +`_ of Monty Python Jedis :-). + +But actually the name has not much to do with Star Wars. It's part of my +second name Jedidjah. + +I actually started Jedi back in 2012, because there were no good solutions +available for VIM. Most auto-completion solutions just did not work well. The +only good solution was PyCharm. But I liked my good old VIM very much. There +was also a solution called Rope that did not work at all for me. So I decided +to write my own version of a completion engine. + +The first idea was to execute non-dangerous code. But I soon realized, that +this would not work. So I started to build a static analysis tool. +The biggest problem that I had at the time was that I did not know a thing +about parsers.I did not did not even know the word static analysis. It turns +out they are the foundation of a good static analysis tool. I of course did not +know that and tried to write my own poor version of a parser that I ended up +throwing away two years later. + +Because of my lack of knowledge, everything after 2012 and before 2020 was +basically refactoring. I rewrote the core parts of Jedi probably like 5-10 +times. The last big rewrite (that I did twice) was the inclusion of +gradual typing and stubs. + +I learned during that time that it is crucial to have a good understanding of +your problem. Otherwise you just end up doing it again. I only wrote features +in the beginning and in the end. Everything else was bugfixing and refactoring. +However now I am really happy with the result. It works well, bugfixes can be +quick and is pretty much feature complete. + +-------- + +I will leave you with a small annectote that happend in 2012, if I remember +correctly. After I explained Guido van Rossum, how some parts of my +auto-completion work, he said: + + *"Oh, that worries me..."* + +Now that it is finished, I hope he likes it :-). + + .. include:: ../../AUTHORS.txt