Содержание

Как начать программировать на Java. Курс «Программирование на Java»

JDK

Чтобы начать программировать на Java, требуется установить JDK (java development kit — набор разработки для Java). Его скачивают с сайта компании Oracle. Например, JDK восьмой версии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

JDK включает JRE и пакет разработчика, в который входит компилятор с языка Java, документация и др.

JRE (java runtime enviroment) – виртуальная машина для выполнения приложений, скомпилированных в соответствующий объектный код. Также включает библиотеки, но не компилятор и другие инструменты разработчика. Скачать JRE можно с сайта java.com. Грубо говоря, JRE – урезанная версия JDK. Поэтому разработчику, а не пользователю java-программ, этот пакет не нужен.

После распаковки пакета JDK в его подкаталоге bin вы найдете файл javac, запускающий компилятор, и файл java, запускающий виртуальную машину. Куда вы положите каталог с JDK, по большому счету не важно. Однако если это сделано не в предусмотренный для программ каталог (в случае Linux скорее всего это так), ОС не будет знать, что в ней появились новые программы. Тогда вам надо будет каждый раз указывать полный путь до компилятора и виртуальной машины.

Чтобы этого не делать, в Linux можно дописать путь в системную переменную $PATH. Сделать это можно несколькими способами. Например так, как описано ниже.

Допустим, мы распаковали JDK в каталог /usr/local/, и папка носит имя jdk1.8.0_191. В ней находится каталог bin с исполняемыми программами. Таким образом получаем путь /usr/local/jdk1.8.0_191/bin/. Открываем скрытый в домашнем каталоге файл .bashrc и дописываем туда:

PATH=/usr/local/jdk1.8.0_191/bin:$PATH
export PATH

Здесь переменной PATH присваивается содержимое системной переменой $PATH и добавляется еще один наш каталог, точнее приписывается впереди. После этого выполняется экспорт. Теперь надо перезапустить «Терминал», чтобы файл .bashrc выполнился.

Можно ничего не качать и не менять $PATH, а установить из репозитория дистрибутива пакетным менеджером. Однако подобным образом обычно ставят не JDK от Oracle, а openJDK – полностью свободный аналог JDK. Установка в Ubuntu может выглядеть так:

sudo apt install openjdk-8-jdk

В любом случае Bash должен видеть как java, так и javac. Чтобы убедиться, наберите java и два раза нажмите Tab. В списке должны быть оба. Если в систему были установлены разные JDK, то узнать какой используется можно с помощью команды which:

Зачем нужна виртуальная машина Java

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

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

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

Таким образом, javac’ом мы компилируем до байт-кода. А java интерпретирует байт-код на машинный язык.

Первая программа

Чтобы проверить работоспособность установленного ПО, напишем программу HelloWorld на языке Java. Файлам с исходниками принято давать расширение .java. Программу можно набрать в любом текстовом редакторе. Например, в nano, vim, atom или geany.

Примечание. Если вы хотите освоить работу в Vim, наберите в терминале vimtutor. Откроется небольшой курс, обучающий работе в редакторе.

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Привет World!");
    }
}

Далее передаем этот файл javac’у. Он нам выдает файл HelloWorld.class, содержащий байт-код. Его мы передаем виртуальной машине java, не указывая расширение:

IntelliJ IDEA

Существует множество специализированных сред для разработки на Java. Они удобны для работы надо проектами, однако для обучения – не лучший выбор, так как создают структуру каталогов проекта, вспомогательные файлы, требуют настройки, включает множество дополнительных инструментов. Таким образом вы начинаете не столько с изучения языка, сколько с адаптации к среде программирования, зачастую не понимая смысла того, что делаете.

Плюсом здесь является то, что среда заставляет писать и форматировать код правильно, в ней есть автодополнение и подсказки.

Наиболее популярной IDE для Java является IntelliJ IDEA от компании JetBrains. Существует две версии – бесплатная Community и платная Ultimate (30 дней триальный период). В случае Linux в документации рекомендуют распаковывать скаченный архив в каталог /opt/. После этого из подкаталога bin запускают скрипт idea.sh, который запускает мастер установки.

В одном из окон мастера будет предложено выбрать SDK (в данном случае JDK). Следует указать каталог, куда вы распаковывали пакет JDK. IDEA будет использовать компилятор и другое отсюда.

Когда вы напишите первую программу, надо будет сконфигурировать запуск, указав главный класс, содержащий функцию main(), или нажимать Ctrl + Shift + F10.

younglinux.info

Что нужно чтобы начать программировать на Java.

Если Вы решили стать успешным Java developer-ом и начать программировать на самом популярном языке программирования (на момент написания статьи), то Вы обратились по адресу.

Для того чтобы начать программировать на Джава нам нужно выполнить несколько простых шагов. Само приготовление займет не более 10 мин. в зависимости от скорости вашего Интернета.

Для начала нужно зайти на сайт oracl-а и скачать jdk. Не нужно пугаться названия неизвестных аббревиатур)). Java Development Kit (сокращенно JDK) — бесплатно распространяемый компанией Oracle Corporation (ранее Sun Microsystems) комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). Это вырезка из википедии. Пока не будем останавливаться на малополезных терминах и понятиях. Ведь наша первоочередная задача установить необходимый пакет утилит и написать свою первую программу.

Для того, чтобы скачать jdk просто вбейте в поисковую строку слово «jdk». Первая ссылка будет вести на официальный сайт Oracle, который является официальный сайтом Java. Следует упомянуть, что Java и все утилиты, которые мы будем устанавливать являются абсолютно бесплатными и лицензированными.

Смело переходим на сайт Oracle. Вот что мы видим на главной.

Выбираем пункт Download JDK.

Далее мы переходим непосредственно к выбору нужной нам версии. У кого виндовс — выбирают для виндовса, у кого линукс для линукса и т.д.

Принимаем лицензионное соглашение, выбрав пункт «Accept License Agreement» и нажимаем на ссылку напротив Вашей версии операционной системы. Загрузка должна начаться автоматически.

