LINUX.ORG.RU
ФорумTalks

Кто как оценивает перспективы Java?

 , , ,


1

3

Надоел мне Си, копание в бинарниках, hex, ASM, отладчик и поиск причин переполнения стека до невозможности. Платят хорошо, но это уже скучно: я даже не столько пишу, сколько отлаживаю низкоуровневое барахло и копаюсь в бинарниках.

Подумываю над переходом еще куда-нибудь, думаю, это будет Java (а что еще? есть еще востребованные «многофункциональные» нескриптовые языки?). Но теперь присматриваюсь: безумно востребован, тонны библиотек, тонны манов, платят в среднем немало, в освоении несложен. Но что с перспективами? Я всегда им пренебрегал и ничуть не интересовался, поэтому нормально проанализировать не могу. Каково ваше мнение? :)

//Linux тут при том, что я его юзаю, на Java можно писать под ним же. Да и вообще, форум-то IT'шный...



Последнее исправление: ymn (всего исправлений: 1)

Ответ на: комментарий от andreyu

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

//вот именно хочу быть программистом, а не отладчиком :)

abcarado
() автор топика
Ответ на: комментарий от abcarado

Очень. Жабка 8 капитально подпортит праздник всем яп, самый сильный и справедливый аргумент против нее - отсутсвие лямбд is no more. И еще всякие организации LINQов понаписывают. Ну и новый JavaEE нагибает спринги и прочие java штуки по производительности и удобству

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от abcarado

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

Беда.

//вот именно хочу быть программистом, а не отладчиком :)

Тогда как вам поможет смена ЯП?

andreyu ★★★★★
()
Ответ на: комментарий от reserved

И много на нём написано по сравнению с Java-приложениями?

Большинство игр.

andreyu ★★★★★
()
Ответ на: комментарий от vertexua

Жабка 8 капитально подпортит праздник всем яп, самый сильный и справедливый аргумент против нее - отсутсвие лямбд is no more.

Аха, т.е. таки сахар не приводит к кариесу? В смысле - там не будет практически ничего, кроме завуалированных вложенных анонимных классов. Запись короче? Не смешите мои тапки... Самое главное - скорость их работы не изменится: сначала загрузка класса...

yyk ★★★★★
()

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

f1xmAn ★★★★★
()

Перспективы радужные, в свете знания с прямая дорога на андройд.

в освоении несложен

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

ya-betmen ★★★★★
()
Ответ на: комментарий от vertexua

Жабка 8 капитально подпортит праздник всем яп,

ога, так все и кинулись переписывать свои _работающие_ продакшены со scala на java8

Ну и новый JavaEE

В нем по прежнему чтобы сделать асинхронный http streaming надо дрочить в присядку?

Reset ★★★★★
()

java это прежде всего платформа, которая очень сильна в server side на highload проектах, а язык в ней вторичен, выбрать можно на свой вкус

Reset ★★★★★
()
Ответ на: комментарий от yyk

В смысле - там не будет практически ничего, кроме завуалированных вложенных анонимных классов.

Неправда, лямбды реализованы через invokedynamic и MethodHandle.

reserved
()
Ответ на: комментарий от reserved

Сразу после релиза MethodHandle как раз будет указыват на класс, но само его наличие позволит спрыгнуть на реализации покруче чуть ли не в минорном апдейте

vertexua ★★★★★
()

было бы интересно написать приложения:

- плагин(ы) для браузера

- cli-утилиту

- что-нибудь полезное и для изучения на андроиде

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

Тем не менее цифры оттуда были всегда интересны:

http://www.itjobswatch.co.uk/default.aspx?page=1&sortby=0&orderby=0&a... (там далее в глубь по строкам)

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Ответ на: комментарий от andreyu

Тем, что на Java можно просто почти забить на память, стек, непредвиденное поведение (привет C/C++) - можно просто писать алгоритм.

abcarado
() автор топика
Ответ на: комментарий от andreyu

Может тогда стоит начать программировать, а не кодить?

А, распарсил наконец-то. Работа такая, отладка Си кода. Отвечаю за балбесов-то я, и отлаживать в основном приходится мне. Вот в чем проблема-то: они _кодят_, а не _программируют_.

Беда.

Цена производительности. Но все равно, баги есть, все не отладить - это-то и обидно :D

abcarado
() автор топика

