avva: (Default)
[personal profile] avva
Я задумался недавно - как часто задумываюсь наедине с собой, бессонной ночью, ворочаясь на кровати, в те часы, когда все наносное, вся суета существования растворяется в темноте и на поверхность выходят самые беспощадные вопросы, самые жестокие дилеммы и все нескончаемые споры - о Джаве. Как все же она умудрилась из интересного и многообещающего языка так быстро превратиться в неподъемное чудовище, обросшее сотней неповоротливых фреймворков и чудовищных аббревиатур?

Так и не решив этот вопрос, моя измученная душа нашла, наконец, свой упокой в объятиях Морфея.

А сегодня я подумал: почему, собственно, "так быстро"? Джаву придумали в 93-м, а всерьёз обсуждать стали в 94-м. Это 13 лет назад. Как по-разному воспринимается время "до нас" и "при нас"! В 93-м году, будучи первокурсником, я воспринимал C++ как давно существующий, совершенно стандартный язык; казалось, что он был всегда (я знал, когда его придумали, но я говорю об ощущениях). А C++ тогда существовал в более-менее современном виде 10-11 лет. Меньше, чем возраст Джавы сейчас; но Джава и сейчас кажется недавним новшеством.

Интересно, те, кто сейчас начинают учиться программированию - им тоже Джава кажется чем-то незыблемым и всегда существовавшим, как мне казался C++?

Date: 2007-10-04 12:07 pm (UTC)
From: [identity profile] avva.livejournal.com
Я не спутал, просто описка.

Простота синтаксиса Java сильно пострадала с новыми generics, но в целом он, конечно, остался намного проще C++. Но дело не в этом, а в том, что реальное использование языка, куда ни глянешь, завязано на дикие кучи всякого навороченного, простите, дерьма.

Date: 2007-10-04 12:13 pm (UTC)
From: [identity profile] http://users.livejournal.com/malfet_/
Это увы да. Остается только надеяться, что Python не станет следующей Java.
Просто, IMHO, для ООП языка ссылки вместо указателей и сборщик мусора - это очень важные концепции.

Синтаксис языка

Date: 2007-10-04 12:31 pm (UTC)
From: [identity profile] alex-vinokur.livejournal.com
Если синтаксис запоминать, то он сложен.
Необходимость запоминать синтаксические конструкции возникает для языков с эклектичной концепцией.
Если же концептуальное устройсво языка эффективно и красиво (а C++ - именно такой язык), то понимание синтаксиса должно ассоциироваться с концепцией (т.е., упрощая, выводиться из нее).
В этом смысле, синтаксис C++, как правило, естественен.

Re: Синтаксис языка

Date: 2007-10-04 12:55 pm (UTC)
From: [identity profile] http://users.livejournal.com/malfet_/
Я конечно извиняюсь, но не могли бы вы привести пример языка с "эклектичной концепцией"?

Re: Синтаксис языка

Date: 2007-10-05 08:40 am (UTC)
recoder: (wally)
From: [personal profile] recoder
Наверное из-за TIMTOWTDI.
Хотя непонятно, почему это минус…

Re: Синтаксис языка

Date: 2007-10-05 10:56 am (UTC)
From: [identity profile] alex-vinokur.livejournal.com
Из старых, например, PL/1.

Re: Синтаксис языка

Date: 2007-10-04 12:57 pm (UTC)
From: [identity profile] msh.livejournal.com
Да. При этом некоторые части C++ особенно естественны, например overload resolution.

Re: Синтаксис языка

Date: 2007-10-04 01:55 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Или, например, строчка

A * B;

эффективно и красиво синтаксически разбирается всего в два варианта.

Re: Синтаксис языка

Date: 2007-10-04 03:19 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Ага, или скомпилируется, или нет. :)

Re: Синтаксис языка

Date: 2007-10-04 03:23 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Нет, Вы не поняли.

typedef int A1;
int A2;
int B2;

void f()
{
A1 * B1;
A2 * B2;
}

замечательно компилируется (с варнингом). При том, что две синтаксически одинаковых строчки семантически совершенно различны.

Re: Синтаксис языка

Date: 2007-10-04 03:37 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Да понял я, понял. Чувство юмора включите. :)))

Re: Синтаксис языка

Date: 2007-10-04 03:27 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
И, кстати, варнинг закономерен только в чистых сях, потому что в плюсах я могу радостно соверлоадить оператор умножения, чтобы у него появились сайд-эффекты, оставаясь в рамках языка.

Date: 2007-10-04 06:43 pm (UTC)
From: [identity profile] bortengineer.livejournal.com
1. Насчёт простоты. Вот появятся closures (http://www.javac.info/closures-v05.html) и мы все умрём.

2. Насчёт дерьма. В высшей степени непонятное для меня высказывание. На мой взгляд, если на языке тоннами пишут фреймворки, это лишь свидетельствует о его качестве и востребованности. Разумеется, в основном пишут дерьмо. Но это вообще основной закон человеческой деятельности, вам не кажется? На то мы и девелоперы, чтобы суметь отличить зёрна от плевел.

Date: 2007-10-05 12:05 am (UTC)
From: [identity profile] avva.livejournal.com
Фреймворки отличаются от модулей/библиотек тем, что они экслюзивны по отношению друг к другу. Тонны библиотек - качество и востребованность. Тонны фреймворков - убогость и неприспособленность для нормальной работы и плодотворного code reuse.

Date: 2007-10-08 07:53 am (UTC)
From: [identity profile] sergiej.livejournal.com
К Java существуют такие тонны библиотек, и кроме того существуют тонны фреймворков.

February 2026

S M T W T F S
1 2 3 4 5 67
8 9 10111213 14
15 16 17 18192021
2223 2425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 24th, 2026 07:30 pm
Powered by Dreamwidth Studios