Всем привет! Я пишу на С++, сложновато дальше обучаться но где то ищу силы. Попадалось кучу людей которые советовали мне JAVA. Я хочу разрабатывать прикладные приложения для всех платформ(по крайней мере Windows, Linux). Когда я начинал писать на JAVA, у меня возникал вопрос - "В чём его кроссплатформенность?". Ведь я не могу всё так же запустить написанное на JAVA в Linux, на Windows,к примеру. Так еще и там нужно 150 строк кода писать ради простой программы. А вот на С++ можно написать программу, скомпилировать её для Windows, и для Linux, причём это не составит труда, так еще и написанные программы на С++ будут работать вечно, ведь они не зависят от системы. Так вот - "Почему JAVA кроссплатформенный, если по сравнению с С++, там больше мораться, но при этом на С++ я могу запускать приложения и на Linux,и на Windows, а на Java - нет."
SaddledSharp, А ты напили программу, показывающую диалог выбора файла на диске. Не ручками путь до файла писать, а именно GUI. Всё, это ответ на твой вопрос. Java абстрагируется от ОС и железа, а на С+ придётся использовать кросс-платформенные библиотеки, которые абстрагируют тебя от ОС и железа и там уже не отделаешься 500 строками кода.
Ясно. Ну это для меня, по сравнению с С++ который может испольняться без компиляторов и на любом ПК без доп.компонентов, это не кроссплатформенность...
SitaBurat, без интерпретаторов* имел ввиду. Потому что можно один раз скомпилировать на своём пк и просто без геммора отправить exe шник без всяких установок лишних.
SitaBurat, В том, что один раз я создавал программу для друга, а у него не было ничего, ни jar ников, ни питон интерпретатора, так мы потом час устанавливали все скрипты и интерпретатор что бы запустить программу, на С++ или Си такого не будет.
у него не было ничего, ни jar ников, ни питон интерпретатора, так мы потом час устанавливали все скрипты и интерпретатор что бы запустить программу
JVM ставится за пару минут, питон с библиотеками не сильно дольше (если правильно всё делать), на php всё что надо ставится через composer, в node.js тоже ничего сложного.
Если всё дело в скорости установки, то что-то вы делали не так, либо слишком мало опыта.
Андрей, Прикол в том, что для Си или С++ ничего не нужно делать, и зачем вы мне это рассказываете? Я итак знаю, и, поверьте, я намного дольше это всё устанавливал
Кросплатформенность Явы в том, что вы можете запустить свой код на всех популярных платформах, включая древние мобилки и микроволновки.
Честно говоря, я прочитал какую-то чушь.
C++ таки да, можно компилировать под все популярные платформы, но не, например, под мой старый телефон на Симбиан и ещё десяток других платформ, где доминирует Ява.
Не, мне для десктоп и программирования микроконтроллеров надо. Я хочу создавать свои инструменты и работать безопасником. Я хз зач мне советуют JAVA если она для мобилок.....
Есть два способа распространения программы на С++: в виде бинарника и в виде исходного кода.
В виде бинарника вам нужно будет каждую новую версию компилировать под разные версии Windows и разные дистрибутивы Linux. Не представляю, сколько такая программа должна стоить, чтобы это приносило доход.
Программа на Java распространяется в виде zip-архива с исходным кодом и требует от пользователя только установки дистрибутива Java на свой компьютер. Что на порядок удобнее для разработчика. А работать способна даже в Android (условно говоря).