Сайт о телевидении

Сайт о телевидении

» » Зная c стоит ли учить джава. Как учить язык программирования Java

Зная c стоит ли учить джава. Как учить язык программирования Java

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

Итак, ты твердо решил стать Java-программистом. И сразу у тебя возникает куча вопросов: “С чего начать обучение Java? Как правильно выбрать программу обучения? Как выучить Java и получить опыт работы?”.

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

Мы выделили самые популярные способы выучить программирование самостоятельно.

Итак, несколько способов выучить Java:

1. Самостоятельное обучение.

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

Недостатком же является то, что не у каждого хватит силы воли самостоятельно освоить огромное количество материала, прочитать кучу книг, получить достаточно практического опыта и не бросить все в начале пути. Кроме того, у каждого будут сомнения: “А верной ли дорогой я иду, все ли делаю как надо?”.

2. Бесплатный онлайн-курс.

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

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

3. Офлайн-тренинг.

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

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


4. Персональный коучинг/менторство.

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

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

5. Ну и наконец тренинг в компании.

Есть вариант устроиться на какие-либо учебные курсы в IT-компанию, где, скорее всего, ты будешь работать на проекте, достаточно приближенном к реальным условиям, плюс есть большая вероятность после успешного окончания курса устроиться на работу в эту компанию. Однако, конкурс на такие тренинги зачастую очень высок и нужно уже обладать уверенными знаниями, чтобы тебя взяли.

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

Удачи тебе во всех твоих начинаниях! Если ты знаешь еще некоторые способы и на своей практике убедился, что они работают, напиши нам. Мы всегда готовы пообщаться с людьми, которые открыты к диалогу.

Мне бы хотелось начать писать приложения для Android. Это, очевидно, все в Java. Программирование заданий на Craigslist составляет не менее 100 Java до 1 С++. Я хочу изучить Java.

К сожалению, программа CS, которую я рассматриваю, учит С++, а не Java, поэтому С++ - это то, что я изучаю. (Я уверен, что обучение на С++ научит меня хорошо программировать, но так же будет Java, а затем я смогу получить работу. Это разочаровывает, что программы CS придерживаются языков, которые они использовали в течение 20 лет, вместо того, чтобы преподавать языки, которые помогут им студенты преуспевают.)

Мой вопрос заключается в том, хорошая идея взломать книги Java на моей полке после того, как я закончу домашнее задание на С++. Смогу ли я в конечном итоге смутить, или я получу лучшее в обоих? Кто-нибудь одновременно изучал как С++, так и Java?

Изменить: Спасибо за все быстрые ответы! Я проделал некоторое программирование, и, я думаю, я легко забираю языки. Сравнивая бок о бок, я обращаюсь ко мне. Но я также склонен откусывать больше, чем я могу пережевывать, и изучение С++ и Java кажется похожим на большую еду, которая может вызвать у меня проблемы.

15 ответов

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

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

Не расстраивайтесь, ваша школа учит С++, будьте благодарны. Читайте, Опасности Java-школ . Вы не в технической школе, которая хочет узнать самый горячий язык на данный момент. Вы можете научиться информатике. Моя школа учит Java как вводный язык, и я думаю, что это огромная ошибка. Мы должны учиться C, поэтому к тому времени, когда мы познакомимся с Java (скажем, объектно-ориентированным классом), мы узнаем, что на самом деле происходит, и ничего "магического" для нас не происходит.

Знания, которые вы получаете в своей степени и даже от использования C или С++, превзойдет новейший "популярный" язык.

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

Не путайте показатели количества заданий. Соотношение скучных и интересных заданий, вероятно, также составляет от 100 до 1, как вы сказали. Также в эти дни высокоуровневые вещи, зная, что низкий уровень платит.

ИМХО самых интересных (программирующих) заданий есть задания С++. Хотя в Java или С# могут быть интересные проекты, большинство из них связано с перемещением данных (от DB до html или gui, обратно к DB...). Это зависит от того, что вы хотите запрограммировать для жизни, -).

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

