Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как (эффективно) изучать JavaScript? (https://javascript.ru/forum/misc/13613-kak-ehffektivno-izuchat-javascript.html)

JSTalker 06.12.2010 12:14

Как (эффективно) изучать JavaScript?
 
Даже не знаю куда тему запостить, поэтому пишу сюда.
Есть мечта, стать программером JS, зарабатывать эти себе на жизнь.
Почему JS: вижу в этом перспективу: все таки качественные JS-приложения намного шустрее и надежнее Java, ASP..

Но есть проблемы с изучением:
1. По книжкам, есть всем известный недостаток. А именно отсутствие получения навыков написания собственного кода. Тут (да и не только тут) есть люди, которые книжек не читают, да и вообще говорят книжки - зло:blink: . Но как тогда Вы изучаете язык, ведь..
2. С другой стороны, при попытке выполнить тестовое задание, сталкиваешься с нехваткой опыта, как реализовывать, с помощью каких элементов. Даже Кнута начал читать, но там все еще более запутанно..
3. Видеокурсы? О них говорят еще хуже...

Сейчас читаю Флэнегана, еще осталост страниц 750. На полтора месяца хватит. И это только чтение. А ведь еще "AJAX в действии" надо прочитать, а затем "Learning ExtJS". B только потом браться за задания?
Как совместить теорию с практикой?
Спасибо.

Kolyaj 06.12.2010 12:21

Цитата:

Сообщение от JSTalker
Но как тогда Вы изучаете язык, ведь..

Берётся задача и решается. Задача нужна практическая и интересная. По мере решения задачи изучается язык. Когда задача будет решена, станет понятно, что надо было всё делать не так, это нормально. Тут же переписывать не надо, лучше другую задачу нормально сделать, хотя с ней та же история будет.

Цитата:

Сообщение от JSTalker
С другой стороны, при попытке выполнить тестовое задание, сталкиваешься с нехваткой опыта, как реализовывать, с помощью каких элементов.

Берётся Google/Яндекс и решается задача. Ответ на любой вопрос, который у вас может возникнуть в начале изучения, есть в сети.

monolithed 06.12.2010 12:24

Цитата:

Сообщение от JSTalker
Java, ASP..

Это немного другой формат и области применения у них разные.
Главное не начинайте изучение с библиотек типа jQuery.
Продолжайте читать Девида Фленангана и статьи этого сайта + habra.

JSTalker 06.12.2010 12:38

спасибо. Т.е. все таки начать тестовое задание (веб-приложение-редактор) писать, и параллельно читать Флэнегана, отсраненно?
Дело в том правда, что начал уже реализовывать на ExtJS-е, готовыми строками из книжки, поскольку там готовые решения есть. Но при первой неполадке (в ИЕ не работает), придется биться головой об стену.
Цитата:

Когда задача будет решена, станет понятно, что надо было всё делать не так, это нормально. Тут же переписывать не надо, лучше другую задачу нормально сделать, хотя с ней та же история будет.
восхитительно:)

x-yuri 06.12.2010 12:53

а я наоборот склоняюсь к тому, чтобы использовать какую-нибудь библиотеку типа jQuery (без плагинов), чтобы сделать кривую обучения более плавной. Возможно, после прочтения Флэнагана. А вот ExtJS, наверное, будет сложен для начала

DooMer 06.12.2010 14:07

Цитата:

Сообщение от JSTalker (Сообщение 82498)
намного шустрее и надежнее Java, ASP..

Врядли быстрее чем Java, ну а ASP это не в ту степь вообще

x-yuri 06.12.2010 15:02

Java - в ту же степь, что и ASP

DooMer 06.12.2010 15:09

x-yuri,
ну почему же ? можно же апплеты писать, которые визуально будут неоличимы от JS, так что тут я считаю в некоторых случаях можно сравнивать.
P.S. node.js можно с ASP сравнить

monolithed 06.12.2010 15:53

Цитата:

Сообщение от DooMer
можно же апплеты писать, которые визуально будут неоличимы от JS

для чего?
по моему мнению Java - это архаизм, который через несколько лет может исчезнуть если разработчики не задумаются координатно о производительности и прочих вещах присущих архаизму. Уже даже Apple отказались включать его в свои дистрибутивы OS и плевать они хотели на давнюю дружбу.

