Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

programowanie od czego zacząć?

adam1234.1992 22 Apr 2011 12:08 5348 17
  • #1
    adam1234.1992
    Level 9  
    tak jak w temacie nigdy nie uczyłem się programowania a chciałbym zacząć lecz nie wiem od czego może jakieś propozycję (książki)
  • #2
    DamianSemczyszyn
    Level 13  
    Zależy od ambicji - żeby pojąć programowanie możesz zacząć od czegoś prostego - np. Basica. Jeżeli jesteś bardziej ambitny - C# powinno być ok.
  • #3
    entermen
    Level 31  
    Dawniej uczono na początek Turbo pascala. Dziś trochę wyszedł z mody.
    Moja rada:
    Naukę zacznij od języka C. Pobierz z internetu kompilator np devc++ - jest bardzo wygodny do nauki języka.
    Staraj się w miarę systematycznie coś robić w tym kierunku.
    Programowania nie nauczysz się w tydzień, albo dwa. Trzeba chęci, wytrwałości i dużo nauki.
    Co do literatury to na internecie masz wiele poradników, kursów, książek w formacie pdf itd.
    Dużo czytaj o konstrukcji języka.
  • #4
    hex0
    Level 11  
    Polecam zabawę z systemem, w którym domyślnie nie da się 'wyklikać' wszystkiego (Linux np.).
    Chodzi o to żeby na początek nauczyć się 'gadać' z komputerem.
    To jest oczywiście wskazówka dla bardzo ambitnych.
  • #5
    McMonster
    Level 32  
    Ile osób, tyle podejść. :) Dorzucę więc trochę moich propozycji.

    Wiele zależy od tego, jak poważnie chcesz się zająć programowaniem, ale myślę, że dobrym wstępem będzie zainteresowanie się schematami blokowymi algorytmów. Pomagają przestawić sposób myślenia na właściwy tor, zanim w ogóle dotknie się jakiegokolwiek języka. Możesz rozejrzeć się po Google za programem ELI, czyli antycznym środowiskiem, w którym buduje się takie schematy z klocków, a program je wykonuje i podaje wynik, można też podejrzeć sposób działania.

    Można też pójść po linii mniejszego oporu, wybrać jeden z popularnych obecnie języków, np. Java, C# lub Visual Basic (ale tego ostatniego nie polecam, mogą być potem problemy z przejściem na jakikolwiek inny język), wziąć jakiś kurs podstawowy z Google i na nim się oprzeć, a na podstawie kursu potem eksperymentować.

    Najlepiej mieć też w każdym wypadku znajomego informatyka, którego można często wypytywać o różne szczegóły, bo wątpliwości będzie wiele.
  • #6
    azra
    Level 16  
    Oj, jeżeli już chcesz się zabrać za C albo C++ - to nie korzystaj z DevC++ - to jest stare środowisko, które nastręczy Ci problemów gdy zaczniesz się uczyć rzeczy, które nie zostały jeszcze zaimplementowane (alby były zbugowane) w starej wersji kompilatora, jaką DevC++ instaluje razem z IDE.
    Na początek - zakładając, że nie miałeś do czynienia z instalacją kompilatora - wybierz Code::Blocks (wersję z MinGW).

    Ja polecałbym jakiś język skryptowy na początek, Python na przykład. Nie będzie za bardzo frustrował, a da podstawy pod OO i będzie wymagał porządnego formatowania kodu. W sumie to pewnie i C# czy Java nie sfrustrują do tego stopnia, żeby Cię od programowania odstraszyć - C i C++ (jeśli do nich źle podejdziesz) mogą. ;)

    Jeśli będziesz chciał się dowiedzieć jak to wszystko działa bliżej sprzętu, to wtedy pouczysz się C (przygotuj się na to, że C to PITA, szczególnie dla początkujących - założenie języka jest takie, że "programista wie lepiej" więc jeśli zrobisz coś głupiego, to kompilator prawdopodobnie Cię nie powstrzyma, a nawet jeśli, to i tak będziesz mógł "zamknąć mu gębę" rzutowaniem i zmusić go do kooperacji. ;)
    Kiedy te języki nie będą już wielką niewiadomą, to nie będziesz raczej musiał już pytać "czego uczyć się dalej". ;)
  • #7
    McMonster
    Level 32  
    Oj, Python to raczej niebezpieczny dla początkującego, w ogóle nie broni programisty przed własną niewiedzą i błędami, a potem jest koszmar z szukaniem błędu w kodzie, bo np. dodało się przez przypadek napis do listy liczb. Do tego jest dość wyjątkowy wśród języków pod względem składni.

    Taka Java jest głupoodporna, C#, ale podejrzewam, że podobnie. C jest bezwzględne i błędów nie wybacza, podobnie C++. Tak tylko kilkoma słowami ostrzeżenia.
  • #8
    azra
    Level 16  
    Zgodziłbym się może, gdyby nie słowo "niebezpieczny". :P Co jest niebezpiecznego w tym, że do listy ( lista = [1, 2, 3] ) można dodać wartość innego typu? ( lista.append('napis') ) - to raczej zaleta elastyczności. ;)
    Zauważ, że już przy "lista + 1" albo "lista + 'napis'" dostaniemy błąd składni.

    Chodziło mi raczej o to, że można dość łatwo uczyć się konceptów wyższego poziomu, a nie przejmować się tym, że nam się wartość w long nie zmieści, że wyjedziemy indeksem poza zakres, etc. ;)
    Oczywiście, nie znaczy to, że w innych językach nie można się tego uczyć równie dobrze. ;)

    Tak naprawdę to wybór w dużej mierze zależy od zainteresowań samego początkującego, ja na przykład nikomu nie poleciłbym nauki programowania od assemblera czy Commodore 64 Basic, ale samemu właśnie od tegoż Basica (w porównaniu chociażby z C - C64Basic był okropny :P) i asm zaczynałem. I nie było mi z tym jakoś specjalnie źle.
    Tylko, że nie każdy musi (ani chce) się babrać w asm, żeby i tak później przejść do jakiegoś innego języka, bo może po prostu nie dotrwać. ;)

    Tak czy inaczej - Java to też dobry pomysł. ;)
  • #9
    entermen
    Level 31  
    @azra
    Zgadzam się że devc++ nie jest w miarę nowy, ale dla początkującego w sam raz. Na Code::Blocks będzie początkującemu trudniej.

    Tak na marginesie to kolega adam1234.1992 nie wspomniał nic o znajomości języka angielskiego,a to bardo przydatna umiejętność.
  • #10
    McMonster
    Level 32  
    Z tym Pythonem to i tak, jak azra pisze, a jednocześnie nie. Z jednej strony to dobrze, że ukrywa przed programistą "pierdoły", które przeszkadzają w nauce rzeczy bardziej wysokopoziomowych, ale z drugiej nie dobrze, bo wśród tych pierdół jest wiele rzeczy, które stanowią fundamentalne zagadanienia w programowaniu, czyli coś za coś, moim zdaniem na początek zbyt dużo takiej fundamentalnej wiedzy jest sprzedawane kosztem wygody (kwestia gustu w sumie) i elastyczności (początkujący programista choćby skisł, to nie będzie w stanie jej wykorzystać, czy nawet się pogubi).

    Określenia "niebezpieczny" będę bronił, krótko po odkryciu możliwości Pythona właśnie powyższe zalety mnie skusiły do napisania w nim kilku programów na zaliczenie laboratoriów na studiach i... przy każdym z nich spędziłem cały weekend na debugowaniu. Program się uruchamiał i nie protestował, IDE jest w wypadku takiego języka właściwie zbędne, bo nie jest w stanie pilnować kodu w języku dynamicznie i słabo typowanym i dopiero jak wypluwa zupełnie niezrozumiałe wyniki człowiek musi dochodzić, gdzie palnął głupotę, na którą pozwoliła mu elastyczność języka.

    Niezależnie od stopnia zainteresowania programowaniem, najgorzej jest przedobrzyć.
  • #11
    azra
    Level 16  
    A ja ciągle będę to określenie "atakował", bo "niebezpieczny" sugeruje, że początkujący może zrobić coś naprawdę złego, czyli na przykład... Błędnie napisanym programem "popsuć komputer". Tak, brzmi to niedorzecznie, ale spójrzmy na to jaką wiedzę może mieć osoba kompletnie zielona - przecież programowania nie zawsze uczy się power user. ;)

    Tak jak nie ma języka idealnego, tak nie ma również idealnego dla początkującego - ja jednak jestem zdania, że dla większości początkujących lepszą drogą jest najpierw nauczenie się budowania programów z większych klocków, a dopiero później uczenie się z czego składają się owe klocki.

    Tak na marginesie, Python jest typowany silnie i dynamicznie. A jakie z tego wynikają zalety i wady to już temat na całkiem osobną dyskusję. Nie zamierzam też się przy nim upierać. ;)

    Tak czy inaczej, dobrze jest się uczyć języka z jakąś renomowaną książką (niekoniecznie autorstwa twórców danego języka, choć te zwykle są bardzo dobre), bo uczenie się na ślepo ("wygląda, że działa, jupi") skutkować będzie dziurawą wiedzą. Wiele kursów online jest również wątpliwej jakości, często pisanych "przez początkujących dla początkujących".
  • #12
    adam1234.1992
    Level 9  
    a jaki podręcznik polecacie do turbo pascal ?
  • #13
    przemo_wielki
    Level 24  
    Odpuść sobie wszystko Pascalo podobne (z Delphi włącznie) w tym już praktycznie nikt nie pisze. Naukę rozpocznij od języka obiektowego np. JAVA albo C++ bo jest bardzo duży popyt na nie. Ja sam zaczynałem od Delphi i myślałem że jest to dobra droga, z biegiem czasu człowiek mądrzeje :) ta droga była zła.
  • #14
    McMonster
    Level 32  
    Hmmm, a wydawało mi się, że Python jest słabo typowany, nie wiem, dlaczego. W każdym razie poddaję to określenie "niebezpieczny" na rzecz ostrzeżenia, że można się łatwo w kodzie pogubić. Dobrym podręcznikiem do niego jest Zanurkuj w Pythonie.
  • #16
    kubatek94
    Level 17  
    Ja dodam cos od siebie. W wieku 14 lat juz probowalem sie nauczyc programowania i czytalem rozne kursy, ale za zadne skarby nie rozumialem jak z "kodu" moze powstac normalny program (mialem na mysli GUI :) ). W koncu po kilku probach nauki w wieku 15 lat zaczalem cos czaic, wszedlem na kurs programowania w C (wybralem C, poniewaz podobala mi sie w miare skladnia, oraz chcialem znac C, bo byl mi potrzebny na pisanie kodu na procesory) i zaczalem czytac, ale duzo praktyki bylo potrzebne - wymyslalem sobie jakies wlasne 'potrzebne' programy, po czym siedzialem i probowalem napisac ;) Zaczalem od tego kursu: http://pl.wikibooks.org/wiki/C, jest po polsku i jak dla mnie byl najlepszy, bo mial duzo przykladow. Jako IDE wybralem Code::Blocks- nie potrzebna konfiguracja i jak dla mnie program byl przyjemny w obsludze (nie przytlaczal milionami nic nie znaczacymi funkcjami w menu). Pozniej zaczalem sie uczyc PHP, a jak PHP to i czas przyszedl na HTML i JS. Python byl moim jak narazie ostatnim jezykiem- bardzo przyjazny i teraz wiele rzeczy wole zrobic w pythonie, ale to chyba przez to ze nie trzeba kompilowac, a i jest dobrze udokumentowany ;) Osobiscie, rowniez polecam zaczac nauke C, z dobrego tutoriala. Praktykuj jak najwiecej i wyznaczaj sobie cele, jaki program chcesz napisac, a pojdzie dobrze ;)

    Pozdrawiam i zycze wytrwalosci ;)
  • #17
    trol.six
    Level 31  
    imho ;)

    Najważniejsze:
    1. co chcesz robić dzięki programowaniu?
    2. jakie masz predyspozycje?

    Zerknij na np. Python, Ruby. Ważne są tutaj różnorakie dodatki.

    Jak chcesz być programistą bardziej standardowo to C , a potem np. asm (np mikrokontrolery), C++ , Java , C#

    Interesują cię strony www to może html php javascript

    Masz zdolności ku temu, naucz się wszystkiego ;)

    Na poczatku polecam nie używać żadnych środowisk. Ja tak próbowałem i zwyczajnie nie wiedziałem o co w programowaniu chodzi. Jak już będziesz wiedział to sobie coś dobierzesz.

    Jeśli chodzi o kurs C to polecam tej na mojej stronie, ponieważ powstaje on na bazie moich doświadczeń z nauką oraz błedami jakie ciągle popełniają już piszący w tym języku pomimo niby multum świetnych darmowych kursów. Niestety jeszcze nie jest skończony, i nie wiem na ile spełnia to zadanie. Ale można go przeczytać na razie w chwile ;)
    .
  • #18
    lanky
    Level 17  
    Quote:
    Ja sam zaczynałem od Delphi i myślałem że jest to dobra droga, z biegiem czasu człowiek mądrzeje ta droga była zła.

    @przemo_wielki Widać ,że do tej pory niczego się nie nauczyłeś bo byś nie pisał takich głupot. Przecież język nie ma znaczenia. Co za różnica czy znasz Japoński czy Chiński :) Ważne jest to co masz w głowie więc jeśli bardzo chcesz się wykazać to pokaż jakie stworzyłeś algorytmy a może jakieś poznałeś super wzory dzięki c. W jakim języku to wyrazisz to nie ma kompletnego znaczenia. Więc adam1234.1992 od czego byś nie zaczął to będzie dobrze, ważne abyś po prostu programował :)