LINUX.ORG.RU

В Джаву питоньего синтаксиса подвезли

 , ,


1

1
public int foo(int x) {
    if(x < 10) {
        return 2*x - 1;
    } else {
        return x % 3 * x - 6;
    }
}
public int foo(int x):
    if x < 10:
        return 2*x - 1
    else:
        return x % 3 * x - 6
try(Scanner keys = new Scanner(System.in)) {
    System.out.print("Enter a number: ");
    int x = Integer.parseInt(keys.nextLine());
    System.out.println("Your number was: " + x);
} catch(NumberFormatException e) {
    e.printStackTrace();
} finally {
    System.out.println("Goodbye");
}
try var keys = new Scanner(System.in):
    System.out.print("Enter a number: ")
    int x = Integer.parseInt(keys.nextLine())
    System.out.println("Your number was: " + x)
catch NumberFormatException e:
    e.printStackTrace()
finally:
    System.out.println("Goodbye")

Больше примеров https://github.com/raptor4694/JavaPy

Ну что, пойдут питонисты писать на Джаве или опять что-то не нравится?

★★★★★

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

неужели ты думаешь, что главная причина, почему некоторые питонисты не пишут на Java - это синтаксис?

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

Фи, накарябал препроцессор на питоне для генерации java-кода. Просто эталонное ненужно, срочно заявку в палату мер и весов!

Если бы он запилил это на graal, хотя бы виднелся какой-то смысл.

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

главная причина, почему некоторые питонисты не пишут на Java - это синтаксис?

Давайте подробнее, ведь насколько я слышал - синтаксис был на первом месте.

foror ★★★★★
() автор топика

пойдут питонисты писать на Джаве

Побегут, ты только деньги плати. На переобучение с Django на Java Core, Java EE, Spring, Hibernate Какие ещё баззворды есть? Akka, Hadoop

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

Побегут, ты только деньги плати

Так платят деньги - не бегутс...

Django на Java Core

WTF?

Java EE, Spring, Hibernate

Фу, какая гадость...

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

Я лично люблю писать на python не из за синтаксиса. Если бы в питоне был си-подобный синтаксис, то я бы всё равно предпочитал его. Главное в питоне - философия.

eternal_sorrow ★★★★★
()

у Python и Java разное назначение, а синтаксис составляет дишь малую часть труда, нужного для освоения каждого из этих языков. Так что впша тема лишена смысла.

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

Так платят деньги - не бегутс...

Значит мало платят, а издержки перебегания большие.

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

Главное в питоне - философия.

Ахринеееееть.

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

у Python и Java разное название

и это главная причина

anonymous
()

А в питон скобочки уже завозили? (Ruby не считается)

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

Если бы он запилил это на graal, хотя бы виднелся какой-то смысл.

Извините, а Линукс тоже сразу TCP/IP стек и x64 поддерживал? Или начинался как небольшое поделие на базе учебной ОС?

foror ★★★★★
() автор топика

Выпил не чокаясь за jython. Без graal не имеет смысла. Да и с graal тоже не имеет. Питонистов ты так не заманишь, нафига им развлекаться с jmm, happens before и прочим?

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

у Python и Java разное назначение

Чё это? В джаву тоже шебанг подвезли.

а синтаксис составляет дишь малую часть труда, нужного для освоения каждого из этих языков

А чем руководствуются начинающие, вначале пути? Насколько я слышал - синтаксис на первом месте.

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

Не, любая попытка прикрутить человеческий синтаксис к этой монструозине обречена на рукалицо. Даже Clojure, даже Groovy.

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

Главное в питоне - философия

Партизанская философия!

Aber ★★★★★
()

Претензии к Java лежат не в области синтаксиса. В первую очередь — это ООП везде, где надо и не надо.

anonymous
()

Было в Vala /Genie/ n лет назад.

Получится ли международным бизнес-машинам похохотать над Оракулом в суде за то, что они украли синтаксис?

что-то не нравится

Интересно, что же может не понравиться в языке, который разрабатывается Большой и Сильной Корпорацией™? Да ещё и ориентированном на 16 ядер, 16 гигов, IDE, билдсистему, ориентированную на IDE и ко всему этому на сотню вкладок браузера /один класс — одна вкладка/?

Владимир

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

:= наплевал на твою философию.

Третья ветка в целом втоптала её в грязь. Теперь это невыразительный Perl /как раз сиподобненький синтаксис/ или Ruby.

Владимир

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

У Clojure как раз не особо-то и человеческий, скорее, ожабленный синтаксис на s-выражениях. Можно было сделать лучше, через решёточки, чтобы в глаза франкнштейн не бросался.

И это я не говорю о том, что под этим самым Clojure нету в первую очередь того, что следовало бы ожидать от лиспа.

Владимир

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

:= наплевал на твою философию.

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

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

и каким же образом?

One way to do it. В конце оказалось, что надо more than one way to do it, появилась специализация, но самое главное, появился синтаксический мусор. И :=, как и «статические» аннотации со всей эпопеей с форматированием строк — хороший пример того самого синтаксического мусора.

она относится к коду, который на этом языке пишешь лично ТЫ

PEP-8 к этому относится. Если бы этот клубок рекламных blurb-ов относился ко мне, а не к разработчикам того же питона, он бы отправился в PEP-8.

Рыба гниёт с головы. Голова пахнет.

питонический код

Нет никакого питонического кода. Если то, что снизу — череда неурядиц, то и сверху ты будешь бороться с этими неурядицами. Шаг влево, шаг вправо — привет, трясина.

Если ты хочешь писать простой код, то в таком случае, его просто можно написать на том же Perl или Ruby, а в тех случаях, когда надо выйти за ограничения, ты не будешь с кем-то бороться. Ты сделаешь то, что хотел сделать. Зачем тогда платить больше?

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

Владимир

anonymous
()

Вау! Срочно доклад на Джокер или ЖПоинт надо. Революция!

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

Питонисты работают в чём угодно. Когда я пишу на питоне, я делаю это в редакторе. Я знаю других людей, которые пишут в редакторе. Когда я учил питон, я работал в REPL по большей части, сохраняя написанное в файлик.

Владимир

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

:= наплевал на твою философию.

Благодаря Вам узнал про новый оператор в Питоне. Спасибо.

Владимир

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

One way to do it

Эмм… Причём тут это? если ты про то, что в питоне уже есть оператор =, то это разные вещи и у них разное назначение. следует бить по рукам тем, кто будет использовать := там, где нужно =.

Зато этот оператор чётко следует принципам «Complex is better than complicated» и «Readability matters». Да, этот оператор не простой, но он значительно упрощает код во многих случаях и делает его более читабельным вследствие этого.

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

Всегда пожалуйста.

Владимир

anonymous
()

Питонисты тока Go уважают. Туда и валят некоторые, кому Django не нужна, а таких мало.

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

Да не следует он ничему. Ни readability не даёт /две вещи, делающие примерно одно и то же ведь понижают читабельность, так? Из-за этого убили apply и убьют map с filter, оставив вместо простого [функция] сложное [спецсинтаксис на каждый чих]/, ни оставляет сложное вместо усложнённого. Излишняя специализация суть усложнение.

Учитывая то, что = как expression уже в некотором роде есть /тот же a = b = c/, := делает абсолютно лишнюю работу, на маленькую капельку расширяя область применения =.

По моему скромному мнению, обилие statements, которые ни в коем случае обязательно нельзя использовать как expressions, ведёт к бойлерплейтам и раку запяточия. А уж отдельная версия statement-выражения, делающая то же самое в виде expression — нонсенс.

Владимир

anonymous
()

Хм... полезная штука, я теперь знаю, что за замену фигурных скобочек на отступы на гитхаб дают 30 звезд.

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

По моему скромному мнению, обилие statements, которые ни в коем случае обязательно нельзя использовать как expressions, ведёт к бойлерплейтам и раку запяточия.

По моему скромному мнению, наличие вообще каких-либо statements, которые ни в коем случае обязательно нельзя использовать как expressions, является признаком ущербности ЯП by design.

Именно поэтому на некоторых граждан, приписывающих мне фанатизм в сторону того же JS, я смотрю как минимум с недоумением.

rebforce
()

А распаковка кортежа как выглядит, list comprehension и прочие питоноништяки? Подозреваю что никак.

Ну что, пойдут питонисты писать на Джаве или опять что-то не нравится?

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

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

Ну как раз с этим примером человеческие лямбды помогают:

(()=>5)()

Но попробуй в этой лямбде взять что-то в try-блок. От изначальной концепции остаётся только сохранение контекста this, а остальное идёт лесом. И так во многом.

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

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

anonymous
()

Господи, ну зачем?! Отсутствие {} и ; – это НЕДОСТАТКИ пистона, а не его достоинства! Что у этих людей в голове..

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

Языки не за синтаксис выбирают, есличо.

Скажи это местным разрабам...

foror ★★★★★
() автор топика
Ответ на: комментарий от Im_not_a_robot

Господи, ну зачем?! Отсутствие {} и ; – это НЕДОСТАТКИ пистона, а не его достоинства! Что у этих людей в голове..

Но без скобочек код ведь чище выглядит, не? Хотя я не сталкивался конечно, прям чтобы на большом проекте, максимум на сайте уровня лендинг на Django. Да и то было давно и неправда, но проблем вроде не замечал.

Мне то, как-то пофиг, я могу и со скобочками и без скобочек. У меня тут скорее научный интерес, по изучению пациентов ) Я ведь первый халат надел, если что...

foror ★★★★★
() автор топика

А нужно было наоборот: нормальный синтаксис в питон. Опять все перепутали.

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

Но без скобочек код ведь чище выглядит, не?

С чего бы это? Зависит от кода, а не от скобочек. Без скобочек почти то же самое, только редактировать неудобно.

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

Господи, ну зачем?! Отсутствие {} и ; – это НЕДОСТАТКИ пистона, а не его достоинства! Что у этих людей в голове..

Мимими, питон мне гавнакодить не даёт!!!1

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

Лямбды как раз человеческие, а try-блоки нет. Потому что они тоже должны что-то возвращать, а не плавать в коде, как г в проруби, ломая стройную картину и нивелируя преимущества лямбд.

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

Главное в питоне - философия.

Философия «no way»? )

Или точнее, «полудинамическое недообъектное иммутантбельное минимодульное разношёрстное быдлокодирование» xD

В пистульке только одна прелесть - компактность и независимость от корпораций (которая уходит в прошлое).

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

А в чем преимущества лямбд с try-блоками внутри них? Чтобы можно было из одной строки сразу кучу экзепшонов кинуть?

Если нужно непременно что-то возвращать, то почти везде есть монадки. Обработка ошибок тут зачем?

Если нужно ошибки обрабатывать, то раз у тебя лямбды косячат, то их бы и заворачивать в обработчик ошибок, либо каждую в отдельный обработчик, либо всех пачкой в один. Ситуации разные могут быть.

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

Питон как велик с детскими колесиками не даёт тебе упасть в однострочник. А говнокодить сколько угодно можешь.

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