Интеррапт wrote:
Добро пожаловать в клуб Я уже некоторе время как сконвертировался и приличную часть backend пишу именно на Питоне.
как же ето можно променять java на python ?
Для backend? Очень даже можно. Особенно когда видишь, насколько быстрее идет написание и отладка кода.
ну не знаю, если человек знает ява писать backend on python, как ставить двигатель от Запорожца в Мерседес если не знает, конечно другое дело ... "написание" ты имеешь ввиду сборку из того, что уже кем-то когда-то было написано или? ну и у етой сборки есть своя down side
В яве фреймворки монструозные, за счет этого еще питон может выиграть.
Накодить свое в питоне возможно быстрее.
Но мне в питоне не нравится ковыряние в чужом коде. Такой зоопарк порой динамический.
Иногда совершенно не понятно какой тип объекта возвращает фунция, приходится запускать и шерстить отладчиком.
То ли дело ява ! Но это все мелочи. Я не вижу хороших денег за питон.
Народ вы действительно думаете, что питон выйдет на уровень явы в недалеком будующем ?
И если да то какие есть для этого основания по вашему?
в этом топике пока прозвучал только один довод за питон: нет библиотек!
отличный пятничный бугага
молодежь которая не застала шанс покушать PERL, будет учиться жизненному опыту на питоне (да, как только код будет написан, его придется читать!).
fruit6 wrote:в этом топике пока прозвучал только один довод за питон: нет библиотек!
Вобще-то он был не про отсутствие, а про их монструозность. В защиту Жабы можно сказать, что текст читать на Жабе проще. Питон не самый удачный синтаксис для чтения.
crypto5 wrote:[
В яве фреймворки монструозные, за счет этого еще питон может выиграть.
Во-во. А вы мне не верили! Хорошу библиотеку фреймворком не назовут! (c) мой знакомый.
Где не верил?, я вроде говорил что в питонах сдвиг в сторону convention over configuration, в классическом джава стеке(сприн+хибернейт) наоборот, вопрос компромисов. Написать небольшое приложение продуктивнее на питоне, приложение с большим количеством компонентов, программистов, разными стратегиями тестирования, интеграцией разных сторонних либ - тут уже spring будет рулить.
А вашему знакомому стоит разобраться в разнице между фреймворками и либами.
vopros wrote:
Cassandra + Hadoop.
Попробуйте для начала сделать нечто похожее на spring + hibernate.
Типа spring + astyanax. Затем запустить это на паре тройке ваших компов.
То же самое с хадупом.
Затем останется воткнуть базворды в резюме и начинать отмахиваться от назойливых рекрутеров с чемоданами денег.
И главное, по данным базвордам достаточно иметь год или даже меньше опыта.
С этими Кассандрами и Хадупами уже, похоже, каждый второй индус имеет десятилетний (а то и больше) опыт.
Ага, 10-летний, типа сидел в 2003 году рядом с Дагом Каттингом и придумывал, как выпилить хадуп из Nutch-а
Ну а что ты думал? Аналогично когда-то и с Джавой было, вписывали такой опыт в резюме, что если отмотать назад, там не факт, что Джава даже в проекте была.
Интеррапт wrote:
Ну а что ты думал? Аналогично когда-то и с Джавой было, вписывали такой опыт в резюме, что если отмотать назад, там не факт, что Джава даже в проекте была.
Корпоративная бяда, когда опыт начинают измерять годами, а кандидатов фильтруют dummy, которые сравнивают попугаи и ключевые слова. Я тут немного пообщался с рекрутером в Visa. Так там просили точно указать хронологию использования технологий. Все в годах им нужно, понимаешь. Даже iOS. Вопросы, почему кто-то будет писать липовые года в резюме у меня отпал сразу. Баррикады идиотов просто не пройдешь. Если других альтернатив нет, то приходится нырять в вонючее болото.
vopros wrote:
То ли дело ява ! Но это все мелочи. Я не вижу хороших денег за питон.
А как вы это не видите? Вы пробуете собеседоваться и по яве и по питону и сравниваете?
А со всякими модными Big Data и на Питоне отлично работать можно. Благо библиотек хватает (под тот же Hadoop).
vopros wrote:
То ли дело ява ! Но это все мелочи. Я не вижу хороших денег за питон.
А как вы это не видите? Вы пробуете собеседоваться и по яве и по питону и сравниваете?
А со всякими модными Big Data и на Питоне отлично работать можно. Благо библиотек хватает (под тот же Hadoop).
Чем же далековато? Что в одну строчку { .. } ставится в данном примере? И читается более запутано
Хотя Скала однозначно рулит по сравнению с Java.
В примере выше написан пайп, а не один мепредакшн, такой пайп вы можете написать сколь угодно сложный, длинный и разветвляющийся, а скалдинг/каскадинг разрулит его в набор мепредакшнов зависящих друг от друга, загрузит на кластер и выполнит. мрджоб судя по всему это просто интерфейс для написания простеньких одношаговых джобов.
class MRDoubleWordFreqCount(MRJob):
def get_words(self, _, line):
for word in WORD_RE.findall(line):
yield word.lower(), 1
def sum_words(self, word, counts):
yield word, sum(counts)
def double_counts(self, word, counts):
yield word, counts * 2
def steps(self):
return [self.mr(mapper=self.get_words,
combiner=self.sum_words,
reducer=self.sum_words),
self.mr(mapper=self.double_counts)]
И точно так же это одной командой будет загружено на EMR или Hadoop кластер и выполнено.
class MRDoubleWordFreqCount(MRJob):
def get_words(self, _, line):
for word in WORD_RE.findall(line):
yield word.lower(), 1
def sum_words(self, word, counts):
yield word, sum(counts)
def double_counts(self, word, counts):
yield word, counts * 2
def steps(self):
return [self.mr(mapper=self.get_words,
combiner=self.sum_words,
reducer=self.sum_words),
self.mr(mapper=self.double_counts)]
И точно так же это одной командой будет загружено на EMR или Hadoop кластер и выполнено.
Ок, я этого не заметил, а оно умеет делать графы пайпов? Мержить/джойнить/сплитать стримы из разных мепов?