Не обязательно больше заданий Java, чем заданий на С++, оно сильно варьируется от региона к региону; где вы ищете?

Я думаю, что С++ - отличная основа, и изучение Java было бы проще, если вы знаете С++, и что это, как правило, более простой язык для изучения. Если у вас есть способность к программированию, вы можете изучать оба языка одновременно.

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

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

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

Если вы делаете С++, вам следует усердно учиться на это, иначе вы довольно много затягиваете, изучая Java.

С++ имеет целую кучу вещей, которые у Java нет, и если вы изучаете - вы не получите меток, если начнете писать Java в своих тестах на С++!

Мой совет - найти проект, с помощью которого вы можете использовать С++ (возможно, некоторые opengl?) - возможно, есть несколько лучших предложений (я не кодирую в С++). Таким образом, вы будете наслаждаться собой, изучая то, что вы должны изучать:)

100 Java до 1 С++? Я просто искал на dice.com, и он вернул 9322 для Java и 4777 для С++. Конечно, Java более востребован, но соотношение близко к 2: 1. Кроме того, существует также "запасная" сторона уравнения - конкурентов на Java больше конкурентов на Java.

Почему я не вижу рекомендаций по изучению С#? В любом случае я бы изучил С++ и С# одновременно. Я думаю, вы не должны банки на одном или двух языках. Изучайте новый каждый год или около того. Как только вы овладеете ООП и шаблонами дизайна, языки становятся тривиальными (в основном). Тогда вы можете иметь более одного резюме. Вы также должны думать о том, что вы хотите сделать именно... веб-разработка? низкоуровневый материал? Создание драйверов устройств? Немного расширьте свои горизонты и разверните то, что делает ВАС, как программиста, тикающим.

Просто спросите себя, насколько легко научиться концепциям для вас в настоящее время. Насколько глубокое понимание вы получаете?

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

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

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

Здравствуй, дорогой читатель. Давно хотел написать подобную статью, но либо не хватало времени, либо мешала предательская лень. Но, как бы там ни было, все-таки у меня получилось собраться с мыслями, чтобы написать то, что принесет вам, я надеюсь, какую нибудь пользу. С радостью поделюсь своими знаниями и опытом, в ответ с вас причитается время и внимание. По моему мнению, данная публикация хорошо подойдет для тех, кто готов определиться в своих интересах и хочет связать свою жизнь с 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, так как он мне все таки ближе. Благо в интернете полно людей, которые безвозмездно помогают другим в обучение, поэтому найти подходящий для вас материал не составит труда. , которые можно с пером и бумагой просматривать в стенах свою уютной квартиры (пока только на русском языке). Для тех, кто привык вчитываться в проходимый материал, опять же интернет предоставляет большие возможности и это только один из всевозможных сайтов с уроками по Java . Теории хоть отбавляй, но не могу сказать про такой обучающий сайт, как Coursera.org , где вы сможете найти обучающие курсы на различных языках и по различным областям, в том числе и программированию - опять же все абсолютно бесплатно. Таких сайтов не один и не два, стоит всего лишь поискать.

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

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

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

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

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

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

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

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

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

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

Видео-бонус

Теги: Добавить метки

С тех пор, как C/C++, Python и некоторые другие языка программирования становятся все более популярными, Java постепенно уходит в небытие. Стоит ли продолжать изучать Java или лучше просто переключиться на другой язык? Эту тему обсудили пользователи Quora . Для вас мы собрали самые интересные мнения.

Ашиш Датта , FizzBuzz

Я бы продолжил изучать Java. Он совершенно точно не «уходит в небытие», примите к сведению следующее:

  • Фонд Apache Foundation активно инвестируется компанией Java. Эти ребята руководят такими «горячими» проектами, как, например, Hadoop, Cassandra и Solr. Несмотря на то, что все это проекты с открытым исходным кодом, в них сочетаются «корпоративное» чутье с «корпоративными» зарплатами разработчиков.
  • Рабочий цикл виртуальной машины Java (JVM) стал популярен и для других языков и платформ. Оказывается, более 20 лет развития во главе с умнейшими корпорациями в деле разработки виртуальных машин (SmallTalk inspired и др.) привели созданию одной отличной модели. Так что сейчас существуют такие языки, как Scala, Groovy и Jruby, компилирующиеся с байт-кодом JVM. Знание Java поможет вам выучить эти языки, поскольку в них будут часто использоваться интерфейсы программирования приложений Java.
  • В дополнение к вышесказанному, Java является одним из «базовых» языков разработки Android. Так что со знанием Java вы сможете перейти к разработкам в системе Android, а это довольно неплохо оплачивается.

Возможно, Java не так уж привлекателен, но конкретно Java 8 является вполне приличным языком программирования, существует большое количество свободного софта Java. Мобильный и предпринимательский спрос на Java довольно велик. Так что продолжайте изучать Java, но непременно познакомьтесь и с языками вроде Python, C и C++ ‑ все любят полиглотов!

Майкл Браун , ветеран индустрии разработки программного обеспечения с 20-летним стажем

Ирония заключается в том, что когда 17 лет назад язык Java набирал популярность, многие люди считали это погребальным звоном для C/C++.

Если я чему-то и научился, работая в этой индустрии, так это тому, что если бросить взгляд сверху, под солнцем (англ. Sun – прим. ред .) нет почти ничего нового (пару лет назад это считалось бы неплохим каламбуром, но компания Sun уже не существует…). Отрасль все еще достаточно молода для того, чтобы мы могли учиться у первых программистов. Проблема состоит в том, что мы продолжаем «переучиваться» одним и тем же вещам, и так уверены, что то, что мы делаем, является совершенно уникальным, что в конечном итоге мы едва ли движемся вперед.

Вернемся в 2010 (когда Sun все еще была компанией). Все были помешаны на шаблоне MVVM, я даже заключил издательский контракт на написание книги на эту тему (MVVM Unleashed: Michael Brown: 9780672334382: Amazon.com: Books) . Я так и не написал эту книгу, потому что каждый раз, когда я принимался за дело, я узнавал что-то новое. Например, тот факт, что MVVM существовал еще со времен разработки первого пользовательского интерфейса, Smalltalk на Xerox PARC. Отрасли понадобилось более 30 лет, чтобы вновь вернуться к концепту, который был разработан (и основательно задокументирован, надо сказать) вместе с самой первой пользовательской платформой.

Или как насчет облачных вычислений? Арендуйте ненадолго компьютер, созданный крупной компанией. Выключите его, когда в нем нет необходимости, включите его, когда вам нужно. Коммунальные вычислительные услуги: это волна будущего!

Если есть совет, который я могу дать молодому программисту, то вот он: не гонись за водным потоком… Я имею ввиду новые тенденции: не преследуй их, сфокусируйся на изучении основ и опирайся на них. К тому моменту, как ты научишься тому, что в данный момент в топе, оно уже будет заменено чем-то новым, что скорее всего было «вчерашней новостью» тогда, когда ты гнался за трендом.

Питер Лорей , 23 года работы в сфере IT

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

История «Смерти Java»

Большая часть прогнозов исходит от людей, которые пытаются протолкнуть «лучший» язык программирования, не завоевывавший своей пользовательской аудитории.

Существует распространенное заблуждение, что технического превосходства достаточно, чтобы предпочесть X (икс) Y (игрику) (хотя не всегда очевидно, что X лучше, чем Y). Большинство людей используют Qwerty клавиатуру, хотя причиной ее изобретения была попытка избежать заклинивания молоточков в пишущей машинке. Было изобретено множество «лучших» раскладок, но едва ли кто-то их использует.

