C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[19352] 파이션
김상면 [windyboy] 5816 읽음    2011-04-04 09:07
파이션에 대해서 알고 져버요...
실행 속도는 어느 정도인지...
객체지향적인 면은 어느정도인지....
프리 코딩 정도는 어느 정도인지...
웹과 연동 정도는 어느 정도인지...
etc.
그럼
깔쌈보이 [handsome]   2011-04-04 09:30 X
어떤 프로젝트에서 딱 한번 써봤었는데...
UI쪽 작업은 불편하구요...
APP Server 개발용으로 딱 좋더군요...

Data Relay Server 나 Process 처리 루틴 같은...

그리고 들여쓰기 내어쓰기로 문장을 구분하는 방식이다 보니 들여쓰기 내어쓰기를 대충하는 개발자들은 코딩하는데 적응하기가 쫌 거시기했습니다 ^^

웹 연동이나 기타 부분은 크게 문제가 되진 않을겁니다 ^^;
Lyn [tohnokanna]   2011-04-04 09:42 X
실행속도는... PHP > Python
무능력 [sykelos]   2011-04-04 12:39 X
웹환경관점 :
실행 속도는 어느 정도인지...
    JAVA > PHP > ASP > django(Python) > ruby on rails(Ruby)
    확실히 자바보단 후달리지만 대형사이트 만들 기세가 아니라면 문제없을듯
    (트위터가 ruby on rails로 만들어졌다죠?)

객체지향적인 면은 어느정도인지...
    할만함. 하지만 public,protected,private같은 가시성접근자가 없음. 모든게 public.
    (꼼수로 private처럼 쓸수 있긴 하지만 예외)

프리 코딩 정도는 어느 정도인지...
    프리코딩이 뭘까요?
   
웹과 연동 정도는 어느 정도인지...
    django,토네이도,turbogear와 같은 웹프레임웍이 있음.
    대세는 django임. 국내서적도 나오고..
    google web engine이 파이썬의 django로 나왔음.
    (정확하게는 2개의 버전이 있는데 java용 python용 python용의 프레임웍의 근간이 django임)
Lyn [tohnokanna]   2011-04-04 13:45 X
트위터 Ruby - > PHP 컨버전 완료했습니다.
Lyn [tohnokanna]   2011-04-04 13:46 X
지금 Ruby로 된건 SpringNote 가 있네요.
무능력 [sykelos]   2011-04-04 19:10 X
헐 그렇군요. 역시 속도가 후달려서 바껐나..;
바꾼 이유를 모르겠네요..
Lyn [tohnokanna]   2011-04-04 21:43 X
속도문제라고 하더군요.
정영훈 [allinux]   2011-04-05 03:44 X
php가 python에 비해 빠르지 않습니다.
http://blog.jhoney.net/429
하지만 python은 애초에 성능에 장점이 있지는 않습니다. 생산성에 빙점이 가 있습니다.
또한 웹에서의 성능 이슈는 캐시전략(memcache 등)으로 많이 커버합니다.
웹서버 클러스터 + 캐시 이렇게 구성을 해놓으면 각 언어별 성능 갭은 많이 줄어듭니다.

제 경험 상 python 같은 경우
nginx + tornado + django 로 초당 수천건의 트랜잭션 처리가 가능하였습니다.(4코어짜리 x86 서버)

python은 glue 언어라고도 불리우는데 기존의 네이티브 언어들(거의 c/c++)과 연동이 손쉬운 편이며 각종 지원 툴과 모듈이 많습니다.
ctype이나 swig를 활용하면 기존의 c/c++ 라이브러리를 바로 사용하실수가 있으며 win32같은 경우 win32 extension 모듈이 존재하여 윈도우 api들을 바로 호출할 수 있습니다.(wrapper제공)

객체지향적인 부분은 자바나 스몰토크에 비하면 프로토타입 수준이라고 보시는 편이 낫습니다.
self 라는 자기참조 값을 항상 들고 다녀야 하는 것도 그렇고 접근제한자가 별도로 존재 하지 않고 메소드명에 __methodName와 같이 언더스코어를 넣으므로써 private 선언임을 인지하는 방식입니다.

그러나 파이썬을 사용해보시면 느끼실 수 있는데 객체지향적인 부분의 필요성을 크게 느끼기가 어렵습니다.
함수 자체가 1급 함수고 언어자체가 굉장히 유연해서 생기는 장점이 상당히 큽니다.

기존 경험있는 개발자면 2~3일 정도 튜터리얼을 보시면 바로 프로그래밍이 가능할 정도로 러닝커브도 짧습니다.

ui개발은 기존의 gui 라이브러리를 많이 활용하는데 qt, wxWindows 를 많이 사용합니다.
qt같은 경우는 qt creator 같은 ide 도움을 받을수가 있습니다.

또한 python 구현이 c로 되어 있는데 java로 구현된 파이썬을 jython 이라고 배포가 되며 .net 의 c#으로 구현된 파이썬을 ironpython이라고 배포가 됩니다.
jython 같은 경우는 java vm에서 동작하므로 자바 라이브러리를 그대로 사용할 수 있다는 장점이 추가 됩니다.
마찬가지로 ironpython 같은 경우는 .net의 환경을 그대로 사용할 수 있습니다. 아물러 vs와도 연동이 가능한 확장셋이 존재하여 확장셋을 설치하여 주면 vs에서 파이썬 코딩이 가능해집니다.
정영훈 [allinux]   2011-04-05 03:58 X
아..파이썬의 가장 큰 문제라고 볼 수도 있는 부분이 쓰레드에 관한 겁니다.
GIL(Global Interpreter Lock)에 의해서 코어가 다수인 cpu라도 코어를 1개로 보고 작업을 하게 됩니다.
정확히는 코어를 1개로 본다기보다 베타적으로 락을 걸기 때문에 쓰레드를 동시에 1개밖에 처리를 못하는 문제가 있습니다.
즉 코어가 4개라도...쓰레드 처리때는...코어로 1개인 cpu와 같은 성능이 나오게 됩니다.
참고: http://openlook.org:625/blog/2006/11/12/cb-1136/

물론 우회방법이 있는데 python 2.6 이상부터는 multiprocessing 모듈이 추가가 되어 쓰레드 대신 프로세스를 포크하는 방식으로써 GIL 문제를 우회하고 있습니다.
Lyn [tohnokanna]   2011-04-05 08:45 X
jython과 ironpython 은 Java, .net 라이브러리를 그대로 쓸 수 있다는 장점이 추가되지만.. 공개된 python 라이브러리를 전혀 쓸 수 없다는 단점도 추가되죠.
정영훈 [allinux]   2011-04-05 12:15 X
공개된 라이브러리를 전혀 쓸 수 없지는 않습니다.
표준모둘은 그대로 사용가능합니다 또한 순수하게 python으로 되어 있으면 가능합니다.
다만 확장모듈(네이티브 라이브러리 호출용)인 경우가 불가능해집니다.

+ -

관련 글 리스트
19352 파이션 김상면 5816 2011/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.