블로그 방명록 사전 갤러리 게시판 인클봇 인클챗 웹 IRC 위즈 인클플 음방
(동접: 0명/0명) [?]
 


루비 창시자, PHP를 꾸짖다

프로그래밍 언어 중 하나인 루비(Ruby)의 창시자 마츠모토 유키히로(Matz)가 자신의 블로그에서, 외국의 한 블로그에 올라온 'Attacking PHP'라는 글에 공감한다는 내용의 글을 작성했습니다.

사용자 삽입 이미지

* 너무나 많은 값이 true나 false로 처리되기 때문에, 비교 연산자 '==='가 필요하다.
* hash, list를 구별할 수 없다.
* 객체 지향 기능이 망가져 있다.
* lambda가 없다. create_function은 lambda가 아니다.
* short_open_tags, safe_mode, register_globals가 켜져 있어도 모른다.
* 함수 이름에 일관성이 없다. (str_replace, strlen, parse_str 등)
* 인자 순서에 일관성이 없다. (in_array, strpos 등)
* strpos('abcd', 'a')는 0을 반환하지만, 0은 false이다.
* PHP로 쓰여진 프로그램이 많지만, 어느 것도 HTML와 로직이 분리되지 않았다. (정말?)
* 'PHP는 초보가 배우기 쉽다'고 한다. 확실히 그럴지도 모르지만, 덕분에 SQL 인젝션, XSS 취약성, 나쁜 코드가 방치되어 있는 것이 아닌가?
* global에도 문제가 있다.

물론, 반론도 있을 것이다. 'Defending PHP'라든가.

하지만, 개인적으로는 역시 비판측이 일리가 있는 것 같다. 특히, 'PHP는 초보가 배우기 쉽다(라고 말하는 것이 문제이다)'라는 부분에 공감한다. PHP는 초보에게 간단할지도 모르지만, 초보가 대충 만든 웹 애플리케이션은 지금으로써는 해악이 아닐까.

저도 많은 부분에 공감합니다. 제가 PHP에서 가장 마음에 안 드는 점은, PHP가 '느슨한' 언어라는 것입니다. 느슨한 언어는 편한 언어라고들 합니다. 하지만, PHP와 파이썬(Python)을 비교하면, 저에게 파이썬은 '덜 느슨'하면서도 '충분히 편한' 언어처럼 느껴집니다.

여러분은 어떻게 생각하십니까? Matz의 주장에 공감하시나요?

Posted by 랜덤여신

2008/02/04 23:57 2008/02/04 23:57
, , , , ,
Response
No Trackback , 14 Comments
RSS :
http://barosl.com/blog/rss/response/668

Trackback URL : http://barosl.com/blog/trackback/668

Comments List

  1. James Gosling 2008/02/05 06:43 # M/D Reply Permalink

    I agree

  2. piloteer 2008/02/05 08:03 # M/D Reply Permalink

    저같은 루비 인터프리터와 php를 동시에 빠돌짓하는 놈은 어디에 서면 되나요
    _-;

  3. aero 2008/02/05 08:36 # M/D Reply Permalink

    제가 지금까지본 PHP를 실제를 들어가며 가장 논리적으로 까는 글은
    http://www.tnx.nl/php 입니다.
    그렇지만 PHP가 언어자체의 단순함과 Flat함으로 인해 어느정도 진입장벽을 낮추는데는 긍정적인 역할을 했다고 봅니다.

    그리고 Ruby도 안정성 측면에서는 PHP를 깔 입장은 못된다고 봅니다.
    올 초 Ruby on Rails 커뮤니티에서 RoR을 돌릴때 많이 쓰는 mongrel의
    개발을 주도하던 Zed Shaw가 RoR의 치부를 저주에 가깝게 낱낱이 폭로하며
    떠났죠. 읽어보면 정말 과격한 단어를 써가며 얘기하는데 그에 대한 측은함 까지 느끼게 합니다.
    http://www.zedshaw.com/rants/rails_is_a_ghetto.html

  4. 상진군 2008/02/05 11:40 # M/D Reply Permalink

    루비 개발자가 님을 닮았군요... 는 그냥 농담이고 ........

    루비도 PHP와 비교해선 썩 잘난건 아니라고 봅니다;

  5. Powring 2008/02/05 12:13 # M/D Reply Permalink

    기워가면서 만들었으니 어쩔 수 없죠ㅋㅋ 그렇다고 웹플밍을 루비로 하느니 php로 하는게 더 좋다는건 좀 해본사람은 다 알지 않나요? ㅋㅋ

  6. SSen 2008/02/05 15:08 # M/D Reply Permalink

    저렴한 호스팅이 다 php 라서... ㅜ ㄴ ㅜ

  7. Luzluna 2008/02/05 16:48 # M/D Reply Permalink

    한두가지 사항을 제외하곤 그다지 공감할 수는 없는 내용이네요. php가 루비보다는 장점이 더 많은 언어라 생각...

  8. 과니~* 2008/02/05 20:13 # M/D Reply Permalink

    * 'PHP는 초보가 배우기 쉽다'고 한다. 확실히 그럴지도 모르지만, 덕분에 SQL 인젝션, XSS 취약성, 나쁜 코드가 방치되어 있는 것이 아닌가?

    정말 와닫는 말인듯 그러니 한국에 날코더들이 득실거리죠..

  9. Dangson 2008/02/06 02:05 # M/D Reply Permalink

    비교연산자가 '==='인가요?
    지난학기 컴퓨터프로그래밍 수업시간에 C언어를 배운 일천한 저의 지식으로는;;

    1. 랜덤여신 2008/02/06 03:19 # M/D Permalink

      PHP에는 비교 연산자가 2가지 있습니다. ==하고 ===가 그것입니다. PHP가 워낙 느슨한 언어이다 보니, ==만으로는 부족한 경우가 있습니다. 그래서 ==보다 엄격한 ===를 만든 것입니다.

      예를 들어, 0 == false 는 참이지만, 0 === false 는 거짓입니다.

      보통은 ==로 족하지만, 가끔 ===를 써야 할 때가 있습니다. 그래서, 언어 하나에 비교 연산자가 왜 2개나 필요하냐고 비판받는 것이지요.

  10. Draco 2008/02/06 06:25 # M/D Reply Permalink

    저 자신도 PHP 날코더에 해당하는데...ㅎㅎㅎ
    사실 웹프로그래밍에 대해 잘 몰라도, C문법 안다는것만으로 즐거운 취미를 가지게 해준 PHP인지라...뭐라고 하기 그렇네요. ^^;

  11. y 2008/02/06 09:10 # M/D Reply Permalink

    저게 다 갖춰졌으면 쉬운 언어가 아니지 않나.

  12. 씨에느 2008/02/15 00:55 # M/D Reply Permalink

    * 'PHP는 초보가 배우기 쉽다'고 한다. 확실히 그럴지도 모르지만, 덕분에 SQL 인젝션, XSS 취약성, 나쁜 코드가 방치되어 있는 것이 아닌가?

    이 부분이 전혀 공감되지 않습니다. SQL 인젝션, XSS에서 RoR은 얼마나 안전한가요.

  13. 비밀방문자 2010/02/25 23:09 # M/D Reply Permalink

    관리자만 볼 수 있는 댓글입니다.

Leave a comment
« Previous : 1 : ... 227 : 228 : 229 : 230 : 231 : 232 : 233 : 234 : 235 : ... 807 : Next »

블로그 이미지

랜덤여신이 살아가는 이야기입니다. / 국내 점유율이 1%도 안 되는 리눅스 관련 글을 주로 씁니다. 관심 좀... ㅠㅠ / 컴퓨터쪽 이야기도 씁니다.

- 랜덤여신

Archives

Recent Posts

  1. 파이어폭스 설치하는 ActiveX 플러그인... (111)
  2. 파이어폭스, 윈도 모바일 지원 중단 (79)
  3. 구글, 중국 사용자 홍콩 서버로 리다이... (117)
  4. 안드로이드 시장 점유율, 빠르게 상승 ... (68)
  5. OpenSSH 5.4 출시 - SSH1 비활성화 (86)
  6. 아이폰 개발자 프로그램, 약관 전문 폭로 (52)
  7. 스팀 및 밸브 게임, 맥 지원 시작 (36)
  8. 유비소프트, 인증 서버 다운으로 게임 ... (33)
  9. MS, 윈도 폰과 엑스박스 동시 지원 게... (38)
  10. MS, IE6 장례식에 조화 보내 (24)
  11. 북한 리눅스 배포판 '붉은 별' (36)
  12. 우분투, 새 디자인 공개 - '빛' 테마 (58)
  13. 미국 토피카 시, '구글 시'로 이름 변경 (21)
  14. 애플, 아이폰 특허 침해로 HTC 고소 - ... (14)
  15. PS3 구형, 달력 버그로 게임 실행 불가능 (13)
  16. EU, 구글 스트리트 뷰에 사생활 침해 경고 (24)
  17. 2ch 공격이 무의미한 이유 (74)
  18. 동영상 포맷 화질 비교 - H.264, Ogg T... (17)
  19. 아이튠즈 스토어, 음악 다운로드 100억... (49)
  20. 고 대디, 암호화 없이 비밀번호 저장하... (13)
  21. 페도라 쓴다고 말해! (21)
  22. 유튜브, 3월 13일에 IE6 지원 중단 (41)
  23. 애플, 앱 스토어에서 성인 앱 6000개 제거 (14)
  24. 구글 기어스, HTML5로 대체 (12)
  25. 모바일 리눅스에는 인라이튼먼트가 제격? (12)
  26. MS, 유럽 윈도에 '웹 브라우저 선택' ... (16)
  27. 파이어폭스 부가 기능 사이트 차단과 S... (76)
  28. SKT 주최 '안드로이드 개발자 컨퍼런스... (26)
  29. 구글, 위키미디어 재단에 200만 달러 기부 (13)
  30. 오픈 소스 모델은 정말 효율적인가? MS... (51)