Владислав Зоров , могу убедить людей в том, что я знаю Java

  1. Не прекращайте изучать Java. Познакомьтесь также с С++ и Python – все эти три языка похожи (объектно-ориентированные императивные), так что это не должно вызвать трудностей.
  2. Изучите также JavaScript как следует (чтобы увидеть прототипный объектно-ориентированный императивный язык программирования) и Smalltalk (действующий объектно-ориентированный язык). К тому моменту вас уже должно от этого тошнить.
  3. Теперь пришло время изучить другие языки. Например, Assembler и C (низкоуровневые процессуальные), Haskell (функциональный), Prolog (логический) и Racket (мета-язык).
  4. Пока вы этим занимаетесь, изучайте параллельно языки, которые требуются для ваших целей - Swift (приложения Apple), Rust (как C++, но функциональный), Erlang (распространенный для приложений), MATLAB (математический матрицы), C# (улучшенный Java, но для среды Microsoft).
  5. Осознайте, что за всю жизнь вам предстоит выучить десятки языков программирования, так что на самом деле не имеет значения, с чего вы начнете и что популярно на данный момент. До тех пор, пока изучение языков приносит удовольствие, оно того стоит.

Стивен Панвази , технический директор в Perchbox

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

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

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

Гэрри Тейлор , пишет на Java,C,Python, Objective-C, PHP, C#,Swift

Окей, пора развеять пару мифов. Я знаю, интернет их обожает, но некоторые из них меня уже достали.

1. Java на находится на грани исчезновения. Сегодня Java используют больше людей, чем 5 или 10 лет назад.

2. Вымирает из-за Python? Java младше, чем Python.

3. Нет языка более популярного, чем Java, за исключением разве что JavaScript, но только из-за того, что у компании монополия. В сети у вас просто нет другого выбора.

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

Умур Озкул , технический директор в Publitory

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

Если вы планируете стартап или работаете на себя, тогда Elixir+Phoenix или Ruby on Rails будут лучшими языками для вас. Большая часть стартапов не использует Java, так как на данный момент существуют более быстрые пути выполнения того же объема работы. Чтобы составить представление об этом: Comparison of Java and Ruby on Rails with Hobo .

Для работы по договору одинаково актуальны Java и Ruby.

Сырая статистика популярности того или иного языка не дает представления об использующей его аудитории. Все относительно.

Артём Моисеев , стартапер

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

Java отнюдь не на пути к исчезновению. Большое количество софта, разработанного крупными компаниями, написано на Java. Это язык корпоративного мира. Он обладает широкой пользовательской аудиторией, обширными библиотеками, что делает его уникальным инструментом. Не забудьте про Android, он тоже работает на Java.

  • 2 месяца обучения Java EE (2 раза в неделю по 4 часа)
  • если результаты показываешь хорошие (защищаешь свой проект успешно, который пишешь эти два месяца), то тебе предлагают трудоустройство.
Компания очень хорошая, иностранная, известная, да и условия работы отличные - словом, хотел я туда куда больше, чем туда, где мне уже сделали предложение. Отбор на обучение у нее предполагал 3 этапа:
  1. Выполнение практических заданий дома.
  2. В случае успеха тебя приглашают на компьютерное тестирование в офисе.
  3. В случае успешного тестирования в этот же день с тобой проводят собеседование.
С практическими заданиями я справился без особых проблем - здесь огромное спасибо JavaRush и их задачкам, после которых эти задания показались достаточно простыми. Заданий было 3: на RegExp(гугл помог, ибо сам я их терпеть не мог и не помнил), на алгоритмы (довольно простая, на соображалку скорее) и на запись\чтение из файла (таких в курсе JavaRush очень много). Меня пригласили на компьютерное тестирование. К тестированию я готовился по сайту quizful . Эти тесты очень помогли, некоторые вопросы в итоге даже пересекались. Сделал тест успешно, меня начали собеседовать. Это собеседование я, наверное, не забуду никогда в жизни. Все, что хотел услышать от меня собеседующий меня человек - основы теории Java, как то:
  • чем отличаются checked exceptions от unchecked;
  • какие методы есть у класса Object и зачем они нужны;
  • какие бывают коллекции и зачем они;
  • и немного про многопоточность.