Цитата:

Сообщение от DooMer
P.S. node.js можно с ASP сравнить

Интересно чем?
Еще один неудачный проект, только от мелкомякгих, которому пророчат не больше 5 лет существования, причем сами же мелкомякгие это признали.

x-yuri 06.12.2010 16:29

DooMer, а кто их пишет? Где их увидеть можно? Да и ТС явно не про апплеты говорил...

monolithed, какие громкие заявления. Откуда такая информация? Может имеются прогнозы по Java?

MainBuh 06.12.2010 16:44

Изучение JavaScript
 
Изучение JavaScript я бы построил по такому принципу
1. Читаете Руководство потом справочник от разработчиков JavaScript (http://pyramidin.narod.ru/) - пускай там версия 1.5 но другой ссылки незнаю.
2. Читаете javascript: Подробное руководство (Definitive Guide) (http://javascript.ru/book/definitiveguide)
3. Практика + изучение (не копирование) чужого кода

Kolyaj 06.12.2010 16:50

Цитата:

Сообщение от MainBuh

Не показывайте больше такой ужас.

monolithed 06.12.2010 18:09

Цитата:

Сообщение от x-yuri
DooMer, а кто их пишет? Где их увидеть можно? Да и ТС явно не про апплеты говорил...

Может он имел ввиду JSP/JSF......:-?

Цитата:

Сообщение от x-yuri
monolithed, какие громкие заявления. Откуда такая информация?

ASP уже сейчас никто не использует потому как есть ASP.NET, и то разработчики постепенно разбегаются, т.к. проприетарная технология и намертво привязана к такому же ПО. Хотя C# тоже их продукт, но - это божественная вещь!
Цитата:

Сообщение от x-yuri
Может имеются прогнозы по Java?

У них большая аудитория, но она постепенно уменьшается, т.к. конечные продукты оставляют желать лучшего. Apple написали Objective-C, чтобы избавиться от Java т.к. программы на Java - архаизм (официальное заявление от Джобса!)

karakym 06.12.2010 22:07

"Сегодня ты написал код и ты горд собой, а через месяц ты смотришь на этот код и думаешь, что это за чушь? Можно же сделать намного лучше и легче!"

karakym 06.12.2010 22:28

На счет Явы я думаю после того как Oracle все и везде купила, то они быстро наведут порядки!)

x-yuri 07.12.2010 05:08

Цитата:

Сообщение от monolithed
Может он имел ввиду JSP/JSF......

ТС? Я думаю, да

Цитата:

Сообщение от monolithed
ASP уже сейчас никто не использует потому как есть ASP.NET, и то разработчики постепенно разбегаются, т.к. проприетарная технология и намертво привязана к такому же ПО. Хотя C# тоже их продукт, но - это божественная вещь!

т.е. ты все-таки про ASP говорил. Только почему неудачный проект? Ты же сам сказал, что есть ASP.NET

Цитата:

Сообщение от monolithed
У них большая аудитория, но она постепенно уменьшается, т.к. конечные продукты оставляют желать лучшего. Apple написали Objective-C, чтобы избавиться от Java т.к. программы на Java - архаизм (официальное заявление от Джобса!)

а можно привести примеры конечных продуктов? К тому же разве можно судить по отдельным конечным продуктам о платформе? Для этого подавляющее большинство продуктов должны оставлять желать лучшего. И каким образом Java насобирала такую аудиторию?

по поводу Джобса... он программист? Если Джобс что-то сказал, можно подумать, почему он так сказал. Но это не истина в последней инстанции. Наример, есть мнение:
Цитата:

Jobs's remark was made in an interview with New York Times technology correspondent John Markoff, but there must be more than a suspicion that it was calculated to help generate exactly the kind of massive publicity that will be necessary if Apple is to come anywhere near selling the 10 million iPhones that Jobs was predicting for 2008.
http://java.sys-con.com/node/331264

кроме того (оттуда же):
Цитата:

But the Jobs declaration strikes as some as being a little incongruous.

"Am I the only one that finds this interesting since the format Apple is supporting for HD content is BluRay, which uses Java for all the interactive menus or BD-J discs," notes Danny Mavromatis. In other words, Jobs "is supporting a next-gen format which supports a technology that he claims nobody uses anymore."

в конце концов, его слова можно толковать как сказанные исключительно относительно рынка мобильных телефонов

p.s. а ты с какой точки зрения высказываешься, программиста или менеджера?

monolithed 07.12.2010 11:29

Цитата:

Сообщение от x-yuri
т.е. ты все-таки про ASP говорил. Только почему неудачный проект? Ты же сам сказал, что есть ASP.NET

Да, ASP и ASP.NET - две абсолютно разные технологии, которые объединяет только обратная синтаксическая совместимости и общая история. Последняя версия ASP была выпущена 10 лет назад, когда ASP.NET выпускается синхронно с платформой .NET! Но и преимущества ASP.NET перед ASP конечно существенные, это как минимум улучшенная производительность, кеширование, встроенная поддержка Atlas и самое главное возможность писать код на любом из языком .NET (C++/C# и пр.)
Цитата:

Сообщение от x-yuri
а можно привести примеры конечных продуктов? К тому же разве можно судить по отдельным конечным продуктам о платформе?

Любой продукт Java - это гиперплохая производительность, вспомните Eclipse, OpenOffice, XMind и др. продукты написанные на Java.
Цитата:

Сообщение от x-yuri
И каким образом Java насобирала такую аудиторию?

Ну изначально в Windows был встроен псевдокопилятор Java (MSJVM), потом после баталий с авторскими правами он был удален, также не стоит забывать что UNIX системы включая Mac OS (до последнего времени) имели встроенную поддержку Java. Но основной вклад в развитие вносит J2EE.
Цитата:

Сообщение от x-yuri
по поводу Джобса... он программист? Если Джобс что-то сказал, можно подумать, почему он так сказал. Но это не истина в последней инстанции. Наример, есть мнение:

Ну вы сами подумайте зачем в период развития современных технологий, в частности портативных устройств тянуть Java?
Цитата:

Сообщение от x-yuri
p.s. а ты с какой точки зрения высказываешься, программиста или менеджера?

исключительно обзор со стороны разработчика, т.к. в плане менеджмента тут пока все решают другие всем известные корпорации.

Холливаром запахло))

