Книга е още в много ранна фаза на написване


Предговор към 2ро издание



страница4/73
Дата25.07.2016
Размер13.53 Mb.
#6732
1   2   3   4   5   6   7   8   9   ...   73

Предговор към 2ро издание


Много чудесни коментарии имаше за първото издание на тази книга, което естествено беше много радващо. Понякога обаче някой се оплаква и по някаква при­чина най-честото оплакване е “книгата е твърде голяма.” Някой припомни оплак­ването на австрийския император от работата на Моцарт: “Твърде много но­ти!” (Не се сравнявам с Моцарт по никакъв начин). Освен това мога да пред­по­ложа, че оплакването идва от някой, който тепърва има да се запознае с го­ле­ми­ната на езика и не е виждал останалите книги по темата – например лю­би­ма­та ми справочна книга е Core Java на Cay Horstmann и Gary Cornell (изд. Prentice-Hall) която толкова се разрасна, че беше разделена на два тома. Въ­пре­ки това аз съм се старал да махна частите, които са остарели или пон не ос­нов­ни. Това може да се направи без неудобства, защото стария вариант е в Мре­жа­та (на адрес www.BruceEckel.com). Ако искате стария материал, той още е там и то­ва е голямо облекчение за автора. Например може да забележите че главата “Про­екти” вече я няма; два от проектите отидоха в други части и последния ве­че не бе подходящ да остане. Така че по всички правила книгата ще е по-тънка.

Да, ама не.

Разработването на езика продължава, в частност с разработването на все­въз­мож­ни потребителски интерфейси. Очевидно обхващането им не е в обсега на та­зи книга, но някои неща не могат да се пренебрегнат. Най голямото от тях е Ja­va за сървъри (предимно Servlets и Java Server pages – JSPs) , което наистина е чу­десно решение за Мрежата, във връзка с което намерихме, че много броу­зери не са достатъчно добри, за да изпълняват клиентската страна. В добавка има отделен проблем за лесно създаване на програми за работа с бази данни, тран­закции, по сигурността и др. под., които са свързани с Enterprise Java Beans (EJBs). Тези теми са обхванати в нова глава Enterprise Programming, която не мо­же да бъде игнорирана.

Ще намерите също, че главата за мрежи е разширена с Jini (произнася се “genie” (джи­ни) и не е акроним, а име) и JavaSpaces, две технологии които промениха на­чина на мислене за мрежовото програмиране. И разбира се книгата беше про­ме­нена да използва навсякъде Swing GUI – отново, ако искате старата Java 1.0/1.1 може да я вземете от мрежата на онзи адрес.

Освен няколкото нови черти добавени в Java 2 и корекциите правени по книгата, другата главна промяна е галата за колекции (8), която сега е фо­ку­си­ра­на върху Java 2 колекциите, които се използуват в книгата. Подобрил съм съ­що нея глава с по-дълбоко вникване в колекциите, в частност как работят хеш-функ­циите (така че сега знаете как правилно да създадете такава функция). Има и други размествания и промени, включващи премахването на някои при­ло­же­ния, които считам за ненужни повече, но ги имаше в излишък.

Извинявам се на онези, които пак не могат да понесат дължината на книгата. Вяр­вате или не, аз работих много за да направя книгата кратка. Напук на обема, има алтернативи, които могат да ви задоволят. Едната е, че има електронна фор­ма и можете да я сложите в лаптоп и по този начин да не мъкнете много те­жест. Ако отслабвате, има Palm Pilot версии на книгата. (Един ми каза, че би чел кни­гата на неговия Palm в леглото, със задно осветление, за да не ядоса жена си. Аз само мога да се надявам това да може го отнесе в страната на сънищата ле­сно.) Ако искате на хартия, аз знам хора, които си печатат една по една главите, сла­гат една в куфарчето си и я четат във влака.


Въведение


Като всеки човешки език Java дава начин за изразяване на концепции. Ако е успешен, той ще даде по-голяма лес­нота и гъвкавост във все по-нарастващите и услож­ня­ва­щи се проблеми за решаване.

