Еще в сентябре прошлого года, начиная изучение Java я наткнулся на подкаст Голодного
«The Art Of Programming». В одном из них он прославлял мануалы? расположенные на оффсайте Sun. Достаточно долгое время проведя со словарем и IDE, я добился некоторого результата.
Недавно пришла мысль, что люди, не сильно владеющие английским языком не могут использовать этот ресурс, каким бы хорошим он ни был.
Ниже последует перевод первой
статьи (она небольшая), а к хабралюдям есть вопрос: как вы оцениваете качество/целесообразность подобного перевода?
P.S. Публикую в блоге JAVA, потому что никак не получается опубликовать в «Стартап Программист»
P.P.S. За дельный совет в переводе спасибо miravingin
О Java-технологии
Понятие Java-технологии в равной степени применимо как к языку программирования, так и к платформе.
Java, как язык программирования
Язык программирования Java является высокоуровневым языком, который можно охарактеризовать любым из этих слов:
- Объектно-ориентированый
- Простой
- Распространенный
- Многопоточный
- Высокопроизводительный
- Платформо-независимый
- Переносимый
- Защищенный
Каждый эпитет подробно объяснен
здесь. Подробнее мы рассмотрим позже.
В языке программирования Java исходные коды, изначально, хранятся в виде простого текста в файлах с расширением .java. Эти исходники компилируются в файлы с расширением .class, код которых отнюдь не является нативным
1 для процессора вашего компьютера. Вместо этого файлы содержат
байткод — машинный язык виртуальной Java-машины (JVM). Далее ваше приложение запускается на вашем компьюетере, работая при этом в виртуальной машине.
Как выглядит программный процесс разработки:
Так как виртуальная Java-машина доступна на различных операционных системах, одинаковые файлы .class способны работать под Microsoft Windows, под the Solaris
TM Operating System (Solaris OS), под Linux, или под Mac OS. Некоторые Java-машины (например
Java HotSpot virtual machine) выполняют дополнительные действия, чтобы увеличить быстродействие приложения. Пример таких действий: нахождение и исправление не очень удачных участков кода и рекомпиляция (в нативный код) часто повторяющихся участков кода.
С помощью JVM одинаковые приложения функционируют на разных платформах:
Java-платформа
Под платформой мы обычно понимаем аппартаное или програмное окружение, в котором работает программа. Мы уже упомянули некоторые наиболее популярные платформы, такие как Microsoft Windows, Solaris OS, Linux и Mac OS. Большинство платформ могут быть охарактеризованы, как комбинация операционной системы и базисного оборудования, однако Java-платформа — исключительно програмная платформа работающая поверх других.
Java-платформа состоит из двух основных частей:
- The Java Virtual Machine (JVM) — Виртуальная Java-машина
- The Java Application Programming Interface (API) — Интерфейс Прикладной Программы (интерфейс, посредством которого приложение получает доступ к операционной системе и другим сервисам).
Вы уже имеете понятие, что из себя представляет
JVM: это основа Java-платформы и она переносима на разнообразные аппаратные платформы.
В свою очередь
API — собрание готовых програмных компонент, обеспечивающих различые полезные возможности. Компоненты группируются в библиотеки подобных классов и интерфейсов. Эти библиотеки называются
packages (пакеты). В следующей статье,
«Что может Java-технология?», будут освещены некоторые возможности, обеспечивающиеся API.
API и JVM изолируют программу от используемого оборудования:
Как платформо-независимая технология, Java платформа может работать немного медленнее машинного кода, однако достижения в разработке компилятора и технологий виртуальной машины позволяют достичь производительности близкой к показателям машинного кода при этом не влияя на мобильность разрабатываемого приложения.
To be continued...
комментарии (49)
ссылка по теме: khpi-iip.mipk.kharkiv.edu/library/j2ee/tutoral/index.html
За ссылку спасибо, немного неожиданно, но приятно, что не нашел ее раньше. Иначе английский не подтянул бы так)
Был бы оче-н-ь-ь-ь!!! признателен за ссылочку, хотя и за эту огромное спасибо:)
По-моему переводы такие базовых статей — бесполезное занятие. Для вашего английского и понимания языка программирования будет куда полезней почитать в оригинале что-нибудь более серьезное, например, Effective Java. И я не советовал бы вам обращать внимание на людей, которым не хватало вашего перевода для того, чтобы начать изучать java, они слишком ленивы даже для того, чтобы пару минут погуглить. Если хотите быть программистом, а не техническим переводчиком, не тратьте время, читайте книжки и пробуйте писать код. Если вам не хватает литературы, задавайте вопросы — вам помогут. Удачи!
Надо помогать учить английский, а не маны переводить. Потому что кроме официальных манов есть ещё пачка неофициальных, есть документация на каждый продукт, есть форумы, есть списки рассылок, и т.п. — их тоже придётся переводить, правда?
Спасибо вам!
Ваш перевод вполне себе может пригодиться очень многим.
Боюсь, что если бы не было переводов вообще ни по чему, то и людей было бы много меньше на хабре.
однако, не вижу в них необходимости. есть куча книг по джаве, в том числе от Sun, в том числе на русском.
в принципе, те, кто работают в отрасли разработки ПО, знают английский, поэтому и книги читают в оригинале (их не портят переводом, да и, что уж греха таить, переводят далеко не всё..), а уж маны с офсайта читать они точно умеют.
за статью спасибо)
У винды системник под монитором)
не будем русских манов — больше стимула учить английский
А дальше уже офф мануал. не иначе.
Если вам делать больше нечего, может быть вы лучше напишите мне медиасервер? возьму в долю в своем проекте.
Пишите в личку, как раз нужен толковый явапрограмер.
А вообще Java Tutorials написаны очень простым языком и культивировать лень в начинающих явистах лучше не стоит — исключительные знания английского для прочтения этих манов не требуются.
Для начинающих? Если так, то начинать лучше с прочтения книжки Thinking In Java Кента Бека.
Для профессионалов? Профессионалы знают английский на нужном уровне. Хотя я, хоть и не считаю себя новичком, не достаточно бегло читаю на английском языке. Поэтому часто мне жаль тратить времени на чтение документации без серьёзной необходимости, так как за чтение не платят. (Например, без крайней необходимости я бы не стал изучать документацию по виртуальной машине, не смотря на то, что мне это интересно. ) Если бы было больше документации на русском, я бы сэкономил себе кучу времени.
Имхо, ближе к смыслу было бы перевести это:
«As a platform-independent environment, the Java platform can be a bit slower than native code. However, advances in compiler and virtual machine technologies are bringing performance close to that of native code without threatening portability.»
не так:
«Так как Java — платформо-независимая технология, она работает гораздо медленнее нативного кода, однако использование этой технологии позволяет не думать о мобильности разрабатываемого приложения.»
а, например, так:
«Как платформо-независимая технология, Java платформа может работать немного медленнее машинного кода, однако достижения в разработке компилятора и технологий виртуальной машины позволяют достичь производительности близкой к таковым показателям машинного кода при этом не влияя на мобильность разрабатываемого приложения.»
Главная ошибка — перевод фразы «can be a bit slower» как «работает гораздо медленнее». Точнее будет «может работать немного медленнее»… чувствуете разницу? Прочитав «гораздо медленнее» я подумал, что работает в разы медленнее, а на самом деле оказалось, что практически также как нативный код.
Перевод статей дело хорошее, главное смысл не искажать))
Надеюсь, я могу использовать это исправление?