Potrzebuję odpowiedniego wyjaśnienia prawa Jamiego Zawińskiego do tworzenia oprogramowania :
Każdy program próbuje się rozwinąć, dopóki nie będzie mógł odczytać poczty. Programy, które nie mogą tak rozszerzyć, zostaną zastąpione tymi, które potrafią.
Odpowiedzi:
Wszystkie dotychczasowe odpowiedzi (i komentarze) wydają się skupiać całkowicie na pierwszej połowie wypowiedzi, co czyni ją komentarzem o „wzdęciach”, kiedy ważna połowa to druga połowa: te programy, które nie mogą się tak rozwinąć, są zastępowane przez te który może.
Tu nie chodzi o rozdęcie oprogramowania, chodzi o realia rynku. Ludzie mogą powiedzieć, że chcą prostego produktu, ale kiedy spojrzysz na faktyczne użycie, rzeczy, które się wykorzystują, to takie, które pozwalają użytkownikom robić więcej, a w końcu zastępują narzędzia mniej sprawne.
Częścią problemu jest to, że „proste” to mylące słowo. Podobnie jak „rozszczepienie” może oznaczać dwie prawie całkowicie przeciwne rzeczy. Ludzie chcą czegoś, co upraszcza złożone zadania. To „dobre proste” i wymaga dużej złożoności, aby zrobić dobrze. Jednak niektórzy interpretują to jako to, że ludzie chcą czegoś uproszczonego lub minimalistycznego. Ta koncepcja może mieć niszowy urok, ale ogólnie rzecz biorąc, niewłaściwe jest „proste” skupienie się przy projektowaniu produktu. Bez względu na to, jak dobra jest Twoja praca, nowe prośby o nowe funkcje wciąż się pojawiają.
Jako przykład podajemy program, nad którym pracuję w pracy. Prawdopodobnie nigdy o tym nie słyszałeś, ale jesteśmy liderem rynku w wyspecjalizowanej branży: kontrola mediów. Nasz program najprawdopodobniej prowadzi twoją ulubioną stację telewizyjną i / lub radiową. Klienci to uwielbiają, mówią, że jest o wiele lepszy niż cokolwiek innego, z czym współpracowali.
To też jest ogromne . Rozmiar pliku EXE wynosi ponad 65 MB, z około 4 milionami wierszy kodu, wspartymi bazą danych z ponad 150 tabelami, zbudowanymi w ciągu ponad dekady pracy. A jednak wydaje się, że za każdym razem, gdy próbujemy zainstalować go na nowej stacji lub w sieci, jest jedna lub dwie rzeczy, które są absolutnie niezbędne dla ich przepływu pracy, a my nie mamy wsparcia. W rezultacie dodajemy nowe funkcje, ponieważ w przeciwnym razie klienci nie chcieliby przełączyć się z systemu, do którego już byli przyzwyczajeni. Powtarzam, klienci to uwielbiają.
źródło
Musisz zrozumieć, że stało się to dawno temu, a wtedy nie było jeszcze głównego nurtu, aby komputery mogły uruchamiać więcej niż jeden program na raz dla danego użytkownika. DOS dla komputerów osobistych (i prawdopodobnie Windows 3 na górze) oraz terminale oparte na znakach dla użytkowników Uniksa (tylko nieliczni mieli X11).
Oznacza to, że aby sprawdzić, czy otrzymałeś wiadomość e-mail, musisz wyjść z tego, co aktualnie robisz, uruchomić program pocztowy, odczytać pocztę, wyjść z programu pocztowego i ponownie uruchomić stary program. Wydaje mi się, że widzisz, że gdyby twój obecny program pozwalał ci czytać e-maile, możesz tego uniknąć.
Dlatego jeśli twój obecny program nie mógł odczytać twojego e-maila, byłeś skłonny to zrobić (pamiętaj, że to byli studenci MIT) lub przejść na inny, który mógłby.
Obecnie trudno to sobie wyobrazić, ale można się zorientować, jak to było, ograniczając się do jednego okna przeglądarki - bez kart, bez dodatkowych okien - a może nawet nie używać zakładek.
źródło
Jak wszyscy inni już wspominali, „prawo” jest dowcipną obserwacją oprogramowania wzdęcia i pełzania wyników , i jest bardzo podobne do dziesiątej zasady Greenspun :
Prawo odzwierciedla pracę Zawinski za pomocą przeglądarki Netscape, a później z Netscape Mail & News, jak opisano tutaj przez dobrze, sam:
Przeglądarka Netscape, wówczas najpopularniejsza przeglądarka, była często krytykowana jako posiadająca zbyt wiele funkcji dla własnego dobra, jeśli się nie mylę, była to ostatnia (popularna) przeglądarka obsługująca dwa silniki renderujące, Gecko i Trident. Na przykład Ben Goodger identyfikuje wzdęcie Netscape'a jako jeden z (wielu) powodów, które doprowadziły do powstania Firefoksa 1 :
1 Z archiwalnej wersji nieistniejącego już bloga Bena Goodgera.
źródło
To nie jest prawdziwe prawo, to satyryczny komentarz na temat tego, jak projekty oprogramowania (jeśli nie są właściwie zarządzane) mogą stać się tak duże i skomplikowane, że w końcu zawierają czytnik wiadomości e-mail (nawet jeśli nie ma to nic wspólnego z pierwotnym celem projektu) . Menedżer, którego kiedyś miałem, lubił podobne zdanie: „Każdy wystarczająco skomplikowany system zawiera w sobie w połowie zaimplementowaną implementację LISP”.
źródło
Jest to komentarz na temat tego, jak niektóre projekty oprogramowania rozwijają się i dodają coraz więcej funkcji.
Wydaje się, że wiele projektów nie jest w stanie oprzeć się dodaniu funkcji, niezależnie od tego, czy są one potrzebne, czy nie.
Logicznym wnioskiem jest to, że każde oprogramowanie ostatecznie wysyła pocztę.
Zobacz także Scree Creep .
źródło
Widzę co najmniej trzy sposoby, aby to zobaczyć.
Jednym z nich jest zignorowanie samego czytania poczty i postrzeganie go jako stwierdzenia, że ludzie lubią produkty z elastycznością, którą można wykorzystać do prawie każdego zadania, niezależnie od tego, jak mało może to mieć związek z pierwotną intencją narzędzia. Jeśli spojrzymy na to w ten sposób, produkt taki jak Photoshop, który nie obsługuje odczytu poczty, nie jest anomalią, ponieważ jego architektura wtyczek jest wystarczająco elastyczna, aby mogła obsługiwać poczty czytania, choć (o ile wiem) nie taka wtyczka istnieje. Ten punkt widzenia można by streścić w bardziej przejrzysty sposób, ale mniej oryginalnie, ponieważ „elastyczność pokonuje specjalizację”.
Drugi sposób, by to zobaczyć, polega na tym, że Jamie Zawiński ma tak wąski cel, że po prostu ignoruje produkty, takie jak Photoshop, PowerPoint, większość gier itp., Które istnieją już od lat, nie obsługują czytania poczty i nie wydają się być zastępowane przez cokolwiek innego, co robi.
Trzeci byłby trochę kontrapunktem do drugiego, mówiąc, że w gruncie rzeczy integracja między produktami nastąpiła do tego stopnia, że efektywne czytanie poczty jest zintegrowane ze wszystkim, ponieważ większość ludzi ma teraz czytnik poczty działający w tle, wszystkie czas i można na niego szybko / łatwo przełączyć, wyciąć i wkleić z czymkolwiek innym itp., że drobne szczegóły, że czytnik poczty jest zapakowany jako osobna aplikacja, przestały mieć znaczenie.
źródło