Metafora



Metafora

0 0


programming-metaphors

Flash talk for WRUG meetup 24.06.2014

On Github siejkowski / programming-metaphors

Metafora

Będziemy mówić o metaforach. Potrzebujemy wiedzieć o nich trzy rzeczy.
Matka Natura. Znana metafora. Taki dynamic dispatch. Znaczenie sprawdzane jest w tablicy: raz planeta Ziemia, raz bogini. To jedna rzecz.
Matka Natura. Znana metafora. Znaczenie: raz planeta Ziemia, raz bogini. To jedna rzecz. Dwa znaczenia się nie wykluczają.
Matka Rosja. Wołgograd. Druga rzecz. Metafory mogą być użyte w konkretnym celu. Np. dla umocnienia poczucia przynależności do narodu.

Metafora

Czyli trzy rzeczy. Raz, że mają kilka znaczeń naraz. Dwa, że metafory mogą być użyte. Trzy, że używamy metafor cały czas. Czas płynie, zabić czas, czas to pieniądz. To wszystko metafory.

Programowanie

O programowaniu też mówimy poprzez metafory. Programowanie w swojej historii przedstawiano przez bardzo wiele metafor. W różnych celach. To wcale nie było stałe i ustalone.

Pisanie opowiadania

Istnieje od dawna. Ostatnio nawiązywał do niej clean code. Dała nam "czytelność kodu".

Gotowanie

Jazda samochodem

Czarowanie

Puzzle

Jest tego więcej
Software engineering. Wyższy poziom metafory - programowanie jako inżynieria. "Stworzony" w 1968 z pieniędzy rządowych. Cel: nadać krzepnącemu wówczas programowaniu trochę powagi - że to prawdziwa twarda dziedzina, a nie jakieś nie wiadomo co.
Tworzenie kodu jak budowa domu. Ulubiona przez Steve'a McConnell'a w "Code Complete". Fajnie współgra z wzorcami, nadaje rygor. Śmierdzi waterfallem. Dała nam "architekturę" i "architektów".

Software craftsmanship

In a very simplistic way, we can say that software craftsmanship is a better metaphor for software development than software engineering. Sandro Mancuso, London Software Craftsmanship Community Metafora wg Sandro Mancuso.

Uprawa ogrodu

Rather than construction, programming is more like gardening. Andy Hunt, Dave Thomas, "The Pragmatic Programmer" Pragmatyczny programista. Podkreśla iteracyjność, konieczność refaktoringu, konieczność utrzymania, modularność. Kim więc jesteśmy?

Jesteśmy ogrodnikami. Nie mamy wpływu na pogodę - musimy się adaptować. Nie kontrolujemy owadów i chwastów - musimy uwzględniać ich działania w planach. Warzywa nie wyrosną przez jedną noc - potrzeba czasu. Bardzo agilowa metafora.
Metafora przyjaźniejsza dla kobiet. W latach 60. zachęcano w inny sposób: nauka języka itp. Uprawa ogrodu nie jest aż tak nacechowana męsko, jak prace budowlane albo rzemieślnicze. Metafora na nasze czasy.

Dyskusja? Uwielbiam dyskusje!

@_siejkowski

Dzięki!