1. Forum Libertarian ma swój regulamin.

Jakbym chciał zostać programistą...

Temat na forum 'Komputery i technika' rozpoczęty przez Antoni Wiech, 26 Listopad 2014.

  1. Antoni Wiech

    Antoni Wiech paranacjonalista Członek Załogi

    Posty:
    3 624
    Polubienia:
    4 803
    Jeśli chciałbyś więcej wytłumaczenia teoretycznego plus pewną wizję zanim zaczniesz klepać w klawiatę to polecam to:


    Mi ten styl nie podszedł, bo ja wolę szybszy styl narracji i powiedźmy jakieś podstawy złapałem. Ale jak ktoś startuje od zera i chciałby mieć jakieś intro wprowadzające bardziej ogólne to myślę, że ten kurs jest niezły.

    Ze swojej strony dodam, a mam małe doświadczenie ale udało mi się napisać wiele linijek (głównie php), że jeśli ktoś jest logikiem to powinien ogarnąć programowanie. Według mnie główny problem polega nie na załapaniu abstrakcji, ale nauczeniu się składni. Ja np. potrafiłem spędzić godzinę bo mi coś nie pyknęło, bo nie wstawiłem gdzieś ";", albo kropki itp. Po prostu kod od strony logicznej był ok, ale brakowało właśnie odpowiedniego znaku. Dlatego początki bywają trudne i wymaga to zaparcia. Powodzenia!
     
    kompowiec lubi to.
  2. bombardier

    bombardier Well-Known Member

    Posty:
    1 326
    Polubienia:
    5 419
    A słuchać co pan Kompilator o kodzie rzeknie nie łaska?
     
  3. Antoni Wiech

    Antoni Wiech paranacjonalista Członek Załogi

    Posty:
    3 624
    Polubienia:
    4 803
    Słuchać, słuchać... problem w tym, że w dużej części to wiele nie daje, szczególnie na początku. Kod się potrafi wywalić kilka linijek później, bo np. odwołuje się do zmiennej zadeklarowanej kilka linijek wyżej i bez dużego doświadczenia nie jest łatwo to wyłapać. Lub też stwierdza, że nie jest w stanie przeprowadzić danej operacji. I teraz nie wiadomo, czy jest użyta zła komenda, a może po prostu brakuje tylko jakiegoś średnika.
     
  4. Brehon

    Brehon Well-Known Member

    Posty:
    554
    Polubienia:
    1 307
    Python + codecademy
    https://www.codecademy.com/learn/learn-python

    Ja tak zacząłem, i jakoś wyszło
    Według dość powszechnej opinii python to najłatwiejszy język do opanowania na początek
     
    tosiabunio i NoahWatson lubią to.
  5. NoahWatson

    NoahWatson The Internet is serious business.

    Posty:
    903
    Polubienia:
    1 906
    Inteligentny ale raczej leniwy, a w czystym rasowo C trzeba się dużo napisać, by coś zrobić. A dobrze pisany pod względem jakości C++ to już w ogóle sporo nauki, bo trzeba wiedzieć zarówno z punktu widzenia architektury minimum (projektowanie w programowaniu zorientowanym obiektowo, zasady, wzorce projektowe), jak również bardziej niskopoziomowe z rzeczy jak zarządzaniem pamięcią i połączenie jednego z drugim.
    I nie zgodzę się, że C to aż tak uniwersalny język, bo to język imperatywny. Jak przejrzie do języka, których chociaż w części swoich założeń od początku miał elementy funkcyjne to wiele osób czuje się nieswojo. Dla mnie np brak zwykłego, imperatywnie sterowanego for-a (inicjalizacja, warunek, inkrementacja) i zamiast tego for na iteratorach (z prawdziwego zdarzenia, a nie tylko Java'owy Iterable<T>) to było już coś, co było dla mnie początkowo niekomfortowe.
    Słabo się znam na Pythonie i sam inaczej zaczynałem, ale podążył bym za głosami ekspertów i go wybrał na początek.
     
  6. bombardier

    bombardier Well-Known Member

    Posty:
    1 326
    Polubienia:
    5 419
    Niespecjalnie, skoro chce nabyć nową umiejętność...

    Właśnie ze względu na "niskopoziomowe rzeczy" polecam C i C++. Zdarza się, całkiem nierzadko, że później to procentuje. Nie twierdzę, że jest to jedyna słuszna droga; takowej nie ma.

    Gdyby postawił sprawę sensownie ("Chcę robić to i to. Czego się uczyć - jakie kursy, materiały, tytuły i w jakiej kolejności?") to można by sensownie odpowiedzieć. A tak to wypada przede wszystkim polajkować GAZDĘ. :D
     
  7. kompowiec

    kompowiec Open Source Boy

    Posty:
    1 548
    Polubienia:
    1 430
    A ty masz takie? Moim triggerem był vim i jego komendy przypominające perla.

    Może to pomoże?
    http://www.mkgajwer.jgora.net/ers.html
     
  8. tosiabunio

    tosiabunio Grand Master Architect Członek Załogi

    Posty:
    6 472
    Polubienia:
    12 685
    @tolep - Poucz się Pythona. Ale tak naprawdę, dobre podstawy dał mi 3 dekady temu podręcznik Niklausa Wirtha "Algorytmy + struktury danych = programy" z 1976 roku.
     
    nuri i GAZDA lubią to.
  9. tolep

    tolep ChNiNK! ChP!

    Posty:
    7 594
    Polubienia:
    12 583
    No dobra. Niech będzie python :)
    Teraz pytanie uzupełniające.

    Podajcie przykład pierwszego użytecznego, praktycznego zastosowania nauki programowania (np. w Pythonie) które będę mógł wykonać po opanowaniu kilku początkowych etapów.
     
  10. Brehon

    Brehon Well-Known Member

    Posty:
    554
    Polubienia:
    1 307
    Ja napisałem program do rozwiązywania sudoku
     
    GAZDA i fds lubią to.
  11. deith

    deith Active Member

    Posty:
    230
    Polubienia:
    142
    Napisałeś grę sudoku czy program do rozwiązywania sudoku? To drugie wcale nie jest takie trywialne, nie spodziewałbym się aby ktoś zupełnie nowy wykorzystywał backtracking czy dancing links w swoim pierwszym programie.
     
  12. Brehon

    Brehon Well-Known Member

    Posty:
    554
    Polubienia:
    1 307
    Do rozwiązywania sudoku. Tyle że nie zaimplementowałem metody siłowej, tylko kilka "inteligentnych" metod, jakie ja sam stosuję przy rozwiązywaniu sudoku. Dlatego nie rozwiązywało każdego sudoku, tylko te łatwiejsze. Zgadza się, użycie backtrackingu do rozwiązywania sudoku nie jest banalne, też miałem z tym wtedy problem.
     
    Ostatnia edycja: 26 Październik 2017
  13. kompowiec

    kompowiec Open Source Boy

    Posty:
    1 548
    Polubienia:
    1 430
    @tolep
    [​IMG]
    fajnie że polecasz coś co znasz ale w informatycznym świecie to muzealna cegła ;] już różnice pomiędzy python 2 a 3 są kolosalne a tu takie coś? :(

    Ja od siebie polece takie popularne repo:
    https://github.com/EbookFoundation/free-programming-books
     
    Ostatnia edycja: 26 Październik 2017
    tolep lubi to.
  14. GAZDA

    GAZDA EL GAZDA

    Posty:
    7 714
    Polubienia:
    9 648
    podstawy sie nie zmieniły przecie
     
  15. kompowiec

    kompowiec Open Source Boy

    Posty:
    1 548
    Polubienia:
    1 430
  16. GAZDA

    GAZDA EL GAZDA

    Posty:
    7 714
    Polubienia:
    9 648
    dobrze jest wiedzieć czym jest program, i co robi
     
  17. kompowiec

    kompowiec Open Source Boy

    Posty:
    1 548
    Polubienia:
    1 430
    Takie poradniki jak sam wyżej dałem świetnie się nadają jak ktoś już zna przynajmniej parę języków, bo tu po prostu ogarniasz składnię i jedziesz z tematem, a osoba która jeszcze nie wykształciła myślenia o programowaniu ogólnie, jako gramatyka wspólna dla prawie wszystkich języków to się nie nada i co więcej, zrobi mętlik w głowie.

    A co do tego, zauważyłem że najbardziej przystępne kursy dotyczą przede wszystkim Javascriptu. Niee :(
     
  18. Brehon

    Brehon Well-Known Member

    Posty:
    554
    Polubienia:
    1 307
    GAZDA lubi to.
  19. tosiabunio

    tosiabunio Grand Master Architect Członek Załogi

    Posty:
    6 472
    Polubienia:
    12 685
    To, że jest to stara rzecz, nie zmienia faktu, że porusza podstawowe tematy, które ulegają przedawnieniu. Owszem, pewne algorytmy tam opisywane nie mają już zastosowania, ale podstawy pozostają. Owszem Wirth posługuje się Pascalem w przykładach, ale tym bardziej polecam to, aby poznać zasadę działania poszczególnych algorytmów i umieć je zaimplementować samodzielnie już w wybranym języku (tu Pythonie), a nie przeklepać je z książki.

    Zapewne są nowsze dzieła o podobnej treści, ale nie zauważyłem, abyś polecił coś konkretnego, co mogłoby z tym konkurować, więc prosiłbym, abyś więcej nie zabierał się za ocenianie przydatności czegoś, czego nie znasz.
     
    NoahWatson, GAZDA i FatBantha lubią to.
  20. piezol

    piezol Jebać życie

    Posty:
    1 084
    Polubienia:
    3 606
    Pierwszy przykład z brzegu - założenie folderów w formacie /YYYY-MM-DD/ na rok wprzód, bo debile administratorzy nie byli tego w stanie ogarnąć, a nasza aplikacja wymagała istnienia takich folderów.
    Dużo też możesz się nauczyć, jeśli na przykład znajdziesz jakieś dane w internecie, które chciałbyś sobie upakować w swoją bazę danych - chociaż tu z góry uprzedzam, że o wiele bardziej przyjazne będzie ruby, ze względu na więcej możliwości integracji z np. phantomjsem. Ogólnie jak stawiasz piwo a jestem w posen to można przysiąśc ;)

    A na marginesie - jestem jednak zwolennikiem uczenia się podstaw programowania w C. Nie dlatego, że 'śmiertelnicy nie przetrwają', po prostu przechodząc warstwę abstrakcji wyżej (i znając struktury danych) człowiek bardziej ogarnia, jaki narzut powoduje jakie działanie.
     
    Brehon i bombardier lubią to.

Poleć forum

  1. Ta strona wykorzystuje ciasteczka (cookies) w celu: utrzymania sesji zalogowanego Użytkownika, gromadzenia informacji związanych z korzystaniem z serwisu, ułatwienia Użytkownikom korzystania z niego, dopasowania treści wyświetlanych Użytkownikowi oraz tworzenia statystyk oglądalności czy efektywności publikowanych reklam.Użytkownik ma możliwość skonfigurowania ustawień cookies za pomocą ustawień swojej przeglądarki internetowej. Użytkownik wyraża zgodę na używanie i wykorzystywanie cookies oraz ma możliwość wyłączenia cookies za pomocą ustawień swojej przeglądarki internetowej.