LINUX.ORG.RU

Джеймс Гослинг, «Отец» Java, уволился из Oracle

 , ,


0

0

Основатель языка Java, Джеймс Гослинг (James Gosling) уволился из Oracle. Вот что он написал в своём блоге:

Да, слухи верны, я ушел из Oracle неделю назад (второго апреля). Я приношу свои извинения всем в Санкт-Петербурге, кто пришёл в четверг на конференцию TechDays, чтобы послушать моё выступление. Мне на самом деле очень неприятно, что меня там не было. На счёт того, почему я ушёл — мне трудно ответить: любой ответ, который был бы точным и искренним, больше навредил бы, чем принёс пользу. Самое, конечно, тяжёлое — это больше не быть со всеми этими замечательными людьми, с которыми я имел честь работать все эти годы. Я не знаю, что я буду делать дальше, разве что возьму небольшой перерыв перед тем, как начну искать работу.

Гослинг известен как изобретатель первоначальной версии языка и платформы Java: c написанного им компилятора и виртуальной машины в 1994 году всё и началось.

>>> Cообщение Гослинга в его блоге

★★

Проверено: mono ()

Ответ на: комментарий от yk4ever

Уважаемый, вы таки отстрелили себе все ноги?

wfrr ★★☆
()
Ответ на: комментарий от VoDA

>> Пожалуйста, не надо про яву на андроидах - безбожный тормоз.

Толсто ;)

PS владелец Андроидо-фона.

Вообще то там более менее работает только то в чем куча модулей на Си написана. А это уже сложнее чем просто на Си писать.

anonymous
()
Ответ на: комментарий от iZEN

> В классе String можно инкапсулировать поведение StringBuffer/StringBuilder и гибкое распределение памяти (кэш символьных последовательностей), но этого не сделали.

Тебя в детстве паскалем [пере]кормили что ли? Чего ты зациклился на мутейбл строках? Я очень подробно изучал как реализованы мутейбл строки в С++/STL, могу тебя заверить: это кака. Т.е. пока она одна локальная на стеке — нет проблем, но если она лежит в разделяемой структуре в мультитредовом приложении, то нужно быть очень аккуратным, чтобы не стрельнуть себе в ногу. Я, собственно, не теоретик, я наступал на это:

http://www.sgi.com/tech/stl/string_discussion.html

There are several problems, but the most serious ones relate to the specification for lifetimes of references to characters in a string. The second committee draft disallows the expression s[1] == s[2] where s is a nonconstant string. This is not simply an oversight; current reference counted implementations may fail for more complicated examples. They may fail even for s[1] == s[2] if the string s is simultaneously examined (merely examined, not necessarily modified) by another thread. It is hard to define precisely what constitutes a correct use of one of the current reference counted implementation.

Casus ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

>> inline объектов

с первого взгляда кажется, что инлайн объектов мощнее чем шарповые структуры, но с другой стороны возникает сомнение — а будут ли где-то нужны объекты, которые требуются как заинлайнеными, так *и* не заинлайнеными?

ведь скорее всего будут требоваться *либо* всегда-заинлайненные-объекты (с семантикой значения и копированием), либо никогда-не-заинлайненнные (обычные ява объекты), не?

inline объектов в java на данный момент не существует - это просто моя мечта.

Про C# struct я просто не знал. Спасибо за упоминание. Посмотрел немного в интернете, что это такое. Мне кажется что C# struct хватило бы для большинства случаев. Как я понял он позвляет делать две очень важные вещи: включать объекты без указателей и размещать объекты на стэке.

sign
()
Ответ на: комментарий от Karapuz

Чем более высокоуровней язык, тем он больше жрет ресурсов - это аксиома. А гугл вам видно за рекламу доплачивает.

anonymous
()
Ответ на: комментарий от sign

>включать объекты без указателей

Именно. Причем особенно это доставляет при исользовании массивов структур.

theos ★★★
()

Амитофо.

anonymous
()
Ответ на: комментарий от rtvd

Я сейчас пишу String s2 = s1.substring(1,4) + s1.substring(7,9) и у меня все работает. Причем s2 и s1 - immutable.

«под капотом» он создает себе StringBuilder или что ему там взбредет в голову. Мне как бы пофиг. :-)

А где в Вашем примере мутабельность строк - мне не ясно. Следует ли считать, что после s2.charSequence(1,4) s2 изменилась? Если да, то как именно? И зачем? И как тогда работает оператор «+»?

Неожиданно для себя наткнулся на подтверждающую мои мысли статью:

Представление строк в виде связок символов: Теория и практика.

В ней рассматриваются проблемы хранения и операции над строками. В частности, показано, что операция конкатенации для класса String приближаются к O(n), операция извлечения символа из произвольной позиции — к O(1). Для последовательностей — к O(1) и O(log n) соответственно. Как видно, последовательности сильно улучшают производительность строковых операций при изменениях данных.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Как видно, последовательности сильно улучшают производительность строковых операций при изменениях данных



Вот поэтому и был введен класс java.lang.StringBuilder


Всегда Ваш, К.О.

Karapuz ★★★★★
()
Ответ на: комментарий от iZEN

> Неожиданно для себя наткнулся на подтверждающую мои мысли статью

Хотел я дать ссылку на Ropes for Java - но не успел. ;)

Сам тоже только недавно натолкнулся на эту библиотеку. В реальных проектах еще не пробовал.

sign
()
Ответ на: комментарий от sign

>> Пожалуйста, не надо про яву на андроидах - безбожный тормоз.

Толсто ;)

PS владелец Андроидо-фона.

Вы наверное ещё ни разу камеру не включали, ага?

anonymous
()
Ответ на: комментарий от sign

Хотел я дать ссылку на Ropes for Java - но не успел. ;)


Сам тоже только недавно натолкнулся на эту библиотеку. В реальных проектах еще не пробовал.



http://www.linux.org.ru/news/java/2929835

Karapuz ★★★★★
()

...а почему никто не вспомнил, как Сан убила Смаллток ? вот и настиг Яву бумеранг кармы... :-)

anonymous
()
Ответ на: комментарий от anonymous

Ага, щас побегу. За эти деньги я куплю шесть EL71, мне такого количества до смерти хватит =)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.