LINUX.ORG.RU

Yii2 vs Django LTS Fight!

 , , ,


0

3

Сабж.

В связи с тем, что недавно релизнулась 1.11 версия Джанго смотрел в Сети сравнение возможностей обоих фреймворков.

Пока сделал выводы, что по функциональным возможностям ничья, если не брать во внимание тот факт, что Питон это не Пых.

Но тут как бы PHP7 пришел и порядок навел, говорят... )))

Хотелось бы услышать ваши Pro en Contra из первых уст.

★★★★★
Ответ на: комментарий от no-such-file

А чем плох бейсик?

Ничем, если тебе меньше 12 лет.

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

Ну если у тебя все функции в одну строчку, то нет проблем. А так даже чтобы if/else написать нужно выёживаться. И эти люди что-то там мычат против пыха. Бугагашечки.

Если тебе необходимо использовать лямбды в несколько строк кода, да еще и с if/else, вероятно тебе стоит задуматься над перепроиктированием этой части кода.

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

в свое время - это был чень даже не плохой язык программирования

В своё время там были номера строк и не было процедур, сплошной goto и 100500 операторов на все случаи жизни. Сурово, но эффективно. Прям как щас в питоне.

no-such-file ★★★★★
()
Ответ на: комментарий от Int64

Если тебе необходимо использовать лямбды в несколько строк кода, да еще и с if/else, вероятно тебе стоит задуматься над перепроиктированием этой части кода

Т.е. например декораторы в питоне использовать не стоит? Там ведь по смыслу нужна лямбда, но питонисты вынуждены писать

def foo():
  def wrapped():
...
  return wrapped

Особенно эпично, когда декоратор может возвращать несколько разных реализаций, и нужно выдумывать название для каждой. Давай скажи мне, что это не костыль. И вообще так специально задумано, ага.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Ага, лучше функции никак не называть и через месяц забыть что они вообще делают.
Велкам ту говнокод.

декоратор может возвращать несколько разных реализаций

В какой-то момент ты свернул куда-то не туда

Goury ★★★★★
()
Последнее исправление: Goury (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Я лучше тебя в игнор кину, если ты не назовёшь принципиальной разницы с точки зрения алгоритма.

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

В какой-то момент ты свернул куда-то не туда

Допустим у меня декоратор делает switch по типу и возвращает разные реализации для разных типов. Внезапно, да? Фанбои такие фанбои, не разбираются даже в том, за что топят.

no-such-file ★★★★★
()
Ответ на: комментарий от Goury

принципиальной разницы с точки зрения алгоритма

Вперёд в гугл.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Т.е. например декораторы в питоне использовать не стоит? Там ведь по смыслу нужна лямбда, но питонисты вынуждены писать

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

Особенно эпично, когда декоратор может возвращать несколько разных реализаций
Допустим у меня декоратор делает switch по типу и возвращает разные реализации для разных типов. Внезапно, да? Фанбои такие фанбои, не разбираются даже в том, за что топят.

А в чем проблема заключается? Или ты хочешь лямбами возвращать их, если да - то это как минимум плохая идея, впринципе в switch пихать какую-то более менее сложную логику вредно, лучше дать выразительное имя функции и в ней спокойно написать реализацию.

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

не совсем понимаю, почему по смыслу нужна лямбда?

Потому что имя wrapped ты используешь только 1 раз. Для чего тогда оно? Оно лишнее, если бы были нормальные лямбды, то можно было бы писать просто return function() { ... }

Или ты хочешь лямбами возвращать их, если да - то это как минимум плохая идея

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

в switch пихать какую-то более менее сложную логику вредно

Просто ЛОЛ. На питоне видимо вообще писать какую-то более менее сложную логику вредно.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Потому что имя wrapped ты используешь только 1 раз. Для чего тогда оно? Оно лишнее, если бы были нормальные лямбды, то можно было бы писать просто return function() { ... }

Ну да, возможно так удобнее было бы.

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

И потом у тебя получается лапша из непонятного кода, если я выделяю разные алгоритмы в разные функции, то я по одному названию функции (если оно нормальное) могу понять что делает метод, и не пытаться уместить в голове сразу все n алгоритмов.

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

получается лапша из непонятного кода

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

и не пытаться уместить в голове сразу все n алгоритмов

А тебя кто-то заставляет? С каждым кейсом связан свой алгоритм, более того он представлен прямо в кейсе, а не где-то там. Как раз в этом случае и не нужно ничего запоминать, т.к. сразу всё перед глазами и не нужно помнить, что конкретно делает функция c говорящим именем и содержанием в 3 строчки.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Ну конечно, а если к лапше добавить название, то тут-то сразу всё становится понятно

Ну если лапшу разбить на функции, то станет я думаю понятнее.

что конкретно делает функция c говорящим именем и содержанием в 3 строчки.

Я имел ввиду, если у тебя switch и на каждый case у тебя по 20 и более строк, то уже стоит задуматься над выделением в функцию. И чаще всего switch удобно использовать как координатор.

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

В таком случае можно было бы и класс сделать, со всеми кейсами, но тут да, придется опять придумывать именя функциям, беда. Но все равно у тебя все перед глазами, я так понимаю тут больше проблема в том, что на чуть-чуть больше придется писать, и еще и придумывать имена.
«Надо писать не на языке программирования, а с использованием его» (с) С. Макконнелл.
можно вообще без лямд прожить, если голова на месте. Наверное и правда было бы удобнее, если бы был лямбды можно было бы в несколько строк писать, но если нету такой функциональности, не значит что язык плохой.

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

можно вообще без лямд прожить

И без питона.

если нету такой функциональности, не значит что язык плохой

Нет, но это значит: 1.Не всё в питоне прекрасно, есть и дичайшие костыли и просто неудачные решения, которые выдаются за python way 2.Питон ни чем не лучше любого другого популярного языка.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Нет, но это значит: 1.Не всё в питоне прекрасно, есть и дичайшие костыли и просто неудачные решения, которые выдаются за python way 2.Питон ни чем не лучше любого другого популярного языка.

Согласен

Int64 ★★★
()
Ответ на: комментарий от no-such-file

А как насчёт того, что со временем, с ростом проекта Yii2 может превратиться в «свалку библиотек» ? Своеобразный CakePHP вид сбоку))

Twissel ★★★★★
() автор топика
Ответ на: комментарий от no-such-file

Не проще ли бардак с типами разобрать вместо того чтобы новый создавать на его фоне, фанбой?

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

Не проще ли бардак с типами разобрать

Допустим, не проще. И дальше что? Это был общий пример.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Бытует мнение, что Джанга лучше структурирована, чем детище Макарова.

Twissel ★★★★★
() автор топика
Ответ на: комментарий от no-such-file

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

Зачем ты пишешь несколько разных реализаций, если не знаешь, что они делают?

anonymous
()
10 сентября 2018 г.
Ответ на: комментарий от no-such-file

непроизвольно компульсивно запостил

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