|
|
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
Better, faster, stupider Java (with apologies to Bruce Tate for the subject) Lately there has been a lot of talk about "improving" the Java language. In response to C#, JSE 5 introduced generics, foreach, autoboxing, and varargs among other things to make it "easier" to program in Java. Annotations are supposedly much "cleaner" and more "powerful" than doclet comments. Now in response to C#3 there are proposals for even more changes. Will today's Java programmer even be able to read tomorrow's code? This has got to stop . I like the next new thing as much as anybody (probably more than most), but look, Java is not C#. Java comes from a variety of vendors, and C# comes from one. If C# changes, that vendor will create a new version of the .Net framework and push it out to everybody's machine. Java doesn't have that luxury. We still have customers running 1.4.1 and will have for at least another year because it takes a while for the JVM vendors and open source implementations to catch up. And why should they? Is Java great because of cool language features? Would it be more popular if you could skip a couple curly braces here or an extra cast or function call there? No, just the opposite. New language features make Java less great . And to a lesser extent, so do new features in the core java.* and javax.* libraries. Like new methods on commonly used classes such Integer and String. Is this heresy? Probably, but I'm sure it's right. Take the example of Mylar. Mylar is a plug-in for Eclipse and, being written from scratch, the developers decided to use all the newest features of JSE 5. One little problem, not everybody could use JSE 5. For example there is no JSE 5 support on RedHat Linux with GCJ. Oh, there probably will be someday, and maybe there are workarounds with retroweaver or something but that's not the point. Java is great because of the huge amount of 3rd party software available for it. The majority of open source software in the world today is written in Java. It's nearly ubiquitous. But Java has to stabilize or we'll lose that advantage . It's 10 years old and it should be mature. Not dead, just mature. Right now there's kind of a backlash against new versions of Java. For example many Eclipse plug-ins are being recoded to work in what they call a Foundation environment. This is a subset of Java which works on older versions, smaller VMs, constrained environments. While it's not as sexy as taking advantage of every new thing coming down the pike it makes the software usable in a whole lot more places than it would otherwise be. Language guys love to tweak. I know, because I'm a language guy myself. I used to work on compilers, code generators, libraries, and debuggers. We were always adding new stuff, new commands, special keywords, etc. Did our users thank us for it? Maybe the one or two that wanted the new things, but the vast majority would just groan when a new release came out. What will this break now? Will I have to upgrade? Will I have to use somebody else's code that requires this new thing before I'm ready? Has it been ported to all the machines I need to run on? Boring, I know, but very practical and important issues. My suggestion? Hold the line at the JSE 1.4 level or earlier . Set your IDE to not allow JSE 5 and over language or library dependencies creep in unintentionally. You still get the advantage of the run-time improvements of up-level JVMs, such as better memory allocation algorithms and better JIT code generation without changing one iota of code. If you look at all the changes in JSE 5 and beyond, ask yourself honestly, Do I really need this? Am I gaining more than I'm giving up by locking myself into that? Almost always the answer will be "no". So when do I think it's safe to use JSE 5 level features? At the earliest, not until JSE 5 runtime support has become ubiquitous. By that I mean when it is production and supported on all platforms including the pure free/open source ones, and everbody has had a chance to deploy it and shake the bugs out and get comfortable with it. This is especially true the lower you sit on the software stack. The more people use your code, the later you should convert. It may be, you should never convert, or even go back to Foundation levels to achieve wider adoption. That's up to you. In summary, innovate outside the language and the core libraries, in those places where the power of Java really lies. And innovate in new languages that have no existing base. Just quit making Java a moving target! Minor tweaks, I've got no problem with, but wholesale changes that try to morph Java into something quite different, I do. Accept its maturity as a good thing, as a strength that can be built upon, not as a weakness that needs to be corrected . Share your thoughts on Java 5 and new language features over at EclipseZone . Until next time, Ed Burnette ed.burnette...eclipsezone.com -- Я прошу помощи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 09:25 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ Это ты как шутку выложил? Потому как либо гаю проплатил тот самый кастомер, либо у него с головой проблемы... Это надо додуматься предлагать Hold the line at the JSE 1.4 level or earlier При этом ни одного объяснения по поводу "лишних возможностей"... Или кто-то сомневается в пользе annotations или generic'ов? Static imports и foreach-циклов? НЕЛЬЗЯ никогда останавливаться в развитии, и повышение сложности не должно быть решающим аргументом в этом вопросе. Java - это наследник С++ в области прикладного ПО, так вот она еще не сложнее своего предшественника. С++, например, до сих пор является самым распространенным языком программирования не смотря на "сложность". ЗЫ Bruce Tate - врах! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 11:38 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
согласен, что не стоит использовать фичи java5 если делаешь что-нть для широкого использования если это продукт для конкретного заказчика - так вай бы и нот мне самому очень нравяться фичи java5. недавно пришлось перетянуть проект с 5 на 1_4 (заказчик захотел) - очень удивился, когда заметил, насколько foreach, генерики и autoboxing упрощают жизнь Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 11:39 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
Не ну блин! что не фраза то перл! авторTake the example of Mylar. ... Нашел плагин который требует J2SE 5 и на его основание сделал вывод что все ПО должно работыть на J2SE! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 11:40 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
Еще понравилось что оказывается фичи J2SE5 - это ответ на Net 2.0! Такой опережающий ответ получился - tiger вышел на год раньше ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 11:43 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
не, определённый смысл есть - в смысле что зачастую компютерные технологии тормозят потому что надо время на расспространение, тестирование и адаптацию + if it isnt broken dont fix it. Но так вроде везде. Я так и представляю как авторIf C# changes, that vendor will create a new version of the .Net framework and push it out to everybody's machine типа даже спрашивать не будет.... а если не выпускать новое то оно точно никогда не протестируется/отфильтруется/имплементится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 11:57 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
funikovyuri А.Грасоff™ Это ты как шутку выложил? ... ЗЫ Bruce Tate - врах! каждое мнение имеет право на жизнь. а причем тут брюс тэйт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 13:21 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
Согласен с автором, и последую его совету не использовать фичи 5-рки. Эд БрюнеткаSet your IDE to not allow JSE 5 and over language or library dependencies creep in unintentionally. You still get the advantage of the run-time improvements of up-level JVMs, such as better memory allocation algorithms and better JIT code generation without changing one iota of code .Фух. Успокоил ламерка. Этот вопрос меня правда волновал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 13:54 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ каждое мнение имеет право на жизнь. Возможно, но мне это мнение показалось на редкость некомпетентным и провокационным... Ничего конструктивного в нем я не увидел а причем тут брюс тэйт? Извиняюсь перед парнем, врах это Ed Burnette :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 14:36 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ Понимаешь, это мнение "случайно" оказывается на руку только одной стороне. Чтобы обсуждать подобные вещи - нужно иметь право и еслу уж взялся за дело, делай его объективно. А тут одни лозунги с эмоциями! Sun'овцы, которые делали и довели до ума tiger - это специалисты с большой буквы. Так прозрачно добавить generics - я до сих пор когда в спецификацию гляжу, детали уточняю - постоянно удивляюсь насколько все красиво и логично. И тут появляется некто утверждающий что это лишнее. Generic'и сложная и сильно развитая область, одних теоретических исследований в которой уже лет на 20-30. Как можно взять и сказать (нечего не объясняя) что они не нужны? А foreach и static imports?! А они то что усложнили в синтаксисе? Вроде упростили - не нравиться не используй. Аннотации - оказались чрезвычайно полезной концепцией (единственной своей в .Net) и их просто надо было перенимать. Интересно, у кого-нибудь, писавшего код для hibernate с .hbm файлами и с аннотациями повернулся бы язык сказать что они не нужны в Java? Тем более что они там уже и так давно использовались в виде XDoclet'ов и внесение их в язык с одной стороны сделало их официальными и стандартными средствами, а с другой позволило преодолеть ряд ограничений, присущих доклетам. Так что я конечно же потив необдуманных и частых изменений языка, но ! причем тут J2SE 5? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 14:54 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
funikovyuri А.Грасоff™ А тут одни лозунги с эмоциями! ну видишь... в этом топике - только твои эмоции :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 15:38 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
Один знакомый товарищ (специализируется на программировании микроконтроллеров) как-то взялся изучать Java, но был сильно разочарован, узнав что нет беззнаковых типов данных как таковых. Что-ж.. еще одна точка зрения. Лично для меня обидным было остутствие перегрузки операций . И главное .. увещевания джавистов о том, что они дескать не нужны, затрудняют восприятие и т.п. меня не затронули. Привык, знаете-ли, к языку математики . По сабжу. Кто знает где почитать про "оснастку" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 16:09 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
funikovyuriИзвиняюсь перед парнем, врах это Ed Burnette :) Не извиняйся, Bruce Tate тоже не очень друг - читай "Beyond Java" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 16:21 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
В том топике на www.eclipsezone.com 133 ответа. Можно как-нибудь его распечатать или посмотреть все ответы одной страницей? По теме: Java rules, Ed Burnette is a moron ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 21:10 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ Насчет эмоций - согласен, они лишние. А вот фактов у меня и то больше Ты, кстати, почему сам не высказался? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 21:42 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
А кто такие Ed Burnette, Bruce Tate? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 06:38 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
LinerА кто такие Ed Burnette, Bruce Tate?Первый - автор приведенной статьи, второй - некто, которого первый упоминает вначале и извиняется перед ним. Наверно какие-то крутые мужики из авторов спецификаций по джава. Почему бы и не попонтоваться иностранными именами, как будто лично с ними встречаемся или обедаем каждый день в одной столовой в фирме Sun :) К примеру: "Ed Burnette is a moron, I emtied the whole salt-cellar in his coffee last lunch when he was not looking" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 13:42 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
ежемуха никаких спецификаций они не писали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 13:43 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
блин ну и мало-ли кто там что понаписал неизвестно где, у явы фишки новые не понравились, а автор статьи их пользовал вообще, кто он такой? а мы сидим и обсуждаем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 13:46 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
Ed Burnette Ed Burnette is a Principal Systems Developer at SAS. He lives in Research Triangle Park, North Carolina. Написал книжку Eclipse IDE Pocket Guide (O'Reilly) August 2005 А Bruce Tate тут вообще не причем. Он Bruce Tate is a kayaker, mountain biker, father, author, and Java programmer in Austin, Texas. His five books include Better, Faster, Lighter Java and best-selling Bitter Java. His 17 years of experinece include stints at IBM, two failed startups, and his own independent consulting practice called J2Life, LLC. И у него была статья Better, faster, lighter Java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 13:49 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
funikovyuriИ у него была статья Better, faster, lighter Java или книга? PS Better, Faster, Lighter Java Beyond Java Bitter Java может, еще чего :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 14:24 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
Linerблин ну и мало-ли кто там что понаписал неизвестно где, у явы фишки новые не понравились, а автор статьи их пользовал вообще, кто он такой? а мы сидим и обсуждаем?Я высказался, потому что прочитал статью и стал согласен с автором, кто бы он ни был. Мне все равно, кто он такой. Безымянный нерезидент РФ, и все. А про "авторы спецификаций" это была шутка, я не знал кто он такой (мне было (и остается) все равно). Хотя Тейт, как автор хороших книг, мог быть соавтором спецификаций или по крайней мере с ним могли советоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 14:41 |
|
||
|
Другой взгляд на Java 5: Better, faster, stupider Java
|
|||
|---|---|---|---|
|
#18+
ежемуха LinerА кто такие Ed Burnette, Bruce Tate?Первый - автор приведенной статьи, второй - некто, которого первый упоминает вначале и извиняется перед ним. Наверно какие-то крутые мужики из авторов спецификаций по джава. weblogs.java.net/blog/batate java.sun.com/developer/Books/javaprogramming/bitterjava/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 21:19 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33396088&tid=2150866]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 348ms |

| 0 / 0 |
