Computer Science на языке Java 2022 Дэвид Копец Классические задачи Computer Science на языке Java 2022 ббк


Я думаю, что существует много примеров влияния мира функционального про-



Download 6,2 Mb.
Pdf ko'rish
bet221/236
Sana25.02.2022
Hajmi6,2 Mb.
#464393
1   ...   217   218   219   220   221   222   223   224   ...   236
Bog'liq
Kopec Klassicheskie zadachi Computer Science na yazyke Java 643091

Я думаю, что существует много примеров влияния мира функционального про-
граммирования на Java. Можете ли вы привести несколько?
—.Самый.очевидный.—.это.лямбда-выражения..И.знаете,.не.совсем.справедли-
во.называть.их.концепцией.функционального.программирования,.поскольку.
лямбда-исчисление.предшествует.возникновению.вычислительной.техники.
на.несколько.десятилетий..Это.естественная.модель.для.описания.и.формиро-
вания.поведения..В.таком.языке,.как.Java.или.C#,.это.имеет.такой.же.смысл,.
как.и.в.Haskell.или.ML..Так.что.это.однозначно..Другой.аналогичный.метод.—.
сопоставление.с.образцом,.которое.большинство.пользователей.связывают.
с.функциональными.языками,.так.как.это.первое.место,.где.они.его.увидели,.но.
на.самом.деле.сопоставление.с.образцом.в.первую.очередь.относится.к.таким.
языкам,.как.SNOBOL.из.1970-х.годов,.который.был.языком.обработки.текста..
Сопоставление.с.образцом.очень.четко.вписывается.в.объектную.модель..Это.
не.чисто.функциональная.концепция..Просто.так.случилось,.что.функцио-
нальные.языки.заметили,.что.это.полезно,.немного.раньше.нас..Многие.из.
концепций,.которые.мы.ассоциируем.с.функциональными.языками,.имеют.
смысл.и.в.объектно-ориентированных.языках.


274
Глава 10.
Интервью с Брайаном Гетцем
По многим параметрам Java — один из самых популярных языков програм-
мирования в мире. Как вы думаете, что привело к такому успеху и почему он 
будет иметь успех в будущем?
—.Вы.должны.осознавать,.какую.роль.успех.сыграл.в.вашей.жизни..Я.думаю,.
что.во.многих.отношениях.Java.появился.как.раз.в.подходящее.время..В.то.
время.принималось.решение.о.переходе.с.C.на.C++..Тогда.C.был.домини-
рующим.языком,.а.C++,.с.одной.стороны,.предлагал.лучшую.основу,.чем.C,.
а.с.другой.—.был.очень.сложным..Неужели.мы.действительно.хотим.совершить.
этот.прыжок?.И.появился.язык.Java,.в.котором.предоставлялась.большая.часть.
того,.что.было.в.C++,.но.без.особых.сложностей..Да,.пожалуй,.это.то,.что.мы.
хотим!.Это.было.правильно.и.в.подходящее.время..На.вооружение.был.взят.
ряд.старых.идей,.которые.годами.изучались.в.компьютерном.мире,.включая.
сборку.мусора.и.встраивание.параллелизма.в.модель.программирования,.
которые.ранее.не.использовались.в.серьезных.коммерческих.языках..Все.это.
было.связано.с.проблемами,.которые.люди.решали.в.1990-е.годы.
Джеймс.Гослинг.сравнивал.Java.с.волком.в.овечьей.шкуре..Людям.нужна.
была.очистка.памяти.от.ненужных.данных,.им.нужна.была.интегрированная.
модель.параллелизма,.которая.была.бы.совершеннее.библиотеки.Pthreads..Но.
им.не.нужны.были.языки,.с.которыми.эти.вещи.традиционно.поставлялись,.
так.как.они.поставлялись.со.множеством.других.вещей,.которые.чертовски.
пугали..В.то.же.время.язык.Java.аналогичен.C..На.самом.деле.разработчики.
изо.всех.сил.старались.сделать.синтаксис.похожим.на.C..По.поводу.создания.
Java.возникало.множество.идей..Одна.из.них.состояла.в.том,.что.создатели.
спроектировали.всю.среду.исполнения.языка.в.ожидании.того,.что.своевре-
менная.компиляция.должна.была.появиться,.но.не.совсем.там..Первая.версия.
Java.1995.года.была.строго.интерпретирована..Java.развивался.медленно,.но.
каждое.дизайнерское.решение.относительно.языка,.формата.файла.класса.
и.структуры.времени.выполнения.принималось.с.учетом.ноу-хау,.позволя-
ющего.сделать.это.быстро..В.конце.концов.Java.стал.достаточно.быстрым,.
а.в.некоторых.случаях.даже.быстрее,.чем.C.(хотя.некоторые.разработчики.до.
сих.пор.не.верят,.что.это.возможно)..Было.много.замечательных.идей.о.том,.
где.будут.развиваться.технологии.и.что.действительно.нужно.людям..Все.это.
привело.к.развитию.Java..Однако.чтобы.Java.оставался.на.первом.месте,.нам.
необходимо.было.нечто.большее..И.я.думаю,.что.то,.что.поддерживало.нас.
даже.в.те.мрачные.времена,.—.это.неустанная.приверженность.совместимости.
Внесение.несовместимых.изменений.нарушает.ваши.обещания..Это.делает.
недействительными.вложения.ваших.клиентов.в.свой.код..Всякий.раз,.когда.
вы.изменяете.код,.практически.вы.даете.возможность.переписать.его.на.ка-
ком-нибудь.другом.языке,.а.в.Java.никогда.такой.возможности.не.было..Код.
Java,.который.вы.написали.5,.10,.15,.20,.25.лет.назад,.все.еще.работает..Это.
означает,.что.мы.развиваемся.немного.медленнее,.но.наше.понимание.кода.


Интервью с Брайаном Гетцем
275
и.того,.как.работает.язык,.сохраняется..Мы.не.нарушаем.своих.обещаний.
и.не.причиняем.вреда.нашим.пользователям..Проблема.в.том,.как.найти.ба-
ланс.между.продвижением.вперед.и.стремлением.к.совместимости..Я.думаю,.
что.это.наше.секретное.оружие..За.последние.25.лет.мы.придумали,.как.это.
сделать,.и.у.нас.это.неплохо.получается..Это.то,.что.позволяет.нам.добавлять.
универсальные.шаблоны,.лямбда-выражения,.модули,.сопоставление.с.об-
разцом.и.другие.вещи,.которые.могут.показаться.чуждыми.Java,.потому.что.
мы.выяснили,.как.это.сделать.

Download 6,2 Mb.

Do'stlaringiz bilan baham:
1   ...   217   218   219   220   221   222   223   224   ...   236




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish