• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Programowanie "na kartce". Zapraszam do dyskusji.

Aruba Cloud - Virtual Private Server VPS
+4 głosów
2,421 wizyt
pytanie zadane 17 września 2015 w Rozwój zawodowy, nauka, praca przez junior-lugos Użytkownik (600 p.)
Witam serdecznie. Jak wszyscy wiemy coraz więcej ludzi mimo młodego popada w pasję programowania. (Dobra robota Panie Mirosławie :)). Co za tym idzie, także powstaje coraz więcej tematów na tym forum o tytułach: "mój kod robi coś innego niż chcę, kod nie działa, program źle działa od pewnego zakresu...".

Wszystko w porządku, pod pewnym względem ten serwis powstał, by bardziej doświadczeni ludzie mogli pomagać tym ciągle rozwijającym się. Aczkolwiek zastanawiam się ilu z Was jeszcze korzysta z "programowania na kartce", i czy wg Was ma to w dzisiejszych czasach jeszcze sens.

Jak wiadomo, każdy kto zacznie programować chce jak najwięcej czasu spędzać przed kompilatorem i "kodzić i kodzić". Z czasem jednak zadania przestają być na tyle łatwe i nie da się ich napisać praktycznie na bieżąco. Albo jak nasz algorytm źle działa, co wtedy ? Wydaje mi się, że duża część osób zakłada temat na forum.

Kiedy osobiście uczyłem się programowania, kompilator służył mi zazwyczaj tylko za narzędzie do końcowej implementacji. Większość swoich pomysłów i algorytmów analizowałem i bazgrałem na papierze. Kiedy algorytm był gotowy, dopiero sprawdzałem czy to się trzyma kupy. A jeżeli tak to szukałem mozliwych usprawnień.

Ok, tak może i robi większość, ale przechodzimy do najpiękniejszej dyscypliny w programowaniu: debuggowanie :D

Jeżeli program się nie kompiluje to pół biedy, wklepiemy w google treść błędu i rozwiązanie na pewno się znajdzie, gorzej kiedy program działa tylko dla pewnego zestawu danych. A najgorzej kiedy napiszemy algorytm do większego programu, sprawdzimy go dla pewnych zestawów które przejdą, a w rzeczywistości liczy on źle dla innch zestawów danychm to dopiero mamy zabawy potem jak już złożylismy resztę projektu do kupy :D.

Tutaj dochodzę do sedna po swojej wypowiedzi i zapytania: Zakładanie tematu na forum z zapytaniem czemu algorytm nie działa ? A może rozpisanie na kartce linijka po linijce całego algorytmu, (schematu blokowego, pseudokodu nvm) czasem może głębokiej rekurencji, i może stracić na to kilka godzin, żeby rozwiązać problem ?

Ze swojego doświadczenia wiem, że jak znalazłem nawet mały błąd w algorytmie, osobiście to wiem, że już go nigdy więcej nie zrobię, (nie mówię to o nienapisanie inkrementacji i++ w pętli while bo to raz w roku i zawodowemu programiście może się zdarzyć :P) ,a jak ktoś z zewnątrz wskaże błąd, to różnie bywa z tym.

 

Zapraszam do dyskusji: zakłądanie tematu na forum, czy nawet mozolne debuggowanie i samodzielne znalezienie rozwiązania ?

 

Pozdrawiam.

6 odpowiedzi

+3 głosów
odpowiedź 17 września 2015 przez Magicone Nałogowiec (45,100 p.)

Eee, myślę, że dosyć dużo ludzi jeszcze z kartki i flamastra korzysta, czy chociażby analizuje cały proces działania programu w głowie, używając tzw. analitycznego myślenia. Wszyscy popełniamy błędy i popełniać je będziemy, bo jesteśmy tylko ludźmi. :-) Co do samej algorytmiki, to testy są od sprawdzania, czy dana rzecz w programie działa dobrze, ogólnie jest przyjęte - najpierw pisz testy, później koduj. Warto się do tego przyzwyczajać i wyrabiać poprawne nawyki. I jak już ktoś wspomniał wcześniej - języka uczysz się 3 miesiące, programowania całe życie... :P

