Да прям. Вот именно - область применения, где нужно 1) Мультиплатформенность 2) ООП 3) Быстродействие. а) серверные приложения б) мобильные устройства в) и т.д. добавлено через 51 секунду Ну сделайте
Обоснуйте. по пунктам. Чем в написании серверных приложений С++ лучше С? В быстродействии и мультиплатформенности он уступает, а ООП... Без ООП невозможно написать сервер что ли? Что Вы имеете в виду? Если прошивки, то писать их на С++ будет только извращенец. Если приложения - то наверное С++ в этом случае так хорош, что все предпочитают жаву Вот это я понимаю, конкретная и узкая такая ниша А на фуя оно мне? К тому же все сделано до нас.
Да, попробуйте написать приложение уровня word для мобильного устройства на jave Можно написать и на ассеблере, но какова будет скорость разработки и поддержки? Ну если для Вас игры это довольно узкая ниша, я прям так и не знаю...
Что сравниваем, простоту написания или скорость выполнения? Если первое, то у явы сто очков вперед, а если ворое, тот тут бабка надвое сказала. Не уверен, что на сипипи можно написать более быстрое приложение. Все смешалось, кони, люди... Какая бы казалась связь между парадигмой и ЯП? А по поводу разработки, так С++ очень плох для разработки и тем более для поддержки. Начиная от хреновой читабельности (это в нормальных руках поправимо, хотя нафига бы лишние усилия?) заканчивая крайне кривой архитектурой самого языка (это уже непоправимо в принципе) Ах, таки под "и т.д." подразумевались игры? Хорошо, согласен. Правда то, что игры пишут в основном на С++ еще никак не говорит в пользу языка, а скорее говорит о моде и привычках, ну это ладно. Если Вы утверждаете, что С++ - язык подходящий для создания игр и там у него нет альтернатив, то я пожалуй приму этот довод. Кстати игры - не такая уж и большая отрасль. Мир вычислительной техники гораздо шире домашних ПК-шек, за которыми сопливые подростки рубятся по 15 часов в сутки.
Основополагающая. От языка программирования зависит применяемая парадигма программирования. А у какого языка, по Вашему, хорошая архитектура?
Ой, а не наоборот ли? Если я захочу писать драйвер, где ООП трудно приткнуть, то я возьму для этого Си и асм. А если те же игры, где без ООП может быть сложновато (но все равно может, поому что ООП это не незаменимое решение) то и плюсанутый прокатит. Так что на основании парадигмы язык выбираем. Или вот так. Можно писать на С++, но не используя ООП. Так? Лисп. Вне всякого сомнения. Ну и вообще функциональные языки наверное (я с ними знаком поверхностно, поэтому зуб давать не буду )
1) Парадигмы программирования далеко не заканчиваются ООП 2) Цитата из википедии: Лисп - функциональный язык, сравнивать его с императивными (С++ и си) нет смысла.
Вы здорово ошибаетесь. Лисп - мультипарадигменный язык. Вот к примеру - мне по работе сейчас требуется вести своеобразные расчеты с комплексными числами. Я пишу на Лиспе калькулятор, заточенный под данную задачу. Все написано в императивном духе, никакой функциональщины. Так что вполне можно сравнивать. Тем более когда речь идет о "хорошести" или "плохости" архитектуры. Кстати Лисп не очень подходит под определение "функциональный язык" из-за побочных явлений в функциях. Другое дело - Хаскелл...
а также проверкой типов. неужели у нас в Волгограде где-то давали нормальное образование? как один из критериев, у того, у которого меньше всего требуется бумаги на ее описание
Ну строго говоря не совсем так. Я тут написал для сына простенький интерпретатор простенького языка, чтоб тренировался. Так описание архитектуры и листа А4 не займет Но оно как то и архитектурой стыдно называть!
Иногда лучше молчать, чем пороть заведомо ложные сведения. Опровержение нелепой фразы: http://4pda.ru/forum/index.php?showtopic=117963 А тут он прав. Однако MS пытается пропихнуть XNA. Посмотрим. Доверять википедии в вопросах определений, особенно спорных - что доверить обезьяне кнопку ядерного удара.
Иногда лучше прежде посмотреть что находится по ссылке которую даешь на форуме, где там сведения, что Documents to go написаны на Jave?
Ну файл(Documents_To_Go_v2.003.apk) то скачать лень уже, который к первому посту присоединен и посмотреть, что внутри? Или у вас сомнения, что если класс наследован от java.lang.Object, то он на Java?
Ну что вы мне какими-то андроидами тычите, я вот скачал Documents to go для Windws Mobile и посмотрел, что там внутри - нормальный Native exeшник, явой и не пахнет.
Справедливости ради следует отметить, что Вы как бы заявили о невозможности (или крайней сложности) написания подобного приложения на жабе. Так что платформа ни при чем
Ну и? я просмотрел Native контент для Win Mobile, там явой и не пахнет. А с пакаджем андроида - у мня нет пока времени разбераться. К тому же, я бы хотел официальный пруф линк, что Documents to Go написан полностью на Java, в независимости от платформы. Вовсе не означает что на Jave в принципе не возможно написать word, я просто сравнивал скорость работы на мобильных устройствах С++ и явы, добиться паритетности очень и очень сложно.
Решительные у Вас требования однако. Только к чему они? Тут никто не декларировал, что надо все подряд для всех платформ писать на яве. Тут говорили, что на яве писать можно, а если посмотреть процесс написания, то еще и проще чем на приплюснутом. Ну про скорость то как раз ничего не сказано было, ну да эт ладно. То есть скажем так - Вы твердо уверены, что это приложение на андроиде будет работать медленнее чем у Вас на вин-мобайле? Тогда любопытно будет узнать - с чего такое мнение?
Пипец. Я же сказал смотреть версию для андроида. Тогда и не делайте ложных высказываний. Версия под андроид написана на жабе. И если у вас не хватает навыков это узнать - это не значит, что данных навыков нет более ни у кого. Предложенная мной программа работает быстро. ---------- Сообщение добавлено 04.05.2010 19:32 ---------- Цена вопроса $300. Согласны или будете извиняться? Ссылку на доказательства для программистов я дал. Для обывателей цена встанет в данную сумму. ---------- Сообщение добавлено 04.05.2010 19:33 ---------- Или извинения.
Вообще-то странно слышать о скорости работы _языка_, коим является Java. Скорость работы определяется средой выполнения уже скомпилированного байт-кода, а именно виртуальной машиной. JVM работает быстро, хотя и ценой увеличенного расхода памяти (и порой не очень сильно увеличенного, благодаря режиму работы Hot Spot). На тех же мобильных устройствах сильно помогают технологии прямого выполнения байт-кода типа Jazelle. А на андроиде, хоть язык разработки и Java, но среда выполнения - вовсе не JVM, а Dalvik VM, AFAIR, на базе Apache Harmony, со своим байт-кодом и технологиями оптимизации. Кстати, возможна и обратная ситуация - в JVM могут выполняться программы, скомпилированные с других языков, той же Scala.
Ухо режет, все равно что "Qashqai - это не машина, а ниссан". Вот только все равно с использованием библиотек джавы. За скорость языка считают как правило скорость мейнстрим-реализаций. P.S. Сабж декомпилил. Более полутора тысяч обычных обфусцированных жабоклассов без намеков на левые ЯП.
А Вы согластны извиниться за вменение мне слов, что разработка на jave сложных приложений не возможна?
alexsoff, я привел доказательство того, что это возможно: приложение класса Word для мобильного устройства на джаве. Итак, признайтесь, вы не поняли доказательство? Распаковывать apk умеем? С джавой работать умеем? Декомпилировать байткод Dalvik умеем? В полученный листинг смотреть умеем и искать в нем java.lang.Object/java.util.Vector/java.lang.Math? Или нужны какие-то другие доказательства?
А никто ничего такого не вменял. Вы говорили - попробуйте написать приложение уровня ворда на яве - Вам привели это приложение. Вы требовали доказательства написание проги на яве - Вам оно было дано.
Аналогия не верна. Dalvik VM - это не JVM хотя бы потому, что все JVM являются стековыми, это требование спецификации байт-кода Java, а Dalvik - это регистровая виртуальная машина. Судя по всему, Вы рассуждаете о том, в чем не разбираетесь. Scala не зависит от библиотек Java, хотя и может их использовать.
Вопрос был шире: Так, как у же писал Beagle 2 - андроид ява не совсем сановская ява, а пойдет ли это приложение на других виртуальных машинах для винмобайла например? PS как там у явы? Write once, run anywhere
Нет, это уже пипец какой то! Простите, но Вы реально просто выкручиваетесь! Там андроид - тут винмобайл. Там ява и тут ява, в чем вопрос то? Или Вам нужна реализация совпадающая побуквенно в коде? Но это ж чушь млин, в самом широком смысле. А если два разных программиста писали, да один и тот же класс по разному обозвали, то все, уже не катит?
Оно просто не скомпилируется JDK по причине отсутствия специфических андроидовских классов... Ибо Java - это, еще раз повторяю, _язык_, а Android и JavaSE/ME - это _платформы_.