/ / Who i When używa kodu rekurencyjnego w środowisku produkcyjnym [zamknięte] - optymalizacja

Kto i kiedy używa kodu rekurencyjnego w środowisku produkcyjnym [zamknięty] - optymalizacja

Mam 2 lata doświadczenia w IT. Nie widziałem żadnego kodu rekurencyjnego. Chciałbym wiedzieć, czy istnieje jakaś firma lub organizacja, która używa kodu rekurencyjnego w swoim środowisku produkcyjnym. Byłoby wspaniale.

Odpowiedzi:

1 dla odpowiedzi № 1

Cały kod korzystający z szablonów variadowych koniecznie używa rekursji, patrz np. http://kevinushey.github.io/blog/2016/01/27/introduction-to-c++-variadic-templates/.

Odpowiedzi na to pytanie podaj kilka przykładów rekursji. Najbardziej przekonujący jest kodowany ręcznie kompilator (lub raczej parser) dla rekurencyjnie zdefiniowanego języka (jak C i większość innych, gdzie bloki mogą zawierać bloki, wyrażenia wyrażeń itp.). Być może jest to dla mnie najbardziej przekonujące, ponieważ zrobiłem to w kursie CS, ale nadal. Nawet tutaj jest możliwe, że kompilatory produkcyjne są tworzone za pomocą narzędzi i nie są rekurencyjne. Jeśli ktoś rzuci światło na wewnętrzne działanie gcc lub jeden z innych kompilatorów open source, doceniam to.

Generalnie zakładam, że niektóre programyobsługa rekurencyjnych struktur danych z ograniczoną głębokością rekurencji (jak drzewa zrównoważone, w przeciwieństwie do normalnych drzew lub list) używa rekurencji tylko dlatego, że jest prosta i elegancka, a limit głębokości usuwa największą przeszkodę dla rekursji.

Pomyśl o tym, użyłem rekurencji, aby przeanalizować prosty „język opcji” dla wewnętrznego programu niestandardowego, który ma opcję -eval <file>, gdzie plik, do którego istnieje odwołanie, zawiera więcej opcji, w tym więcej -evals. Przywoływane pliki są po prostu rekurencyjnie oceniane.


1 dla odpowiedzi nr 2

Jeśli programy są w zasadzie CRUD (utwórz,pobieraj, aktualizuj, usuwaj) ekrany, aby połączyć się z jakąś bazą danych, nie zobaczysz zbyt wielu wezwań do rekurencji.

Ale duża liczba programów ma drzewa. Na przykład. drzewo grafiki lub drzewo obiektów animowanych 3D. Po pracy z drzewami rekursja jest zdecydowanie najłatwiejszym sposobem rozwiązywania problemów.

Istnieje również „programowanie funkcjonalne”paradygmat, który zastępuje iterację rekurencją. Ma pewne teoretyczne zalety i jest stosowany w niektórych środowiskach, choć wciąż jest trochę akademicki i eksperymentalny.


0 dla odpowiedzi № 3

Dla twojej informacji byłem w firmie IT wmoje wcześniejsze dni, w których używam do pisania wielu kodów rekurencyjnych w środowisku produkcyjnym. i więcej, zależy od kodera, jeśli chcesz c. Mogę wysłać przykład kodu rekurencyjnego