JavaRush - отличный курс, он научит вас решать задачки и программировать, но теорию (для собеседований) нужно подучивать отдельно, в чем я и убедился, плавая в этих вопросах, как рыба в аквариуме. Меня хотели завернуть. Я его понимаю - я не мог внятно почти ни на что ответить, все пытался рассказывать с точки зрения написания кода, а его интересовала теория. Но я твердо знал, что я очень хочу попасть на эту стажировку, и я знал, что если мне дадут время, я все это наверстаю и выучу несчастную теорию. Все это я ему так и сказал, и он пошел мне навстречу - предложил через неделю встретиться еще раз, а пока что дал список тем (примерно, как я описал сверху) и сказал, где их - просто туториал оракла, в нем есть все: http://docs.oracle.com/javase/tutorial/ За неделю я основательно изучил этот туториал и пошел на повторное собеседование накануне дня, когда меня ждали на новой работе. Судя по всему, собеседовавшего меня человека больше всего зацепила именно моя целеустремленность (я знал, что если я поступлю на эту стажировку, дальнейшее зависит только от меня - за два месяца я бы разобрался со всем, чем надо). Как бы то ни было, я поступил на эту стажировку и отказался от выхода на работу на том месте, куда мне предлагали ранее. За 2 месяца нас познакомили с многими темами из Java EE, как то: Servlets, JSP, Hibernate JSF, Spring и многое-многое другое - по итогам стажировки мы были знакомы (примерное представление имели точно) об основном стеке технологий Java EE. Также на протяжении стажировки мы писали свой проект, который на выходе надо было успешно представить для трудоустройства. Я просто помню свои первые ощущения, когда был на первой лекции. Я смотрел на задание этого проекта (его выдали сразу на первой же лекции) и не понимал даже близко, с чего здесь начинать и как это делать. Также я помню, чего мне стоило успешно его сделать. Эти два месяца почти все мысли в моей голове были о том, что успешное трудоустройство и исполнение мечты - в моих руках и только. Больше ни от кого не зависело, смогу ли я его сделать. Только от меня. Я уже уволился с работы, сидел почти без денег, и это было действительно тяжело. Сидел с утра, сидел днем, сидел вечером, однако не уставал радоваться - я не помню, когда еще я с такой одержимостью посвящал себя чему-то. Это время лишний раз помогло мне осознать, насколько мне нравится программировать и насколько я бы хотел работать в этой области. На выпуске я представил свой проект. Защитил его действительно хорошо, судя по всему, значительно лучше, чем ожидалось, и в качестве исключения меня взяли не на начальную должность, а сразу на позицию Middle Java Developer. Это было 9 декабря 2014. Я не мог поверить этому, но предложение о работе было передо мной на моем мониторе. Инженер-программист. Это случилось. С 15 декабря я вышел на работу. Еще ни разу не возникала у меня мысль "блин, не хочу идти на работу". Каждый день, выходя с утра из дома, я знаю, зачем я иду работать, что я буду делать, и насколько я этого хочу. Это безумно радует. Это стоит и стоило той цены, которую пришлось заплатить за достижение своей мечты. Я желаю всем из вас, кто действительно хочет быть программистом, идти вперед в достижении своей цели. Она более чем реальна, она совсем рядом, но за нее нужно заплатить. Заплатить своим потраченным временем, нервами, ведь изучать что-то с нуля - действительно не самый легкий шаг. JavaRush помог мне сделать эти первые шаги с легкостью, и не я отвернулся от программирования в самом начале из-за кажущейся сложности и обилия теории. Таким образом я смог довести свою довольно безумную идею по кардинальной смене области профессиональной деятельности (еще и при отсутствии технического образования) до конца. И вы обязательно сможете.