Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programowanie - co wybrać na początek

Yasashii 10 Sie 2009 16:52 5645 44
  • #1 10 Sie 2009 16:52
    Yasashii
    Poziom 9  

    Witam. Jedną z rzeczy brakujących mi do szczęścia jest umiejętność programowania. Chciałbym zacząć od czegoś łatwego, a właściwie najłatwiejszego. W związku z tym pojawia się pytanie: Który język programowania jest najłatwiejszy. Będę też wdzięczny za ewentualne tutoriale danego języka.

    ps. Sorki że dałem do niewłaściwego działu i dzięki za przeniesienie.

    0 29
  • CControls
  • #2 10 Sie 2009 17:11
    Dr.Vee
    VIP Zasłużony dla elektroda

    Proszę najpierw zapoznać się z wyszukiwarką. Jak kolega będzie miał jakieś konkretne pytania, to proszę pytać.

    0
  • #3 11 Sie 2009 22:41
    one_eddie
    Poziom 25  

    Ja proponuje zacząc od jęzuka PASCAL i ksiązki Pana Marciniaka. Przykładów w ksiązce jest sporo i jest dobrze opisana więc żadnych tutoriali czytać nie trzeba.

    0
  • CControls
  • #4 11 Sie 2009 23:11
    kamel_w
    Poziom 18  

    Możesz też spróbować z C, jest to język podobny do Pascala. Polecam książkę pana Stewena Praty, bardzo wiele przykładów wraz z opisem każdej linijki.

    0
  • #5 12 Sie 2009 11:27
    Anonymous
    Użytkownik usunął konto  
  • #6 12 Sie 2009 11:42
    Jarosx9
    Poziom 35  

    Polecam zacząć mimo wszystko od C. Jest zdecydowanie bardziej przyszłościowy od Pascala.

    0
  • #7 12 Sie 2009 11:55
    one_eddie
    Poziom 25  

    Jarosx9: Autor tematu wyraźnie napisał że chciał by zacząc od czegoś łatwego a nie przyszłościowego. Język C nie należy do najprostszych.

    0
  • #8 12 Sie 2009 15:11
    jerry941
    Poziom 13  

    Oczywiście najprostszy będzie Pascal, a gdy już z nim się zaznajomisz zawsze łatwo będzie Ci się przerzucić na Delphi.

    0
  • Pomocny post
    #9 12 Sie 2009 16:19
    lord_dagoth
    Poziom 25  

    Hehe... to czy język C jest łatwy czy trudny na początek to jest raczej dość indywidualna kwestia ;)

    Na bardzo niskim poziomie C jest bardzo, bardzo łatwy. Od niego polecałbym nauke (dokładniej to od C++ :P ), nie wiem czy jest sens uczyć się pascala żeby zacząć uczyć się C++.
    Polecam przejrzenie tutoriala "Od zera do gier kodera".

    0
  • #10 13 Sie 2009 00:20
    Yasashii
    Poziom 9  

    Hmm... zaryzykuję zabranie się za tutoriala, którego polecił mi lord_dagoth. Dziękuję wszystkim za pomoc.

    0
  • #11 13 Sie 2009 00:37
    tro.ol
    Poziom 11  

    Owszem dobrze zaczynać od Turbo Pascala, ale myślę, że szkoda tracić czas już na ten język, aczkolwiek dobrze i równiez z nim się zapoznać. Dlaczego??
    Otóż przebrnełem już przez większość języków m.in c/c++, pascal, delphi, php, java, javascipt, vhdl i wszystkie jakie są tworzone są pewną wariacją c/c++ bądź turbo pascala.

    Przede wszystkim trzeba zadać sobie pytanie, co mnie kręci i co chcę w przyszłości programować.

    Bo nauczyć się można programować również w turbo pascalu (prosty i fajny jezyk na poczatku), ale jak chcesz potem robić coś bardziej na poważnie to niech Twój wybór padnie na C a potem na obiektowy C++.

    Swoją drogą, to nie jest tak, że jak nauczysz się Turbo pascala, to potem od nowa się uczysz C/C++. Cała filozofia jest taka sama, wszystko potem się rózni jedynie nazewnictwem. Tak jak polacy mówią pomarańcz, a amerykanie orange :)

    pozdrawiam

    0
  • #12 13 Sie 2009 14:07
    Dr. Ma
    Poziom 12  

    Jak coś prostego to ASEMBELR i jedziemy maleńka z programowaniem.

    Pozdrawiam
    Dr. Ma

    0
  • #13 13 Sie 2009 18:17
    Anonymous
    Użytkownik usunął konto  
  • #14 13 Sie 2009 21:27
    lord_dagoth
    Poziom 25  

    tro.ol napisał:
    ale jak chcesz potem robić coś bardziej na poważnie to niech Twój wybór padnie na C a potem na obiektowy C++.

    Powraca to jak bumerang... więc powtórzę swoje zdanie na ten temat poraz kolejny :p W dzisiejszych czasach NIE MA NAJMNIEJSZEGO SENSU ZACZYNAĆ OD C, ŻEBY PRZEJŚĆ DO C++. Jest to po prostu zrobienie kroku w tył, zanim się zrobi dwa kroki do przodu tak naprawdę. W książkach (i tutorialach) do C++ nie zaczynamy od polimorfizmu czy dziedziczenia wielobazowego, tylko od prosty funkcji i programików strukturalnych. Nie ma sensu uczyć się C i wszystkich jego ograniczeń, żeby potem zapominać o nich ucząc się C++. Nabędziemy tylko niepotrzebne, złe nawyki. C++ jest dobry na początek, a jak ktoś potem będzie w jakimś celu potrzebował poznać różnice pomiędzy C a C++ (np. bo wykładowcy będą mu kazali pisać programy w C :P ) to poświęci na to 15 min i zacznie pisać w C.

    0
  • #15 17 Sie 2009 22:59
    mgpentium
    Poziom 16  

    Ja oczywiście polecam język C i ksiązke : Symfonia C++ Grębosza, ale jak zwykle będą spory. :)

    0
  • #16 19 Sie 2009 09:36
    salat25
    Poziom 11  

    To i ja wtrącę swoje trzy grosze.

    Ktoś tu rzucił hasło Pascal. Język prosty w nauce, pozwala zrozumieć jak się programuje, przestawić się na "myślenie programistyczne". I to są jego plusy. Ale... jednak nie ma sensu od tego zaczynać, bo jak ktoś chce to programować nauczy się od razu w C/C++. Bo powiedzmy sobie szczerze, kto ze znających pascala nadal w nim pisze? Praktycznie zaraz siada się do innego języka, choćby po to by pisać aplikacje okienkowe (abstrahuje teraz od Delphi).

    Moim zdaniem najlepiej zacząć od C bądź od razu od C++. I na początek jednak nie książka a jakiś kurs. Liźnie człowiek podstaw i zobaczy sam jak mu to do głowy wchodzi, a jeśli się spodoba to wtedy książki :)

    Pozdrawiam

    0
  • #17 19 Sie 2009 14:38
    lukagrom
    Poziom 15  

    To ja jeszcze się wtrące z innym aspektem. Gdy już poznamy te wszystkie składnie wybranego języka, to czy warto się wgłębiać w dziedzinę popularnie zwaną - "algorytmy i struktury danych"? Pytam z racji tego, czy owa dziedzina ma bardziej wymiar akademicko-naukowy tj jako dziedzina wiedzy, którą zgłębiają naukowcy badając algorytmy, czy też również ma swoje odniesienie do części praktycznej programowanie (tutaj sobie sam odpowiem - bo wszelkie strategie i bazy danych korzystają właśnie z algorytmów i struktur). Więc może bardziej doprecyzuje, co uzyskujemy ("gdzie możemy się sprzedać") ucząć się tych trudnych struktur, list, kolejek, grafów, alg. genetycznych czy sieci neuronowych?

    0
  • #18 21 Sie 2009 16:17
    salat25
    Poziom 11  

    Podstawowe algorytmy i struktury trzeba jednak znać, bo prędzej czy później podczas pisania aplikacji stanie się przed problem, np. posortowania danych. To jest w zasadzie najczęstszy problem algorytmiczny i możliwych algorytmów jest cała masa, a różnią się one stopniem zaawansowania, szybkością działania dla różnej ilości danych, łatwością implementacji itd. Struktury są również bardzo przydatne, lista może posłużyć do zbudowania małej bazy danych. Grafy... załóżmy, że jesteś kurierem i masz do objechania kilka miast. Jaką trasą jechać, żeby przejechać jak najmniej km (a co za tym idzie zużyć jak najmniej paliwa)?

    Powiem tak: to, że nauczyłeś się języka nie czyni z Ciebie programisty. Dopiero umiejętność tworzenie optymalnych rozwiązań sprawia, że możesz się nim nazwać :)

    Pozdrawiam

    0
  • #19 26 Sie 2009 10:17
    jestam
    Specjalista Automatyk

    Niejaki Wirth kiedyś stwierdził, że algorytmy + struktury danych = programy ;)

    A poważniej, właśnie mam do czynienia z programem w którym wymagania sprzętowe określono na procesor 2GHz lub dual core 1,6 GHz. Dlaczego? Otóż jedno z często używanych okienek wygląda jak fragment arkusza kalkulacyjnego - 10 kolumn, naście-dziesiąt wierszy. Przejście z komórki do komórki trwa ~set milisekund, jest to wyraźnie widoczne; obciążenie procesora 1,6GHz = 100%. Nie chcę myśleć co będzie dla kilkuset wierszy. A dual core raczej tu nie pomoże ;)

    Moim zdaniem naukę programowania dobrze zacząć od C# lub Javy. Języki są znacznie prostsze niż C++, a przyjazne środowiska z dobrym wskazywaniem błędów już podczas pisania kodu, wymuszanie inicjalizacji deklarowanych zmiennych itd. są bardzo przydatne podczas nauki. Unikać jak ognia Visual Basic !

    0
  • #20 26 Sie 2009 22:59
    szpila_forever
    Poziom 15  

    Cytat:
    Moim zdaniem naukę programowania dobrze zacząć od C# lub Javy. J

    Taaaak.

    Najlepiej jeszcze przy pomocy edytora który 90 % uzupełnia sam :). Wot prosta droga do programu który działa tak jak opisałeś.
    trochę wymądrzania :
    Dom musi mieć solidne fundamenty.
    Tak więc najpierw podstawy.

    Co do tematu. Na dzień dobry należy i wypada przejść przez proste zmienne i
    operacje arytmetyczne i stringowe.
    potem
    plik , struktury, tablice ( w dowolnej kolejności)
    dalej
    pętle i instrukcje warunkowe
    następnie
    struktury dynamiczne - listy, drzewa, grafy.
    następnie
    algorytmy sortowania, wyszukiwania wzorca, algorytmy przechodzenia grafów i drzew.
    w którymś momencie wypada zdać sobie sprawę z dobrodziejstwa funkcji.

    Język (czy też środowisko) to tak naprawdę drugorzędna rzecz. Można zacząć od c++ lub pascala - bo to co jest potrzebne na początek jest w nich bardzo dobrze widoczne.
    Jak już będziesz w tym dobry to przejdziesz na OOP i będziesz miał wystarczająco dużo wiedzy aby wybrać sam co dalej.

    kurs "od zera do..." jest dobry. Ale takich kursów jest masę. Wybierz taki jaki Ci najbardziej pasuje. bo to Ty z niego będziesz korzystał
    Kiedyś znalazłem dobry skrypt :
    http://www.mimuw.edu.pl/~przemek/przemek1_files/wstep.pdf
    jest prowadzony równolegle w Pascalu i C. Niewątpliwym plusem takiego postępowania jest uwidacznianie na samym początku niezależności umiejętności programowania od środowiska.

    0
  • #21 26 Sie 2009 23:30
    jestam
    Specjalista Automatyk

    Tak, narzędzia są po to żeby ułatwiały. Szczególnie przez jasne wskazywanie błędów i wymuszanie przynajmniej niektórych dobrych praktych (jak choćby inicjalizacja zmiennych).

    Takie programy jak napisałem powstają, bo ktoś skupił się na używaniu "bardzo szybkiego" C++ i zakodował w nim algorytm o złożoności O(n^3) zamiast używać "powolnej" Javy czy C# i algorytmu O(log n). Widzę to zbyt często.

    Obejrzałem ten kurs "od zera...". Nie podoba mi się w nim zbędne IMO opowiadanie o "szybkich" programach, w szczególności jak ta szybkość jest niezbędna w pisaniu gier, oraz ewidente błędy z tym związane, np. informacja jakoby x+=a było wykonywane szybciej niż x=x+a.

    Prawda jest taka, że osoba która ten kurs opanuje w całości jeszcze sporo nauki będzie potrzebować żeby umieć ocenić kiedy trzeba "przyspieszać" programy.

    Wreszcie, ja osobiście sądzę, że zaczynanie nauki od programowania strukturalnego, tylko po to żeby za chwilę przestawiać sposób myślenia na obiektowy jest ... hmm... stratą czasu. Dzisiaj od OOP się nie ucieknie.

    0
  • #22 27 Sie 2009 00:31
    szpila_forever
    Poziom 15  

    narzędzia sa po to aby pracę UŁATWIAĆ a nie WYKONYWAĆ. Ergo jak nie będziesz wiedział co to Ci najcudowniejszy edytor nie uzupełni z niczego - mam nadzieje że to jest jasno napisane :)

    jestam napisał:

    Takie programy jak napisałem powstają, bo ktoś skupił się na używaniu "bardzo szybkiego" C++ i zakodował w nim algorytm o złożoności O(n^3) zamiast używać "powolnej" Javy czy C# i algorytmu O(log n). Widzę to zbyt często.


    Czy możesz wyjaśnić ? - bo nie do końca łapię

    Cytat:
    Dzisiaj od OOP się nie ucieknie

    tak jak od rowerów, samochodów, samolotów. Jednak przed rozpoczęciem korzystania z rzeczonych wypada nauczyć się chodzić.
    Można być Javowym/c++-owym/php-owym/co-tam-jesz\cze-owym rzemieślinikiem i można być programistą. Wybór należy do Ciebie.

    0
  • #23 27 Sie 2009 09:45
    lord_dagoth
    Poziom 25  

    jestam napisał:
    Prawda jest taka, że osoba która ten kurs opanuje w całości jeszcze sporo nauki będzie potrzebować żeby umieć ocenić kiedy trzeba "przyspieszać" programy.

    Wreszcie, ja osobiście sądzę, że zaczynanie nauki od programowania strukturalnego, tylko po to żeby za chwilę przestawiać sposób myślenia na obiektowy jest ... hmm... stratą czasu. Dzisiaj od OOP się nie ucieknie.

    Tytuł tego tematu to "Programowanie - początki", a nie "Optymalizacja programów". Napisane na początku nauki programy wcale nie muszą być napisane najwydajniej. A jeżeli ktoś już chce zająć się solidnie optymalizacją i przyspieszaniem swoich programów (w tym wypadku napisanych w C++) to polecam książkę "C++ dla programistów gier". Sam ją posiadam i nie polecam jej początkującym. Zawiera ona w prawie każdym rozdziale podrozdział "Analiza kosztowa (zaawansowane)" w którym to zostają omówione wszystkie aspekty związane z szybkością wykonywania czy zużyciem pamięci przez odpowiednie mechanizmy języka.

    Poza tym, nikt tutaj nikomu nie każe zaczynać od strukturalnego języka, C++ to bardzo dobry wybór na początek. Zaczęcie od jakiegoś "wyższego" języka (jak Java czy C#) może być nie dość że za trudne, to jeszcze zostawi pewne braki, które mogą wyjść dopiero w przyszłości. Nauczymy się jako tako pisać w C#, ale przyjdzie nam zrobić projekt w C++. Niby wszystko ok, napisaliśmy program, odpalamy, a tam kolosalny memory leak, bo nikt nas nie nauczył zwalniać zasobów, bo C# posiada mechanizm garbage collectora.

    0
  • #24 27 Sie 2009 11:23
    jestam
    Specjalista Automatyk

    szpila_forever napisał:
    narzędzia sa po to aby pracę UŁATWIAĆ a nie WYKONYWAĆ. Ergo jak nie będziesz wiedział co to Ci najcudowniejszy edytor nie uzupełni z niczego - mam nadzieje że to jest jasno napisane :)

    Czy ja gdzieś napisałem że jest inaczej? Ale dla stawiających pierwsze kroki _dobre_ narzędzia to podstawa. Z jasną sygnalizacją błędów. Kompilator C++ do nich nie należy, m.in. ze względu na dużą złożoność samego języka.

    szpila_forever napisał:

    jestam napisał:

    ...bo ktoś skupił się na używaniu "bardzo szybkiego" C++ i zakodował w nim algorytm o złożoności O(n^3) zamiast używać "powolnej" Javy czy C# i algorytmu O(log n)...

    Czy możesz wyjaśnić ? - bo nie do końca łapię

    Wielu, nie tylko początkujących programistów, ale nawet osób zajmujących się tym zawodowo, nie poświęca zupełnie uwagi doborowi struktur danych do zadania. Albo używa tego co zawsze, albo używa np. tablic mieszających "bo są szybkie". A jak program wykonuje się zbyt wolno, to "to wina Javy/.NETu, jakby to było w C++ to byłoby szybkie". Nie byłoby. Ale to strasznie trudno tym osobom wytłumaczyć.

    szpila_forever napisał:

    tak jak od rowerów, samochodów, samolotów. Jednak przed rozpoczęciem korzystania z rzeczonych wypada nauczyć się chodzić.

    Niezbyt trafiona metafora. Lepsza byłaby taka: dziecko zanim zacznie uczyć się mówić i pisać po polsku (wszyscy wiemy jaki to trudny język, odmiana, ortografia... ;) ) powinno nauczyć się czegoś prostszego, np. angielskiego. Robi tak ktoś?

    lord_dagoth napisał:

    Tytuł tego tematu to "Programowanie - początki", a nie "Optymalizacja programów"

    Dlatego napisałem, że nie podoba mi się, iż w polecanym w tym i nie tylko tym wątku kursie "od zera..." położono duży nacisk na "szybkość", co gorsza z błędami merytorycznymi w tym zakresie.

    lord_dagoth napisał:

    Poza tym, nikt tutaj nikomu nie każe zaczynać od strukturalnego języka, C++ to bardzo dobry wybór na początek. Zaczęcie od jakiegoś "wyższego" języka (jak Java czy C#) może być nie dość że za trudne...

    Naprawdę sądzisz że C++ jest łatwiejsze od C#/Javy ? Widziałeś kiedyś gramatyki tych języków? Zresztą sam sobie przeczysz, bo
    Cytat:

    ...a tam kolosalny memory leak, bo nikt nas nie nauczył zwalniać zasobów, bo C# posiada mechanizm garbage collectora.

    czyli sądzisz że temat alokacji i zwalniania pamięci i wszystko co się z tym wiąże jest w sam raz dla "początkujących programistów" (a o takich jest wątek) ? To ma być _łatwiejsze_ od C#/Javy? C#/Java jest do opanowania w kilkanaście/dziesiąt godzin (nie licząc bibliotek). C++ to wyższa szkoła jazdy, z wieloma subtelnymi pułapkami czyhającymi na programistów. Przykład z ostatnich dni tutaj.

    A jasność i zrozumiałość komunikatów o błędach ilustruje choćby ten wątek.

    Edit: ort.

    0
  • #25 27 Sie 2009 13:23
    szpila_forever
    Poziom 15  

    Cytat:
    Czy ja gdzieś napisałem że jest inaczej? Ale dla stawiających pierwsze kroki _dobre_ narzędzia to podstawa. Z jasną sygnalizacją błędów. Kompilator C++ do nich nie należy, m.in. ze względu na dużą złożoność samego języka.

    Tak. Napisałeś zupełnie co innego. W początkowej fazie nauki wymuszanie poprawności w fazie pisania kodu JEST odwalaniem pracy za programistę. Poprostu zmniejsza możliwości zrozumienia dlaczego jest tak a nie inaczej. O istocie złożoności języka później.

    Cytat:
    Wielu, nie tylko początkujących programistów, ale nawet osób zajmujących się tym zawodowo, nie poświęca zupełnie uwagi doborowi struktur danych do zadania. Albo używa tego co zawsze, albo używa np. tablic mieszających "bo są szybkie". A jak program wykonuje się zbyt wolno, to "to wina Javy/.NETu, jakby to było w C++ to byłoby szybkie". Nie byłoby. Ale to strasznie trudno tym osobom wytłumaczyć.
    Tu masz 100% racji. Ale za cholere nie widzę jak to wynika z Twojej poprzedniej wypowiedzi.

    Cytat:
    szpila_forever napisał:

    Cytat:
    tak jak od rowerów, samochodów, samolotów. Jednak przed rozpoczęciem korzystania z rzeczonych wypada nauczyć się chodzić.



    Niezbyt trafiona metafora. Lepsza byłaby taka: dziecko zanim zacznie uczyć się mówić i pisać po polsku (wszyscy wiemy jaki to trudny język, odmiana, ortografia... ) powinno nauczyć się czegoś prostszego, np. angielskiego. Robi tak ktoś?


    Znowu jest dokładnie odwrotnie. Moja metafora opisuje koleje rozwoju programisty. Twoja naukę dwóch różnych jężyków programowania.

    Cytat:

    Naprawdę sądzisz że C++ jest łatwiejsze od C#/Javy ?


    Sprawa ciężka do rozsądzenia. Składnia obiektowa jest bardzo podobna, mechanizmy działania z grubsza też.
    Wyższość c++ polega na tym że łatwo przejść z programowania strukturalnego na obiektowe. A bez przejścia przez programowania strukturalne i umiejętności samodzielnej analizy kodu- której nabywa się między innymi poprzez analizę błędów kompilatora- niestety się nie da, i już.

    Złożoność proponuję odpuścić bo to nie temat rozmowy.

    pozdrawiam

    0
  • #26 27 Sie 2009 15:09
    jestam
    Specjalista Automatyk

    szpila_forever napisał:
    W początkowej fazie nauki wymuszanie poprawności w fazie pisania kodu JEST odwalaniem pracy za programistę. Poprostu zmniejsza możliwości zrozumienia dlaczego jest tak a nie inaczej.

    Nie zgadzam się. Możliwość skompilowania błędnego programu w rodzaju int i; return i+1; lub if(i=0) {róbcoś} zwiększa możliwości zrozumienia czegokolwiek? Nie sądzę. Za to na pewno zwiększa frustrację, bo nie działa i nie wiadomo dlaczego.

    szpila_forever napisał:

    Moja metafora opisuje koleje rozwoju programisty.

    Ja nie uważam paradygmatu strukturalnego za łatwiejszy, a obiektowego za trudniejszy do nauczenia. One są po prostu _różne_. Przechodząc z jednego na drugi trzeba przestawić sposób myślenia. Sądzę że łatwiej przejść z myślenia obiektowo na myślenie strukturalnie, ale to tylko moja opinia.

    szpila_forever napisał:

    Cytat:

    Naprawdę sądzisz że C++ jest łatwiejsze od C#/Javy ?

    Sprawa ciężka do rozsądzenia. Składnia obiektowa jest bardzo podobna, mechanizmy działania z grubsza też.

    Wiesz, ja mam na myśli coś więcej niż porównanie składni mojeOkno->Text = "napis" z mojeOkno.Text = "napis".

    Zobacz przykładowy kod iteratorów STL dla list w C++artykuł, kod, porównaj z funkcjonalnym odpowiednikiem w C# w rodzaju (pisane z palca)
    Code:

    IEnumerable<T> GetIterator(LinkedListNode<T> node)
    {
       while(node != null)
       {
          yield return node.Value;
          node = node.NextNode;
       }
    }

    i możemy dyskutować dalej.

    szpila_forever napisał:
    Wyższość c++ polega na tym że łatwo przejść z programowania strukturalnego na obiektowe. A bez przejścia przez programowania strukturalne i umiejętności samodzielnej analizy kodu- której nabywa się między innymi poprzez analizę błędów kompilatora- niestety się nie da, i już.

    To jest pułapka w którą wiele osób wpada. I piszą kod niby to obiektowy, ale tak naprawdę strukturalny. "Przejście przez programowanie strukturalne" jest niezbędne, ale niekoniecznie na samym początku nauki.

    pozdrawiam

    0
  • #27 27 Sie 2009 16:01
    lord_dagoth
    Poziom 25  

    jestam napisał:
    Naprawdę sądzisz że C++ jest łatwiejsze od C#/Javy ? Widziałeś kiedyś gramatyki tych języków?

    Owszem, widziałem. Używam tych języków codziennie w pracy i na uczelni (C++ i C#, Jave znam tylko pobierznie i w niej niczego nie piszę). Widocznie nie tylko ja uważam, że C/C++ jest dobry na początek, podobnie myślą wykładowcy na politechnikach, zaczynając od C/C++.

    jestam napisał:
    czyli sądzisz że temat alokacji i zwalniania pamięci i wszystko co się z tym wiąże jest w sam raz dla "początkujących programistów" (a o takich jest wątek) ? To ma być _łatwiejsze_ od C#/Javy? C#/Java jest do opanowania w kilkanaście/dziesiąt godzin (nie licząc bibliotek). C++ to wyższa szkoła jazdy, z wieloma subtelnymi pułapkami czychającymi na programistów.

    Wydaje mi się, że początkujący programista nie boryka się w pierwszym dniu nauki programowania z zaawansowanymi aspektami dotyczącymi zarządzania pamięcią, tylko raczej z czymś w stylu pisania własnych funkcji do wyświetlania tekstu na ekranie. Jak ktoś gruntownie pozna C++ i "nauczy się programować" to każdy następny język będzie wyłącznie kwestio jednego/dwóch wieczorów.

    Poza tym, proponując C# na początek tak naprawdę od razu narzucasz system (i platformę sprzętową) pod jaką mają być pisane programy. A jeżeli kolega chce napisać prosty programik konsolowy i skompilować go zarówno pod windowsem i linuxem bez żadnych ceregieli? Przecież początkujący programista nie będzie bawił się w "jakieśtam" Mono czy inne. No i jak kolega będzie pisał pod linuxem, to odpada też cudowny Visual.

    Dlatego właśnie to jest kolejny powód który skreśla C# z języków dobrych na początek. Bo już na starcie zawęża on pole działania, nie jest na tyle uniwersalny co C++. A jak już kolega nauczy się programować i będzie miał jakieś ogólne pojęcie jak to wygląda, będzie mógł wybrać jakiś inny, bardziej wyspecjalizowany język wg. własnych potrzeb.

    0
  • #28 27 Sie 2009 16:14
    jestam
    Specjalista Automatyk

    lord_dagoth napisał:
    Widocznie nie tylko ja uważam, że C/C++ jest dobry na początek, podobnie myślą wykładowcy na politechnikach, zaczynając od C/C++.

    Na politechnikach zaczynają od C++, bo w końcu po latach zrezygnowali z zaczynania od Pascala. Bo z TP7 są problemy na nowych komputerach :) Mają od dawna gotowe wykłady, ćwiczenia i laborki. Inercja jest tak duża, że trzeba lat na zmiany. Zresztą C++ jest "najlepszym" językiem na egzaminy. Łatwo dać podchwytliwe pytanie.

    Cytat:

    Jak ktoś gruntownie pozna C++ i "nauczy się programować" to każdy następny język będzie wyłącznie kwestio jednego/dwóch wieczorów.

    Znam osobiście bardzo niewielu ludzi znających gruntownie C++. Ale masz rację, dla kogoś znającego gruntownie C++ opanowanie innych języków to betka :)

    Cytat:

    Poza tym, proponując C# na początek tak naprawdę od razu narzucasz system (i platformę sprzętową)
    [...]
    Dlatego właśnie to jest kolejny powód który skreśla C# z języków dobrych na początek.

    Odpowiedź brzmi: Java. We wcześniejszych postach celowo pisałem C#/Java.

    pozdrawiam

    0
  • #29 27 Sie 2009 19:56
    szpila_forever
    Poziom 15  

    Cytat:
    i możemy dyskutować dalej.

    Niestety nie możemy.
    Najwyraźniej nie odróżniasz programowania od tworzenia aplikacji.

    pozdrawiam

    0
  • #30 27 Sie 2009 20:19
    jestam
    Specjalista Automatyk

    Cytat:
    Niestety nie możemy.
    Najwyraźniej nie odróżniasz programowania od tworzenia aplikacji.

    Naprawdę? Najwyraźniej argumenty Ci się skończyły.

    pozdrawiam i EOT z mojej strony.

    0