LINUX.ORG.RU

Какова вероятность, что Google заменит Java на Go в Android?

 , , ,


0

1

Например, для популяризации и продвижения языка, а также чтобы полностью исключить всякие проблемы с Oracle и другими мутными конторами?

Сколько вы дадите очков вероятности из 100?

Продвинувшись в веб-разработке до состояния зарабатывать деньги, решил освоить разработку под Android (про Cordova в курсе), но смущает Java с её нереальным количеством вермишели в коде, простейший хелловорлд в которой выглядит как законченная программа на руби/питоне.

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


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

Да неужели? А кто же тогда выполняет программы [написанные] на Java? Никто? Программы [написанные] на Java невыполнимы? Про интерпретаторы даже не заикайся.

Программы на Java - просто текст. Есть транслятор с этого текста в байткод JVM, который способны выполнять различные инкарнации JVM.

Нет спецификации JVM. Есть «The Java® Virtual Machine Specification»

Ну так JVM так и расшифровывается. Это просто удобное сокращение.

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

Программы на Java - просто текст. Есть транслятор с этого текста

Программы на любом языке это просто текст, который как-то преобразуется, чтобы его мог выполнить процессор. И программу на Java вовсе даже не обязательно преобразовывать в байткод для какой-то JVM. Её можно компилировать напрмую в бинарный код, и тогда её будет выполнять непосредственноп роцессор, а не JVM, как обычно. Прочитай последнее предложение и подумай что в нем написано. В общем, толку от разговора с тобой - как от козла молока.

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

Программы на любом языке это просто текст, который как-то преобразуется, чтобы его мог выполнить процессор. И программу на Java вовсе даже не обязательно преобразовывать в байткод для какой-то JVM. Её можно компилировать напрмую в бинарный код, и тогда её будет выполнять непосредственноп роцессор, а не JVM, как обычно.

Ты же не будешь в этом случае считать процессор jvm, так? Ну а dalvik почему считаешь?

Так тебе вроде об этом и говорят. Dalvik - это виртуальная машина, не имеющая никакого отношения к jvm, кроме наличия транслятора из байт-кода jvm в байт-код dalvik

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

Dalvik имеет прямое отношение к JVM ибо выполняет действия, которые должна выполнять a Java Virtual Machine (без значка ®) по спецификации The Java® Language Specification. Упомянутая Java Virtual Machine при этом - абстракция, которая вовсе не обязана соответствовать какой-то конкретной спецификации по байткоду и тому подобному. Поэтому Dalvik является a Java Virtual Machine в контексте спецификации Java® Language Specification и в контексте данного топика.

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

По этой логике, если мы оттранслируем java-код в машинный код, то реальная ВМ тоже будет иметь право называться JVM, т.к. будет выполнять «действия, которые должна выполнять a Java Virtual Machine (без значка ®) по спецификации The Java® Language Specification». Это глупо.

Ты путаешь абстрактную машину языка(она есть и для C++, например), которая описывается явно или неявно в спецификации языка, с виртуальной машиной.

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

Я ничего не путаю, это ты выдумываешь. В спецификации языка Java на чистом английском языке написано: Java Virtual Machine. И Dalvik является именно тем, что под этим подразумевается.

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

простейший хелловорлд в которой выглядит как законченная программа на руби/питоне.

а как выглядит на педоне программа уровня hadoop или tomcat? правильно, никак, потому что на педоне такое не взлетит

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

Я бы ее вообще исключил, когда не нужна (ну, как опцию), т.к. добавляет костылей (порадовало, что прога написанная под lin/win собралась и даже запустилась (gcc он и есть gcc), но... неизбежно потребовалось таскать ресурсы/подключать so-шки через велосипеды жабопрослойки :) В крайнем NDK сделали возможность «как бы» убрать jni, но вот только «как бы»

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

Не хочется думать что постоянные подтормаживания андроидов это не джава... ага ... ;)

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

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

Dalvik - это виртуальная машина

это ключевое ризнание в контексте обсуждения. А то, что DalvikVM исполняет не сразу Java, а «пяту воду на киселе», сути не меняет

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

Программы на любом языке это просто текст, который как-то преобразуется, чтобы его мог выполнить процессор

Да.

И программу на Java вовсе даже не обязательно преобразовывать в байткод для какой-то JVM. Её можно компилировать напрмую в бинарный код, и тогда её будет выполнять непосредственноп роцессор, а не JVM, как обычно.

Да. А еще программу на Java можно транслировать в байткод Dalvik и тогда ее будет выполнять Dalvik VM, а не JVM, как обычно.

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

ибо выполняет действия, которые должна выполнять a Java Virtual Machine (без значка ®) по спецификации The Java® Language Specification. Упомянутая Java Virtual Machine при этом - абстракция, которая вовсе не обязана соответствовать какой-то конкретной спецификации

Если я правильно помню, то The Java® Language Specification, когда говорит о JVM, часто ссылается на The Java® Virtual Machine Specification или говорит, что за подробностями нужно обращаться туда.

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

Он с версии 1.5 справляется без jvm

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

Не часто, а как раз редко. И именно потому, что эти две спецификации слабо связаны. Но при этом JVM в The Java® Language Specification - ключевое понятие. И это вовсе не обязательно та JVM, которая описана в The Java® Virtual Machine Specification. Уясни уже это наконец.

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