Java или C++ для сложных задач, проектов и computer science?
Добрый вечер, господа.
Для полноты картины, кратко о себе - 23 года, middle PHP (Yii2) в основе своей REST штуки , Знаю JS (Как устроен и тд и тп), но задачи на нем не решаю, просто знаю.
Работаю в офисе, небольшой компании на должности мидла php.
Хочу перейти на серьезное программирование, серьезные и сложные задачи, проекты.
Как обычно, не могу выбрать между Java и C++. Оба языка трогал-щупал, на базовом уровне (учил базовые алгоритмы и структуры данных, реализовывал практические задачи на обоих языках с помощью гугл)
На Java гораздо больше вакансий (раз в 5 больше), соответственно легче устроиться на работу и уже набраться опыта и тд, но писать очередные CRM и тп не очень то хочется, хочется каких-то серьезных задач.
Я посмотрел интересующие меня проекты, отрасли, все написано на Си/С++, банальные вещи типа веб серверов, баз данных и тд и тп все на Си.
Но на C++ вакансий мало, и перспективы туманны (не считая легаси), соответственно за адекватный срок (6-12 месяцев) перейти на новую работу с новым стеком, на позицию стажер/джун не получится.
Подскажите, какой выбор будет более перспективен и адекватен?
Можно ли относительно безболезненно и "быстро" перескочить с java на C++ (хотя обычно наоборот) ?
В Java разве иначе?
Ходят слухи, что новые проекты все больше пишут на котлине.
Кроме в тех сферах где раскрывается весь потенциал ++ с Java нечего делать.
Это к этому
Я посмотрел интересующие меня проекты, отрасли, все написано на Си/С++
Подскажите, какой выбор будет более перспективен и адекватен?
PHP, Python, JavaScript, C#, Golang, Rust.
Что мешает развиваться в своём направлении попутно изучая, щупая новые? В 23 года то? А как подойдёт время плавно переехать.
Ведь для ++ полгода-год это мало, учитывая что ты будешь занят в основном другим и не сможешь каждый день по 4567 часов сидеть и осваивать всю инфраструктуру с нуля.
Опыт php в этом случае даже вреден, там все по-другому. В современной Java 8+ ненамного проще, посмотри на тот же Spring и т.п. Не на core же писать.
Roman, По вакансиям я имел джуном, чтобы набраться опыта на реальных проектах, и можно было бы идти в яндексы)
По душе мне больше кресты, хочу пощупать QT, пописать что-нибудь p2pшное, и тд)
Но в реальном мире придется похоже изучить Java, а плюсы для души копать)
Продолжать быть разработчиком PHP больше года уже не могу, веб надоел до ужаса)
банальные вещи типа веб серверов, баз данных и тд и тп все на Си.
Jetty, Apache Tomcat, Apache Derby, Apache Cassandra и многие другие указывают на ваши неправоту. Да и солидная часть кодовой базы Oracle Database на Java написана. На Java нельзя написать разве что драйвера или операционную систему.
Подскажите, какой выбор будет более перспективен и адекватен?
Подскажите, что для вас перспективность? Хотите написать СУРБД, которая превзойдёт по популярности MySQL и PostgreSQL вместе взятые, чем прославит вас в веках? C++ для этой цели может оказаться более подходящим инструментом. Хотите ни дня не оставаться без работы и зарабатывать большие деньги следующие 50 лет? С Java это проще.
Сергей Горностаев,
Пытался найти что сделано на Java, ничего адекватного кроме "CRM, Бизнес использует" и тп не нашел.
Посмотрел на github, у Java больше активности, но оно и понятно, но библиотеки в основном это фреймворки и тп, в то время как у плюсов это всякие блокчейн плотформы, субд и тп.
(Возможно, я смотрю в книгу - вижу фигу)
Вообще, больше хотелось бы стать специалистом в общем плане, создавать интересные и сложные проекты, а не просто рутинно работать и зарабатывать большие деньги
Но мне кажется - можно просто поработать на Java и на C++, в любом случае, любой язык с сопутствующими ему технологиями/библиотеками и тд и тп, поднимет мой уровень, и многому меня научит.
coalesce7cd, куда важнее для создания интересных и сложных проектов не язык, а личная активность программиста и принимаемые им карьерные решения. Можно на C++ заниматься унылой автоматизацией бизнес процессов, можно на Java двигать отрасль в будущее.
C++ сегодня очень сложен как язык. Порог вхождения высок и новички часто обламывают об него зубы доходя лишь до арифметики указателей. Там - половина ньюкамеров можно выносить ногами вперед. Скорость разработки прикладного ПО под backend на Java значительно выше. Да и облачные технологии такие как Google Clound , Amazon AWS поддерживают все языки кроме С++. Вобщем если автор хочет быстрых денег - то лучше Java.
В С++ надо вырасти до седых волос чтобы представлять что-то серъезное потому-что стек С++ плотно уходит в операционную систему и железо. Невозможно знать просто С++. Надо быть немного сисадмином и железячником. Иначе в С++ делать нечего.
Разработки на "С" это ну Ооооочень специфично. Разработки на чистом "С++" тоже специфичны, но уже поменьше.
Для продакшна если из области ПО: Java, С#. Если вольетесь, то может потом и о "сях" больше заинтересуетесь.
За всем в наше время не угнаться. Как бы не хотелось. Выбирайте что по душе. Разве что Java для удаленки не очень гуд.
Я бы начал с С#. Потом с него можно без особого труда на Java "переехать".