Следующий шаг после PHP: Perl или Python?

Как @Luksprog упомянул в комментариях, решение может быть следующим:

Присвойте тег вашему DialogFragment при создании:

FragmentManager fragmentManager = getSupportFragmentManager();
MyDialogFragment.newInstance(...).show(fragmentManager, "myTag");

Найдите его и отклоните в onCreate

MyDialogFragment dialog = ((MyDialogFragment)getSupportFragmentManager().findFragmentByTag("myTag"));
if (dialog != null) {
    dialog.dismiss();
}

Я думаю, что было бы эффективнее вообще отключить воссоздание DialogFragment, но я не знаю, возможно ли это.

18
задан Community 23 May 2017 в 11:48
поделиться

13 ответов

Perl является очень хорошим языком, и CPAN имеет тонну зрелых модулей, которые сохранят Вас много времени. Кроме того, Perl является действительно продвижениями в наше время с большим количеством интересных проектов (в отличие от того, что неинформированным фанатам нравится распространять вокруг). Даже реализация Perl 6 к настоящему времени выпускает рабочий Perl 6.

я Вы хотите сделать OO, я рекомендовал бы Американский лось .

25
ответ дан 30 November 2019 в 05:41
поделиться

Честно, "большинство" моего программирования было в Perl и PHP, и я недавно решил сделать свой последний проект в Python, и я должен признать, что это очень любезно к программе с. Я не колебался целого вещи фигурных скобок, поскольку это - то, что я всегда делал, но это действительно очень чисто. В конце дня, тем не менее, можно сделать хорошие веб-приложения со всеми 3, но если бы Вы - тупик при отбрасывании PHP для попытки чего-то нового, я рекомендовал бы Python и платформу Django.

11
ответ дан 30 November 2019 в 05:41
поделиться

Я пошел бы с Perl. Не все согласятся со мной здесь, но это - большой язык, хорошо подходящий для работы системного администрирования, и это представит Вас некоторым конструкциям более функционального программирования. Это - большой язык для изучения, как использовать самый маленький объем кода для данной задачи, также.

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

10
ответ дан 30 November 2019 в 05:41
поделиться

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

Для меня, это означает, что код Python намного легче поддержать, который на длительном периоде делает Python намного более привлекательным, чем Perl.

7
ответ дан 30 November 2019 в 05:41
поделиться

У меня нет опыта с Python. Я ручаюсь сильно для изучения Perl, не из истощения, но потому что существует ТОННА для изучения в платформе. Ключевое понятие Perl: Сделайте то, Что я Имею в виду ( DWIM) и существует больше чем Один Способ Сделать Это ( TMTOWTDI). Это означает, гипотетически часто нет никакого неправильного способа приблизиться к проблеме, если проблема соответственно решена.

Запускаются с изучения основного языка Perl, затем расширяют себя до изучения ключевых модулей Perl, как IO:: Файл, DBI, HTML:: Шаблон, XML:: LibXML, и т.д. и т.д. search.cpan.org будет Вашим ресурсом. perlmonks.org будет Вашим руководством. Примерно всему полезному, чтобы сделать, вероятно, опубликуют модуль.

Имеют в виду, что Perl является динамическим и свободно структурированным языком. Perl не является платформой для осуществления драконовских стандартов ООП, но на серьезном основании. Вы найдете язык чрезвычайно гибким.

, Где Perl используется? Системные администраторы используют его в большой степени, как уже упомянуто. Можно все еще сделать превосходные веб-приложения или простым CGI или платформой MVC.

7
ответ дан 30 November 2019 в 05:41
поделиться

