Java [1242]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Maciek Makowski

    Autora wątku przepraszam, ale pozwolę sobie jeszcze podyskutować:

    > no dobrze i co ja mam teraz zrobic.. nie znam
    > simuli, smalltalka, i jestem do dupy; ] mieszam
    > pojecia, ja tylko wyjasnilem podobienstwa
    > miedzy struktuanalnym a obiektowym

    Nie wyjaśniłeś podobieństw, tylko pokazałeś jak obiektowość zaimplementować proceduralnie. Równie dobrze możnaby pokazać, że języki funkcyjne są w gruncie rzeczy podobne do asemblera -- no bo da się reprezentować obliczenie wyrażenia przy pomocy instrukcji procesora.

    > szkoda ze nie zacytowales o wzorcach
    > projektowych bo tak to jest wyrwane z
    > kontekstu i obiektowosc tak podana to wlasnie
    > kuleje tak jak w tej simuli, nie mniej nie lubie
    > jak ktos mi bezpodstawnie mowi ze mieszam
    > pojecia..ja jestem praktykiem a nie teoretykiem
    > i wzorce projektowe akurat wdrazam w
    > kazdym moim programie kiedy to jest
    > potrzebne.

    Owszem, chwali Ci się, że stosujesz wzorce projektowe kiedy zachodzi taka potrzeba. Z tym, że nie stanowią one istoty obiektowości, to jest jedynie zestaw inżynierskich narzędzi pozwalających w bardziej czytelny sposób projektować systemy oparte na klasach -- taki rodzaj "wspólnego języka" na poziomie projektu aplikacji. A już na pewno ich znajomość nie jest dowodem na to, że rozumie się, na czym polega podejście obiektowe.

    > dobra to moze inaczej czy java ma trudna
    > skladnie, a moze walisz VB ?

    Składnia i semantyka Javy zawiera elementy, które w nauczaniu od zera mogą przeszkadzać, a bez których napisać sensownego programu się nie da (np. rzutowania typów albo generics, zależnie od wersji). VB nie wolę, bo jest to język źle zaprojektowany, ze źle zrealizowaną obiektowością (namiastką obiektowości właściwie) i również nadmiarem różnych wodotrysków, które tylko przeszkadzają. Na początek najlepszy byłby chyba Smalltalk -- nie trzeba sobie zawracać głowy typami, liczba pojęć, które trzeba opanować, jest bardzo niewielka. Ruby również mógłby być niezły (z podobnych przyczyn, poza tym jest w tej chwili dość "rynkowym" językiem). Gdybym chciał zaczynać od języków statycznie typowanych, to nie wiem czy Eiffel nie byłby lepszym od Javy wyborem.

    > no to Design Patterns (klasyk, masz tam
    > przyklady w javie i c++)
    > [...]
    > ciekawe ze poprzednik nic nie wspomnial o
    > patternsach mimo ze to chyba taki jest dosc
    > podstawowy temat jesli chodzi o oop.
    > no ale napewno nie jest prosta lektura, jakies
    > zaplecze trzeba miec zeby to zrozumiec.

    Mam niejakie problemy ze zrozumieniem myśli: czy "Design Patterns" GoF jest w takim razie "książką, która nie jest typowym opisem Javy, tylko uczy podstaw programowania z przykładami w Javie i jest adresowane do laików", czy nie jest? Jeśli jest, to czemu we wstępie przeczytać można: "This book assumes that you are reasonably proficient in at least one object-oriented programming language, and you should have some experience in object-oriented design as well"? Jeśli nie jest, to co ona ma tu do rzeczy?
  • spec

    >Na początek najlepszy byłby chyba Smalltalk -
    >- nie trzeba sobie zawracać głowy typami,
    >liczba pojęć, które trzeba opanować, jest
    >bardzo niewielka.

    jak zwykle tracimy cel z oczu, Smalltalk moze i jest dobry do nauki, ale normalnej aplikacji sie w tym nie napisze, a nie chodzi zeby sie nauczyc obietkowosci 'teoretycznie', a tak zeby dalo sie napisac w nim jakikolwiek program ktory dziala i jest funkcjonalny,bo program ma dzialac przede wszystkim a nie byc sztuka sama w sobie. jasne ze dobrze napisany program potrafi zwrocic 100x czas wlozony w jego dobre zaprojketowanie i napisanie, ale sorry smalltalk dla mnie to jezyk eskperymnetalny i utopia.(co nie znaczy ze nie mozna sie zaczac sie uczyc od niego pisac, tylko po co?, takie cos to sie nazywa "fetyszyzm":)) zdecydowanie wole jezyki ktore oprocz tego ze sa w pelni obiektowe, dobrze Java nie jest :P to jeszcze nadaja sie do pisania czegokolwiek, prawda?

    >Owszem, chwali Ci się, że stosujesz wzorce
    >projektowe kiedy zachodzi taka potrzeba. Z
    >tym, że nie stanowią one istoty
    dziekuje,dziekuje!

    >obiektowości, to jest jedynie zestaw inżynierskich narzędzi pozwalających w
    >bardziej czytelny sposób projektować systemy oparte na klasach -- taki
    >rodzaj "wspólnego języka" na poziomie projektu aplikacji. A już na pewno ich
    >znajomość nie jest dowodem na to, że rozumie się, na czym polega podejście
    >obiektowe.
    dobrze kolego w takim razie koncze dyskusje bo nie ma ona sensu, mowiac ze znajomosc DP nie jest dowodem na czym polega podejscie obiektowe to znowu kula w plot :) dokladnie tak bo jak ktos nie rozumie programowania obiektowego to niestety nie zastosuje w ogole design paterns, przykro mi.
    chyba ze zle pojmuje ta dyskusje.
    jak zwykle tam gdzie potrzeba byla wymienic praktyczne zastosowanie obiektowosci, utonelo to belkocie. (nawet sensownym ale niepotrzebnie zasmieca to serwer grona :P)

    >Mam niejakie problemy ze zrozumieniem
    >myśli: czy "Design Patterns" GoF jest w takim
    >razie "książką, która nie jest typowym
    >opisem Javy, tylko uczy podstaw
    >programowania z przykładami w Javie i jest
    >adresowane do laików", czy nie jest?
    a ja mam problemy ze zrozumieniem, co ma smalltalk do tak malo obiektowego i trudnego semantycznie i syntaktycznie jezyka jakim jest java.

    dobrze podsumowujac, ja tu tylko sprzatam i nie znam dobrej ksiazki o OOP, kolega tez nie, bo nie wymienil takowej. moim zdaniem to nalezy tak dlugo probowac az sie to zrozumie.

    a jezyk to tylko narzedzie. program to cel a obiektowosc to jakas (uzyteczna filozofia) w programowaniu.
  • Adept

    też tak uważam.

    a c++ nie nadaje się ani do nauki ani do programowania :)
  • Maciek Makowski

    > jak zwykle tracimy cel z oczu, Smalltalk moze i
    > jest dobry do nauki, ale normalnej aplikacji sie
    > w tym nie napisze [...]

    Nie wiem, co to dla Ciebie jest "normalna aplikacja", ale proponuje zajrzec tu: http://www.whysmalltalk.com/product...
    W Polsce dziala np. taka calkiem spora grupa finansowa Generali, w ktorej znaczna czesc systemow jest napisana w Smalltalku.

    > dobrze kolego w takim razie koncze dyskusje
    > bo nie ma ona sensu, mowiac ze znajomosc DP
    > nie jest dowodem na czym polega podejscie
    > obiektowe to znowu kula w plot :) dokladnie
    > tak bo jak ktos nie rozumie programowania
    > obiektowego to niestety nie zastosuje w ogole
    > design paterns, przykro mi.

    Moze masz tu racje (problemy z rozbiorem gramatycznym tej wypowiedzi nie pozwalaja mi tego jasno stwierdzic) -- ale jestem sobie w stanie wyobrazic programiste, ktory stosuje singletony, factories albo delegates, a w kodzie nadal uzywa sprawdzania typu obiektu (operator instanceof w Javie) zamiast zastosowac polimorfizm. Czy taki programista rozumie programowanie obiektowe, czy nie?

    > a ja mam problemy ze zrozumieniem, co ma
    > smalltalk do tak malo obiektowego i trudnego
    > semantycznie i syntaktycznie jezyka jakim jest
    > java.

    Ma to, ze moim zdaniem jest od Javy lepszy do nauki podstaw programowania obiektowego.
  • spec

    >(problemy z rozbiorem gramatycznym tej
    >wypowiedzi nie pozwalaja mi tego jasno
    >stwierdzic)

    tak, tylko ze ja nie potrzebuje potwierdzac swojego autoryetu w taki sposob, nikomu nie wytykam problemow z gramatyka, moze siedzialem i programowalem zamiast uczyc sie poprawnej polszczyzny:)
    zapraszam na grono: ksiazki albo purysci_polskiego_jezyka, (tak, oczywiscie to drugie to strzal ale moze by mi sie przydalo :))

    >Ma to, ze moim zdaniem jest od Javy lepszy >do nauki podstaw programowania
    >obiektowego.

    hm mozliwe, nie wiem, mi smalltalk nie byl potrzebny do szczescia, kazdy lubi w czyms innym pisac;)

    >ale jestem sobie w stanie wyobrazic
    >programiste, ktory stosuje singletony,
    >factories albo delegates, a w kodzie nadal
    >uzywa sprawdzania typu obiektu (operator
    >instanceof w Javie)

    widzisz, bo tak naprawde tu jest potrzebna specyfika myslenia, ale nikt kto dojdzie do patternsow nie jest na tyle dumb zeby nie umiec wykorzystac w prawidlowy sposob polimorfizmu, bo powiem Ci ze ten kto nie rozumie oop to w ogole sie nie przedrze przez gofa.
    tak btw: operator instanceof to nic zuego o ile sie go w dobry sposob uzywa.

    co do c++, to rzeczywiscie nie jest to prosty jezyk z powodu jego specifki (nie da sie rozwinac skrzydel obiektowosci bo to hybryda)
    ale ta jego specyfika ma swoje zalety co powoduje ze jest np. to jezyk wyboru dla programistow gier, jeszcze pewno dlugo.
    ale tu juz wykraczamy mocno po za topic (templejty, wczesne wiazanie, wskazniki do funkcji, preprocesor, wstawki assemblerowe, zachowujac na tyle mozliwosci porgramowania obiektowego ze sie _da_ w tym pisac obiektowo, dobra to ja zaczalem sorrrry;p).
    kazde narzedzie do czego innego, nie chce mi sie pisac aplikacji biznesowej w c++, wybieram jave albo c# albo vb (tak tak)
    ale jak mam pisac silnik graficzny to pisze go w c++.
    za to powiem cos offtopowo ze java to jeden z niewielu jezykow ktora ma dla mnie klimat :P
    (moze to ta filizanka kawy :)




  • pablodd

    A wracając do tematu :), choć dyskusja jest ciekawa.
    Mam kilka projektów do zaliczenia w JAVIE a że lubię książki
    to się porozglądałem i ... zbyt wiele ciekawych pozycji nie znalazłem.
    Faktycznie jest sporo pozycji, i z tego co przejrzałem polecił bym:
    "Thinking in Java" Bruce Eckel'a i "Poznaj Język Java" Mike Morgan'a.
    Ta pierwsza może nie jest taka mocno tłumacząca teorie ale sporo jest programów, jakby ktoś szukał konkretnego przykładu, które też można ściągnąć ze strony (chiba :)), druga jest trochę stara, ale jest tam przedstawione trochę teorii moim zdanie w dość prosty sposób(na tyle na ile można uprościć).
    ... hmm... stary wątek... no ale może komuś się przyda :]
  • zbychu

    >Ma to, ze moim zdaniem jest od Javy lepszy do nauki podstaw
    >programowania obiektowego.

    Jak dla mnie pisanie w niektorych przypadkach (w przypadku nauki podstaw OOP) ze dany jezyk jest lepszy od innego to udowadnianie wyzszosci swiat wielkanocy nad bozym narodzeniem. Osobiscie uczono mnie (PW elka) C -> C++ -> Java ale poczatek w Javie (jesli kuma sie paradygmat programowania proceduralnego [jakies petle, zmienne itp.]) to chyba nie jest takie zle. Java ma pewne swoje specyficzne mechanizmy ale nie zaciemniaja one paradygmatu OOP i przeniesienie sie na cos innego obiektowego to nie problem.
    Z ksiazek od podstaw polecam - "Java Core2" - nie wiem czy jeszcze jest wydawana i oczywiscie "Thinking in Java". Szczegolnie ta pierwsza jest latwo przyswajalna dla nowicjuszy.


  • Ja nie istnieje (FURBY)

    Herbert Schildt napisal ksiazke taka dosc gruba o Javce i ona jest napisana tak ze nawet chłop z pola moze sie nauczyc Javy w 5 dni :)
  • Łukasz Osiennik

    Od jakiegoś czasu wychodzą książki z serii Head First. Książki tego typu tłumaczą różne zagadnienia w bardzo prosty sposób, myślę więc że ta książka będzie odpowiednia na początek. Akurat czytałem swojego czasu książke Head First'a Design Patterns wszystko co się czytało, samo zostawało w głowie, głównie dzięki fajnemu podejściu. Na pewno książka ta uczy programowania w nietypowy sposób i pewnie dlatego jest taka dobra. Dużo obrazków, zagadek i przełożenie programowania w życiowy sposób bardzo pomaga. Head first java, sprawdź to...
  • Ja nie istnieje (FURBY)

    Pozwole jeszcze dodac cos do dyskusji :D

    Ja to widze tak iż to co mówi SPEC to taka racja inżynierska , to co mówi MACIEK to taka racja Uniwerytecka a mi sie wydaje ze prawdą jest to i tylko to iż Język programowania służy do tworzenia funkcjonalnego oprogramowania i modeli czy symulacji a nie jest sam w sobie celem.
  • Пжэмэк Мушыньски

    Dla laika zdecydowanie polecam http://helion.pl/ksiazki/cwjav2.htm
  • Ja nie istnieje (FURBY)

    >Пжэмэк Мушыньски napisał
    >Dla laika zdecydowanie polecam
    > http://helion.pl/ksiazki/cwjav2.htm

    Te ksiazki to jest crap jak jestes laik i chcesz poznac jave na poziomie jej uzywania zgrabnego to warto zainwestowac w porządna gruba pozycje wyczerpujaca temat tak jak "Java kompedium programisty" czy tez "Thinking" z tym ze thinkinga laik moze ciezko trawic
  • Пжэмэк Мушыньски

    >Ja nie istnieje (FURBY) napisał
    >>Пжэмэк Мушыньски napisał
    >>Dla laika zdecydowanie polecam
    >> http://helion.pl/ksiazki/cwjav2.htm
    >
    >Te ksiazki to jest crap jak jestes laik i chcesz poznac jave
    >na poziomie jej uzywania zgrabnego to warto zainwestowac w
    >porządna gruba pozycje wyczerpujaca temat tak jak "Java
    >kompedium programisty" czy tez "Thinking" z tym ze thinkinga
    >laik moze ciezko trawic

    Przecież sam napisał że ta książka ma być dla laika! Jeśli dla profesjonalisty to prosze bardzo:
    http://helion.pl/ksiazki/jv2pod.htm
    Sądze że jest lepsza od thinking in java
  • Ja nie istnieje (FURBY)

    ona opisuje 1.3 !!!!!!!!!!!! maaan to tka jakby zyletkami rżnąc zyly

    to opisuje 1.5 i jest zajebsite http://helion.pl/ksiazki/javakp.htm
  • behemoth1990

    zna ktoś może jakąś pozycję dla programistow cpp? znalazłem tylko jedną taką książkę - wydaną w 1998 - czy nie jest to zbyt "stare"?
  • Ja nie istnieje (FURBY)

    zależy czego oczekujesz, ale jak znasz C++ to skacz odrazu na Thinkinga on nie owija w bawełne :)