Beginner in Java
11 отговора
531 прегледа
Beginner in Java
Zdr, sega sym programist na Delphi, znam sy6to i C++. Imam namerenie da u4a Java 6te mi kaze li nqkaj otkyde da zapo4na. Imam predwid naprimer ima li smilyl da u4a awk ili naprawo da po4na sys swing i dr. podobni?
Re: Beginner in Java
Нещата са вързани. Когато пишеш някакъв визуален интерфейс, в почти всички случаи се смесва употребата както на класове от Swing, така и на тези от AWT. Тоест - в съвсем явен вид. В други случай, части от самия Swing викат неявно неща от AWT. Така че... Но в крайна сметка няма смисъл да учиш това или онова. Вземи първо прегледай основите по синтаксиса, обектите, структурите от данни, мрежовото програмиране и т.н. Тоест, добий обща представа за езика. После разгледай tutorial-ите на Sun, касаещи Swing и ще видиш сам колко тънка е линията между различните графични компоненти от двете системи. Хвърли и едно око на The Swing Book, мнооого полезна книжка.
Поздрави!
All warfare is based on deception.
Sun Tzu [1:18]
Поздрави!
All warfare is based on deception.
Sun Tzu [1:18]
Re: Beginner in Java
Въпросът ти е малко неправилен :)
Преди всичко трябва първо да си отговориш на един въпрос - какъв тип Java програмист искаш да бъдеш. Най-общо те са три типа - Server-side, Client-side, Device-centric. Чак тогава можеш да дискутираш за подвидовете технологии във всяко от тези направления. Няма смъртен който да е специалист по всичките, а ако твърди това, той е просто лъжец. Java-та е необятна в разнообразието си на технологии/API-та.
Грубо казано SWING-a e 95% Client-side технология, 5% Server-side и 0% Device-centric :))
Преди всичко трябва първо да си отговориш на един въпрос - какъв тип Java програмист искаш да бъдеш. Най-общо те са три типа - Server-side, Client-side, Device-centric. Чак тогава можеш да дискутираш за подвидовете технологии във всяко от тези направления. Няма смъртен който да е специалист по всичките, а ако твърди това, той е просто лъжец. Java-та е необятна в разнообразието си на технологии/API-та.
Грубо казано SWING-a e 95% Client-side технология, 5% Server-side и 0% Device-centric :))
Re: Beginner in Java
D1, kakwo razbirash pod device-centric? Za beginner, wzemi i si swali "Thinking in Java" ot
[линк]. Dosta prilichna kniga e i dawa review na powecheto oblasti/tehnologii w Java.
Ako si programiral na C++, spokoino movesh da preskochish parwite 6-7 glawi, no mislia, che si struwa da se prochetat poneve ima niakoi hubawi idei. Mislia si, che e po-dobre da se prochete niakoia knivka po waprosa predi da se hwarli chowek direktno kam API na java.sun.com. Ima niakoi nelogichni na praw pogled nesta kato razdelenieto na AWT i SWING. Chowek se pita zasto ne biaha sazdali naprawo SWING, ami sa omeshali taka nestata...
[линк]. Dosta prilichna kniga e i dawa review na powecheto oblasti/tehnologii w Java.
Ako si programiral na C++, spokoino movesh da preskochish parwite 6-7 glawi, no mislia, che si struwa da se prochetat poneve ima niakoi hubawi idei. Mislia si, che e po-dobre da se prochete niakoia knivka po waprosa predi da se hwarli chowek direktno kam API na java.sun.com. Ima niakoi nelogichni na praw pogled nesta kato razdelenieto na AWT i SWING. Chowek se pita zasto ne biaha sazdali naprawo SWING, ami sa omeshali taka nestata...
Re: Beginner in Java
J2ME има предвид човека 
All warfare is based on deception.
Sun Tzu [1:18]
All warfare is based on deception.
Sun Tzu [1:18]
Knijki
HI!
I az sym beginner. Tuk si namerih edna knijka deto mnogo me izkefi. Edwam ia otkrih w Neta, na men mi ia dade edin priatel. Eto ti link direktno kym neia i o6te ne6ta, deto nabyrzo izrowih:
[линк] - the real best in branch!
[линк] - o6te polezni ne6ta
[линк] - O'Reilly CD bookshelf
Dano da sa ti ot polza! Pyrwata temi4ka (mislia) ot Java Foundation Classes w knigata 6te dade dobyr otgowor na wyprosa ti za awt i swing.
Ot men uspeh
I az sym beginner. Tuk si namerih edna knijka deto mnogo me izkefi. Edwam ia otkrih w Neta, na men mi ia dade edin priatel. Eto ti link direktno kym neia i o6te ne6ta, deto nabyrzo izrowih:
[линк] - the real best in branch!
[линк] - o6te polezni ne6ta
[линк] - O'Reilly CD bookshelf
Dano da sa ti ot polza! Pyrwata temi4ka (mislia) ot Java Foundation Classes w knigata 6te dade dobyr otgowor na wyprosa ti za awt i swing.
Ot men uspeh
Re: Beginner in Java
И аз сега навлизам в дебрите на Java. Преди няколко дни приключих с "Thinking in Java", която са ти препоръчали и на теб. Определено си заслужава да я прегледаш, тъй като щом имаш опит със С++ ще трябва да промениш някои от основните концепции с които си запознат. Книгата ненапразно се казва "Thinking...", има защо.
Освен основните идеи на Java-та ще откриеш и други разлики, които може и да те изненадат. Например, аз преди 2 дни сума време търсех "бъг" в кода, и накрая се оказа, че просто съм сгрешил тълкуването на кода. Идеята беше следната:
while(...)
{
Integer i = new Integer(0);
...
}
Проблемът беше, че в С++ редът:
Integer i = new Integer(0);
ще се изпълни само веднъж, в смисъл на дефиниция на променливата i заедно с инициализация, и при следващото изпълнение на цикъла "new Integer(0)" изобщо няма да се изпълни, тъй като променливата вече е дефинирана.
Да де, ама в Java-та не е точно така. Тук тялото на цикъла вече не е област на действие, а област на валидност. При всяко изпълняване на цикъла променливана става невалидна, и при следващо изпълнение (ако има такова) се прави нов обект който да става валиден...
За мен поне, това беше голям шок.
Та, моят съвет е да отделиш време на Thinking-a, заслужава си. Можеш обаче да проспиваш по-скучните места (които не са малко), и да оставиш последните 2 глави за по-нататък. Мултитрединга обаче ще ти вземе акъла, вервай ми.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Освен основните идеи на Java-та ще откриеш и други разлики, които може и да те изненадат. Например, аз преди 2 дни сума време търсех "бъг" в кода, и накрая се оказа, че просто съм сгрешил тълкуването на кода. Идеята беше следната:
while(...)
{
Integer i = new Integer(0);
...
}
Проблемът беше, че в С++ редът:
Integer i = new Integer(0);
ще се изпълни само веднъж, в смисъл на дефиниция на променливата i заедно с инициализация, и при следващото изпълнение на цикъла "new Integer(0)" изобщо няма да се изпълни, тъй като променливата вече е дефинирана.
Да де, ама в Java-та не е точно така. Тук тялото на цикъла вече не е област на действие, а област на валидност. При всяко изпълняване на цикъла променливана става невалидна, и при следващо изпълнение (ако има такова) се прави нов обект който да става валиден...
За мен поне, това беше голям шок.
Та, моят съвет е да отделиш време на Thinking-a, заслужава си. Можеш обаче да проспиваш по-скучните места (които не са малко), и да оставиш последните 2 глави за по-нататък. Мултитрединга обаче ще ти вземе акъла, вервай ми.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Re: Beginner in Java
Ако си падаш по такъв род "изключения" от правилата, погледни "J2EE Пълно ръкводство за сертифицитране" (или т.н. "черна книга"). Доста забавни нещица има там 
All warfare is based on deception.
Sun Tzu [1:18]
All warfare is based on deception.
Sun Tzu [1:18]
Re: Beginner in Java
Ммм, какви изключения имаш предвид? Нещо не схванах...
Както и да е де, да ти се намира линк?
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Както и да е де, да ти се намира линк?
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Re: Beginner in Java
Имам предвид точно такива нещица, които не се виждат от пръв поглед и изглеждат наред, пък ти се ровиш 2 седмици да разбереш къде е драмата. Неявна конвресия на типове например... Въобще, дребни детайли които не се засягат в повечето книжки за Java. Я пробвай примерно следното:
double a = 12.46;
double b = 0.6;
System.out.println(a-b);
Да не решиш, че ще ти върне 11.86? Блажени са вярващите
Иначе за линк, за съжаление само този [линк]
All warfare is based on deception.
Sun Tzu [1:18]
double a = 12.46;
double b = 0.6;
System.out.println(a-b);
Да не решиш, че ще ти върне 11.86? Блажени са вярващите
Иначе за линк, за съжаление само този [линк]
All warfare is based on deception.
Sun Tzu [1:18]