Cи разработчик со стажем, постоянно ищущий проблемы переполнения стека, использующий hex редактор и живущий в отладчике, небось провещяющий а то ли всё что надо сгенерировал компиллер? Бред, значит за время работы вы так и не стали профессионалом, так и не наработали навыков и не усвоили почему и как переполняется стек на платформах, под которые вы пишете. Что до жабы, альтернативы нет, а значит перспективна как и раньше. Деньги платят, людям вроде хватает. В отдалённой перспективе разве что javascript проникнет в жабониши, но так ли это, кто ж знает, не факт. Так что дерзайте, время есть, работы тоже много всякой.

ixrws ★★★
()
Ответ на: комментарий от ixrws

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

Спасибо за ответ :D

abcarado
() автор топика

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

f1xmAn ★★★★★
()
Ответ на: комментарий от f1xmAn

~6 лет. Работаю по желанию, а не по необходимости, поэтому интерес - все-таки аспект. Ну надоело мне уже это копание в... бинарниках :-) На Си ничего крупного не написать, это будет не проект, это будет отборное «скочать бизплатна бес смс...», а уж что с отладкой...

abcarado
() автор топика

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

Я на Java серьезно никогда не писал, но вопросом интересовался. И у меня сложилось впечатление, что морочиться придется точно так же. Только если на Си все заморочки уже свои родные, то явовские тебе еще только предстоит изучить. Не будет ли это «шило на мыло»?

uuwaan ★★
()
Ответ на: комментарий от uuwaan

Не будет ли это «шило на мыло»?

Работа - хобби, не больше. Даже пусть так, можно же вернуться :)

Хочу писать алгоритм, а не отлаживать. Везде на Си программиста либо забивают, либо он пишет очень мало, либо он отладчик. Тотально. Сколько ни искал :D

abcarado
() автор топика
Ответ на: комментарий от abcarado

Ну если так, то почему не ФЯП? Я летом в свободное время позанимался по Structure and Interpretation of Computer Programs, очень освежающе, словно только-только программировать учишься. Есть еще более приземленная и «практическая» Land of Lisp, с картинками. А потом переходить на какую-нибудь Scala. И свежие ощущения, и модно-стильно-молодежно.

uuwaan ★★
()
Ответ на: комментарий от uuwaan

И свежие ощущения

За 3 года контракта я разлюбил их :(

Scala

А вообще идея, да. Спасибо :)

Land of Lisp

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

abcarado
() автор топика
Ответ на: комментарий от abcarado

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

А как же PHP? :)

Я LISP (есть под него компилятор, кстати) рекомендую не как инструмент работы, а как средство мягко въехать в тему, не заваливаясь по уши монадами и прочими гадостями, к коим так тяготеют апологеты Haskell.

uuwaan ★★
()
Ответ на: комментарий от abcarado

Конечно. Я имею в виду, что нужно осилить довольно внушительное количество фреймворков и технологий, прежде чем допустят к чему-то серьезному. Посмотри на требования к соискателям, там нужно уметь Spring, Glassfish, Postgresql, GWT, Servlets, JSP в другом месте уже Java EE, MongoDB и Vaadin, где-то вообще Tapestry используют, а от кого-то требуют знания Java FX. В результате чтобы стать более-менее приличным разработчиком нужно и это (http://docs.oracle.com/javaee/7/tutorial/doc/) целиком осилить, периодически освежая знания, и туториалы большинства популярных фреймворков перед сном проходить. А потом приходишь в проект, а там мажорные версии отличаются, API другой, горы волосатого кода и странные архитектурные решения, и тут-то как раз начинается веселье. ;-)

f1xmAn ★★★★★
()
Последнее исправление: f1xmAn (всего исправлений: 1)
Ответ на: комментарий от f1xmAn

Бывало и так. Пара тасков в месяц, совсем пустяковых. Когда уже хотел менять работу совсем обнаглел: играл на работе в открытую со звуком и связью, троллил коллег, иногда уходил покататься на мотоцикле, etc развлечения. И всем было пофиг! Даже на систематические опоздания и несколько прогулов забивали. Часто такое отношение :( А я хочу писать алгоритмы, решать интересные задачи, а не на уровне ловить баг «микроалгоритмов» :-)

abcarado
() автор топика
Ответ на: комментарий от uuwaan

Haskell

Забавный язык :D

Спасибо, глянул - очень годно

abcarado
() автор топика
Ответ на: комментарий от f1xmAn

Был опыт использования двух разных версий библиотек в одном проекте с чуть измененным API, это было нечто :D

странные архитектурные решения

Это у нас были «странные архитектурные решения». Причем иногда настолько, что кажется, что народ либо прикалывался, либо программеро-ненавистники :D

//алсо, вообще юзабельный язык в плане использования?

abcarado
() автор топика
Ответ на: комментарий от abcarado

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

Освежить свои знания в си, что ли? ;-)