+1 głos
odpowiedź 17 września 2015 przez event15 Szeryf (93,790 p.)
Ja jestem zwolennikiem map myśli, wykresów uml, dokumentacjów redditów i stack overflow.

Jeżeli to wszystko zawiedzie - muszę zapytać :)

Osobiście nie piszę kodu na kartce. Bardziej schemat działania. Przepływ informacji.
+1 głos
odpowiedź 18 września 2015 przez Strategiusz Dyskutant (9,220 p.)
Czasem po prostu ktoś inny znajdzie błąd szybciej od autora kodu. Albo zdarzało się czesto, że znajdywałem błąd sam, ale dopiero wtedy, gdy już zdesperowany tworzyłem temat na jakimś forum. Wtedy, gdy starałem się zrozumiale opisać mój problem innym, sam odkrywałem, że mogę spróbować jeszcze czegoś innego, albo sprawdzałem, czy to co robiłem było w ogóle właściwe. Pisząc o swoim problemie, spoglądałem na niego z zewnątrz i wg mnie w lepszy sposób, bardziej uporządkowany. I obca osoba jak widzi obcy kod, to próbuje go od razu jakoś ogarnąć w sposób uporządkowany.

Co do kartki, nie chodzi o to, że ma to być kartka papierowa, ale o to, że programu nie tworzy się od razu jako gotowego kodu. Ja robię tak, że idę od ogółu do szczegółu. Pierwsze plany są w plikach tekstowych, rysunkach, czy nawet w arkuszu kalkulacyjnym (projekty bazy danych).
0 głosów
odpowiedź 17 września 2015 przez mrcnsct Nałogowiec (36,390 p.)
edycja 17 września 2015 przez mrcnsct
Czasami zdaża mi się pisać na kartce, rozpisać parę sytuacji itp. Jednak jak później kompiluję, to nie zawsze wszystko dobrze działa.
0 głosów
odpowiedź 18 września 2015 przez patrycja Początkujący (450 p.)
Ja dopiero zaczynam przygodę z programowaniem, i nie jestem zwolennikiem łatwych rozwiązań, tzn. jak jest jakiś błąd staram się sama rozwiązać, a nie pisać od razu w google, czy na forum. Raz siedziałam cały dzień, ale jaka była satysfakcja gdy sama znalazłam ten błąd. Czasem potrzeba zwykłej wskazówki, i kiedy już jestem na prawdę zrezygnowana szukam po prostu odpowiedzi w internecie, ale rzadko. Staram się jak najwięcej problemów rozwiązywać sama. Jest to bardzo dobra nauka, bo mogę być pewna, że już więcej tego błędu nie powtórzę, a co najważniejsze rozumiem to co napisałam, a nie skopiowałam bezmyślnie od kogoś. Tyle. Jeśli chodzi o kartkę i długopis to jak najbardziej jestem za i sama praktukuję bardzo często. Pozdrawiam ;)
0 głosów
odpowiedź 18 września 2015 przez in4mat Bywalec (2,600 p.)
Jak najbardziej często zdarza mi się korzystać z kartki :). Ostatnio pisałem program, który rozwiązuje tzw. problem plecakowy, bez kartki i rozwiązania tego na niej by się nie obeszło, z resztą podobnie było z komiwojażerem, algorytmami sortującymy (może poza bubble :D) itp. Także jestem zwolennikiem rozpisywania na kartkach :).

Podobne pytania

–2 głosów
2 odpowiedzi 392 wizyt
pytanie zadane 27 stycznia 2017 w C i C++ przez Szczurk3y Nowicjusz (200 p.)
+1 głos
4 odpowiedzi 563 wizyt

93,335 zapytań

142,330 odpowiedzi

322,415 komentarzy

62,669 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...