x-yuri 07.12.2010 15:33

Цитата:

Сообщение от monolithed
две абсолютно разные технологии

все относительно, я бы сказал, что между ними довольно большой разрыв

Цитата:

Сообщение от monolithed
Любой продукт Java - это гиперплохая производительность, вспомните Eclipse, OpenOffice, XMind и др. продукты написанные на Java.

по поводу GUI IDE... они все тормозят по сравнению с не-GUI и особой разницы между ними не вижу в этом плане. Но среди тех, что пробовал, мне больше всего понравилась написанная на Java - PhpStorm :)

Цитата:

Сообщение от monolithed
Ну вы сами подумайте зачем в период развития современных технологий, в частности портативных устройств тянуть Java?

ну прям таки, java такая java, и никуда ее не приткнешь...
ну, например, чтобы в RingoJS можно было использовать java-библиотеки :) Кроме того, из-за выше упомянутого J2EE наверняка есть смысл ее тянуть. А вообще, если уж авторитетом давить, то можно Google вспомнить, который несмотря на Стива Джобса использует не только python, но и Java

Цитата:

Сообщение от monolithed
исключительно обзор со стороны разработчика, т.к. в плане менеджмента тут пока все решают другие всем известные корпорации.

хм, при чем тут решают... просто ты там предсказаниями начал говорить, что скорее из области менеджмента. А так, да, я не знаю, зачем они на ней пишут. Но допускаю существование альтернативного разума :) Правда мне и в c#, и в .net, и в flash не хочется вникать. По-крайней мере, есть более интересные для меня направления

DooMer 07.12.2010 15:40

x-yuri,
Действительно, согласен, что апплеты уже практически не пишут, разве что для какихто узкоспециализированых задач, но почему нельзя сравнить производительность с JS ? Причем, у меня такое чувство что Java будет производительнее

monolithed 07.12.2010 16:40

Цитата:

Сообщение от DooMer
Причем, у меня такое чувство что Java будет производительнее

