All streams
Search
Write a publication
Pull to refresh
29
0
Send message
Короче, вот почитайте. habrahabr.ru/blogs/php/46783/
Вы по сути добились того, что вызвали у меня неприязнь к пайтону:) Раньше я его радушно воспринимал.
О, и правда, я до конца не дочитал. Сразу предупреждать надо было. Но тем не менее суть особо не меняется. Контекст не важен, мы же синтаксис обсуждаем, а не изящность применения функциональных подходов в императивных языках. Это первый какой мне попался под руку пайтоновский код.
Если уж на то пошло, то за красоту синтаксиса. Красивее я встречал только у Руби(но с ним не сложились отношения). Ну а вот пайтон, возьму небольшой кусок и поставлю в комментарии к нему мои первые мысли об увиденном:

[ [[[[[ //Че за фигня? нафиг так делать?
( //Мдаа, множество пустых скобок без предваряющих конструкций — это супер читаемо.
(
p('Multiplications:'), //Функция? Методы объекта в сцепке? Хз.
doMult(4, 10),
l()
), //хммм, "," — это похоже на перечисление
( //А нет, похоже на разделитель. Блин, ";" логичнее
p(),
p('Fib:'),
и т.д.

Вот примерные размышления о пайтоне. РНР даже выглядит более зрело и законченно.
>> 1) даже в редакторе с подсветкой с $ более заметно.
Ни в жизнь не поверю, что вы пишете код в Блокноте. — я так начинал. Принцип такой. Типа «тяжело в учении — легко в бою». Сейчас Блокнота у меня тупо нет ;) (есть gedit) но в работе использую исключительно NetBeans.
>> 2) опять же зависит от задачи. Но гораздо лучше, когда есть возможность, чем когда ее нет. Так что, вполне плюс.
А в виндоусах можно еще так:
создать .bat файл с текстом
@echo off
@<путь к php>/php.exe prog.php
@pause

или совсем извратится типа такого:

@echo off
@echo "<?" > tmp.php
@echo «print 'Hello, world!';» >> tmp.php
@echo "?>" >> tmp.php
@<путь к php>/php.exe tmp.php
@del tmp.php
@pause
А в никс системах достаточно в начале файла дописать #! /usr/bin/php и задать права на исполнение ;)
1. Я же не навязываю кому-то что-то. — вот, как раз наоборот.
2. Не станете же вы спорить, что вне веба пхп удобнее, скажем, питона? — нет, не стану. РНР удобнее питона.
3. Почитаю на досуге. Честно.
4. Язык на котором работаешь, это чаще всего язык, который начал изучать сам по себе, не потому что по работе надо было. Иначе, значит не там работаешь.
5. тогда могу только посочувствовать — Ну сочувствуйте, я на РНР помимо работы и для души пишу. И мне очень это нравится. Я так релаксирую. Я получаю удовольствие. Воссоединяюсь с высшими силами, если угодно :)
Метафора красивая, но не совсем к месту. Насчет ядра. Почему? Синтаксис то менять не надо. Если даже что-то в ядре и менять, так это только будет php-cli касаться. Ничего кардинально это не поменяет. Я, говоря про фреймворки, имел в виду фреймворки написанные на самом РНР, причем тут ядро?
Мои 5 копеек насчет знака $:
1) Никаких мифов об удобстве — исключительно факты: визуально легко отличимы переменные от других ключевых слов. Особенно полезно при изучении чужого кода, где не держишь в голове имена всех переменных.

2) Есть еще великолепные возможности благодаря этому знаку, которые вы в меру ограниченности своего знакомства с РНР вряд ли знаете. Вот наглядный пример:

$a = «foo»;
$b = «bar»;


$c = $a($b); // Вызывает функцию с именем foo и параметром bar, т.е. $c=foo(«bar»);
$d = $b->$a($c); //Вызывает метод foo объекта bar с параметром $c, т.е. $d = bar -> foo($c);

Очень часто такие методы достаточно удобны. Без всяких call_user_func
> Почему? Языки-то хорошие )
Я ни разу не говорил, что это не так. Я скорее согласен, что они хороши. Но и РНР хороший. Каждому свое.

> Обижать могут только люди.
Ладно, по другому, ЧЕМ вас обидели любители РНР, что так сильно хаяте хороший язык?
На любом языке можно писать коряво и на любом языке можно писать так, что заглядение просто. РНР, пайтон и ява не исключения (да что уж там, и на BrainFuck'e можно красиво и изящно реализовать решение задачи).
Вы уверены, что РНР это ошибка? Может ява это ошибка? или пайтон? или с#? или с++? или {любой ЯП} это ошибка? Личный выбор это личный выбор, а не выбор под действие наставлений «РНР — ошибка» из уст неизвестного евангелиста.
Не нравится — не пользуйтесь. Не надо наводить евангелизм пайтона и явы. И то и другое ничто не мешаетс знать вместе с РНР. А по улучшениям, помимо гоуту (я, пока что, недоумеваю зачем он), все пункты — это шаги вперед. И не надо принижать этого. Еще раз спрошу, ЧЕМ лично вас он обидел?
Зачем тогда критиковать то, чем не пользуетесь? Он вас чем-то обидел? Если нет, то зачем вообще обращать внимания на РНР? Развивается и пусть себе развивается. Рассуждения о том что на нем стоит делать, а что не стоит значимы только от людей которые на нем пишут.
Вы не знакомы с РНР 5.3? А точнее с его изменениями? Ознакомьтесь: www.linux.org.ru/view-message.jsp?msgid=3828133 только вернее сказать, он не появился, а был улучшен.
Кстати, почему все упускают из вида РНР-фреймворки? Они предоставляют богатую функциональность приближающуюся (или уже приблизившуюся) к RoR. C# без фреймворка это тоже «голый язык». Исключительно фреймворк дает ему достойную функциональность. Так же и РНР с фреймворком (CI, Kohana или CakePHP — не важно) это очень мощный инструмент. В случае десктоп программирования, уверен, если будет расти интерес к теме то будут и фреймворки направленные на десктоп, аналогичные .NET.
Действительно, поживем — увидим. Вдруг лет через 10-20-30 уже никто и не вспомнит, что раньше РНР использовали «для того, чтобы сайты писать»
*бред, конечно же.
«РНР — шаблонизатор, а не язык» — это любимый пред РНР ненавистников и АСПшников (видимо таят обиду).

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity