Beginner in Java

11 отговора 531 прегледа
#1

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?

Отговор
в отговор на Beginner #2

Re: Beginner in Java

Нещата са вързани. Когато пишеш някакъв визуален интерфейс, в почти всички случаи се смесва употребата както на класове от Swing, така и на тези от AWT. Тоест - в съвсем явен вид. В други случай, части от самия Swing викат неявно неща от AWT. Така че... Но в крайна сметка няма смисъл да учиш това или онова. Вземи първо прегледай основите по синтаксиса, обектите, структурите от данни, мрежовото програмиране и т.н. Тоест, добий обща представа за езика. После разгледай tutorial-ите на Sun, касаещи Swing и ще видиш сам колко тънка е линията между различните графични компоненти от двете системи. Хвърли и едно око на The Swing Book, мнооого полезна книжка.

Поздрави!


All warfare is based on deception.
Sun Tzu [1:18]
Отговор
в отговор на Beginner #4

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 :))

Отговор
в отговор на D1 #5

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...

Отговор
в отговор на Polinom #6

Re: Beginner in Java

J2ME има предвид човека


All warfare is based on deception.
Sun Tzu [1:18]
Отговор
в отговор на Beginner #7

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

Отговор
в отговор на Vallery_ #8

Re: Knijki

A nqkoj znae li knijki za J2ME osven " Java 2 Micro Edition" :))

Отговор
в отговор на Beginner #9

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 глави за по-нататък. Мултитрединга обаче ще ти вземе акъла, вервай ми.

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Отговор
в отговор на Duncan Griffin #10

Re: Beginner in Java

Ако си падаш по такъв род "изключения" от правилата, погледни "J2EE Пълно ръкводство за сертифицитране" (или т.н. "черна книга"). Доста забавни нещица има там


All warfare is based on deception.
Sun Tzu [1:18]
Отговор
в отговор на Whitelion #11

Re: Beginner in Java

Ммм, какви изключения имаш предвид? Нещо не схванах...

Както и да е де, да ти се намира линк?

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Отговор
в отговор на Duncan Griffin #12

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]
Отговор