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



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

Предговор


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

Ще има микроорганизми проектирани да произвеждат храна, гориво или пласт­ма­си; те ще прочистят замърсяването и изобщо ще позволи манипулирането в реал­ния свят за част от днешната цена. Аз претендирах, че революцията в ген­но­то инженерство ще затъмни компютърната революция.

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

Тази книга е точно такъв случай. Повечето хора мислеха, че съм много щедър или малко луд да слагам цялата книга в Мрежата. “Защо да я купуват тогава?” питаха те. Ако бях по-консервативен нямаше да го направя, но аз наистина не ис­кам да правя книги по стария начин. Не знаех какво ще стане, но това се ока­за най-умното нещо, което някога съм правил с книга.

Хората взеха да пращат корекции. Това беше забележителен процес, защото те бяха надникнали във всеки ъгъл и бяха хванали както технически, така и стилни грешки и аз бях в състояние да поправя много грешки, които иначе биха оста­на­ли незабелязани. Хората бяха просто ужасни с това нещо, често казвайки “Сега, не го приемай като критика” и ми даваха след това колекция от грешки, кои­то не бих открил иначе, сигурен съм. Чувствам, че това беше вид групова обра­ботка и това правеше книгата специална.

След това взех да чувам “Добре, че сте я сложили в Мрежата, но аз искам реално отпечатана и подвързана книга, от истински издател.” Аз много се тру­дих да я направя печатуема от всеки в подходящ формат, но това не намали по­ръч­ките за книги в печатницата. Повечето хора не обичат да четат цялата книга от екран и да им се моткат снопове хартии, без значение колко хубаво отпе­ча­та­ни (плюс това не толкова евтини в смисъл на тонер за лазерен принтер, мис­ля). Изглежда, че компютърната революция няма да изтласка печатарите от биз­­неса, най-после. Обаче един студент вмeтна, че за в бъдеще ще трябва кни­гите да се публикуват в Мрежата първо, а после да се печатат, ако има до­ста­тъ­чен интерес. В момента по-голямата част от всички видове книги са финансов про­­вал и може би новият начин ще направи тази индустрия по-печеливша.

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

Програмирането е на път да се справи със сложността: сложността на проблема, който решавате лежи върху сложността на машината, на която го решавате. По­ра­ди тази сложност повечето от програмните проекти не успяват. Все още никой от програмните езици които съм чувал не си поставя за основна цел да се спра­ви със сложността. Разбира се, много от главните решения са вземани като е имана предвид сложността, но в някоя точка винаги са се появявали съо­бра­же­ния, които са ставали основни. Обратно, тези “други съображения” са до­веж­да­ли до това програмистите да разбиват стена с глава. Например, С++ тряб­ва­ше да бъде ефикасен и обратно съвместим със C (за да позволи лесна миграция на С програмисти). Това бяха много полезни цели и на тях се дължи немалка част от успеха на С++, но те също доведоха до повишена сложност и доведоха до това някои проекти да не могат да бъдат завършени (разбира се, би могло да се обвиняват програмистите и управлението на проектите, но ако езикът може да помогне срещу грешките с автоматичното им прихващане, защо да не го пра­ви?). Като друг пример, Visual Basic (VB) беше свързан с Бейсик, който не бе­ше проектиран като разширяем език, така че всичките разширения доведоха до ужасен и неуправляем синтаксис. От друга страна, C++, VB и други езици ка­то Smalltalk имаха като цел на част от усилията при проектирането си спра­вя­не със сложността и това ги направи забележително ефективни при решаване на ня­кои видове проблеми.

Това което ме впечатли най-много когато започнах да разбирам езика беше, че като неотменна цел стоеше да се опростят нещата за програмиста. Като да ка­жем “не се интересуваме от нищо друго освен от намаляване на времето и уси­лия­та за получаване на хубав код.” В ранните дни това бе резултирало в не мно­го голяма бързина на кода (въпреки многото обещания за бързината, която Java щял да достигне някой ден) но също доведе до вълнуващо намаление на вре­мето за разработка; половина или по-малко от това за еквивалентна про­гра­ма на C++. Този резултата сам по себе си може да спести чудесни количества вре­ме и пари, но Java не спира тук. Тя продължава с обхващането на други слож­ни задачи, които са станали важни като многонишково изпълнение и мре­жо­во програмиране, чрез библиотеки и черти на езика, които правят тези за­да­чи тривиални. И накрая той се заема с проблеми с наистина голяма сложност: про­грами за смесени платформи, динамична промяна на кода и даже си­гур­но­ст­та, всеки от които лежи в спектъра на сложността между “пречка” и “спиращ шоу­то.” Така напук на проблемите с бързината, които видяхме, обещанието на Java е зашеметяващо: той може да ни направи значително по-ефективни про­гра­ми­сти.

Едно от местата, където виждам най-голяма възможност за влияние е Мрежата. Мрежовото програмиране винаги е било трудно, а Java го прави лесно (и раз­ра­бот­чиците се трудят за това непрекъснато). Мрежовото програмиране е чрез кое­то ние можем да комуникираме помежду си по-лесно и евтино отколкото да се обадим по телефона (само електронната поща революционизира много ви­до­ве бизнес). Като си говорим повече започват да се случват вълнуващи неща, мо­же би по-вълнуващи даже от обещанията на генната инженерия.

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




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




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

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