wtorek, września 22, 2009

Rozważania na temat programowania

Można podzielić programistów na dwie grupy:

  1. introwertyków, usiłujących rozwiązać wszystkie napotkane problemy przy pomocy znanej przez nich grupy narzędzi (najlepiej gdy to jest jedno narzędzie np. język Java)
  2. extrawertyków, szukających do rozwiązania nowych problemów nowych narzędzi lub łączących znane  narzędzia do rozwiązania cząstkowych problemów

Ci pierwsi wykorzystując znane im narzędzie dobudowują do niego biblioteki aby sprostać napotkanym przez nich wymaganiom (tak na przykład Java rozbudowana o stronę tworzenia skryptów JavaScript poprzez rusztowania GWT i inne) – robi się wszystko by uniknąć konieczności nauczenia się czegoś ciekawego spoza tematów i narzędzi które się zna. To jest podejście zachowawcze i skutkuje powstaniem kombajnów robiących prawie wszystko ale nie zawsze optymalnie (w przypadku GWT polegamy na generatorze JS nad którym nie mamy kontroli).

Ci drudzy KOMBINUJĄ tzn. szukają narzędzi odpowiednich dla rozwiązania problemów cząstkowych i łączą je w strumień. Taka idea przeświecała powstaniu Unixa – słynne pojęcie “PIPE” . Dzięki temu problem jest rozbity na części. Każda cześć jest rozwiązana przy pomocy najbardziej optymalnego środka.

Brak komentarzy: