?
Ни о какой безапелляционности в моих высказываниях не может быть и речи! [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

о джаве [сент. 22, 2017|04:41 pm]
Anatoly Vorobey
[Tags|]

Джава - это не язык, а тенденция. На любом языке можно писать на Джаве. Можно писать на C++ на Джаве и даже на Питоне на Джаве.

Вот так, например, пишут на Джаваскрипте на Джаве. Это из библиотеки Closure Library, одно время главного фреймворка, в котором писали на джаваскрипте в Гугле (сейчас выбор намного больше: есть Angular, Polymer, используют и другие библиотеки, не написанные в Гугле).



Если вы пишете на Джаве, то довольно тяжело не писать на Джаве - сам язык это вроде бы и позволяет, но сложившаяся экосистема библиотек и культурных практик тянет в направлении писать на Джаве на Джаве. Но если вы пишете не на Джаве, то лучше не поддаваться соблазну писать на этом языке на Джаве.
СсылкаОтветить

Comments:
[User Picture]From: dzz
2017-09-22 02:11 pm
Напомнило "На любом языке можно писать на perl-е. Кроме python-а" ;)
(Ответить) (Thread)
[User Picture]From: salas
2017-09-22 02:55 pm
Есть боянистая дискуссия, являются ли Python, JS и другие языки приемлемыми лиспами. А вот как бы определить, что такое приемлемый перл?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: sergushenkov
2017-09-22 02:11 pm
Ни Джавы, ни джаваскрипт не знаю - поэтому не оценить пример по достоинству. На Джава-Питоне случайно нет образца? :)
(Ответить) (Thread)
[User Picture]From: rinnve
2017-09-22 03:03 pm
Примеров сходу не приходит в голову, но вот хорошая статья для (бывших) джавистов про то, как не тащить джавистские привычки в Питон: http://dirtsimple.org/2004/12/python-is-not-java.html
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: dims12
2017-09-22 02:13 pm
Ниче не понял. А как надо не на Джаве?
(Ответить) (Thread)
[User Picture]From: unibasil
2017-09-22 02:33 pm
Без Джавы. Даже если на Джаве.

P.S. Действительно, более удручающего зрелища, когда JS пишут в Java-style, представить трудно.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: erendir
2017-09-22 02:38 pm
а можно для далёкого от Джавы и Джаваскрипта программиста пояснить, что в приведенном кусочке не так?
(Ответить) (Thread)
[User Picture]From: unibasil
2017-09-22 03:12 pm
Всё так. Но так писать не надо. Это всё-таки язык программирования, а не юриспруденции, где нужно простейшие вещи обязательно описывать в виде "верёвка есть вервие простое".
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: pigmeich
2017-09-22 02:43 pm
Что самое интересное, компилятор регулярно давится (но прожёвывает) такие экзерсисы.
(Ответить) (Thread)
[User Picture]From: dims12
2017-09-22 03:23 pm
С каких пор у Джаваскрипта появился компилятор? Или имеется в виду JIT?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: dims12
2017-09-22 03:10 pm
На Джаве было бы так:

package goog.dom;

public enum TagName {
    I ("I"),
    IFRAME("IFRAME"),
    IMG("IMGE);

    private final String tagName; 

    TagName(String tagName) {
        this.tagName = tagName;
    }
}



Edited at 2017-09-22 15:10 (UTC)
(Ответить) (Thread)
[User Picture]From: earlesspierre
2017-09-22 03:43 pm
Ни одной factory, ни одного singleton, это недоразумение, а не джава! Настоящая джава делается вот так
(Ответить) (Parent) (Thread)
[User Picture]From: vmenshov
2017-09-22 04:13 pm
Писать надо на С#. Он офигителен.
(Ответить) (Thread)
[User Picture]From: redis
2017-09-22 04:39 pm
Точно! Принципиально отличается от Джавы - ведь в C# скобочку принято ставить в новой строке
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: avnik
2017-09-22 05:44 pm
ну при желании можно и на хаскеле писать на фортране.
(Ответить) (Thread)
[User Picture]From: dmarck
2017-09-22 06:48 pm
!!!!!
(Ответить) (Parent) (Thread)
From: (Anonymous)
2017-09-22 06:14 pm
Ну попробуйте пописать на Хаскеле на Джаве.

Ну и как бонус, попробуйте пописать на Джаве на Хаскеле.
(Ответить) (Thread)
[User Picture]From: migmit.dreamwidth.org
2017-09-22 06:45 pm
i :: goog.dom.TagName = goog.dom.TagName("I")
iframe :: goog.dom.TagName = goog.dom.TagName("IFRAME")
img :: goog.dom.TagName = goog.dom.TagName("IMG")

Вот в обратную сторону — да, посложнее. Но можно.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: redis
2017-09-22 07:26 pm
Кстати, классика:

(Ответить) (Thread)
From: (Anonymous)
2017-09-22 08:58 pm
Лихо.
(Ответить) (Parent) (Thread)
From: caztd
2017-09-22 08:58 pm
Приходится много работать с C++ кодом написанным на жабе.
После этого я начал реально ценить хороший C++ код.
Насколько он все же более прост для понимания.
OOP (в стиле жабы) это все же зло.
(Ответить) (Thread)