Jak często lub kiedykolwiek widziałeś metaprogramowanie w projektach? Na uniwersytecie nigdy nie widziałem, żeby się to stosowało, ale widziałem to w mojej poprzedniej pracy (kiedy to zobaczyłem, byłem pod wrażeniem skuteczności).
Ale jak często to jest? Czy jest używany cały czas, czy tylko sporadycznie?
meta-programming
gablin
źródło
źródło
Odpowiedzi:
Jeśli uważasz, że odbicie jest rodzajem metaprogramowania, jest ono stosunkowo powszechne. Dla niektórych osób nawet ogólne programowanie (szablony i ogólne) jest formą metaprogramowania, więc jest to jeszcze bardziej powszechne.
Moim zdaniem jednak metaprogramowanie jest czymś bardziej złożonym, co wiąże się z faktycznym generowaniem kodu, a zatem jest dość rzadkie, nawet w językach skryptowych.
źródło
Myślę, że zależy to silnie od używanego języka. Zwykli ludzie Lisp prawdopodobnie używają go w uczciwy sposób - na przykład Protokół Meta-Object pozwala na przejrzyste / ortogonalne uporczywość - na przykład Smalltalkers często go używają.
źródło
Zazwyczaj pojawia się często i konsekwentnie w projektach Common Lisp. Sprawdź OnLisp i Let Over Lambda, aby uzyskać wyjaśnienia / informacje.
Jeśli szukasz przykładów (i znasz CL), sprawdź repozytorium Antiweb ; pod przykryciem dzieje się sporo metaprogramowania.
źródło
Przez ostatnie dwa lata pierwszą częścią programowania nowego zadania było prawie zawsze pisanie kodu do pisania kodu. Istnieje mnóstwo schematów powiązanych z interakcjami z bazą danych, które można uprościć do automatycznego generowania skryptów. Pomyśl o rzeczach, w których musisz wykonać zapytanie do 3 tabel, aby utworzyć obiekt lub coś takiego. Po co pisać, jeśli jest 10 takich rzeczy, które mogą się zmienić w przyszłości?
źródło