Даже на систематические опоздания

В аутсорсинговых конторах за такое можно получить втык? Я уже не помню, когда последний раз на 9:00 приходил.

f1xmAn ★★★★★
()
Ответ на: комментарий от abcarado

//алсо, вообще юзабельный язык в плане использования?

Еще бы. На крайняк можно и за пределы jvm со своей сишечкой вылезти. ;-)

f1xmAn ★★★★★
()
Ответ на: комментарий от f1xmAn

Освежить свои знания в си, что ли? ;-)

Ага, чтобы совсем не забиыть :D

В аутсорсинговых конторах за такое можно получить втык?

Часто опаздывал часа на 3-5, иногда вообще забивал приходить. Разве что один человек на входе тыкал электронным пропуском, в результате забывчивости которого я «работал по ночам» :D

abcarado
() автор топика

Перспективы очень хорошие.
Будет все более и более популярна, так как позволяет использовать для программирования тех, кому в мире С/C++ просто не выжить изза отсутствия мозгов.

Соответственно после С вам будет проще.

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

IMHO GUI на Java пишут только извращенцы, соответственно лучше заняться web.

Надоел мне Си, копание в бинарниках, hex, ASM, отладчик и поиск причин переполнения стека до невозможности.

В Java мире тоже хватает проблем.

grim ★★☆☆
()
Ответ на: комментарий от Legioner

хе хе хе .

что пых что жабка - у обоих языков настолько многочисленное девелопер-община , что можно как «ведро студентов» так и гуру обнаружить

в случае гуру сам язык (входной синтаксис) играет меньшую роль — куда большую понимание ситуации в целом и как виртуальная машина (интерпретатор/компилятор байткода) себя ведёт.

а так , что первый , что вторая - языки со своими «особенностями» - у жабки благодоря её ентерпрайзности - много много стеков технологий - у пыха благодоря легиону лемингов с этим тоже вполне впорядке.

qulinxao ★★☆
()
Ответ на: комментарий от abcarado

Ну так пояснее стало вроде) Тут вот какое дело, если вам будут 15 балбесов писать код на ява, думаете легче станет? Ну будете отлавливать утечки памяти за счёт висячих неубитых объектов. Некоторые части придётся писать на С или С++ и вызывать через jni или ещё какими способами. Вон андроидовцы, далеко не всё на жабе пишут. И уж копаться в коде на разных языках и ещё следить как всё это взаимодействует, не легче. В любом случае всё упирается в людей, и жаба тут не спасёт, хотя конечно как кросплатформенному языку с мегатоннами библиотек ей конкурентов нет.

ixrws ★★★
()
Ответ на: комментарий от buddhist

Вас завалили на собеседовании?

Учить Джаву надо, работу приличную найти.

А уж потом часами просиживать на форуме.

Bioreactor ★★★★★
()
Ответ на: комментарий от reserved

Неправда, лямбды реализованы через invokedynamic и MethodHandle.

В нынешней реализации это ещё больший тормоз, чем лишний класс. И я не вижу, как это можно сделать быстрее.

yyk ★★★★★
()
Ответ на: комментарий от vertexua

Сразу после релиза MethodHandle как раз будет указыват на класс, но само его наличие позволит спрыгнуть на реализации покруче чуть ли не в минорном апдейте

Как в пределах jvm описать поле/параметр как лямбда с определёнными типами (или дженерик) кроме как классом (интерфейсом)? Что называется, не поверю, пока не увижу.

yyk ★★★★★
()
Ответ на: комментарий от amazpyel

Джава сейчас мэйнстрим ибо Андроид мэйнстрим.

Java была мэйнстримом задолго до Андроида и выход последнего на рынок на её позиции не повлиял: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Что говорит о реальных позициях Java. В смысле, что даже если столь заметное явление, как Android, на ней почти не сказывается.

KRoN73 ★★★★★
()
Ответ на: комментарий от abcarado

Неужто повально серваки на Java?

Понятие «сервак» очень расплывчато. Но мелокразмерном Web'е Java распространена мало. На толстых корпоративных решениях — почти эксклюзивна.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.