Nie sądzę, że możesz programować bez tworzenia nowego języka, więc dobrze jest zdać sobie sprawę, że to, co robisz, i zrozumieć problemy.
- Co to jest język
Słownictwo, składnia i semantyka.
Gotowy język, taki jak VB, Java, C # itp., To tylko język podstawowy . Jak tylko dodasz do niego klasy, metody itp., Dodasz słownictwo i semantykę. Istnieje wiele sposobów implementacji języków - parsowanie i tłumaczenie, parsowanie i tłumaczenie, makra na istniejącym języku, dodawanie klas i metod do istniejącego języka.
- Co chcesz robić w języku?
Bądź dobry w zwięzłym wyrażaniu problemów.
Skąd wiesz, czy to zrobiłeś? Miarą, której używam, jest liczba edycji . Jeśli pojawi się wymóg A jednego zdania, przystępuję do implementacji tego wymogu w kodzie. Kiedy skończę i usunę wszystkie błędy, sprawdzam kod, a repozytorium kodu zawiera listę zmian, które wprowadziłem, B. Im mniejsze B, tym lepszy jest język. Uśredniona na podstawie rzeczywistych i możliwych wymagań, ta miara mówi mi, jak „specyficzny dla domeny” jest język.
- Dlaczego zwięzłość jest dobra?
Ponieważ minimalizuje błędy.
Jeśli zajmie to N zmian kodu, aby zaimplementować 1 wymaganie, a czasami popełniasz błędy, liczba wprowadzonych błędów jest w przybliżeniu proporcjonalna do N. W limicie, w którym N = 1, prawie niemożliwe jest wprowadzenie błędu bez próby.
Pamiętaj, że jest to bezpośrednie wyzwanie dla „rozdętego kodu”, który widzimy obecnie.
DODANO: W odpowiedzi na prośbę o przykład zobacz wykonanie różnicowe . Nie powiem, że można to szybko zrozumieć, ale znacznie zmniejsza kod interfejsu użytkownika.