Далее нужно установить jdk на ваш компьютер. Установка стандартная и ничего нового и необычного для Вас здесь не будет. Но все же я выложу пару скринов.

После того, как мы установили jdk (Java установилась вместе с ним) нужно проверить прописались ли у нас пути в системе. Для этого нужно открыть консоль и ввести команду java -version. У меня операционная систем Windows 10. Чтобы открыть консоль в моей системе я нажимаю на значке лупы как показано на скрине:

Далее я ввожу команду cmd и нажимаю клавишу Enter. У меня открылась консоль и я ввел команду java -version

Вот, что получилось:

Для тех у кого Windows 7 или ниже, командную строку запустить тоже просто. Нужно зайти в меню ПУСК, найти там раздел ВЫПОЛНИТЬ в открывшемся окне ввести все ту команду cmd и консоль должна открыться. Если Вы после введения команды java -version получили сообщение об ошибке, не спешите унывать)). Вам нужно сделать еще несколько шагов и можно радоваться. Сейчас при установке jdk путь в системе прописывается автоматически. Раньше это нужно было делать вручную.

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

Ну а для тех, кому не повезло нужно прописать путь вручную. Для этого нужно найти значек «Мой компьютер» или «Этот компьютер» в зависимости от системы нажать правою клавишей мышки и выбрать пункт СВОЙСТВА. Должно открыться вот такое меню (если у Вас Windows 10):

java-master.com

Урок J-1. Установка Java на компьютер | Java для начинающих

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

В этом уроке мы рассмотрим:

Скачиваем инсталлятор Java.

Скачать инсталляционный пакет можно на сайте компании Oracle по ссылке:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Качаем JDK последней версии (Java 7 или Java 8). Выберете в таблице (рис 1.1) вариант, подходящий для вашей операционной системы.

Рис 1.1

Дальнейшая установка будет рассмотрена на примере Windows. Если вы не знаете тип вашей  Windows (x86 или x64) откройте

Панель управления -> Система там будет указан Тип системы. Если тип вашей системы — 32 разрядная, то нужно устанавливать версию для x86, если 64 разрядная, то x64.

Внимание, перед тем как начать скачивание, нужно выбрать пункт Accept License Agreement вверху таблицы.

Если у вас компьютер Apple и на нем еще не установлена Java, то установочный пакет можно скачать отсюда:  http://support.apple.com/downloads/#java

 

Инсталлируем Java.

Для того, чтобы установить Java на компьютер,  запустите скаченный файл, после чего начнется процесс установки (рисю1.2).

Рис. 1.2

Нажмите Next.

Установка по умолчанию будет происходить в директорию C:\Program Files\Java\jdk1.x.x_xx (вместо иксов номер версии), при желании директорию можно изменить, нажав на кнопку Change (рис  1.3).

Рис 1.3.

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

По окончанию установки, программа предложит перейти к технической документации и руководствам по Java, для чего нужно будет нажать кнопку Next Steps. После этого в вашем браузере откроется страница с документацией Java http://docs.oracle.com/javase/ , которая является очень полезной для изучения.

 

Настройка переменных сред.

На следующем шаге необходимо  задать пути к выполняемым файлам, а именно задать системные переменные PATH, CLASSPATH и JAVA_HOME .

Для этого откройте Панель управления -> Система, выберете Дополнительные параметры системы. В появившемся окне нажмите кнопку Переменные среды.

В открывшемся окне в блоке Системные переменные нужно проверить существует ли переменная PATH, если переменная не существует, то ее нужно создать нажав на кнопку Создать, если переменная  PATH уже существует, то ее нужно  Изменить (рис. 1.4).

Pис. 1.4

В следующем окне для переменной PATH  нужно установить

Значение переменной — путь к каталогу, в который была установлена Java (рис. 1.5).

Рис. 1.5.

Если переменной PATH уже присвоены другие значения, то новое значение добавляется через точку с запятой «;» в самом конце строки.

Также необходимо создать переменную CLASSPATH, если она еще не создана. В качестве ее значения необходимо указать «.;» (рис. 1.6).

Рис. 1.6.

Подобным образом создается/изменяется переменная JAVA_HOME.  Значение этой переменной — путь к каталогу, в который была установлена Java (как для PAHT), но уже без поддериктории bin. Например:

Значение в PATH: C:\Program Files\Java\jdk1.7.0_25\bin

Значение в JAVA_HOME: C:\Program Files\Java\jdk1.7.0_25

После того, как были прописаны переменные, установку Java можно считать завершенной! 

Проверка установки.

Чтобы проверить, успешно ли прошла установка, откройте командную строку. Для этого в меню Windows Пуск  в строке поиска введите команду cmd и нажмите Enter. После этого откроется командное окно, в котором нужно ввести следующую команду.

java -version

После чего, если отобразится информация об установленной версии java, то установка прошла успешно.

Рис. 1.7

 

Частые проблемы:

  • «java» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Проверьте правильность пути, прописанного в PATH. Старайтесь избегать пробелов в названии папки, в которую производите установку JDK. Если вы считае, что путь прописан правильно, то следует убедиться, что в дирpектории, которая прописана в строке PATH присутствует файл javac.exe, и что установленна была именно JDK, а не JDE,

  • не является приложением win 32

Возникает в следствии установки версии Java, не соответствующей разрядности системы (например, при установке  64 разрядной версии Java в 32-разрядную операционную систему).

  • Ошибка, призывающая проверить JAVA_HOME

Проверить, что в этой переменной хранится путь к установленной JAVA (без bin)

 

Комментарии и пинги к записи запрещены.

study-java.ru

Курс Harvard CS50 — Лекция: Что именно пишут на Java

Поздравляем с прохождением восьмой недели CS50! Надеемся, вы справились с большой и интересной задачей, которую предложил студентам Дэвид Малан. Не устаем повторять, что практика очень важна, поэтому советуем решать побольше задач.

