языки (программ.)
Oct. 4th, 2007 01:37 pmЯ задумался недавно - как часто задумываюсь наедине с собой, бессонной ночью, ворочаясь на кровати, в те часы, когда все наносное, вся суета существования растворяется в темноте и на поверхность выходят самые беспощадные вопросы, самые жестокие дилеммы и все нескончаемые споры - о Джаве. Как все же она умудрилась из интересного и многообещающего языка так быстро превратиться в неподъемное чудовище, обросшее сотней неповоротливых фреймворков и чудовищных аббревиатур?
Так и не решив этот вопрос, моя измученная душа нашла, наконец, свой упокой в объятиях Морфея.
А сегодня я подумал: почему, собственно, "так быстро"? Джаву придумали в 93-м, а всерьёз обсуждать стали в 94-м. Это 13 лет назад. Как по-разному воспринимается время "до нас" и "при нас"! В 93-м году, будучи первокурсником, я воспринимал C++ как давно существующий, совершенно стандартный язык; казалось, что он был всегда (я знал, когда его придумали, но я говорю об ощущениях). А C++ тогда существовал в более-менее современном виде 10-11 лет. Меньше, чем возраст Джавы сейчас; но Джава и сейчас кажется недавним новшеством.
Интересно, те, кто сейчас начинают учиться программированию - им тоже Джава кажется чем-то незыблемым и всегда существовавшим, как мне казался C++?
Так и не решив этот вопрос, моя измученная душа нашла, наконец, свой упокой в объятиях Морфея.
А сегодня я подумал: почему, собственно, "так быстро"? Джаву придумали в 93-м, а всерьёз обсуждать стали в 94-м. Это 13 лет назад. Как по-разному воспринимается время "до нас" и "при нас"! В 93-м году, будучи первокурсником, я воспринимал C++ как давно существующий, совершенно стандартный язык; казалось, что он был всегда (я знал, когда его придумали, но я говорю об ощущениях). А C++ тогда существовал в более-менее современном виде 10-11 лет. Меньше, чем возраст Джавы сейчас; но Джава и сейчас кажется недавним новшеством.
Интересно, те, кто сейчас начинают учиться программированию - им тоже Джава кажется чем-то незыблемым и всегда существовавшим, как мне казался C++?
no subject
Date: 2007-10-04 11:50 am (UTC)no subject
Date: 2007-10-04 11:57 am (UTC)no subject
Date: 2007-10-04 06:22 pm (UTC)no subject
Date: 2007-10-04 11:57 am (UTC)Вообще - интересное ощущение - я в ускоренном темпе прошел всю историю языков - начиная Алгола-60 и Фортрана (в школе) и воспринимаю это совсем по другому. В частности Java я не воспринимаю как что-то сколько-нибудь новое - как язык она (за исключением С-образного синтаксиса) очень близка к Simula-67 (которая в современных терминах называлась бы Object Algol-60)...
АЛГОЛ-60 или АЛГОЛ-68?
Date: 2007-10-04 12:19 pm (UTC)Re: АЛГОЛ-60 или АЛГОЛ-68?
From:Re: АЛГОЛ-60 или АЛГОЛ-68?
From:Re: АЛГОЛ-60 или АЛГОЛ-68?
From:Algol-58, Algol-60, Simula-67, Algol-68
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 11:58 am (UTC)no subject
Date: 2007-10-04 12:07 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 12:02 pm (UTC)И позвольте с Вами не согласиться: в Java конечно есть монструозные библиотеки, но синтаксис и семантика языка остались простыми и понятными,а вот в C++ есть слишком много конструкций, корректных с точки зрения языка, но способных оказать медвежью услугу использующему их программисту.
P.S. Я боюсь вы спутали Орфея с Морфеем
no subject
Date: 2007-10-04 12:07 pm (UTC)Простота синтаксиса Java сильно пострадала с новыми generics, но в целом он, конечно, остался намного проще C++. Но дело не в этом, а в том, что реальное использование языка, куда ни глянешь, завязано на дикие кучи всякого навороченного, простите, дерьма.
(no subject)
From:Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:Re: Синтаксис языка
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 12:07 pm (UTC)А угораздило ее понятно как - джава была слишком проста и орды послушных джава-программистов было легко накормить чем угодно. Это не C++, где STL десять лет внедряли и до сих пор у двух программистов - три мнения и пять вариантов hashtable
no subject
Date: 2007-10-04 01:36 pm (UTC)несовместимых друг с другом
что же да джавы - там просто все хорошо с выбором. иногда это запутывает :)
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 12:12 pm (UTC)no subject
Date: 2007-10-04 12:18 pm (UTC)no subject
Date: 2007-10-04 12:24 pm (UTC)no subject
Date: 2007-10-04 12:27 pm (UTC)Ответ тривиальный - ООП и его реализация в Java способствует этому. Было бы странно, если было бы наоборот.
no subject
Date: 2007-10-04 12:27 pm (UTC)Т.е практическое применение С++ как языка программирования вне академического мира начинается году в 87-88. А массово лишь в начале 90-х, с появлением Турбо С++ (91-й год) и других дешевых компиляторов. Так что твое ошущение в 93-м году о том какой С++ старый язык было относительно ложным
no subject
Date: 2007-10-04 12:30 pm (UTC)Опять же, относительная простота языка ведёт к попыткам перейти от ремесленных методов к промышленным. Десяток инженеров-технологов и тысяча работяг на конвейере вместо сотни мелких ремесленников.
no subject
Date: 2007-10-04 03:48 pm (UTC)Это вы погорячились. Уж такого ужаса какой работяги на конвейере понаписали на С++ за 20 лет - это ещё надо поискать. :)
(no subject)
From:(no subject)
From:сало як сало, шо його пробовать
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 12:34 pm (UTC)Как учат классики, "любая проблема дизайна может быть решена введением нового уровня абстракции, кроме проблемы слишком большого количества уровней абстракции". Вот это, собственно, и произошло.
Я был первокурсником в 97м, и помню Джаву молодой. Но, впрочем, и STL тоже.
no subject
Date: 2007-10-04 06:48 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 12:36 pm (UTC)Поначалу они были только стандартные и представляли собой единую систему. А потом эту систему раздули и растащили в разные стороны библиотеками для нестандартных фич и конструкций. Ну и эволюция несовместимости самого языка. Джава казалась хорошей поскольку исходно могла больше, чем мог стандартный C++ со стандартными библиотеками.
Нужен новый язык, с новым базовым набором библиотек покрывающий всю ф-ность стандартной джавы и захватывающий большую часть сторонних билиотек в осмысленном, систематизированом виде. Можно и на старом движке но нужно отказаться от обратной совместимости.
Просто так на это нет смысла идти, так что надо иметь еще фичи упрощающие жизнь современному девелоперу, в джаве такой стала сборка мусора и др. фичи.
no subject
Date: 2007-10-04 01:23 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 01:09 pm (UTC)no subject
Date: 2007-10-04 01:11 pm (UTC)>языка так быстро превратиться в неподъемное чудовище,
>обросшее сотней неповоротливых фреймворков и чудовищных
>аббревиатур?
Их действительно много, но не следует изучать все! Большей частью они морально устарели - пришли другие. Простейший пример: через 1-2 года никто уже не будет изучать Swing или AWT, а будут пользовать JavaFX - значительно более простой и мощный, при этом интуитивно понятный декларативный язык.
Первый курс - 2003 год, Java и тогда и сейчас кажется чем-то "новым", когда C++/C - язык дедов [=)
no subject
Date: 2007-10-04 01:25 pm (UTC)no subject
Date: 2007-10-04 01:23 pm (UTC)Если бы они были удачные, не потребовалось бы множества несовместимых переделок.
no subject
Date: 2007-10-04 01:49 pm (UTC)Интересно, что судя по тому, что инсталл .net framework 2.0 занимал 22М, а 3.5 просит скачать больше 250М, то .net ждет похожая линия развития, вплоть до managed OS.
А еще интересно, как там ситуация со священными войнами. В начале были стычки С-Паскаль и довольно сильные. Потом - С++-Джава. Потом - .net-java и .net-c++ (c++ похоже упорно лезет в финал). Потом "новые" языки типа руби-против всех остальных. А сейчас поутихло или это только кажется? Или кажется, что было?
no subject
Date: 2007-10-04 02:16 pm (UTC)(no subject)
From:(no subject)
From: (Anonymous) - Date: 2007-10-04 08:34 pm (UTC) - Expandno subject
Date: 2007-10-04 02:06 pm (UTC)no subject
Date: 2007-10-04 03:25 pm (UTC)Ораньжевенький, издательство "Радио и Связь", 1991.
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 02:31 pm (UTC)no subject
Date: 2007-10-04 02:47 pm (UTC)no subject
Date: 2007-10-04 04:08 pm (UTC)Перефразируя известное выражение, идея языка программирования, брошенная в корпоративные массы, это даже хуже чем девка, брошенная в полк. Не просшло и нескольких лет как Джаве стали выкручивать руки ради сиюминутных целей. В итоге имеем что имеем.
Я знаю что вы, Авва, не любите С++. Но тем не менее С++ уже 20 лет остаётся одним из самых популярных языков и сходить со сцены совершенно не собирается. Своим долгожительством С++ обязан в первую очередь комитету по языку, который раз за разом отказывался портить язык в угоду сиюминутных задач. У С++ тоже хватает проблем, никто не идеален. Но в целом ситуация с языком гораздо более здоровая чем у Джавы.
no subject
Date: 2007-10-04 05:21 pm (UTC)(в том числе)
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-10-04 04:13 pm (UTC)no subject
Date: 2007-10-05 10:34 pm (UTC)Все серьезные проекты, которые я знаю уровня теорем прувера первого порядка или прувера для весьма специфического класса логик в нужный момент были переведены на С или С++.
no subject
Date: 2007-10-04 04:40 pm (UTC)no subject
Date: 2007-10-04 05:04 pm (UTC)no subject
Date: 2007-10-04 06:26 pm (UTC)(no subject)
From:(no subject)
From: