За последние 24 часа нас посетил 17301 программист и 1721 робот. Сейчас ищут 1655 программистов ...

Стоит ли переходить на Python?

Тема в разделе "Беседы", создана пользователем xoptov, 21 ноя 2017.

Метки:
  1. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну так и посмотри сравнение зп гошников, похапешников, перлистов и прочих. Вопросы отпадут.
     
  2. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    В процедурном php вроде все логично, но опп, имхо муть несуразная, создается объект типа присвоением новая функция в который попадает переменная из класса которую обрабатывает функция из метода :confused:
    В питоне немного что смотрел списки вместо массивов может быть удобнее.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    о чем ты?
     
  4. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Да простенький пример описал своими словами :)
    PHP:
    1. <?php
    2.  
    3.   class first {
    4.     public $str = 'some text';
    5.    
    6.     // определение метода
    7.     function getstr() {
    8.       echo $this->str;
    9.     }
    10.   }
    11.  
    12.   $obj = new first();
    13.  
    14.   // вызов метода объекта
    15.   $obj->getstr();
    16. ?>
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Да да да. Уже проходили. PHP либо мертв, либо умирает. И никому не нужен. Все признаки на лицо.
    --- Добавлено ---
    А вот график катастрофического падения доли PHP за прошедший год:
    [​IMG]
    --- Добавлено ---
    А вот наглядное отображение процесса умирания PHP и взлета Python в веб-деве за последние 7 лет.
     
    Walk нравится это.
  6. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    И оно будет такое же, как график растущего питона )
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    и? а как правильно и что тут не правильно?
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    зачем ограничивать себя и сидеть на одном стеке?
    тренд меняется постоянно. и если клиент увлечен, и хочет проект на Го или Ноде, и готов за это платить больше, почему бы не сделать ему приятно, попутно подняв свой скилл?

    старайся постоянно развиваться и изучать новое. и станет уже неважно на чем писать. новое будешь осваивать за неделю, ибо там много похожих вещей.
     
  9. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    Эммм, скажем PHP я использую уже 16 лет, да карл! 16 грёбаных лет. Правда для коммерческой разработки около 7 лет. К PHP у меня нет претензий. Попутно изучал также разные ЯП и немного стэк технологий которые с ним связанны а именно: Perl, VB, ActionScript3, MQL, JavaScript, Java, C, C++. Ну а толку? Все равно в коммерческой разработки проекты у меня только на PHP. Да и не перейдешь сразу на другой стэк технологий так как чтобы качественно что-то делать вместо того чтобы сидеть в документации по фреймворкам или справочнику по языку должно быть потрачено определенное время и за частую нужен скорее результат. Последний проект который я продолжаю делать на Symfony3 - перед началом проекта была возможность выбрать другой стэк, скажем я присматривался к Java Spring, но после непродолжительного времени выбор откатился на Symfony - так как я этот фреймворк знаю достаточно хорошо, а для других фреймворков пришлось бы тратить кучу времени на разборки с компонентами такими как Hibernate и тому подобное. Ну и как бы фраза "есть клиент который хочет на Го и Ноде" - как то настораживает, возможно мы говорим про разные лиги? Бизнесу зачастую все равно на чем делать им нужен и важен результат, а какой ты там стэк технологий используешь это бизнесу должно быть все равно, им нужно лишь увеличение добавочной стоимости или расширение рынка за счет внедрения IT. Я вообще не понимаю от куда идет это самое "хочет на конкретной технологии", получается клиенты настолько гурманы в технологиях и знают все нюансы почему нужен им именно Го или Нода а не скажем Python, Ruby или PHP? Другой вопрос если мы говорим о найме на работу но в таком случае это не клиент а начальник и там должна быть сформированная команда в которой хотя бы пару разработчиков действительно знают тот стэк технологий который используют.
    --- Добавлено ---
    Ну конечно ты не понимаешь не из-за того что ООП в PHP плохо реализовано, а скорее из за того что нужно больше опыта!
    Вот список ошибок:
    1) Название класса с маленькой буквы;
    2) Открытый член-переменная(свойство) класса $str а нужно сокрытие данных по принципу наименьших привилегий;
    3) Не указан модификатор доступа к методу getstr() - понятно что он по умолчанию public но лучше указывать;
    4) CamelCase нотация нужен в именовании getStr();
    5) getstr - является getter'ом и должен делать return $this->str а у тебя он направляет строку в поток вывода;

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

    И да, по поводу $obj = new first(); - все логично донельзя, если бы new не было бы то интерпретатор не смог бы определить что ты хочешь создать объект и получить на него указатель, а не вызвать функцию first() и получить из неё результат в obj!
     
    #34 xoptov, 23 ноя 2017
    Последнее редактирование: 23 ноя 2017
    romach, Walk и keren нравится это.
  10. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Я не говорю что неправильно, а имхо запутанно и не интуитивно.
     
  11. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    Вот не интуитивно:

    Код (Text):
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3.  
    4. struct first {
    5.     char *str = "some string";
    6. };
    7.  
    8. void getstr(struct first *o) {
    9.     printf("%s", o->str);
    10. }
    11.  
    12. int main() {
    13.     struct first *obj = (struct first *)malloc(sizeof(struct frist));
    14.     getstr(obj);
    15.     return 0;
    16. }
     
    #36 xoptov, 23 ноя 2017
    Последнее редактирование: 23 ноя 2017
  12. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Видимо, у нас разные клиенты.
    Мои клиенты, зачастую компания или стартап, команда. Они ищут кандидата на вакансию или проект уже с полным пониманием того на чем это должно работать, а в большинстве случаев, проект уже почти написан или даже в продакшне.
    Стек технологий определен плюс/минус(для этого нанимаются консультанты, и производится анализ рынка и самого проекта, на основании чего выбирается стек). На мнение/умения первого попавшегося фрилансера никто не полагается, а делается серьезный и обоснованный выбор.

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

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    Вот как раз на NodeJS и на Go шишек набьют, если уж что-то серьезное делать то на Java EE все остальное просто нервно курит в сторонке...
    --- Добавлено ---
    Нууу, батенька это не клиенты а работодатели, а ты просто работник у которого требуют... Не надо путать клиентов и работодателей...
    --- Добавлено ---
    :) ты серьезно? Расскажи какие там у Вас супер пупер консультанты по стэкам технологий нанимаются?
    --- Добавлено ---
    Расскажи тогда пожалуйста пруфы, ну скажем у меня сейчас стэк такой PHP 7 + Symfony3. Чем его можно заменить на NodeJS + ??? И какие будут от этого преимущества? Только без "загугли", я это и так могу сделать, но все таки хочется услышать мнение эксперта по NodeJS.
     
  14. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    О чувствую разговор пойдет о синтетических тестах на производительность.
     
  15. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    ну делай, кто тебе мешает, кроме самого себя?

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

    Консультантом может быть любой специалист в данной области. Клиент должен доверять его мнению. Поэтому, если таковых нет под боком, заказывают сторонних. На моей памяти, например было так.... изначально стек определял Тимлид, который участвовал в предыдущем, успешном проекте этого клиента. Потом наняли нас, мы при необходимости, дополняли его. Но в любом случае, никто не спрашивал нас, на чем мы умеем лучше, или хотим. Есть требование, на чем НАДО, и мы уже подстраивались, изучая параллельно всё, что еще незнаем. Нормальный рабочий процесс.

    я нигде не называл себя экспертом по Ноде или Го. Хотя и имею некоторый опыт реальной разработки.
    Та же нода, имеет свои плюсы и минусы. из плюсов огромное кол-во качественных библиотек. нет необходимости в большом фреймворке. npm в помощь. можно подключать только те что нужны. Она сама себе вебсервер, асинхронный и очень шустрый. идеология разработки несколько отличается, ибо четко прослеживается разделение френтенд(нода) и бекенд(ангулар, реакт...)
    При желании, можно превратить свой сайт в десктоп приложение очень просто (Electron, NwJs). писать легко и приятно. тем более что JS и на клиенте и на сервере, хоть и с отличиями.

    нехочу с тобой холиварить. и чтото доказывать.
    ты зачем создал тему? услышать другое мнение? ты его услышал.
    --- Добавлено ---
    плохая у тебя чуйка
     
  16. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    Ну ты крутой...
    --- Добавлено ---
    Ну разрыв шаблонов у меня возникает вот какой: Ко мне обращается человек у которого есть деньги и хочет сделать свой стартап, скажем есть у него идея, но он не разбирается в технологиях, я набираю команду и делаю этот проект, по моим рекомендациям выбирается стэк технологий для проекта. - Это и есть заказчик, то есть я не нанимаюсь на работу а оказываю услуги по разработки ПО, у нас разные компании, у меня ИП у клиента ООО или тоже ИП, юридически мы это оформляем как услуги по разработки ПО. Расчетные счета разные, распределение средств разное, требования к написанию кода диктую я. А вот у тебя, ты просто боевая единица которая закроет вопрос с несколькими задачами которые на тебя поставит тимлид или менеджер проекта, и стэк технологий диктуют тебе. - Вот в чем разница.
    --- Добавлено ---
    Как будет следующий проект возможно и возьму Java EE или Spring.
     
  17. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    не всегда. когда проект для меня заканчивается. я ищу новый на фриланс бирже или среди предложений от предыдущих клиентов. и тут я могу выбирать, каким будет мой следующий проект. на стеке который я знаю отлично, на стеке который мне придется местами изучать или полностью новом для меня стеке.
    такой выбор бывает не всегда, но все же бывает. и далее, если иду в незнакомый стек - начинается самое интересное но и самое трудное. скоростное его изучение. и работа над проектом.

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

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Но ведь это же создается указатель а не объект, зачем там знак переменной и чем могут отличаться $obj1->,$obj2->,$obj3-> и их соответствующие указания $obj1 = new first(); $obj2 = new first(); $obj3 = new first(); ?
     
  19. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    Как будет следующий проект возможно и возьму Java
    Вот когда я откажусь от своей идеи фикс делать прототипы на Python и медленные части переписывать на C, C++ или Java, тогда скорее всего займусь NodeJS. Он то не плохой на самом деле... Года 3 назад смотрел на ExpressJS для NodeJS вроде удобно было, как сейчас правда ничего вразумительного сказать не могу :)
    --- Добавлено ---
    Эмммм, в памяти создаётся объект и возвращается на него указатель который ложится в $obj1, указатель не может указывать на несуществующий объект в PHP, он либо есть либо его нет:
    PHP:
    1. $obj = 1; # В переменной $obj храниться само значение типа integer.
    2. $obj = 1.0; # В переменной $obj храниться само значение типа float.
    3. $obj = "test string" # В переменной $obj храниться само значение типа string.
    4. $obj = new first(); # В переменной $obj храниться указатель на объект типа first.
    --- Добавлено ---
    Все просто, эти переменные указывают на разные экземпляры одного и того же типа(класса). Тип один и тот же, а данные разные.
    --- Добавлено ---
    @keren если интересует как это происходит ещё глубже могу и это рассказать :)
     
    keren нравится это.
  20. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @keren, @xoptov, вы правда считаете, что в php используются указатели а-ля c++?
     
  21. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    @Sail очень на то похоже, по крайней мере если не капать. В принципе ты можешь дать ссылку на строку кода в github где именно описан код реализующий операцию new в PHP.
     
  22. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    С удовольствием послушаю :)
     
  23. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    Сейчас времени нет, в субботу напишу как это в самом интерпретаторе работает... Чтобы без слово-блудства было .
     
  24. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Все-же как мне кажется данные заносятся одинаковые - указатель на объект типа first.
     
  25. xoptov

    xoptov Активный пользователь

    С нами с:
    13 июл 2017
    Сообщения:
    43
    Симпатии:
    7
    То есть я не прав?