Мы тут вам постоянно рассказываем о том, что Java — очень популярный язык. Найти информацию о том, почему Java так популярна — довольно просто, в то время как показать новичку конкретные приложения, написанные на этом языке — нет. Всё, что на поверхности видит вокруг себя так называемый «рядовой пользователь» обычно написано на чём-то другом. Сайты — это HTML + CSS + JavaScript + PHP/Ruby/Python. Игры — это C++. Операционные системы, что-то «для железа» или драйверы — C, который без плюсов. У «непосвященных» это порождает волну недоверия к языку, который «почти везде, а конкретно нигде». И абсолютно несправедливо!

Enterprise: мнимая «невидимость» Java

Такая ситуация сложилась потому, что Java остается невидимой с точки зрения пользователя. Она тихо выполняет свою работу, порой весьма сложную. Если диспетчер следит за движением самолётов и системой жизнеобеспечения аэропорта на мониторе своего компьютера, скорее всего, внутреннюю работу, всё это отслеживание позиций, регулировку, отсылку предупреждений выполняет Java. Распределенные системы для покупки билетов, банковские системы, через которые проходят миллиарды, программы для электронной коммерции? Java. Приложения, управляющие работой бизнеса или людьми в компании, — то, что скрывается за аббревиатурами CRM, ERP? Эти гигантские и сложные программы тоже очень часто написаны на Java. По сути везде, где есть распределенный средний и крупный бизнес, ищи Java.

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

Большие веб-приложения «для людей»

