Jakie rzeczy, które przeczytałeś, zainspirowały i poprowadziły cię jako programistę? [Zamknięte]

32

Na przykład, jako początkujący, znajduję dużo inspiracji i kierunku czytając ten post przez Bryan Woods .

aredkid
źródło
Jak znalazłeś tego posta na blogu? To była niesamowita lektura.
Michael Riley - AKA Gunny

Odpowiedzi:

26

Dziwi mnie, że nikt nie wspominał o Pragmatic Programmer . Jest to obowiązkowa lektura, jeśli w ogóle interesujesz się swoim rzemiosłem.

Wyatt Barnett
źródło
Kiedyś była to „obowiązkowa lektura”.
kirk.burleson
2
@ kirk.burleson: Nadal jest.
Steven Evers,
Zgadzam się, przeczytanie go pomogło mi zrozumieć wiele o tym, co robimy i jak sobie z tym poradzić.
aredkid
Uwielbiam zwrotkę `` select '' Is not Broken. Nie jest zepsuty, tylko jest do kitu :)
Tim Post
Wreszcie, po przeczytaniu, zgodzę się. I przypuszczam, że jest to godna odpowiedź.
aredkid
13

Rękawiczki

Rękawiczki - rzuć okiem na swoją pierwszą wersję i po prostu powiedz „rękawiczki”.

Ten post z Daily WTF utrzymał mnie na właściwej drodze. Przyznam, że kilka razy zacząłem opracowywać coś, w którym para „rękawiczek” była odpowiednim rozwiązaniem.

Covar
źródło
3
Nie rozumiem
kirk.burleson
1
Kirk, musisz przeczytać link do artykułu, aby odpowiedź mogła mieć sens ... chociaż nawet wtedy tak naprawdę nie jest.
Peter Boughton,
5
Oznacza to, że gdy przemyślisz problem, możesz skończyć z wyjątkowo złożonymi rozwiązaniami, które stają się bardziej skomplikowane z powodu wcześniejszych wyborów projektowych. Podsumowując połączony artykuł, starają się stworzyć absurdalny system ogrzewania ciała, aby utrzymać ciepło dłoni. Zamiast nosić tylko rękawiczki
Matt Phillips
świetny post! Doskonały.
Dave
+1 I lol'd @ the history. Nie mogę uwierzyć, że nie przestali po „To jest genialne: możemy bardziej efektywnie wykorzystać ciepło ciała! W ten sposób system można wykorzystać również podczas chodzenia / joggingu”. komentarz.
Evan Plaice,
12

Przeczytaj przemówienie wygłoszone przez Alexa Stepanova w Adobe. Pod koniec 5 lat oddzieli to WIELKICH od DOBRYCH.

http://www.scribd.com/doc/210467/Speech-by-Alex-Stepanov

Maniak
źródło
Wiesz, Stepanov powiedział kilka rzeczy, z którymi gwałtownie się nie zgadzam, ale ta mowa jest doskonała.
Frank Shearar,
@Frank: Prosimy podzielić się, jeśli jest to związane z programowaniem, ponieważ wszyscy możemy się czegoś od ciebie nauczyć. Nie mówmy o jego amerykańskich komentarzach.
Geek
Jego komentarze na temat OOP są po prostu błędne: stlport.org/resources/StepanovUSA.html Na początku uważa, że ​​OOP jest wysyłane pojedynczo i oparte na klasach. (CLOS używa wielokrotnej wysyłki, Self i Javascript są oparte na prototypach, jako kontrprzykłady).
Frank Shearar
Czy istnieje jakieś inne źródło tego oprócz transkrypcji? Zauważył, że transkrypcja zawierała błędy w tłumaczeniu.
Jonn
@Frank Shearar Facet po prostu woli prostotę od potencjalnego spaghetti. Wygłosił także wykład po rosyjsku około rok temu; tam powiedział, że woli proste rzeczy takie jak „for, if” i zasadniczo nie widzi nic złego w pisaniu Pascala w dowolnym języku, jeśli kod jest skuteczny i przejrzysty (w przeciwieństwie do błędnie wpisywanego typu kanałowego, jak go rozumiem).
mlvljr
10

Zawsze uważałem, że Coding Horror i Joel on Software są inspirujące w niektórych postach na blogu. Zawsze też sprawiały, że czułem się dobrze, ponieważ rozumiałem, o czym rozmawiają i sprawiały, że myślałem o sobie jako programistie.

jsternberg
źródło
8

Czytać

Obejrzeć


Czasami chodzi bardziej o ludzi ...

I grono ludzi, których ślady należy podążać i na których barkach stać (w żadnej szczególnej kolejności i wymienionych, gdy przychodzą mi do głowy w swobodnym przepływie): Alan Kay , Richard Stallman , Ken Thompson , Dennis Ritchie , Brian Kernighan , Theo de Raadt , Linus Torvalds , Eric S. Raymond , Rob Pike , Bill Gates , Steve Jobs , John MacCarthy , John Conway , Martin Odersky , James Gosling , Guy Steele , Donald Knuth ,Edsger Dijkstra , John Carmack , Peter Molyneux ... Albo ich własne słowa i dzieła były inspirujące lub ich historie opowiadane przez innych. Tak długo, jak pamiętasz, że ich umiejętności i geniusz w niektórych obszarach nie przeszkadzają im w tym, że są ślepi na własne przekonania w innych. Jak każdy inny. (Dwie wyżej wymienione książki będą już dość dobrze je obejmować, dla większości z nich!)

Lub mniej znani, ale mimo to aktywni technolodzy, których interesowanie można obserwować z daleka: Neal Gafter, Martin Fowler , Don Syme itp.

Inspirowały mnie prace tych ludzi i rzeczy, które zrobili, aby osiągnąć (lub porzucić) swoje projekty.

Czasami chodzi bardziej o kulturę i marzenie oraz przełamywanie barier ...

Czytając 2600 jako dziecko, kiedy mój angielski był embyonic, historia wczesnych maniaków, takich jak Captain Crunch lub narodziny ery PC z Wozniakiem w Apple oraz czytanie książek i esejów Williama Gibsona i Neila Stephensona również były inspiracją dla mnie jako programisty , choć nie miało to bezpośredniego związku z programowaniem. W tym duchu, nawet hackerów Manifest The Agile Manigesto lub nawet rzeczy jak Kodeksu Etyki IEEE były i nadal są inspirujące.

