PHP에서 개인적으로 맘에 드는거..

맨발의 이미지

$value = 'value';

Variable 앞에 $를 붙이는거..

$ = 값

그냥 봐도 의미 전달이 확실한 것 같아서.. ^^*

댓글

나빌레라의 이미지

제가 재미삼아 컴파일러 파서 만들다가 갑자기 이런 생각을 한 적이 있습니다.

"PHP 개발자가 어쩌면 귀찮아서 변수명에 $를 붙이게 만든건 아닐까..."

변수명에 $등 구분자를 두는 방식은 파서의 복잡도를 많이 줄여주긴 합니다...^^

개발자는 타이핑하기 조금 귀찮고,
코드 읽는 사람은 호불호가 엊갈리더라구요.(지저분하다 vs. 의미 전달이 명확하다)

----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라

----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라

neogeo의 이미지

사실 Basic 이 저런 문법의 원조라고 할 수 있죠.

숫자변수엔 뒤에 $ 가 안붙고, 문자변수엔 뒤에 $가 붙고... ( 뒤에 붙으니까 다르려나요... )

Neogeo - Future is Now.

Neogeo - Future is Now.

맨발의 이미지

어디선가 PHP 제작자의 인터뷰 글을 본적이 있는데
그 인터뷰를 보고 님 글을 보니까
정말로 귀찮아서 그렇게 만들었을 수도 있겠군하!
..라는 생각이 문득..ㅋ
:)

--------------------------------------------
:: 누구보다 빠르게 남들과는 다르게

aero의 이미지

참고: http://en.wikipedia.org/wiki/Sigil_%28computer_programming%29

sigil을 가장 광범위하게 효율적으로 이용하는 언어는 Perl일듯 :)

그래서 Perl에서는 같은 식별자(identifier)를 갖는 스칼라,배열,해시,함수를 사용할 수 있죠.

my $some = 3;
my @some = (2,3,4);
my %some = ( a=>1, b=>2 );
sub some { ... }

맨발의 이미지

그러니까 이건 너무 많은데요.. "$"하나만 합시다.. ㅎㅎ

--------------------------------------------
:: 누구보다 빠르게 남들과는 다르게

jg의 이미지

저도 php를 먼저 써보다가 perl을 배우면서 좀 짜증났던 부분인데요.
실제로 $ 만 사용해서 거의 모든 프로그래밍이 가능합니다만. php만큼 통일되게 쓸 수는 없지요.
perl이 자연어이면서도 가장 자연어 답지 않은 부분이 저런 심볼을 사용하는 것이라는게
제 개인적인 생각이지만 (사람의 이해 *보다는* 기계가 더 이해하기 쉽게 만드는 요소)
사실 익숙해지고 나면 왜 php는 $ 하나 밖에 쓰지 않았을까 하는 생각이 듭니다.

@list 와 $list 가 있을 때
@list는 여러개로 묶인 행렬이겠구나 하게 되는데
$list는 행렬에 대한 참조인가? 어떤 객체일 가능성은? 콤마나 탭으로 분리된 리스트일 가능성은?
하는 애매한 문제가 생기고 따라오는 코드를 봐야 비로서 이해하게 되죠.
이게 파서 입장이나 사람이나 코드 해석에서는 크게 다르지 않은 문제입니다.

어쨌거나 변수 앞에 붙는 심볼은 의미를 확실해주는 것 이외에
double quote안에서 역시 연장되어 해석되기 때문에
문자열을 많이 다루는 프로그램이라면 권장할 만 하다는..

"Error($error_code): $error_message";

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

joo8111의 이미지

어차피 대부분의 언어들이 여러가지 타입의 변수명에 별다른 표시를 하지 않기때문에
사람들이 읽기는 비슷하지 않은가 싶네요.

String은 strXXX, number는 nXXX, array는 listXXXX 이런식으로 변수명을 만들면 되니까요. ^^

chanchan의 이미지

$ = 돈

$ 하나당 500원씩 프로그래밍 비용이 책정된다면
아마 Array 가 사라질지도 모르겠다는 망상을 해봅니다 ~

이응준의 이미지

함수형 프로그래밍을 하게 될 것 같네요. 나름 재밌을듯.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.