Я не работал с Python очень, но я могу сказать, почему мне не нравился приблизительно Perl, когда я использовал его.

  1. Поддержка OO чувствует себя прикрепляемой на. OO в жемчуге очень отличается от поддержки OO на других языках, которые я использовал (которые включают вещи как PHP, Java и C#),
  2. TMTOWTDI (существует больше чем Один Способ Сделать Это). Хорошая идея в теории, ужасная идея на практике, поскольку это уменьшает удобочитаемость кода.
  3. Perl использует много волшебных символов.
  4. Perl не поддерживает названные аргументы функции, означая, что необходимо вырыть в _ массив для передавания аргументов функции (или скорее sub, поскольку жемчуг не имеет функционального ключевого слова). Это означает наблюдение большого количества вещей как пример ниже (перемещенный, потому что ТАК не любит код в пронумерованных списках),

Сказав все это, я изучил бы Python. Если Вы не хотите пойти с чем-то более тяжелый вес как C++ или C#/Java.

О, прежде чем я забыл: Я хотел поместить пример для 4 выше, но ТАК не люблю помещать код в пронумерованные списки:

sub mySub {
    #extremely common to see in Perl, as built-ins operators operate on the $_ scalar or @_ array implicitly
    my $arg1 = shift;
    my $arg2 = shift;
}
7
ответ дан 30 November 2019 в 05:41
поделиться

Как программист Perl, я обычно говорил бы Perl. Но происходя из PHP, я думаю, что Perl слишком подобен, и Вы на самом деле не доберетесь так очень из него. (Не потому что нет много для изучения, но Вы, вероятно, будете программировать в Perl с помощью того же стиля, как Вы программируете в PHP.)

я предложил бы что-то совершенно другое: Haskell (предложенный Joel), Lisp, Lua, JavaScript или C. Любой из них сделал бы Вас лучшим программистом путем открытия новых способов посмотреть на мир.

, Но нет никакой причины прекратить изучать PHP тем временем.

Для хорошего взгляда на темную сторону этих языков, я сердечно рекомендую: , Что такое пять вещей, которые Вы ненавидите о своем любимом языке?

3
ответ дан 30 November 2019 в 05:41
поделиться

Python является чистым и изящным, и то, что много API C было обернуто, дает Вам мощные рычаги очень. Мне также нравится" Дзэн Python ".

  • Красивый лучше, чем ужасный.
  • Явный лучше, чем неявный.
  • Простой лучше, чем комплекс.
  • Комплекс лучше, чем сложный.
  • Плоский лучше, чем вложенный.
  • Редкий лучше, чем плотный.
  • количества Удобочитаемости.
  • Особые случаи не являются достаточно особенными для нарушения правил.
  • , Хотя практичность бьет чистоту.
  • Ошибки никогда не должны передавать тихо.
  • , Если явно не заставлено замолчать.
  • Перед лицом неоднозначности, откажитесь от искушения предположить.
  • должны быть один - и предпочтительно только один - очевидный способ сделать это.
  • , Хотя тот путь не может быть очевидным сначала, если Вы не голландцы.
  • Теперь лучше, чем никогда.
  • , Хотя никогда не часто лучше, чем право теперь.
  • , Если реализацию трудно объяснить, это - плохая идея.
  • , Если реализацию легко объяснить, это может быть хорошая идея.
  • Пространства имен являются одной гудящей прекрасной идеей - давайте сделаем больше из тех!
5
ответ дан 30 November 2019 в 05:41
поделиться

Почему не там Ruby в Вашем списке? Возможно, необходимо дать ему попытку.

2
ответ дан 30 November 2019 в 05:41
поделиться

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

Учебное руководство Python ( Классы Python )

Учебное руководство по Perl ( Классы Perl ) (Не удалось найти единственное 'официальное' учебное руководство по жемчугу, не стесняйтесь предлагать один)

<час>

, По моему опыту, Python предоставляет инструмент для очистки, больше простого опыта.

Мои проблемы с жемчугом:

  • 'используют строгий'; Инфекция, Предупреждения? - Идеально они не должны быть необходимы.

  • Передающие переменные: ; по сравнению с $ , по сравнению со сдвигом

  • Обзор мой , локальный , наш ? (Локальное определение, кажется, особенно указывает на некоторый беспорядок с жемчугом, "Вы действительно, вероятно, хотите использовать мой вместо этого, потому что локальный не то, о чем большинство людей думает как "локальное""..)

В целом с моими навыками жемчуга я все еще нахожу мой сам ссылка на документацию для встроенных функций. Где как в Python я нахожу это меньше. (я работал в обоих примерно то же количество времени, но мой общий опыт программирования вырос со временем. Другими словами, я, вероятно, был бы лучшим программистом жемчуга теперь)

, Если Ваш гуру командной строки Unix, хотя, жемчуг может прибыть более естественно к Вам. Или, если Ваше использование его главным образом как замена или расширение задач администрирования командной строки, он может удовлетворить Вашим прекрасным потребностям. По-моему, жемчуг "быстрее на ничьей" в командной строке, чем Python.

3
ответ дан 30 November 2019 в 05:41
поделиться

"Я хотел бы следовать за структурой ООП..." защитники Python или, еще больше если Вы открыты, Ruby. С другой стороны, с точки зрения существующих библиотек, порядок является, вероятно, Perl> Python>> Ruby. С точки зрения Вашей карьеры Perl на Вашем резюме вряд ли заставит Вас выделиться, в то время как Python и Ruby могут привлечь внимание менеджера по найму.

Как PHP программист, Вы, вероятно, собираетесь рассматривать все 3 как несколько "обременительные" для подъема Веб-страницы. У всех есть хорошие решения для веб-платформ, но ни один вполне столь не фокусируется на рендеринге Веб-страницы, как PHP.

я думаю, что Python, довольно вероятно, будет лучшим выбором для Вас, чем Perl. Это имеет много хороших ресурсов, многочисленное сообщество (хотя не столь большой, как Perl, вероятно), "выделяется" немного на резюме и имеет хорошую репутацию.

2
ответ дан 30 November 2019 в 05:41
поделиться

Если бы те 2 являются Вашим единственным выбором, я выбрал бы Python.

Иначе необходимо изучить JavaScript.

No я имею в виду действительно , изучают это...

1
ответ дан 30 November 2019 в 05:41
поделиться

Если бы Вы не будете делать веб-разработки с этим языком, любой из них сделал бы. Если Вы, можно найти, что выполнение веб-разработки в жемчуге немного более сложно, так как все платформы требуют большего знания языка. Можно сделать хорошие вещи в обоих, но мое мнение - то, что жемчуг позволяет более быструю разработку.
кроме того, скала regexes perl!

1
ответ дан 30 November 2019 в 05:41
поделиться