haylem
źródło
+1 za rozmowę o bramkach / pracy. Świetny wywiad i całkowicie poprawne noty gospodarzy vs. gości.
Steven Evers,
++ dla 11 linków w 11 słowach
sova
@sova: dzięki, musiałem je wykopać, ale pomyślałem, że to może być pomocne. Myśląc o tym, wskazanie wyszukiwania na youtube może być lepsze na wypadek, gdyby zostały usunięte.
haylem
zapomniałeś Wau Holland (jednego z założycieli Chaos Computer Club, jednej z najstarszych organizacji hakerów) - był przeciw cenzurze, prawom autorskim i opowiadał się za otwartą infrastrukturą informacyjną.
Joschua
@Joschua: naprawdę miła referencja. Tak naprawdę nie śledziłem bezpośrednio osiągnięć Holandii, ale przez jakiś czas śledziłem wiadomości otaczające CCC. Szczerze mówiąc, brakuje mi teraz na to czasu. :(
haylem
7

Ostatni wykład książka napisana przez Randy'ego Pauscha, człowieka stojącego za Alice. Jest zgodny z jego ostatnim wykładem „Naprawdę osiągając swoje marzenia z dzieciństwa”. Zawsze muszę pamiętać, aby być Tygrysem.

JustJohn
źródło
6

to bardzo krótka lista, złożona z dwóch książek:

  • głowa pierwsza - wzorce projektowe
  • czysty kod
Belun
źródło
5

Pod względem wskazówek

Książka The Elements of Programming Style autorstwa Kernighana i Plaugera była dla mnie bardzo wpływowa, kiedy uczyłem się C. Książka była już uważana za „przestarzałą”, kiedy ją czytałem, ze względu na użycie próbek PL / I i Fortran, ale wskazówki wykraczały poza oba języki.

Przed przeczytaniem tej książki byłem przekonany, że „styl” dotyczy tego, co uważam teraz za trywialne kwestie, takie jak formatowanie (ile spacji dla tabulatora? Gdzie umieszczasz curlies?). Ale styl jest tym, co masz po usunięciu konwencji formatowania i nazewnictwa. Czy łatwiej jest zbudować ciąg do tyłu, a następnie odwrócić? Następnie skonstruuj go do tyłu i odwróć.

Inna książka Kernighana i Plaugera, Software Tools , również była pomocna, ale nie tak dobra. Przydaje się także znacznie nowsza książka The Practice of Programming autorstwa Kernighana i Pike'a, ale daleka od elementów stylu programowania . Chciałbym nadal mieć swoją kopię. Warto przeczytać każdy programista.

Doceniłem testowanie i kontrolę jakości po przeczytaniu Glenford Myers The Art of Software Testing . Pokazało mi, że testowanie to prawdziwa twórcza aktywność, a nie tylko coś dla kierunków informatycznych, którzy nie lubią programować. Być może wraz z rosnącą popularnością Test-Driven Development coraz więcej osób zwróci się do książki Myersa.

I nie mogę wymyślić lepszego wprowadzenia do pojęcia abstrakcji niż książka „Struktura i interpretacja programów” , dostępna bezpłatnie online. Wprowadza język programowania Scheme, ale porusza wiele innych tematów w informatyce, w tym programowanie deklaratywne.

Pod względem inspiracji

W mojej karierze akademickiej zainspirowała mnie koncepcja programowania zorientowanego na aspekty. Możesz przeczytać niektóre z bardzo wczesnych prac na temat AOP i otrzymać pół strony notatek z pomysłami.

Uważam również, że postęp Kościoła i Turinga jest bardzo inspirujący. W latach 30. XX wieku, zanim jeszcze wyprodukowano komputery, naukowcy i matematyki programowali w języku programowania wyższego rzędu: rachunek Lambda. Konstrukcja liczb kościelnych i funkcja poprzednika jest prawdopodobnie jedną z najmądrzejszych konstrukcji programistycznych w historii. Pokazuje, jak zrobić coś z prawie niczego.

Macneil
źródło
1
Jeśli czytasz o AOP, nie zapomnij wcześniejszej pracy Kiczalesa i innych, w formie The Art of the MetaObject Protocol .
Frank Shearar
Niezawodność oprogramowania Myer : zasady i praktyki to także całkiem niezła lektura.
Frank Shearar
+1 za SICP w instrukcji
Inaimathi
5

Nie czytam. W 1984 roku rozmawiałem z moim sąsiadem i jego przyjacielem. Miałem 16 lat. Znajomy powiedział mi, że zasadniczo świat jest podzielony między użytkowników komputerów i programistów. Powiedział, że tylko najmądrzejsi ludzie na świecie mogą zostać programistami.

Yeeeeee! Co za wyzwanie!

Christopher Mahan
źródło
5

Oryginalnie Joel o oprogramowaniu , sposób, w jaki pisze, bardzo ułatwił zrozumienie koncepcji, kiedy zaczynałem.

DBlackborough
źródło
2
Jest dobrym pisarzem i uwielbiam czytać jego rzeczy. Po prostu weź trochę z odrobiną soli lub możesz wpaść w depresję, jeśli nie jesteś programistą gwiazd rocka.
kirk.burleson
1
Chcę być deweloperem rockstar, tak jak chcę być dupkiem.
Jonathan Sterling
3

Wśród wielu inspiracji najnowszą była książka na temat: Wzory praktyk

Xencor
źródło
Miałem nadzieję, że więcej osób poprze to. Ta książka jest niesamowita! To nie tyle przewodnik po technice programowania, co strategia; pokazując, jak podejść do swojej kariery programistycznej (i ogólnie zawodu programisty), traktując ją jako ścieżkę przez całe życie i postrzegając siebie jako aspirującego rzemieślnika.
jellyfishtree,
3

Kiedy po raz pierwszy przeczytałem „ Design Patterns Book” w 1995 roku lub coś takiego, było to dla mnie prawdziwym odkryciem dla mnie jako programisty.

W dzisiejszych czasach książka Jamesa Shoresa o zwinnym rozwoju bardzo mnie zainspirowała, a ostatnio Lyssa Adkins o zespołach trenerskich, które są wysoce zalecane, jeśli jesteś zainteresowany takimi rzeczami.

Martin Wickman
źródło
3

Ci ze wschodniego pokolenia mogą cieszyć się uroczą książeczką z koanami na transcendentalnym Tao programowania .

Był to mój pierwszy krok na drodze do oświecenia i była pierwszą rzeczą, która zachęciła mnie do myślenia o programowaniu i ogólnie pracy twórczej, jako własnej niezwyciężonej istocie, która z biegiem czasu może zostać odkryta przez twórcę. Ci, którzy spróbują z nim walczyć lub go zrozumieć, na pewno poniosą porażkę.

Jon Purdy
źródło
3

Mały LISPer oszalał .

Wziąłem lekcję programowania pascal w liceum. Znałem już dość dobrze język C64 Basic i zapytałem nauczyciela, czy wszystkie języki programowania są takie jak Basic i Pascal. Pożyczył mi swoją kopię Little LISPer. Po spędzeniu weekendu na czytaniu go nie wierzyłem, że taki dziwny język może istnieć lub działać. Kiedy zobaczyłem, że działa na dial-up mini, do którego ma dostęp, byłem oszołomiony. To istniało.

Po mojej drugiej klasie programowania na uniwersytecie; Algorytmy i struktury danych, zmieniłem kierunki, aby uzyskać dostęp do lepszego laboratorium CS Computer. Mieli maszyny uniksowe z seplem, schematem, prologiem, SmallTalk80 i mnóstwem innych narzędzi.

sal
źródło
3

Kod ukończony . Obejmuje większość podstawowych przedmiotów, które musisz znać jako programista, i daje wskazówki, jak dowiedzieć się więcej o każdym z nich. Bardzo dobry pierwszy krok na ścieżce uczenia się. Ja i wiele osób, które znam, żałują, że nie przeczytały tego wcześniej w życiu programisty.

Matthieu
źródło
3

Najbardziej inspirującą rozmową, jaką kiedykolwiek słyszałem, był Richard Gabriel mówiący o tym, że oprogramowanie do pisania jest podobne do pisania wierszy. Poeci często wkładają wiele wysiłku, aby uzyskać kilka słów w sam raz - pomyśl Haikus - i powinniśmy dążyć do tego samego rodzaju doskonałości i elegancji podczas pisania oprogramowania.

Elegancja i zwięzłość są tak samo ważne w programowaniu, jak w poezji i matematyce i wymagają dużo wysiłku, aby zrobić to płynnie.

Zobacz niektóre punkty na http://www.dreamsongs.com/PoetryOfProgramming.html

1249
źródło
Dzieliłem biuro z Richardem na MIT około 74-tej.
Mike Dunlavey,
2

Najbardziej użyteczna pojedyncza książka w historii - nie o programowaniu, ale o tym, jak skutecznie pracować w tej dziedzinie: „Peopleware” autorstwa DeMarco i Lister. Powinien być na każdej półce z książkami dla programistów. A jeśli przejdziesz do zarządzania, podwójnie.

szybko
źródło
2

Jak powiedział Alan Kay prawie 30 lat temu , punkt widzenia jest wart 80 punktów IQ. Książki, które zmieniły mój punkt widzenia:

  • „Badania filozoficzne” Ludwiga Wittgensteina

    Czasami myślimy, że wiemy, a tak naprawdę nie wiemy. W. pokazuje, jak się przyjrzeć.

  • „Fakt, fikcja i prognoza” Nelsona Goodmana

    Tutaj dowiedziałem się, co tak naprawdę oznacza słowo analityczne . Co tak naprawdę oznacza słowo pragmatyczny .

  • „Zen and the Art of Motorcycle Maintanance” Roberta M. Pirsiga

    Jak mogą istnieć rzeczy lepsze od innych? Dlaczego nie wszystko jest takie samo pod względem jakości? IOW, co wspólnego mają ze sobą dobre filmy, dobre samochody, dobre jedzenie i dobre oprogramowanie?

pillmuncher
źródło
2

Dusza nowej maszyny (inspiracja, gdy byłem w liceum) SICP (prawdopodobnie jedna z najlepszych książek związanych z tworzeniem oprogramowania, jakie kiedykolwiek czytałem)

Tim
źródło
Dla każdego profesjonalnego programisty wymagana jest lektura Tracy Kidder's Soul of a New Machine . Dałem kopie każdemu świeżo upieczonemu niedoszłemu deweloperowi, którego mentorowałem przez lata. Samo zrozumienie jego koncepcji „rejestracji” jest warte swojej ceny i czasu.
Ross Patterson
1

Marvin Minsky

  • Obliczenia: maszyny skończone i nieskończone

  • Semantyczne przetwarzanie informacji

Mike Dunlavey
źródło
1

Seth Godin , choć nie jest całkowicie związany z programowaniem, ma dla mnie inspirujące posty jako programista i przedsiębiorca (oprócz Joela ds. Oprogramowania).

eds
źródło
1

Książka pięciu pierścieni Myomoto Musasashi.

Niektóre najważniejsze informacje.

Nie masz ulubionego narzędzia. Naucz się korzystać z każdego narzędzia, dowiedz się, kiedy jest to właściwe, poznaj jego słabości i mocne strony.

Pracownicy, których praca nie jest doskonała, mogą być wykorzystywani w miejscach, gdzie jakość ich wykonania jest widoczna publicznie. Słupy podtrzymujące podłogę pod budynkiem nie muszą mieć idealnego wykończenia (muszą po prostu działać).

Robiąc jedną rzecz, rób wiele rzeczy. Więc jeśli istnieje wybór między robieniem A i B, ale B można wykorzystać do zrobienia wielu rzeczy w przyszłym tygodniu, zrób B, jeśli możesz sobie na to pozwolić.

Tim Williscroft
źródło
1

Zacząłem od programowania gier. Wszystko pochodzi z dni NES. Chciałem zostać deweloperem gier i udało mi się to, ale zmieniłem na Application Software / Hardware Analyst, aby uzyskać lepszą karierę, ponieważ mój kraj branży gier jest zbyt niszowy.

Na początku bardzo żałowałem, że podjąłem się roli IT. Później jednak zainspirowali mnie moi byli koledzy z jego osiągnięć i byli oni bardzo aktywni w tych nowych obszarach rozwoju technicznego. W wolnym czasie będę mieszać się z programowaniem oprogramowania, aby pracować nad osobistymi projektami z moimi byłymi kolegami.

Cyfrowy koleś
źródło
1

Wiem, że jest to trudne do odczytania, ale sztuka programowania komputerowego Knutha to naprawdę wielka sprawa w naszej dziedzinie. A Gödel, Escher, Bach: Wieczny złoty warkocz Douglasa Hofstadtera jest inspiracją dla tych z nas, którzy mają matematyczne lub algorytmiczne podejście.

Ross Patterson
źródło
Czytam Coders w pracy ( en.wikipedia.org/wiki/Coders_at_work ) i prawie wszyscy programiści, z którymi rozmawialiśmy, odnoszą się do książki Knutha, więc na pewno wydaje się to koniecznością.
fejd
1

Adnotacja Turinga

Samo wyobrażenie sobie kogoś, kto projektuje tak złożone metody i algorytmy prawie sto lat temu, motywuje mnie.

Jeff Swensen
źródło