Dodaj do ulubionych

Proszę o odpowiedż.

28.11.05, 07:08
Załóżmy, że kompletnie nic nie wiesz o programowaniu i masz zamiar zacząć naukę.
Jakie srodowisko bys wybral do nauki na poczatek aby uczyc sie w nim pisac programy pod windowsa ?
Proszę o uzasadnienie swojego wyboru.
Obserwuj wątek
      • hydroxyzine Re: Proszę o odpowiedż. 17.01.06, 13:36
        Co znaczy, tak jak każdy? Czemu to kolejny raz, kiedy proponuje się Pasacala na
        początek? Co to da? Oczywiście są tacy, którzy piszą dobrze np. w Delphi. Ale to
        rzadkość, margines rzeźbiących w pascalu. To język dla nauczycieli informatyki
        stworzony. Wykluczyłbym też C, chociaż z bólem, bo to mój ulubiony. Zacznij się
        C++ uczyć, to najlepszy start. Później będziesz mógł wybierać sam, świadomie.
        Kolejność C -> C++ jest dość nierozsądna i zagadkowa.
        • alsor Re: Proszę o odpowiedż. 17.01.06, 13:59
          > Kolejność C -> C++ jest dość nierozsądna i zagadkowa.
          Cóż za piękny niewypał.
          Nie można znać C++ nie znając już C, przecież C zawiera się całkowicie w C++!

          >Pascal -> C -> C++ -> Java -> C#
          Java i C# to tajne sztuczki potentatów rynku komputerowego - mają ułatwić im
          robotę, a programistów wykończyć lub kompletnie uzależnić od nich.
          • hydroxyzine Re: Proszę o odpowiedż. 17.01.06, 20:49
            1. Hehe, jak nie można nie znać C, znając C++? Proponuję praktyczne porównanie
            kodów programów napisanych w C a C++, wykonujących rzeczy podobne.
            2. Za tych usiłujących pisać w C++ tak, jak w C (i odwrotnie) już podziękujemy.
            Tak będzie lepiej dla wszystkich.
            3. Najdziwniejsza jest jednak kolejność, zrozumiałbym jeszcze C++->C. Styl
            nabyty w C - kiedy zaczynasz pisać obiektowo - staje się bagażem.
          • inz.mruwnica Re: Proszę o odpowiedż. 09.02.06, 15:13
            > Nie można znać C++ nie znając już C, przecież C zawiera się całkowicie w C++!

            Jestem zywym przykładem. Na widok kodu w C przechodzą mnie drescze. Oczywiście
            ja znam semantykę C, ale gdy mnie ktoś spyta czy umiem w C programować to muszę
            odpowiedzieć, że nie... bardzo nie.

            A co do tego, że każdy:

            > >Pascal -> C -> C++ -> Java -> C#

            A u mnie:

            Basic -> Assembler -> Pascal -> Java -> C++

            :-) różne są ścieżki... Moim zdaniem nie warto na początku ładować się w
            wyklikowywalne IDE typu .NET czy Delphi. Pierwszy program najlepiej napisać w
            notatniku, a jeszcze lepiej w gedit'cie :-)
    • skory_w_aucie Re: Proszę o odpowiedż. 17.01.06, 19:12
      Przeciez w C++ programuje sie zupelnie inaczej niz w C !
      Programowanie obiektowe jest zupelnie inne od strukturalnego, dlatego pozniej
      mamy sytuacje ze ludzie pisza strukturalnie w C++ zamiast wlasciwej obiektowosci
      i wychodza niewypaly.
      • alsor Re: Proszę o odpowiedż. 18.01.06, 12:12
        >1. Hehe, jak nie można nie znać C, znając C++? Proponuję praktyczne porównanie
        >kodów programów napisanych w C a C++, wykonujących rzeczy podobne.
        >2. Za tych usiłujących pisać w C++ tak, jak w C (i odwrotnie) już podziękujemy.
        >Tak będzie lepiej dla wszystkich.
        >3. Najdziwniejsza jest jednak kolejność, zrozumiałbym jeszcze C++->C. Styl
        >nabyty w C - kiedy zaczynasz pisać obiektowo - staje się bagażem.

        > Przeciez w C++ programuje sie zupelnie inaczej niz w C !
        > Programowanie obiektowe jest zupelnie inne od strukturalnego, dlatego pozniej
        > mamy sytuacje ze ludzie pisza strukturalnie w C++ zamiast wlasciwej obiektowosc
        > i
        > i wychodza niewypaly.

        Bawicie się gotowcami w jakichś visualach i dlatego bredzicie.

        Zaprogramuj w C++ obliczenia numeryczne lub obróbkę obrazu, albo nawet takie
        transformacje geometryczne - zobaczymy, czy wystarczy umiejętność definiowania
        klas i ile pomoże polimorfizm, hermetyzacja i operatory zaprzyjaźnione.
        • hydroxyzine Re: Proszę o odpowiedż. 18.01.06, 13:00
          > Bawicie się gotowcami w jakichś visualach i dlatego bredzicie.

          Dość dziwne, bo na moim systemie nie da się uruchomić Visuala. Zresztą skąd ten
          pomysł, że używam C++ ? Jestem staromodny raczej. Co nie zmienia faktu, że C i
          C++ to różne języki.
            • hydroxyzine Re: Proszę o odpowiedż. 20.01.06, 22:43
              Po czym wnosisz, że nie znam? Zresztą, jakie to większe programy robiłeś w C i
              tak ciężko było? Tak się składa, że całkiem spore części mojego os są w C
              napisane, ktoś to jednak zrobił. Chyba się więc da.
              • alsor Re: Proszę o odpowiedż. 21.01.06, 20:50
                Nie znasz c++, ani c, ani nic innego - gdyby było inaczej, to nie wygadywałbyś
                takich głupot.

                Systemów typu Windows, czy linux, itp. nikt nie robił na zamówienie...
                powstawały stopniowo przez prawie 20lat.
    • mx-5 Re: Proszę o odpowiedż. 22.01.06, 00:28
      Hydro juz pare razy prezentowal swoje programy i ma o nich pojecie.
      Po drugie zarowno Linux jak i Windows jak i Unix sa pisane w C nie zadnym c++.
      Po trzecie jakie 20 lat ?!!!
      Pierwszy Unix wyszedl w 69 i w 71 byl juz przepisany w C.
      A potem to go tylko ulepszali itd.

      Myslisz ze czemu na PlayStation i GBA oprogramowanie pisze sie w C a nie w C++ ?
      C i C++ to dwa zupelnie rozne podejscia do programowania i tylko laik twierdzi
      ze sa podobne.
      • alsor Re: Proszę o odpowiedż. 25.01.06, 20:13
        > Po drugie zarowno Linux jak i Windows jak i Unix sa pisane w C nie zadnym c++.

        No i co z tego że cały Windows 3.0 był w C (w asemblerze pewnie też)?
        Później spore części przenieśli do 95, itd.

        > Po trzecie jakie 20 lat ?!!!
        > Pierwszy Unix wyszedl w 69 i w 71 byl juz przepisany w C.
        > A potem to go tylko ulepszali itd.

        2006 - 20 = 1986, gdzieś wtedy się zaczęło... a te unixy z 70r to jakieś zabawki


        > Myslisz ze czemu na PlayStation i GBA oprogramowanie pisze sie w C a nie w C++
        > ?

        Skoro można w c, to oni to robią... ale to nie moja wina - uzależnili się
        biedaczyny, i tyle...

        > C i C++ to dwa zupelnie rozne podejscia do programowania i tylko laik twierdzi
        > ze sa podobne.

        Stosy cegieł i worki z cementem także nie przypominają budynku, mimo to zdrowi
        ludzie dobrze wiedzą z jaką zależnością mamy tu do czynienia.
        • ktosktomafajnegomisiaczka Re: Proszę o odpowiedż. 10.02.06, 02:08
          na wstepie zaznacze - odpowiadam alsorowi, bo jego tekst byl ostatni, a pisze
          po trochu do wszystkich uwiklanych w spor ;)



          Niezgodze sie ze C i C++ to dwa odrebne podejscia do pisania.. kompletnie
          odrebnym podejsciem jest do bolu obiektowa Java (pomine obowiazkowa w
          standalone'owym progamie funkcje public static void main milczeniem :P)..

          "C++" daje programiscie dokaldnie te same mozliwosci co "C", poszerzajac je
          jedynie o mozliwosc zastosowania paradygmatow obiektowosci- alee - niczego
          ze 'starego dobrego C' przeciez nie zabiera..

          wasz spor co lepsze C czy C++ powstal raczej nie w kwestii jezyka, a podejscia
          projektowego.. czy pisac strukturalnie czy obiektowo. trudno to rozstrzygnac
          jednoznacznie, ale biorac pod uwage ostatnie pakowanie kasy zewszad w Jave,
          chyba jednak duze projekty latwiej prowadzic obiektowo.. ale sza ;]

          chcialem tylko powiedziec, ze zarowno strukturalnie ja i obiektowo mozna pisac
          i w C++ i w .. C. "Coz za problem" stworzyc w C odpowiednie tablice wskaznikow
          na funkcje i odwolywac sie poprzez nie, albo manglowac recznie nazwy funkcji
          tak zeby zaczynaly sie nazwa obiektu, konsola_pobeirz_znak, konsola_inicjuj,
          konsola_blabal.. tylko ze to bedzie tak upierdliwe, ze mozgi wysiada po n-
          dziestej 'klasie' w tej sposob napisanej :) "tak powstala idea C++" :) zkolei
          w C++ jak najbardziej mozna pisac strukturalnie.. NIKT W C++ nie kaze uzywac
          klas, polimorfii, dziedziczenia!! nie ma takiego obowiazku! nie rozumiem wiec
          kompeltnie argumentu ze "ktos z metodami przyniesionymi z C przyszedl do C++ i
          zaczal tworzyc potwory".. nikt nie kaze uzywac tych mechanizmow. Baa..
          najpiekniejsze moim skromnym zdaniem jest w C++ to, ze mozna je swobodnie
          naginac do wlasnego widzimisie. Nikt nie kaze uzywac namespaceow i klaso-
          funkcji, mozesz sobie robic mase funkcji statycznych, poupychac je tematycznie
          w klasy, et voila! klasy robia za moduly funkcjonalne, albo biblioteki (swoja
          droga, "tak powstala np. klasa Math w javie":).. mozna dalej wyczyniac cuda ze
          wskaznikami, operowac na zywej pamieci, upchnac kod funkcji do tablicy bajtow i
          ja stamtad wywolac (zakladajac ze system ochrony OS'a ci pozwoli :P). Nie ma
          ograniczen..

          W czym problem? Co najwyzej w niezrozumialosci dla osoby nowo przybylej,
          czytajacej kod? A niech dokumentacje najpierw przeczyta a nie od razu do kodu
          sie lepi! Kazdy moze sobie w projekcie swoje konwencje pisania przyjac.
          Zapoznanie sie z nimi to powinna byc pierwsza rzecz ktora sie robi gdy sie chce
          poznac projekt, a nie zakladanie "ze wszystko bedzie tak jak u innych".
          Rzeczywiscie, sa standardy, wielkie firmy przyjely je sobie, ale to po to zeby
          szybciej pisac, moc sie wymieniac programistami i nie tracic czasu wlasnie na
          owo 'wdrazanie' pracownikow w nasze konwencje.. Ale gdy piszesz cos malego?
          Albo gdy to jest Twoj projekt? Pisz jak lubisz! Inaczej zadna nowa perelka nie
          powstanie, jesli wszyscy beda klepac na te sama modle..

          Jezyk TO NIE podejscie projektowe ani programistyczne. Jezyk TO NARZEDZIE
          ktorego wolno ci uzywac tak jak Ci sie podoba, tak jak mlotkiem mozesz wbic
          gwodz, dac komus w glowe, albo roztluc mieso na kotleta. Podejscia masz z kolei
          chaotyczne, przeplywowe, strukturalne, funkcjonane, obiektowe albo i pare
          jeszcze innych. Wiekszosc z nich w ten czy inny sposob da sie uzyc w wiekszosci
          istniejacych jezykow, pytanie tylko o czas zuzyty na wymyslanie 'jak dany jezyk
          nagiac do tego-a-tego podejscia'. Dlatego utarlo sie ze C jest do
          strukturalnego, a C++ do obiektowego - bo w C nie bylo wbudowanych mechanizmow
          szybkiego 'obiektowienia sobie' i trzeba bylo sobie je samemu tworzyc. Ale,
          powtarzam - nikt jednak nie zmusza do uzywania ich (przyp.-obiektowosc,
          polimorfia, dziedziczenie,etc) w C++ - czemu by wtedy sluzylo na przyklad slowo
          virtual w C++? Korzystajac z dziedziczenia masz wybor - polimorfia albo nie.
          Wielokrotne dziedziczenie? A uzywaj sobie jak lubisz, ale nikt Ci nie kaze.
          (Tez nie rozumiem czemu tak wszyscy Javomani na nie pluja.. Ze niby jest
          problem jak sie pola o tej samej nazwie w droch rodzicach krzyzuja - jakos
          wieki temu w C++ rozwiazano to przez prefiksy rodzic::zmienna i jest super i
          dziala i nikt nie narzeka..)

          Jesli zas chodzi o to to uparte pisanie w 'C' podczas gdy ma sie "lepsze C" pod
          reka (C++) to w tym tkwi kilka rzeczy, to nie takie uzaleznienie ale czysta
          logiczne myslenie i chlodna kalkulacja.. po pierwsze, wbrew pozorom, bardzo
          duzo dobrze wyszkolonej i bardzo doswiadczonej kadry w dziedzinie
          oprogramowywania mikroprocesorow i mikrokontrolerow wlasnie zna C, ignorujac
          umyslnie C++. Z jednego protego powodu
              • pstradomski Re: Proszę o odpowiedż. 11.02.06, 16:18
                > Przypominam, ze standard jezyka C++ mowi, ze KAZDY
                > (prawidlowy) program napisany w C jest poprawnym programem napisanym w C++ i
                > jako takowy MUSI SIE skompilowac i POPRAWNIE wykonac dajac te same wyniki,
                > jesli zostanie przetlumaczony przez narzedzie zwiazane z C++.

                Niestety nie. W C wszystkie wskaźniki są kompatybilne bez konwersji, zatem mając
                char*a;void*b; można zrobić a=b; podczas gdy w C++ trzeba a=(char*)b, lub
                a=static_cast<char*>(b).
                • ktosktomafajnegomisiaczka Re: Proszę o odpowiedż. 12.02.06, 00:53
                  Zgadza sie. Tylko tak sie sklada ze to wlasnie bylo najwiekszym zrodlem bledow
                  w programach, dlatego wprowadzono obowiazkowe rzutowanie przy wskaznikach. Nie
                  jest to jednak w zaden sposob utrudniajace, nie zmienia w zaden sposob
                  struktury ani ukladu programu, wystarczy zrobic pare kopiuj-wklej-wklej-wklej w
                  miejscach ktore zaznaczy kompilator :)
                  "This is not a bug, it's a feature" jak mawiaja ludzie z M$ :)
            • alsor Re: Proszę o odpowiedż. 11.02.06, 06:44
              > Po pierwsze: utarło się, że C++ == C + obiektowość. Nie, nie i jeszcze raz nie.

              Twoim zdaniem jaka jest różnica między c a c++?

              - operatory: ++, :?, >>, ==, +=, ... wszystko jednakowe
              - typy: int, unsigned, float, ... struct, enum - wszystko identyko
              - instrukcje: for, if, do, while, break, switch, ... - brak różnic

              - obiekty: c++ - tak, c - nie ma
              - jest kilka innych, czasami przydatnych, nowości w c++: operator, template

              Może te cin i cout tak strasznie osobliwie wyglądają... no, ale to są przecież
              obiekty, więc wolno im.

              Zatem o co biega?
              Może raczej chodzi o ten styl programowania: w c++ jest inny, niż w c
              albo raczej powinien być inny.
Inne wątki na temat:

Popularne wątki

Nie pamiętasz hasła

lub ?

 

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka