Использование $
в PHP было ошибкой, которую также сделал изобретатель Perl.Префиксы переменных являются избыточными в полноценном компьютерном языке, потому что такие идентификаторы, как foo
и bar
, можно считать переменными без квалификации - что еще будет идентифицировать идентификатор?:-) Проблема в том, что любители, которые изобрели эти языки, были очень хорошо знакомы с оболочкой Unix, и они, очевидно, не осознавали, что $
, который идет перед ссылками на переменные оболочки, такие как $PATH
, не является прекрасной функцией языка, но ужасная необходимость, вызванная тем фактом, что в сценарии оболочки слова могут обычно отображаться «как сами по себе», например, когда вы говорите:
$ echo PATH
PATH
$ echo $PATH
/usr/local/bin:/usr/bin:/bin
Другими словами, экранирующий символ, такой как $
это говорит, что «это переменная!» необходимо в языке подстановки текста , таком как оболочка, и экранирование также важно в таких вещах, как TCL и, конечно, в современных языках шаблонов, где вы должны бытьспособен различать весь обычный текст, который должен быть скопирован на веб-страницу, кроме ссылок на переменные и циклов, извлекающих динамическую информацию.
Но обычные языки программирования не работаютподстановка текста, поэтому $
в Perl и PHP - бесполезно и шумно.
С$
не имеет никакого другого использования в JavaScript, это было простое эстетическое суждение о том, делать ли его доступным в качестве «обычной буквы» для переменных.JavaScript сказал «да», Python сказал «нет», и я привык к обоим вариантам.Я думаю, теперь это «похоже на JavaScript» для меня $
, чтобы быть действительным!
Но в нет случае, если вы позволите своему эстетическому суждению здесь быть информированным ужасным выбором Perlи PHP, которые были неправильным выбором!Вместо этого спросите себя, достаточно ли $
выглядит как заглавная S
, чтобы вы могли считать его «достаточно близким к букве», или он всегда выглядит как символ для вас.Это настоящий выбор.