Форумы-->Форум для внеигровых тем--> 1|2|3|4|5|6
Автор | Какой язык программирования выучить? |
К.О. как бы намекает, что Java - это, в первую очередь, энтерпрайз. | прогеры оракла в курсах? | JVM сводит полезность языка в 0.
Ох ты ни фига себе. А мы-то и не знали. А оно вон как, оказывается.
На с ты прогаешь, на джаве - борешься с виртуалкой. Я уверен, что те, кто её тут предлагают, мало что в ней смыслят.
О как. А что ты в ней смыслишь, красавчег? Если ты борешься с виртуалкой, это говорит только о твоей личной криворукости. А нормальным людям JVM даёт такие возможности, ради которых другие прогеры чего только не вытворяют.
Да, java - язык более высокого уровня, чем C. Но ведь это нужно учитывать при выборе платформы для решения своей задачи. Универсального пока что ничего нет.
java можно использовать для разных задач
Так, и для каких-же?
Например, многопоточные программы. В JVM очень круто реализована работа с потоками.
если я и Вы не знаете о программах на Java для десктопа - это не значит что их нет.
Я знаю много таких.
А к чему тогда языком трепем? | учи АS3 | для FireSwarm:
Не понятно, к кому именно относится ваш последний вопрос, ибо объединять в одну цитату фразы разных постов (причем от разных людей) не комильфо. Отвечу за себя - я действительно считаю, что java не лучшее средство для написания программ для десктопа. Для этого есть c++. Как я уже не раз тут говорил - java прежде всего ориентирован на web. | для MrSlayer:
Как я уже не раз тут говорил - java прежде всего ориентирован на web.
Я джава-прогер. Не написал ни чего под веб за всю жизнь. Так что я с тобой очень не согласен. | Ваше право не согласиться. Только вот я не знаю ни одного преимущества java перед c++ на этом рынке. Даже кажущаяся кроссплатформенность летит к чертям, когда требуется написать что-либо на железку, на которую нельзя накатить java-машину. Я уж не говорю про скорость разработки и богатство инструментария. | Только вот я не знаю ни одного преимущества java перед c++ на этом рынке.
JVM - классная штука, если ей уметь пользоваться. Здесь такая крутая реализация многопоточности, что разрабатывая то же на C++, ты семь трусов порвёшь, пока таких результатов добьёшься. В ней на порядки выше безопасность.
Скорость разработки, кстати, штука субъективная и во много зависит от задачи. Поэтому правильно не говоришь))) А инструментария там давно уже завались на все случаи жизни.
Даже кажущаяся кроссплатформенность летит к чертям, когда требуется написать что-либо на железку, на которую нельзя накатить java-машину.
Об этом я писал выше. Нужно выбирать инструмент под конкретную задачу, а не пилить отвёрткой, если умеешь только ей пользоваться. А если уж за это взялся - сам себе злобный буратино. | Я с тобой полностью согласен в части того, что выбор языка зависит на 99% от задачи. Личнр я сейчас пишу на java веб-приложения. Только вот это все не отменяет того, что удобнее и быстрее c++ для разработкм под десктоп еще ничего не придумали.
Что касается твоего примера про многопоточность - не пойму чем многопоточность на c++ хуже... | Да, про безопасность тоже не понятно. Какая именно имеется ввиду? | для MrSlayer:
Только вот это все не отменяет того, что удобнее и быстрее c++ для разработкм под десктоп еще ничего не придумали.
Да ладно... На дэлфях и то удобнее.
не пойму чем многопоточность на c++ хуже...
Тем, что ей нужно заморачиваться. А в java это всё реализовано на уровне JVM, ты только пользуешься. И реализовано очень эффективно.
Да, про безопасность тоже не понятно. Какая именно имеется ввиду?
Имеется в виду, что java-программа выполняется на виртуалке, а кривая прога на c++ может вполне натворить делов на серваке. | Под десктоп я не имел ввиду обязательно оконные :) но даже если рассматривать и их, то rad studio позволяет писать на c++ с функционалом как в делфи. Другое дело, что этого никто не делает, тк все давно переехали на QT.
Остальные аргументы не о чем. Кривая прога на java может приводить к утечкам. В инете полно кстати примеров. И как сборщик мусора не работает как надо тоже :) плюс не нужно забывать о быстроте работы, без jvm программа таки будет работать быстрее, хотя тут в основном зависит от прямоты рук. | без jvm программа таки будет работать быстрее
О боже мой, что за чушь? Это всё равно, что говорить, что программы будут быстрее работать без DLL. Или думаешь арифметика на джаве медленнее? А может вывод в файл? Или проход цикла?
Кривая прога на java может приводить к утечкам.
Кривая прога на джаве вызовет крах JVM, кривая прога на c++ - вплоть до BSOD. Чуешь разницу в последствиях? Особенно на серверах, работающих 24/7?
И как сборщик мусора не работает как надо тоже :)
http://cs538105.vk.me/u2000031127/docs/4a6056551ae2/file.gif
:) | На с++ программа -> препроцессор
На java программа -> java машина -> препроцессор
Понятно, что первый вариант будет работать ненамного, но быстрее.
По поводу безопасности понял о чем ты. Но на деле такие случаи очень редки, программы перед эксплуатацией всегда тестируютс.я. Если программа вызовет крах jvm, то пользователи все равно окажутся без программы :) да и на c++ давно не работают с памятью через malloc free. New и delete выдают исключения, так что bsod очень маловероятен.
Картинка не доступна. Но предвидя какое-то высказывание о его крутости скажу, что преимущество не следить за памятью сказывается на ее расходе. | На java программа -> java машина -> препроцессор
Ау, 21-й век на дворе. Про JIT слышал что-нибудь?
Вот, почитай:
http://www.osp.ru/jw/13032097/
И никогда не говори больше, что java медленнее c++. Разница несущественна. В конечном итоге всё решает прямота рук. | Ты наверное неправильно интерепретировал сказанное, я имелл ввиду не то, что программа "отсылает" данные в jvm, а потом препроцессору, а то, что jvm так или иначе участвует в жизни программы. Как минимум git-компиляция, сборщик памяти, внутренние алгоритмы разделения памяти внутри jvm используют препроцессор, что сказывается в конечном итоге на времени работы. Программы в том числе.
Если более глубоко подходить к вопросу, то оптимизация кода на c++ несколько лучше, потому что java по умрлчанию считает программист=дебил и проверяет все маргинальные случаи. Я с телефона, поэтому примеры поискать не могу, но при желании их можно найти в интернете.
По прямоте рук согласен. Но тут можно и на аасемблере медленнее, чем на c++ написать. | jvm так или иначе участвует в жизни программы.
И что? Как конкретно участие замедляет выполнение программ?
git-компиляция
jit-компиляция увеличивает производительность. У тебя всегда скомпилированный под конкретное железо байт-код. При этом разрабатываешь ты один раз. C#, кстати, похожим образом действует. Со своими тараканами, конечно.
сборщик памяти
Сборщик мусора так же имеет много преимуществ, перед классической моделью управления памятью.
Такое ощущение, что у тебя мнение о работе JVM сложилось из школьных уроков. | Если более глубоко подходить к вопросу, то оптимизация кода на c++ несколько лучше
Если достаточно глубоко подойти к вопросу, то можно найти кучу компиляторов разной эффективности. И у них ещё кучу параметров оптимизации. Если всё делать правильно, не будет лучше оптимизация на с++. А если абы как, то везде это будет плохо проходить. | Как правило любая железка ограничена своими вычислительными мощностями. Параллельное выполнение всех потоков в принципе невозможно. Так или иначе образуется очередь. Jvm не напрямую конечно, но косвенным образом воздействует на все остальные программы.
По поводу моего опыта: я долгое время писал на c++, потом перешел на java, когда понадобилось писать под web. Я конечно пробовал java под десктоп просто для собственного развития, но чудовище swing сразу отбило всю охоту.
Про преимущество сборщика интересно было бы послушать. Я знаю только одно, которое написал выше. И оно крайне сомнительное. Ибо грамотный спец и без него напишет нормально, а неграмотный и на java наделает утечек. | Jvm не напрямую конечно, но косвенным образом воздействует на все остальные программы.
Этим влияние можно пренебречь, оно ничтожно мало.
Про преимущество сборщика интересно было бы послушать.
Навскидку - куда меньшая фрагментация памяти, по сравнению с постоянным созданием-удалением вручную.
а неграмотный и на java наделает утечек.
Не наделает.
Такое ощущение, что все прогеры на c- крутейшие пацаны, а в оракле нубы криворукие виртуалку делают. |
1|2|3|4|5|6К списку тем
|