Если речь идет о графическом рендеринге, когда можно не задействовать ресурсы ЦП, а работать с API OpenGL или Direct3D, то конечно, а так неееет.

DooMer 07.12.2010 16:54

monolithed,
DirectDraw в Java полный УГ.
Direct3D я так понял в Java даже нельза юзать, потому как не кроссплатферменно
OpenGL - так как в javascript его нет то нечего и сравнивать
А вот с точки зрения неграфической логики, то думаю Java всетаки быстрее
Просьба строго не судить, это ИМХО

monolithed 07.12.2010 18:14

Цитата:

Сообщение от DooMer
Direct3D я так понял в Java даже нельза юзать, потому как не кроссплатферменно

Есть Java 3D, а для "взаимодействия" с другими интерфейсами есть JNI.

Цитата:

Сообщение от DooMer
OpenGL - так как в javascript его нет то нечего и сравнивать

Есть масса проектов доказывающих обратное. O3D, WebGLU, GLGE, C3DL, Copperlicht, SpiderGL и SceneJS...

Цитата:

Сообщение от DooMer
А вот с точки зрения неграфической логики, то думаю Java всетаки быстрее

Если брать клиентскую производительность то JavaScript думаю даст фору Java, но а ставить вопрос что "быстрей" - типизация + компиляция или интерпретирование - риторический вопрос, конечно первое....

DooMer 07.12.2010 18:27

Цитата:

Сообщение от monolithed (Сообщение 82715)
Есть масса проектов доказывающих обратное. O3D, WebGLU, GLGE, C3DL, Copperlicht, SpiderGL и SceneJS...

Ну OpenGL и канвас не считаю что можно сравнивать, у канваса производительность нетерпит никакой критики. Видел пару роликов РПГ игр на канвасе - тормоза нереальные.

З.Ы. Оффтопим не по-детски

monolithed 12.12.2010 08:24

Цитата:

Сообщение от x-yuri
ну прям таки, java такая java, и никуда ее не приткнешь...

Apache и Google тоже не теперь не видит будущего в развитии Java, а без их поддержки все прощай Java....
Собственно, что и требовалось доказать. Интересно куда теперь метнется их многомиллионное комьюнити?

"Дайте нам хоть одну причину для того, чтобы остаться, кроме "пожалуйста" со стороны Oracle, - пишет в Twitter президент ASF Джим Джагельски. - Java Community Process уже мертв, он похож на зомби, гуляющего по улицам Java".
http://www.cybersecurity.ru/development/110390.html

x-yuri 12.12.2010 10:23

хорошо, пусть мертв, мне все равно

DooMer 13.12.2010 10:56

А в телефонах, стиральных машинах, авто и тд тоже уберут яву ? унриал

monolithed 13.12.2010 11:28

Цитата:

Сообщение от DooMer
А в телефонах, стиральных машинах, авто и тд тоже уберут яву ? унриал

Думаю что все к этому идет, в продукции Apple уже во всю используется ее замена на языках C/С++, Objective-C, JavaScript, для Android можно писать приложения используя Android NDK (Native Development Kit) на C/С++ (не за горами и тут компилятор JavaScript), так что наверное и тут Java тоже скоро спишут с производства.

x-yuri 13.12.2010 21:16

меня как-то больше такие заявления интересуют:
Цитата:

Сообщение от fixxxer
Спринг крутой

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

А когда умрет java... ты сам сказал, что это решают всем известные корпорации:
Цитата:

Сообщение от monolithed
исключительно обзор со стороны разработчика, т.к. в плане менеджмента тут пока все решают другие всем известные корпорации.


x-yuri 13.12.2010 21:30

к тому же, ты говоришь, что Apple отказался от java. А каков процент пользователей Mac OS? Вон, B~Vladi говорит, что Mac - унылое говнище. И кому после этого верить? :)

p.s. ты смотришь со стороны разработчика, а пытаешься делать выводы со стороны менеджмента ;)

monolithed 14.12.2010 10:30

Цитата:

Сообщение от x-yuri
p.s. ты смотришь со стороны разработчика, а пытаешься делать выводы со стороны менеджмента

