avva: (Default)
[personal profile] avva
Джава - это не язык, а тенденция. На любом языке можно писать на Джаве. Можно писать на C++ на Джаве и даже на Питоне на Джаве.

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



Если вы пишете на Джаве, то довольно тяжело не писать на Джаве - сам язык это вроде бы и позволяет, но сложившаяся экосистема библиотек и культурных практик тянет в направлении писать на Джаве на Джаве. Но если вы пишете не на Джаве, то лучше не поддаваться соблазну писать на этом языке на Джаве.
Page 1 of 4 << [1] [2] [3] [4] >>

Date: 2017-09-22 02:11 pm (UTC)
From: [identity profile] dzz.livejournal.com
Напомнило "На любом языке можно писать на perl-е. Кроме python-а" ;)

Date: 2017-09-22 02:11 pm (UTC)
From: [identity profile] sergushenkov.livejournal.com
Ни Джавы, ни джаваскрипт не знаю - поэтому не оценить пример по достоинству. На Джава-Питоне случайно нет образца? :)

Date: 2017-09-22 02:13 pm (UTC)
From: [identity profile] dims12.livejournal.com
Ниче не понял. А как надо не на Джаве?

Date: 2017-09-22 02:33 pm (UTC)
From: [identity profile] unibasil.livejournal.com
Без Джавы. Даже если на Джаве.

P.S. Действительно, более удручающего зрелища, когда JS пишут в Java-style, представить трудно.

Date: 2017-09-22 02:36 pm (UTC)
From: [identity profile] dims12.livejournal.com
Допустим. Но нельзя ли объяснить, что значит "Java-style" и как надо было написать тот же код без него?

Date: 2017-09-22 02:38 pm (UTC)
From: [identity profile] erendir.livejournal.com
а можно для далёкого от Джавы и Джаваскрипта программиста пояснить, что в приведенном кусочке не так?

Date: 2017-09-22 02:43 pm (UTC)
From: [identity profile] pigmeich.livejournal.com
Что самое интересное, компилятор регулярно давится (но прожёвывает) такие экзерсисы.

Date: 2017-09-22 02:55 pm (UTC)
From: [identity profile] salas.livejournal.com
Есть боянистая дискуссия, являются ли Python, JS и другие языки приемлемыми лиспами. А вот как бы определить, что такое приемлемый перл?

Date: 2017-09-22 03:03 pm (UTC)
From: [identity profile] rinnve.livejournal.com
Примеров сходу не приходит в голову, но вот хорошая статья для (бывших) джавистов про то, как не тащить джавистские привычки в Питон: http://dirtsimple.org/2004/12/python-is-not-java.html

Date: 2017-09-22 03:10 pm (UTC)
From: [identity profile] dims12.livejournal.com
На Джаве было бы так:

package goog.dom;

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

    private final String tagName; 

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

Edited Date: 2017-09-22 03:10 pm (UTC)

Date: 2017-09-22 03:10 pm (UTC)
From: [identity profile] unibasil.livejournal.com
Это когда вместо того, чтобы в JS просто создать объект, скажем
{
name: "John Silver",
legsCount: 1,
possessions: ["parrot"]
}
типичные джаваисты начинают впадать в абстракционизм и ваять библиотеки фабрик для создания фабрик персон, отягощённых каким-либо имуществом.

Апофеозом этого на моей памяти была ситуация, когда для создания, скажем, простого объекта с координатами (longitude, latitude) была написана функция-конструктор LonLat, которой, по иронии судьбы, в качестве аргумента и передавался уже готовый объект {lon: 131, lat: 43}... ;)

Date: 2017-09-22 03:12 pm (UTC)
From: [identity profile] unibasil.livejournal.com
Всё так. Но так писать не надо. Это всё-таки язык программирования, а не юриспруденции, где нужно простейшие вещи обязательно описывать в виде "верёвка есть вервие простое".

Date: 2017-09-22 03:12 pm (UTC)
From: [identity profile] dims12.livejournal.com
Да, но в примере выше этого нет. Больше похоже на код, сгенерированный автоматическим генератором, чем программистом-джавистом.

Date: 2017-09-22 03:17 pm (UTC)
From: [identity profile] dims12.livejournal.com
Надо реюзать свои навыки. Если Питон съедает Джавистские штучки, то надо этим пользоваться.

Date: 2017-09-22 03:17 pm (UTC)
From: [identity profile] dims12.livejournal.com
И вообще. Я на всех языках думаю на С++ :)

Date: 2017-09-22 03:21 pm (UTC)
From: [identity profile] dims12.livejournal.com
Мне кажется, либо этот код сгенерирован автоматическим генератором, либо за ним стоит какая-то идея, которую мы не знаем.

Никакой связи этого кода с Джавой я не вижу.

В Джаве точно так же, как и в Джаваскрипте, можно присваивать "голые" строки и почему автор этого не сделал -- неведомо. Во всяком случае не по причине того, что он привык к Джаве.

Date: 2017-09-22 03:23 pm (UTC)
From: [identity profile] dims12.livejournal.com
С каких пор у Джаваскрипта появился компилятор? Или имеется в виду JIT?

Date: 2017-09-22 03:29 pm (UTC)
From: [identity profile] unibasil.livejournal.com
От этого код не перестаёт быть чудовищным с точки зрения духа JS. ;)

Date: 2017-09-22 03:43 pm (UTC)
From: [identity profile] earlesspierre.livejournal.com
Ни одной factory, ни одного singleton, это недоразумение, а не джава! Настоящая джава делается вот так (https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/config/SimpleBeanFactoryAwareAspectInstanceFactory.html)

Date: 2017-09-22 04:10 pm (UTC)
From: [identity profile] sergushenkov.livejournal.com
Спасибо!

Date: 2017-09-22 04:13 pm (UTC)
From: [identity profile] vmenshov.livejournal.com
Писать надо на С#. Он офигителен.

Date: 2017-09-22 04:29 pm (UTC)
From: [identity profile] ospf-ripe.livejournal.com
Я видел красивый код на Perl, и видел нечитаемое месиво на Python-е. Плохой код можно написать на любом языке и Python тут не исключение. В Python-e это еще отягощается отсутствием скобок - в коде отступом в 2 пробела и несколькими уровнями вложенности плохо видно границы блоков. Много уровней вложенности и циклы на страницу и больше это плохой стиль в любом языке, но в Python это выглядит особенно плохо.

Date: 2017-09-22 04:39 pm (UTC)
From: [identity profile] erendir.livejournal.com
я всё-ещё теряюсь в догадках, что там блин не так.

Date: 2017-09-22 04:39 pm (UTC)
From: [identity profile] redis.livejournal.com
Точно! Принципиально отличается от Джавы - ведь в C# скобочку принято ставить в новой строке

Date: 2017-09-22 04:40 pm (UTC)
From: [identity profile] redis.livejournal.com
Да я и на C++ писал как на Джаве... Даже не стыдно в этом признаться
Page 1 of 4 << [1] [2] [3] [4] >>

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 10:08 am
Powered by Dreamwidth Studios