Пользователи часто не осознают, что за симпатичным фасадом сайта, которым они пользуются, может стоять огромное приложение, требующее сотни тысяч человеко-часов на разработку и поддержку. Очень часто сложную (или «грязную») работу выполняет Java. Большие сайты практически не бывают монолитами, использующими только один язык или технологию для бек-энда (той части сайта, которая выполняется на сервере, back-end явным образом пользователю не виден). Доля Java-кода ощутима, в частности, в следующих веб-приложениях:

  • Ebay — в основе архитектуры крупнейшего интернет-аукциона лежит именно Java;
  • Amazon — еще один сайт, которому подходит определение «крупнейший». Международный интернет-магазин и одновременно площадка для других магазинов также использует возможности Java для построения архитектуры и высокого уровня масштабирования;
  • социальная сеть Linkedin, та, которая для деловых контактов, преимущественно написана на Java;
  • Корпорация Добра, то бишь, Google активно использует Java в разработке таких сервисов, как Google Plus или GTalk;
  • Twitter. История этого приложения начиналась вовсе не с Java, а с Ruby on Rails. Это такой фреймворк, который триумфально выходит на сцену, когда необходимо создать сложное веб-приложение очень быстро. Так было и с Twitter. Однако разработчики не учли лавинообразно растущую популярность этого незамысловатого сервиса, из-за которой стала проседать производительность. Пришлось переписывать важные его части на языке, который лучше масштабируется — на Java;
  • Facebook. Долгое время самая популярная социальная сеть оставалась адептом языка PHP, что большая редкость для «гигантов». Этот язык, удобный для небольших сайтов, представляет собой большую проблему, если те начинают расти. На самом деле, и сегодня Facebook до сих пор остается PHP-шной вотчиной к вящей радости почитателей этого языка. Тем не менее, если присмотреться к Facebook изнутри, там можно найти ростки Java и множества других языков. Например, сайт использует HBase (это основанная на Java база данных) в качестве платформы для мессенджера. А масштабируемым сервисом для разработки служит такая интересная штука, как Apache Thrift. Этот программный конвейер с движком генерации кода для разработки служб работает, в частности, с Java.
  • Мобильные приложения и игры

    Вот уж где Java-программисту можно разгуляться, так это в разработке под ОС Android. Более 90 процентов всего, что было создано для этой мобильной платформы, написано с помощью Java. А это огромный рынок: по данным исследования аналитического агентства IDC, по состоянию на середину 2015 года почти 83% пользователей смартфонов предпочитают Android (почти 14% досталось Apple iOS). Android-разработчик давно уже считается отдельной профессией, а сама операционная система здорово простимулировала Java. У начинающих Java-программистов появился интересный выбор: после изучения Java Core можно углубиться в Java EE (для Enterprise), а можно приложить усилия для старта в мобильной разработке, изучив Android API.
    … Кстати, немаленькая часть самой операционной системы Android тоже написана на Java.

    Большие игры: негусто, но есть

    Больших 3D-игр А-класса на Java написано совсем немного. Не потому, что возможности языка не позволяют. Определенные проблемы с геймдевом у Java есть, но их нельзя назвать нерешаемыми. Главная причина — совсем в другом: исторически сложилось так, что самые мощные игровые движки написаны для использования с C++. Тем не менее, у Java весьма стоящий предмет для гордости, и имя ему — Minecraft. Да, любимая игра тех, кто родился в 2000 годы, настоящий кладезь креатива и созидания, была написана именно на Java. А те, кто постарше, помнят MMORPG, попадавшую в Книгу рекордов Гиннеса (из-за зашкаливающего количества игроков) — RuneScape. Кстати, она вполне себе жива и по сей день.

    Приложения от разработчиков для разработчиков

    Разработчики себя не обидят, поэтому пишут приложения для собственной работы с помощью лучших инструментов;). Вот где Java-программисты разгулялись не на шутку: на этом языке написано огромное количество известных и самых лучших приложений, которые используются в процессе разработки ПО. Например, известные IDE и текстовые редакторы — Eclipse, IntelliJ IDEA, NetBeans, RubyMine, Aptana. Система отслеживания ошибок и взаимодействия с пользователями Jira, система для документирования и создания базы знаний Confluence. Также Java хорошо проявила себя в работе с Big Data: на ней написан проект Hadoop, созданный для разработки и выполнения распределенных приложений, работающих на кластерах.

    Что еще?

    Да уйма всего, на самом-то деле. Вот еще несколько примеров из разных опер:

    OpenOffice — офисный пакет, кросс-платформенный, универсальный.

    BookSmart — бесплатное приложение для создания книг и фотоальбомов.

    UltraMixer — софт для диджеев.

    MATLAB — платформа вместе с средой разработки и языком для научных вычислений. Написан на Java и C.

    ImageJ — приложение с открытым кодом для анализа и обработки изображений.

    LWJGL — под этой страшной аббревиатурой скрывается библиотека для работы с OpenGL. Она рассчитана на тех программистов, которые хотят делать игры под Java.

    Processing — подъязык программирования, основанный на Java. Позволяет легко писать мультимедийные приложения, можно подключать в качестве библиотеки Java.

    NetBeans Platform — Java-фреймворк, на котором написана масса «тяжелых» Enterprise-приложений, например, Nato MICE Console или Boeing Mass Properties Toolkit.

    javarush.ru

    Где используется Java и зачем нужна Java?

    Если вы новичок и только начинаете учить Java, вы наверняка задумывались, где именно используют Java? Вы не наблюдаете множество игр, написанных на Java, за исключением Minecraft, такие настольные утилиты, как Adobe Acrobat, Microsoft Office не написаны на Java, так же, как и ваша операционная система, будь то Linux или Windows, так где же всё-таки применяют Java? Имеет ли она какое-либо реальное применение вообще? Что ж, вы не одиноки, многие программисты, только вступившие на IT путь или уже уверенные специалисты, задаются этим вопросом. Между тем, вы можете узнать, где используется Java, просто установив Java на ваш компьютер, Oracle утверждает, что более 3 миллиардов устройств работают на Java, довольно большое число, не так ли? Большинство крупных компаний так или иначе используют Java. Многие серверные приложения, обрабатывающие десятки миллионов запросов в день, написаны на Java, высокочастотные трейдинговые приложения также написаны на Java, например трейдинговые приложения LMAX, использующие их новаторский многопоточный параллельный фреймворк Disruptor. В этой статье мы более подробно рассмотрим, в каких проектах используется Java, в каких областях она доминирует и где вообще применима в реальном мире?

    Зачем нужна Java?

    Этот универсальный язык программирования используют компании разного масштаба в своем корпоративном серверном ПО. Написанные на Java приложения можно найти везде: в «умном» чайнике, твоем Android-смартфоне, компьютере или автомобиле Tesla. И поскольку Java есть везде, найти работу, зная этот язык, довольно просто.
    Зачем нужно учить Java?
    Всё просто: Java — универсальный язык, который используют сотни тысяч компаний. Так что если вы знаете Java, довольно легко найти интересную работу. Java достаточно несложен в освоении, поэтому он подходит тем, кто впервые подошёл к изучению программирования. Этот язык работает на всех платформах, и хотя он постоянно обновляется и модернизируется, старый Java-код совместим с новым.

    Реальные Java приложения

    Существует множество областей применения Java, от сайтов электронной коммерции до Android приложений, от научных до финансовых приложений, таких как трейдинговые системы, от игр, типа Minecraft, до настольных программных средств, таких как Eclipse, Netbeans и IntelliJ, от open source фреймворков до J2ME приложений и т.д. Давайте детальнее рассмотрим каждое из них.

    Android приложения

    Если хотите увидеть, где используется Java, не нужно далеко идти. Просто возьмите свой телефон на Android, абсолютно все приложения написаны на Java, с использованием Google и Android API, которые схожи с JDK. Пару лет назад Android предоставил необходимые возможности, благодаря чему сегодня многие Java программисты – Android разработчики. Кстати, Android использует другую JVM и другой и другой способ компановки, но код всё ещё написан на Java.

    Серверные приложения в сфере финансовых услуг

    Java очень обширно применяется в финансовой сфере. Многие мировые инвестиционные банки, типа Goldman Sachs, Citigroup, Barclays, Standard Charted и другие используют Java для написания фронт-энд и бэк-энд офисных электронных систем, систем регулирования и конфирмации, проектов обработки данных и некоторых других. Преимущественно Java используется при написании серверных приложений, в большинстве своём без какого-либо пользовательского интерфейса, которые получают данные с одного сервера, обрабатывают их и отправляют дальше. Java Swing был также популярен для создания «толстоклиентных» интерфейсоф, но сейчас C# быстро захватывает рынок в этой области, а Swing уже выдыхается.

    Вэб-приложения

    Также Java широко используется в электронной коммерции и в области вэб-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Многие вэб-приложения государственных, оздоровительных, страховых, образовательных, оборонительных и некоторых других отделений написаны на Java.

    Программные средства

    Многие полезные програмные средства и средства разработки написаны и разработаны на Java, например Eclipse, IntelliJ Idea и Netbeans IDE. Мне кажется это, к тому же, наиболее используемые приложения, написанные на Java. Было время, когда Swing был очень популярен при создании «толстых клиентов», преимущественно в финансовой сфере. Сегодня Java FX набирает всё большую популярность, но это всё ещё не замена Swing, к тому же C# практически полностью вытеснил Swing из финансовой области.

    Трейдинговые приложения

    Сторонние трейдинговые приложения, которые также часть большой индустрии финансовых услуг, тоже используют Java. Популярные приложения, типа Murex, которые используются во многих банках, написаны на Java.

    J2ME приложения

    Несмотря на то, что появление iOS и Android практически уничтожило J2ME рынок, в мире ещё огромное количество дешёвых телефонов от Nokia и Samsung, использующих J2ME. Было время, когда практически все игры и приложения, доступные на Android, были написаны с использованием MIDP и CLDC, которые являются частью платформы J2ME. J2ME всё ещё популярен в таких средствах, как Blu-ray, карточки и телевизионные приставки. Одна из причин такой популярности WhatsApp – он также доступен на J2ME.

    Встраиваемые системы

    Обширна Java и в области встраиваемых систем. Можно увидеть на что способна платформа, вам нужно всего 130 KB для использования Java (на смарт-картах и сенсорах). Изначально Java разрабатывалась для встраиваемых систем. В действительности эта область была частью начальной кампании Java «пиши один раз, запускай где-угодно» и похоже, что она приносит свои плоды.

    Большие данные

    Hadoop и другие технологии обработки больших данных так или иначе используют Java, например Hbase и Accumulo от Apache, или ElasticSearch. Хоть Java и не доминирует в этой области, поскольку существуют такие технологии, как MongoDB, которые написаны на С++. У Java есть потенциал получить большую долю этой растущей области, если Hadoop или ElasticSearch расширятся.

    Высокочастотные трейдинговые пространства

    Java улучшила свои эксплуатационные показатели и с современными JIT-ами она способна предоставить производительность на уровне С++. По этой причине Java популярна и при написании высокопроизводительных систем, потому что хоть производительность проигрывает в сравнении с родным языком, но вы можете пожертвовать безопасностью, мобильностью и надёжностью ради большей скорости и требуется всего один неопытный С++ программист, чтобы сделать приложение медленным и ненадёжным.

    Научные приложения

    В наши дни часто Java – выбор по-умолчанию для научных приложений, включая обработку естественного языка. Основная причина в том, что Java более безопасна, мобильна и надёжна и имеет лучшие инструменты параллелизации, чем С++ и другие языки. В девяностые Java была достаточно популярна в интернете, благодаря апплетам, но спустя годы, апплеты утратили свою популярность, преимущественно из-за различных проблем безопасности. В наши дни настольная Java и апплеты практически мертвы. Java по-умолчанию любимец в индустрии программного обеспечения, и широко используется в финансовой сфере, инвестиционных банках и в области электронной коммерции. Каждый, изучающий Java, имеет яркое будущее. Java 8 только укрепила веру в то, что Java продолжит доминировать в области разработки ещё долгие годы. В комментариях к статье поставили под вопрос реальное применение Java, из-за обилия финансовых примеров в самой статье и задались вопросом, есть ли у Java будущее в настольной разработке, и не лучше ли учить C#? Вот некоторые контраргументы: There is no point for a Java developer to learn C# as they are similar language but just for different technical stack, instead you should learn Python, Ruby or Perl. Scripting language are very good for small tasks. Нет никакого смысла для Java разработчика учить C#, поскольку это похожие языки, но для разных областей. Вместо этого лучше учить Python, Ruby или Perl. Скриптовые языки хороши для небольших заданий. Java is actually used EVERYWHERE, it’s in your phone, it’s in your cable’s settop box, it’s in your credit card, it’s on the server which you are currently connected to, it’s on the browser you are currently using it. Java is the most ubiquitous language ever created. Java фактически используется повсюду, она в вашем телефоне, в вашей телеприставке, в вашей кредитке, на сервере, к которому вы сейчас подключены, в браузере, который вы сейчас используете. Java — наиболее вездесущий язык, который когда-либо создавали. Также в коментариях даются ссылки на пару статей, а именно: Второе пришествие Java и Работодатели хотят знаний Java как ничто другое. Если изъявят желания, то можно перевести и их. P.S.: прошу оценить перевод, сделать замечания, указать на ошибки, потому что появилось желание переводить и хочется, чтобы всё было на подобающем уровне. Перевод и доработка статьи Where is Java used in Real World?

    javarush.ru

    Java навсегда! 12 причин длительного доминирования Java / Habr

    Легко забыть значимость технологии, как только она пронесется кометой через коллективное сознание и погаснет огненной смертью за горизонтом. К примеру, Cobol — когда-то этот язык был культовым для целой эпохи, а сейчас его можно сравнить разве что с протухшей рыбой. В наши дни любой хипстер-программист вам отчеканит, что Cobol – это полный отстой, старый и бесполезный язык. Java может стать следующей жертвой «актуальных» суждений.

    Пик продаж книг по Java – далеко в прошлом. Матерые Java-утилиты уже не достаточно сексуальны для обложек журналов. Java уже 19 лет, а прогрессивные разработчики увлечены такими моднейшими и актуальнейшими технологиями как Node.js, Objective-C, Dart, Go и т.д., удивляясь: «Java? Этот артефакт эпохи Web 1.0 еще жив?»

    Беглый поиск на Dice.com показывает, что работы на Java — навалом. Если для iOS около — 2500 предложений, для Java — более 17000. Конечно, нельзя всецело полагаться на эти цифры. Но тот факт, что на Dice.com рынок работы на Java потенциально в семь раз больше, чем для моднейшей iOS, говорит о том, «старина Java» чувствует себя довольно таки неплохо.

    Может быть, это потому, что Java предлагает бизнес-план более привлекательный, чем отдать 30 процентов доходов Apple и скрестить пальцы в надежде, что ваше приложение попадет в список Top-25. В большинстве случаев, Java решает задачи, более полезные, чем помочь злым птицам отомстить не менее злым свиньям. Java является основой ряда платформ, предназначенных для разработки программного обеспечения и обеспечивающих эффективную работу на системах с разной чип-архитектурой. Java помогает решать задачи разработчикам серверных, клиентских и встраиваемых систем.

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

    Не называйте это возвращением; Java никуда не уходила, она тут и повсеместно доминирует.

    Причина № 1: Непотопляемость в мире политики (зачастую грязной)

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

    Первым большим врагом Java была Microsoft. Эта компания увидела в Java наиболее достойного преемника тому единству, которое на то время предлагал только MS-DOS. Редмонд критиковал и боролся с Java с самого начала. Java не пользовалась успехом для разработки десктоп-приложений, отчасти потому, что магическая виртуальная машина Java запускалась слишком медленно. Несмотря на небольшие притормаживания, в целом, Java приложения в Windows достаточно юзабельны.

    По какой-то необъяснимой причине, Стив Джобс никогда не любил Java. Даже когда Mac в значительной степени проигнорировали все, кроме Adobe, Java не дали шанс. Java-совместимость могла бы активизировать разработку для Mac-а, но для Apple – Java всегда была актером второго плана. (В общем-то, смартфоны на iOS работают более плавно, чем мой Android, так что, возможно Стив был прав)

    Java также пострадала от многочисленных внутренних разборок. В IBM любили этот язык, но всегда сражались с Sun. Решение IBM о том, чтоб назвать свою замечательную IDE «Eclipse» (Затмение), было довольно холодно принято людьми из Sun (парни из Sun никогда не понимал в бизнесе настолько хорошо, как IBM).

    Не смотря на все оплошности создателей, Java стремительно укрепляла позиции на серверах и становилась пригодной для эксплуатации в десктоп-сегменте. Каждая технология должна плыть против политических течений, и в случае Java, она упорно плыла дальше, доказывая, что является отличным инструментом для решения задач.

    Причина № 2: Магия потоков

    Одна из сильных сторон виртуальной машины Java, всегда была ее способность с легкостью жонглировать несколькими потоками. JVM оптимизирована для больших многоядерных машин, и она без проблем может управлять сотнями потоков. Благодаря этой способности, на JVM появились и другие языки — создаются кросс-компиляторы и эмуляторы, работающие поверх JVM.

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

    Ruby является одним из современных конкурентов Java. У него более чистый, напоминающий живой английский язык, синтаксис. Но все же, когда любителям Ruby нужна высокая производительность, они обращаются к JRuby. Это версия Ruby, которая бежит поверх JVM, обеспечивая гораздо более высокую производительность при больших нагрузках с множеством потоков. Вложив кучу усилий для надежной работы с потоками, инженеры из Sun не прогадали.

    Причина №3: Java, как первый язык программирования

    Java является основным языком для Advanced Placement Computer Science (Advanced Placement (AP) — учебная программа и экзамены для учащихся средней школы в США). Это означает, что зачастую, для студентов Java является первым языком программирования. Таким образом, Java дальше с ними «и в горе и в радости». Когда в дальнейшем студенты изучают новые языки программирования, они сравнивают с тем, что есть в Java. Если они даже меняют Java на что-то другое, их мнение все равно базируется на том, что они узнали «в первом классе».

    У Java множество преимуществ для изучения информатики. Некоторые программисты ненавидят указывать типы данных, часто называя это «подушкой безопасности» в программировании. Это может звучать странно, но это отличный способ для новичков понять, как устроен компьютер. Требование указывать типы данных заставляет их думать о внутреннем устройстве системы.

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

    Кто-то пытается продвинуть собственный язык, и в большинстве случаев создает язык с менее строгим синтаксисом, чем у Java. Это отлично, но вот более простой и чистый синтаксис таит свои опасности, которые проявляются позже. Кто-то считает, что «подушки безопасности» ограничивают их свободу в программировании, но Java прививает хорошие привычки с самого начала. В дальнейшем, накопив опыт, бывшие «новички» смогут приручить более изящные и опасные конструкции.

    Причина №4: (Почти) кроссплатформенная совместимость

    Язык Java не был первым языком для написания кроссплатформенных приложений, но он стал самым популярным. Это не означает полную совместимость на разных платформах — отсутствующие библиотеки или несовместимые версии библиотек запросто похоронят ваш код. Вы не можете взять код десктоп приложения, скомпилированный под JRE 1.7 и запустить его на телефоне в Java ME. Чуда не произойдет.

    Sun, а сейчас и Oracle, выжимают по максимуму для кроссплатформенности. Когда код не работает, как правило, понятно, в чем проблема. Если вы используете правильные версии Java и у вас достаточно памяти, ваш код будет работать. Java разработчики могут разрабатывать приложение на своем компьютере, а затем развернуть его на целевой платформе, будь то телефон или сервер. Если для компилятора доступны нужные библиотеки, код будет работать. Это бесценно.

    Причина № 5: Устойчивый успех Java на микрочипах

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

    Это господство не в новинку. Урезанная версии языка и виртуальной машины, известные как Java ME широко использовались во многих так называемых недосмартфонах (feature phone), которые исчисляются миллионами во всем мире.

    Если все это слить вместе, доминирование Java — ошеломляющее.

    Причина № 6: Blu-Ray

    Язык Java когда-то назывался «Oak» предназначался для ТВ-ресиверов, где компания Sun хотела доминировать. Точно придерживаться плана не получилось, но Java все равно удалось найти уютное место в гостиной. Blu-Ray стандарт построен вокруг Java, и тому, кто хочет добавить дополнительный контент на Blu-Ray нужно будет воспользоваться Javac компилятором.

    Blu-Ray диски – это не просто сырое видео. С помощью Java-кода можно изменить/добавить дополнительные функции и интерактивность. Blu-Ray диски – это смесь сжатого видео и Java байт-кода.

    Причина № 7: Фигурные скобки просто работают

    Любители таких модных языков, как Ruby, Python, или CoffeeScript снисходительно наблюдают за тем, как Java (и C) принуждают программистов вставлять фигурные скобки, явно обозначая начало и конец каждого блока кода. Круглые, фигурные, и даже квадратные скобки — все это проклятие для этих прогрессивных разработчиков. (Я сам не люблю скобки, и до сих пор ностальгирует по тому, как в некоторых версиях Lisp-а можно закрыть все открытые скобки одной квадратной скобкой)

    Но изменение пунктуации не устраняет сложности, а скрывает их. Использование пустого пространства для обозначения вложений заставляет вас интуитивно видеть то, что вы не можете видеть. Обозначение вложенности пробелами отлично работает, если ваше выражение помещается на одну строку, но становится ужасным, если у вас несколько уровней вложенности. Когда я пишу на Python-е, я замечаю за собой, что считаю и пересчитываю отступы. Если код выглядит как английский язык, не означает, что его также легко понять, как и предложение на английском.

    Причина № 8: Groovy

    Если Java программистам нужен более чистый и простой синтаксис, динамическая типизация, это не повод сбежать к новомодным языкам. Они могут использовать Groovy, аккуратный хак Java с препроцессором, который производит JVM байт-код. Язык полностью интегрирован с Java — вы можете смело вызывать Java библиотеки из Groovy кода. Это как Java с плюшками.

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

    Причина № 9: JVM

    JVM была построена и оптимизирована под типизированный код со статическим контекстом, генерируемый javac компилятором, но со временем разработчики языков поняли, что JVM может запускать код написанный не только на языке Java. Если компилятор создает корректный Java байт код, JVM не волнует на каком языке он был написан. Разработчики Haskell, Scala, Clojure и вскочили на подножку «мощного электровоза Java» создав свои компиляторы.

    Привлекательность очевидна. Sun/Oracle делает свою часть работы по созданию кросс-платформенной среды, а все остальные пользуются этим. Инженеры Sun/Oracle причесывают платформу и беспокоятся о совместимости, а мы пишем код на том языке, который нам по душе.

    Microsoft позаимствовала эту идею (а также многое другое), создав C# и свой подход к созданию компиляторов для языков, работающих на C# VM (CLR). C # программисты говорят, что могут писать на разных языках – правда, только на VM под Windows. Удивительная гибкость!

    Причина № 10: Революция NoSQL, построенная во многом на Java

    Давным-давно, база данных была непостижимым черным ящиком, который хранит информацию и быстро и эффективно отвечает на запросы. Потом пришла революция NoSQL, — программисты поняли, что могут писать свои собственные базы данных и адаптировать код к своим потребностям. Большая часть из основных игроков на рынке NoSQL была написана на Java. Cassandra, Lucene, ElasticSearch, HBase и neo4j – это лишь некоторые примеры. Кроме того, есть некоторые ACID-совместимые базы, написанные на Haskell и работающие на JVM.

    Эти базы, как правило, с открытым исходным кодом и легко встраиваемы. Кто-то запускает их как независимые сервисы, кто-то встраивает их код (в виде библиотек) в свой собственный стек. В любом случае, статус Java в качестве рабочего языка на уровне базы данных гарантирует, что разработчикам на Java разобраться и работать с этими базами будет легче. Кодировки или разделители строк не будут волновать Java-разработчиков.

    Причина № 11: в этом веке рулит Minecraft

    Пока Ruby продолжает собирать свою долю поклонников, следующее за ними поколение влюбляется в Java. Почему? Одно слово: Minecraft. Он написан на Java. Юные геймеры, желающие расширить Minecraft, должны знать Java, чтобы писать плагины под Minecraft. Это гарантирует, что повзрослевшие «детки» будут непременно писать на Java.

    Причина № 12: Открытый исходный код

    Компания Sun всегда была одним из лидеров в Open Source сообществе, но она так и не решилась полностью освободить Java. Это не помешало Java программистам написать кучу отличных библиотек и проектов под свободными открытыми лицензиями. Проект Apache продолжает поставлять множество проектов на Java под лицензией, которая не требует многого взамен.

    Sun закончила выпускать большую часть кода под лицензией GPL в 2007 году. С тех пор, компания Sun и ее новый владелец, Oracle, старались быть хорошими менеджерами для языка Java. Несомненно, Oracle подмочил свою репутацию исками к Google, но в остальном, платформу можно в значительной степени считать открытой и свободной.

    Ненавистников предостаточно, но Java двигается вперед

    У Java, безусловно, хватает своих проблем. Java-хейтеры будут продолжать брызгать слюной и стучать по клавиатуре, постя злостные коменты в интернете. Сборщик мусора может вызвать икоту и дрожь. Типизация данных является рутиной и не может отбраковать действительно плохой код. Аннотации слишком сложны. Новые возможности Java развиваются не так быстро, как это было в прошлом. Фигурные скобки добавляют некоторый беспорядок. Этот список можно продолжать и дальше.

    Однако ни одна из конкурирующих технологий не смогла настолько широко и глубоко высадиться на берега IT-индустрии. Хотя некоторые из проблем Java довольно легко исправить, исправления обычно вносят свои собственные проблемы.

    В конце концов, это одно из преимуществ Java. Ее можно менять и использовать практически для любых задач. Вы можете заменить большинство библиотек вашим собственным кодом, если вам нужны особенные функциональные возможности. Java — очень гибкий язык с открытым исходным кодом. Независимо от ограничений языка и платформы, практические любые проблемы можно решить относительно легко. Это означает, что Java программисты продолжают быть одними из самых производительных. Несмотря на то, что книги по Java больше не доминируют в списке бестселлеров и Oracle выпускает апдейты не так часто как хотелось бы, Java продолжает не просто жить, но и процветать.

    habr.com

    Как стать программистом или Выучить Java за 1 год / Habr

    Здравствуй, дорогой читатель. Давно хотел написать подобную статью, но либо не хватало времени, либо мешала предательская лень. Но, как бы там ни было, все-таки у меня получилось собраться с мыслями, чтобы написать то, что принесет вам, я надеюсь, какую нибудь пользу. С радостью поделюсь своими знаниями и опытом, в ответ с вас причитается время и внимание. По моему мнению, данная публикация хорошо подойдет для тех, кто готов определиться в своих интересах и хочет связать свою жизнь с IT — тем или иным образом. Итак, поехали!

    Выбор языка программирования

    Публикация начинает выглядеть как многие подобные материалы. По закону жанра я должен буду написать название пары тройки языков программирования, назвать парочку плюсов и минусов и, в итоге, так и не ответив на вопрос, перейти к следующей части. Отчасти в этом есть доля правды, ведь каждый выбирает для себя тот язык, который ему ближе, исходя из того, разработкой какого вида продуктов он хочет заниматься в будущем. Большинство из вас изучали в школе Turbo Pascal и вряд ли для вас будет новостью, что на этом языке сейчас уже практически ничего не пишут. Так и в данном случае, выбирать язык надо грамотно, хотя много знаний никогда не бывает, но если вы хотите за короткий промежуток времени эффективно влиться в ряды программистов, к выбору языка надо подходить с умом. В самом начале запомните: хороший программист никогда не останется голодным, а в большинстве случаев сможет купить себе много икры (это определение подойдет для любой специальности, но ни одна специальность не даст вам такой свободы выбора места работы, как в плане компаний, так и стран — программист он и в Индии программист).

    Логично, что чем популярнее язык и востребованность, тем больше шансов будет найти  работу в будущем, при этом язык должен быть несложным в освоении. Потому что хотя на C++ и пишут большое количество игр и получают за это хорошие деньги, новичку, тем более не знакомому с ООП (объектно-ориентированное программирование)  лучше отложить на некоторое время этот язык куда подальше. Далее по ссылке предоставлен список самых популярный языков  программирования 2014 года, и как видно, на первом месте стоит Java, далее идут C языки, затем Phyton, JavaScript, PHP, Ruby и т.д. Если самим поискать подобные статистики, то вы увидите, что в разных источниках места заняты по разному, но в целом первые 10 мест по содержанию везде будут совпадать.

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

    Исходя из этих двух источников мы уже можем себе представить, какие языки программирования сейчас «в моде». Как видно по названию, автор статьи выбрал для себя Java. Хотя я считаю его лучшим для изучения ООП, найдется много людей, которые не согласятся со мной, и это логично — сколько людей, столько и  мнений. Тут мы встаем на небольшое перепутье дорог: выбирать Java, С# (очень похож на Java), Phyton, если мы хотим работать с начинками программ и приложений (back-end) или же PHP, JavaScript, HTML, если хотим заниматься веб-разработкой (front-end). В первом случае я бы свой выбор остановил на Java, а во втором — на PHP, хотя опять же, тут больше по вкусу, надо уже самому искать информацию о различных языках и вообще понимать, чем ты хочешь заниматься. Для размышлений вот подборка языков, которые используются в крупнейших интернет компаниях мира.

    Есть 2 основных причины, почему бы я выбрал либо Java, либо PHP. Первая — это очень популярные языки и найти соотвествующую работу не составит труда, а вторая — в том, что ни по каким другом языкам вы не найдете столько обучающего материала как по этим двум, причем как на русском, так и на английском.

    Обучение

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

    Вообще, у меня есть своя теория, не раз подтвержденная мною же на практике: абсолютно всему можно научиться за  1 год. . Поверьте мне, это сущая правда, кому-то даже понадобиться меньше времени, но если человек не перестает сдаваться и в течение года с умом подходит к обучение, то практически невозможно, чтобы он не научился. Это не только в программировании, абсолютно в любой сфере: хочешь играть на гитаре — без проблем (у меня это заняло не так уж много времени и сил), научиться аргентинскому танго, кататься на серфе — на все это хватит одного года. Главное — учитесь!

    В данном случае я буду рассматривать язык Java, так как он мне все таки ближе. Благо в интернете полно людей, которые безвозмездно помогают другим в обучение, поэтому найти подходящий для вас материал не составит труда. Здесь выложены более 1000 часов лекций по Java, которые можно с пером и бумагой просматривать в стенах свою уютной квартиры (пока только на русском языке). Для тех, кто привык вчитываться в проходимый материал, опять же интернет предоставляет большие возможности и это только один из всевозможных сайтов с уроками по Java. Теории хоть отбавляй, но не могу сказать про такой обучающий сайт, как Coursera.org, где вы сможете найти обучающие курсы на различных языках и по различным областям, в том числе и программированию — опять же все абсолютно бесплатно. Таких сайтов не один и не два, стоит всего лишь поискать.

    Но как бы не была познавательной теория, в программирование без практики не обойтись. Но даже тут за нас уже сделали пол дела и не надо искать различные задачи, чтобы улучшать свои навыки, такой сервис как JavaRush очень в этом поможет. В целом данный сайт дает как теорию, так и практику, начиная просто с дублирования кода с экрана и заканчивая комплексными задачками, а в перерывах даже предлагает расслабиться и  посмотреть небезызвестный мультсериал. По заверениям авторов, достигшие 20 уровня в сервисе будут иметь достаточные знания, чтобы уже устраиваться в IT компанию.

    Ну и конечно, кто-то спросит, а как же книга? Разве не надо их читать, а если надо — то что? На это я отвечу, что от чтения книг еще никто глупее не становился. Книг тоже очень много, но я перечислю только небольшую часть из них:

    Помощь в практике

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

    У многих начинающих программистов на первых порах возникает большое количество вопросов, особенно когда нужно выполнять самостоятельное задание. Это нормально. Но в таких ситуациях надо понимать, что практически на любой возникший у вас вопрос можно найти ответ в интернете. Вряд ли вы первый, кто с ней сталкивается, поэтому не торопитесь сражу же задавать вопросы на различные форумы программистов (о которых я напишу чуть позже). Посидите минутку, правильно сформулируйте проблему у себя в голове и смело ищите её в поисковике. Наверняка большинство будут искать на русском языке, но не забывайте, что язык программистов — это английский, поэтому, если вы не нашли ответ на великом и могучем, стоит поискать на языке, который в школе вроде бы все учили, но так и не выучили. Но если даже и в этом случае оказалось, что на ваш вопрос нигде нет ответа, в бой вступают лучшие форумы интернета:

    • Cyberforum — по моему мнению, самый популярный русскоязычный форум ITшников, тут можно найти ответы на вопросы, при чем и не только в области программирования;
    • Programmers forum — крупный русскоязычный форум;
    • Searchengines — небезызвестный форум, но специализируется больше в веб- программирование;
    • Stack overflow — а это уже, не побоюсь этих слов, самый популярный во всем мире IT-форум, ответы практически на все свои вопросы вы найдете именно здесь;
    • Dev shed — тоже крупный англоязычный форум;
    • Quora — форум прямо не специализирующийся на программировании, но зато большая вероятность, что вы получите ответ от настоящего профессионала.

    Форумы — это, конечно, не единственный способ получить ответы на интересующие вопросы. В своей практике программисты повсеместно работают с официальной документацией языка, на котором они пишут. Там описываются, как работают те или иные классы и интерфейсы, порой документация является единственным источником, который может помочь в разрешение вопросов, ведь это только на начальном этапе у всех схожие вопросы и без проблем можно найти готовые решения, но чем дальше вы забираетесь в дебри, тем сложнее и сложнее находить ответы, поэтому приходиться уповать на свою, я надеюсь, уже умную голову.

    Компилируем код

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

    Наконец, для тех, кто хочет действительно стать программистом, желаю взять быка за рога, собрать всю волю в кулак и делать то, что вам нравится. До меня уже тысячи раз говорили, но я повторюсь, главное — желание и труд. Тогда все у вас получится. Запомните самое главное: воспринимайте изучение языков программирования и различных технологий не как цель, а как СРЕДСТВО. Только представьте, какие возможности перед вами открываются. Может быть, именно вы станете одним из тех, кто меняет мир в режиме реального времени. Так что удачи и спасибо за внимание!

    Видео-бонус

    habr.com