Каждому разработчику (порой не только для собственных проектов) иногда приходится думать о выборе платформы, дальнейшем сопровождении кода, ведение аналитики и пр. документации по проекту.

Цитата:

Сообщение от x-yuri
ну не понимаю я, зачем мне знать, что java скоро умрет. Лучше бы рассказал, что в ней хорошего есть - от этого хоть польза какая-то будет

Польза в том что Java представляет много инструментов для разработки, а также поддерживаться большим комьнити.
Однако Java избыточна настолько, что чуть ли не для каждого перевода стоки есть собственный интерфейс, а чтобы разобраться где ошибка в коде может уйти целый день, потому как код ошибки представляет собой строку в несколько страниц из-за геперхитрого объектного наследования))

Цитата:

Сообщение от x-yuri
А когда умрет java... ты сам сказал, что это решают всем известные корпорации:

Извиняюсь за недопонимание, но я имел ввиду, что есть корпорации, которые могут сказать:
"да будет новый язык Go,
да будет восторг от его использования в каждом доме,
да будет горе тем кто останется приверженцем унылого Java"

Но эти корпорации не заменят любовь к тому или иному языку.

Цитата:

Сообщение от x-yuri
к тому же, ты говоришь, что Apple отказался от java. А каков процент пользователей Mac OS? Вон, B~Vladi говорит, что Mac - унылое говнище. И кому после этого верить?

Доля Apple растет с каждым днем, особенно это чувствуется на рынке iPhone, iPad. Хотя продукция Apple, не для простых обывателей, но спрос на нее есть и будет всегда, особенно заграницей. Насколько мне известно то доля продукции Apple, в т.ч. Mac в США больше чем других производителей.
А со своей стороны я уже давно не делаю продукты ориентированные на СНГ.

Плюс в том, что Java отказались поддержать Apple, Apache, Google в том, что теперь по сути для разработки приложений остались более совершенные языки С++/C#, Python, а для портативных устройств С++ или Objective-C/JSCocoa.

Вообще, предлагаю свернуть этот разговор, дабы не превратить холивар.

aspire5738 14.12.2010 12:08

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

x-yuri 23.12.2010 03:06

если кто не в курсе, ограничение на длину сообщения - 10000 символов :)

я тут немного поинтересовался вопросом...

Цитата:

Сообщение от monolithed
Вообще, предлагаю свернуть этот разговор, дабы не превратить холивар.

почему? Тут нету фанатов java. И нету людей, которые будут защищать свою позицию во что бы то ни стало. Или я не прав?

так вот, мы обсуждаем, что java скоро умрет. Какие аргументы? (получилось много букв )

1) Apple отказались поддерживать java

сначала отказались, а потом опять согласились (C Java в Mac OS X не все так печально, Oracle and Apple Announce OpenJDK Project for Mac OS X, Oracle and Apple Announce OpenJDK Project for OSX)

Цитата:

Джобс отказывается от Java, которую они сами пилят. будут Apple по примеру Win пользоваться трудами Oracle.
Apple прекращает поддержку Java на Mac

Цитата:

The exact reasons behind this deprecation aren't known; it may be that Apple aren't willing to license Java from its new owners, or it may be a result of the continued eviction of non-Apple software from the core platform.
Apple Deprecates Java

Цитата:

По мнению Гослинга, есть несколько причин, по которым Apple отказывается от Java. Во-первых, это их «фундаментальная тенденция к тотальному контролю» (Apple's fundamental control-freak tendency), из-за которой они со временем уделяли всё меньше внимания Java.
Джеймс Гослинг: почему Applе отказывается от JVM

2) Google отказался поддерживать java

Начнем с того, что Oracle подала иск на Google
Oracle sues Google over use of Java in Android
Oracle sues Google over Android and Java

Цитата:

С Sun было проще (Google они, например, не трогали), а Oracle очень хочет денег отовсюду.
Apple прекращает поддержку Java на Mac

Цитата:

Обычная война за сферы влияния при помощи патентов. Никакой потери или наоборот отвоёвывания Java тут нет. Dalvik не является JVM, более того он не умеет исполнять .class файлы. Однако платформа Android является сильным конкурентом J2ME, способным его просто убить. И вот, вместо того, чтобы как-то оживить J2ME, этот страшный обрубок нормальной Java-ы, Oracle решила задушить конкурента нетехническими методами.
Понеслось... Ларри таки возбудился