Не може да гледате на езика като на сбор от различни характерни черти; някои не­ща са без определено значение, ако са изолирани от другите. Може да из­пол­зу­вате сумата от частите само ако мислите за проектиране, не просто за ко­ди­ра­не. И за да разберете Java по този начин трябва да разбирате проблемите с ези­ка и с програмирането изобщо. Тази книга дискутира програмните проблеми, за­що са проблеми и начинът който Java дава за решаването им. По този начин не­щата от езика дадени в някоя глава са продиктувани от възгледа ми за ре­ша­ва­не на някой проблем. По този начин, по малко по малко, искам да ви при­дви­жа до точката, където начинът на мислене с Java става ваш естествен език.

Във всеки случай, аз ще имам пред вид, че вие искате да си изградите модел и дъл­боко разбиране на езика; ако намерите гатанка, вие ще можете да я пре­чу­пи­те през своя модел и да намерите отговора.

Необходими начални знания


Тази книга предполага, че имате известни начални знания за програмирането; зна­ете, че програмата се състои от оператори, идеите за подпрограма, функция и макрос,управляващи оператори като “if” и за цикъл като “while”и т.н. Вие оба­че може да имате тази информация от много места, като например ма­кро­ези­ци или работа с Perl. Щом сте достигнали точката да нямате проблеми с идеи­те на програмирането, вие ще можете спокойно да работите с тази книга. Раз­бира се, книгата ще бъде по-лесна за C програмистите и още повече за C++ про­грамистите, но не се притеснявайте, ако не сте работили с тези езици (но има­те желание да работите здраво). Аз ще въвеждам идеите на обектно-ориен­ти­раното програмиране и основните управляващи механизми на Java, така че ще се запознаете с тях, а също и в първите упражнения – с операторите за управ­ление.

Въпреки че често ще се правят справки с характеристиките на C и C++, това ня­ма да е съществено за изложението, а за да се даде възможност про­гра­ми­сти­те да сравнят Java в перспектива с тези езици от които, в края на краищата, про­из­лиза Java. Аз ще се опитам да направя тези справки лесни и да обясня всичко, кое­то не би било ясно за не-C/C++ програмисти.


Учене Java


Приблизително по същото време, когато излезе моята първа книга Използване на C++ (Osborne/McGraw-Hill 1989) аз започнах да уча този език. Ученето на про­грамни езици беше станало моя професия; Виждал съм поклащане на глави, оза­дачени лица и загадъчни въпроси от сбушателите си по целия свят от 1989г. на­сам. Когато започнах да давам уроци на по-малки групи хора аз открих нещо по време на занятията. Даже ония които се есмихваха и си поклащаха главите не бяха наясно с много неща. Като председател по въпросите на C++ в Software Development Conference миналите няколко години (а сега също и за Java) за­бе­ля­зах, че лекторите имат тенденция да дават на обучаваните твърде много неща за твърде малко време. Така че независимо от вариациите в слушателския съ­став човек губи към края част от тях. Може би това поставя твърде много въ­про­си, но като един от хората, които са противници на традиционния начин на четене на лекции (и за повечето хора тази нагласа произтича, вярвам, от до­са­да), аз исках да се опитам да държа всеки на темпото.

Създадох си различни начини на представяне на материята с времето. Така на­при­мер приключвах учевено с упражнения и повторение (техника, която е до­бра и за проектирането на програми на Java). Накрая направих курс, из­пол­зу­вай­ки целия си опит – опит, който радостно ще споделям дълго време. Той се заема с предмета в дискретни, лесни за смилане стъпки и на семинар с достъп до техниката (идеалната ситуация за учене) има упражнения след всеки урок. Аз се­га чета този курс на публични Java семинари, за които може да се за­ин­те­ре­су­ва­те на http://www.BruceEckel.com . (въвеждащия семинар е достъпен също и на CD ROM. Информация – на същия адрес.)

Обратната връзка, която имам от семинарите ми дава възможност да променя и ре­организирам изложението докато то. Но тази книга не е точно семинар без част­та, която се прави на машината – аз се опитах да включа колкото мога по­ве­че информация в тези страници и така да я структурирам, че да ви извлека до след­ващата тема. Най-вече книгата е предназначена за самотния читател, счеп­кал се с един нов за него език.




Сподели с приятели:
1   2   3   4   5   6   7   8   9   ...   73




©obuch.info 2024
отнасят до администрацията

    Начална страница