Цитата:

Google subsequently released the Android Native Development Kit, which allows developers to build Android components with C and C++. It is not intended to replace the Java development model, though, which remains the strongly preferred means of Android development.
Oracle sues Google over use of Java in Android

Цитата:

J2ME как-раз закрытая платформа, благодаря которой Sun (а сейчас Oracle) стригли и стригут кучи бабла - только Android кашу портит. Согласно JSPA, все, кто участвовал в разработке открытой спецификации (а на JVM J2SE была открытая спецификация), должны получать доступ к TCK. Sun открыто нарушила это соглашение
Apache вышел из состава исполнительного комитета JCP

3) Apache отказались поддерживать java

Цитата:

Я лично на стороне Apache: они участвовали в разработке JSR, и согласно договоренностям, должны иметь все права на получение TCK. Это не было проблемой с остальными спецификациями т.к. Sun выдавала их без вопросов, но в случае JDK, Sun применило Field of Use, что значит, что новая VM будет закрытой и не может выйти под лицензией Apache. ... Позиция Apache проста: если Oracle делает это с JSR на Java, то может сделать и для любой другой спецификации. Т.е. все добровольно работают над спецификацией, но Oracle решает, дадут ли они TCK всем остальным просто-так или придумают Field of Use. А т.к. Ларри - чувак очень заточенный на профиты, то случится это скорее рано, чем поздно.
Apache вышел из состава исполнительного комитета JCP

Цитата:

По поводу выхода из JCP - смысл там сидеть Apache, если Oracle в любой момент может закрыть любую технологию, которая будет сулить большими прибылями?
Ситуация выглядит примерно так: сидишь ты, рисуешь танк для себя и своих коллег. Рисуешь потому как обещано: танки можно будет делать всем. Танк выходит клевый и главный рисовальщик говорит: а т.к. юридически я главный в нашей фирме, то я решаю, можно ли вам делать танки. Вот вам, тов. Апачи, танк делать нельзя. Мотоциклы и мотороллеры можете, а танк мы вам не разрешаем. Или если разрешим, то делать вы их будете только для нас и при этом забесплатно (по закрытой лицензии).
Ну вот примерно так.
Apache вышел из состава исполнительного комитета JCP



The ASF Resigns From the JCP Executive Committee

Цитата:

Apache non-profit организация и их основной целью является написание открытых продуктов, за что им хорошо платят такой крупняк, как IBM, Oracle (до того, как они повернули свой курс на 180 градусов после покупки Sun). IBM и компании это нужно, чтобы не платить деньги Sun за лицензирование собственных JVM.
Apache вышел из состава исполнительного комитета JCP

4) плохая производительность

сколько существует java, столько говорят о ее плохой производительности. Ты говоришь "гиперплохая производительность"? В моем понимании, гиперплохая - это когда плохая производительность перевешивает все достоинства... ну не дожила бы java до наших дней с такими раскладами.

В существование объективных benchmark'ов по теме я сомневаюсь. Хотя я вообще в benchmark'и не верю, за исключением случаев, когда по всем тестам у одного из языков имеется значительное преимущество. Но можешь попробовать...

По поводу сравнения реальных приложений... еще раз, если существуют хорошие приложения на java, значит не все так однозначно. А такие существуют. Например, PhpStorm. Среди аналогов не отличается плохой производительностью. Да и вообще хорошая IDE, продуманная...

Цитата:

Мифы - устойчивая штука. Java давно не медленная.
Вот памяти да, ей нужно больше чем используется приложением, иначе сборщик мусора будет часто запускаться
и - качество огромного количества на Java кода оставляет желать лучшего, вот реальные программы нередко какие-то сонные, а то и тормознутые.
Сравнивая производительность языка.

5) слишком сложная

высокий порог вхождения ни о чем не говорит. Надо хотя бы несколько лет непрерывной практики, чтобы делать выводы

(продолжение следует)

x-yuri 23.12.2010 03:10

к разговору, что java никому не нужен... откуда у apache платиновые спонсоры взялись, которые платят $100k в год? Microsoft спонсирует разработку Apache HTTP Server'а?
Thanks
Sponsorship

---

про последние события в java-мире в целом

Цитата:

Пару лет назад я бы точно сказал, что у Java будущее есть. Последние события заставили появиться тень сомнения. То, что Oracle собирается делать платную VM, явный раскол JCP и т.п. Как-то мне это не нравится. Вряд ли уж в ближайшие несколько лет язык загубят совсем - сама Oracle в него миллиарды вложила - но популярность он может сильно потерять.
Мужики! Смена деятельности?!

---

давай посмотрим на популярность java
TIOBE Programming Community Index for December 2010

---

в целом, что можно сказать... действия Google, Apache, Apple никак не связаны с "java с точки зрения программиста". Google java нужна для Android. Apache интересует открытая java. Что интересует Джобса - это только он знает. И да, там сейчас имеют место быть некоторые терки, но что будет дальше пока не ясно. Ты же не хочешь сказать, что Oracle собирается загубить java? Зачем? я думаю, что java просто станет более платной и более закрытой

---

Кроме того, не надо забывать, что основное применение java - enterprise-сектор, с которым ни я, ни ты не сталкиваемся

Joel on Software - Пять миров

Цитата:

Почти никогда во всей литературе, посвящённой программированию и разработке программного обеспечения, не упоминается нечто важное, из-за чего мы иногда недопонимаем друг друга..

Вы - разработчик программного обеспечения. Я тоже. Но у нас могут быть совсем неодинаковые цели и требования. На самом деле, существует несколько различных миров разработки ПО, и к разным мирам применимы разные правила.

Допустим, Вы читаете книжку по UML моделированию, а в ней нигде не говорится о её бессмысленности для программирования драйверов. Или же Вы читаете статью, утверждающую, что "20МБ среда [требующаяся для .NET] - это НЕ проблема", а она не содержит очевидного: если Вы пытаетесь написать код для пейджера с 32КБ ROM, то это ещё та проблема!

Я считаю, что в программировании есть пять миров, иногда пересекающихся друг с другом, а в основном нет. Это:

1. Ширпотреб
2. Внутреннее ПО
3. Встроенное ПО
4. Игры
5. Одноразовое ПО

При чтении одной из последних книг по Экстремальному программированию, одной из замечательных книг Стива МакКонннелла, сайта "Джоэль о софте" или журнала "Разработка программного обеспечения Вы видите много утверждений, как же разрабатывать ПО, однако вряд ли Вы когда-либо замечали малейшее упоминание, о каком же всё-таки типе разработки они ведут речь, что довольно-таки плохо, ведь иногда в разных мирах необходимо разрабатывать по-разному.

...

Важно знать, что когда бы Вы ни читали книгу о методологии программирования, написанную гуру/консультантом по разработке ПО, работающим на полную ставку, можете быть спокойны, что он говорит о разработке внутреннего, корпоративного ПО. Не ширпотребного, не встроенного и, конечно же, не игр. Почему? Потому что именно корпорации нанимают этих гуру. Они им платят. (Поверьте мне, id software никогда и ни за что не собирается нанимать Эда Йордона, чтобы тот размышлял о структурном анализе.)

На прошлой неделе Кент Бэк заявил, что системы отслеживания ошибок не нужны при экстремальном программировании, потому что комбинация парного программирования (с постоянной проверкой кода) и разработка, основанная на тестах (гарантирующая 100% покрытия кода автоматическими тестами) означает, что у Вас вряд ли когда-либо будут ошибки. Это показалось мне неправильным. Я заглянул в нашу собственную базу хранения ошибок, чтобы проверить, каких типов ошибок в ней особенно много.

Имеющий глаза да увидит – я обнаружил, что очень мало тамошних ошибок могли бы быть обнаружены парным программированием или тестами. Многие наши "ошибки" на языке экстремального программирования называются историями – по существу, это лишь запросы о возможных улучшениях. Мы используем систему отслеживания ошибок для запоминания, выставления приоритетов и управления всеми маленькими улучшениями и большими возможностями, которые мы хотели бы реализовать.

Много других ошибок были обнаружены только лишь после длительного использования на месте. Проблема с польской клавиатурой. Нет способа, которым парное программирование поможет найти такие вот ошибки. Ещё есть логические ошибки использования различных возможностей, которые никогда с нами не случались. Чем больше и сложнее программа, тем больше взаимодействий между возможностями, о которых Вы и не догадываетесь. Определённая последовательность символов ({${?, если хотите знать) вводит в замешательство лексер. Некоторые ftp-сервера сообщают об ошибке при попытке удаления несуществующего файла (наш на такое не жалуется, поэтому такого никогда с нами не случалось).

Я внимательно изучил каждую ошибку. Из 106 ошибок, которые мы исправили в первом пакете обновления для CityDesk, ровно 5 могли бы быть предотвращены с помощью парного программирования или разработки на основе тестов. У нас на самом деле было больше ошибок, о которых мы уже знали, но не считали их важными (только если нас не поправят наши покупатели!), чем ошибок, которые могли бы быть выловлены методами ХР.

Но Кен прав, только вот для других типов разработки. Для большинства корпоративных приложений ни одна из рассмотренных выше не считалась бы ошибкой. Программа вылетает от неверного ввода? Запустите ещё раз, и на этот раз следите за своими {${?! И мы используем только лишь один FTP-сервер и никто во всей компании не использует Польские Windows.

Большей частью разработка ПО одинакова вне зависимости от проекта, но не вся. Когда Вам говорят о методологии, подумайте о том, как она согласуется с делаемой именно Вами работой. Подумайте, откуда говорящий. Стив МакКоннелл, Стив Магуайр и я все из одной песочницы: мира ширпотребных электронных таблиц, написанных в Редмонде, штат Вашингтон. И у таких у нас высокая планка на лёгкость в использовании и низкая для ошибок. Большинство других гуру методологии зарабатывают свой кусок хлеба, консультируя внутренние корпоративные разработки, поэтому о них они и говорят. В любом случае, мы должны уметь учиться друг у друга.

x-yuri 23.12.2010 03:13

и еще немного про яблочную компанию...

Цитата:

Apple идет к тому, чтобы полностью закрыть свою платформу. Софт будет ставиться только через AppStore, 30% с этого Apple будет иметь. Приложения будут предварительно одобряться, и только потом попадать в AppStore. И все это будет стоить денег. Сейчас так с iPhone и iPad, а планируется еще и с OSX сделать
Apple прекращает поддержку Java на Mac

Цитата:

Джобс по ходу не понимает, что если слишком закрутить гайки - с Apple просто уйдут. Я подумывал перейти на Mac, но теперь - без вариантов. Особенно после инициативы об установке всего софта только через AppStore, разумеется, платно. Интересно, это просто желание срубить побольше денег, или что-то еще?
Apple прекращает поддержку Java на Mac

Цитата:

Сообщение от Joel
-- Почему Apple и Sun не могут продавать компьютеры

Да, это немного глупо: конечно Apple и Sun могут продавать компьютеры, но не на двух наиболее прибыльных рынках, а именно на рынках корпоративных и домашних пользователей. Aplle до сих пор где-то там внизу, с очень маленьким процентом рынка (Пожалуйста, поймите, что я говорю о больших числах, и следовательно, когда я говорю «никто», я на самом деле имею в виду «меньше чем 10 000 000 людей» и так далее и так далее).

Почему? Потому что на компьютерах Apple и Sun не работают программы для Windows, или, если работают, то в режиме дорогой и не безупречной эмуляции. Помните, что люди покупают компьютеры для программ на которых они работают, а для Windows настолько больше программного обеспечения, чем для Mac, что очень трудно быть пользователем Mac. Вот почему Windows API такой ценный актив Microsoft.

(Я знаю, знаю, на этом месте 2,3% мира – пользователи Macintosh – разогревают свои почтовые программы, чтобы послать мне уничтожающее письмо о том, как они любят свои Mac’и. Еще раз: я говорю о больших цифрах и обобщаю, так что не тратьте свое время. Я знаю, как Вы любите свои Mac’и. Я знаю, что там есть все, что Вам нужно. Я люблю Вас, но Вы всего лишь 2,3% мира, и статья не про Вас).

Как Microsoft проиграла битву за API


Часовой пояс GMT +3, время: 06:35.