궁금해서 그런 겁니다만, PowerShell의 어떤 부분이 Perl과 유사한지 궁금합니다. PowerShell은 기본적으로 유닉스 셸의 특성을 바탕으로 .NET을 잘 버무려 만든... 뭐랄까 .NET 기반 tcl 같은 느낌도 상당히 많이 받았는데, 제가 그리 쓸 일이 없어서 다른 면에 대해서 알고 싶습니다.
펄, 파이썬, 루비 모두 win32 지원은 좋은 편입니다. 셋 다 윈도 인스톨러를 지원하며 많은 표준 라이브러리가 윈도도 고려하여 짜여져 있습니다. 다만 펄의 경우 aero 님께서 말씀하신 대로 Strawberry Perl을 쓰시는 걸 추천하고요.
윈도 GUI만 따지자면, 펄은 Win32::GUI 패키지를 쓰면 되지 않을까 싶고, 파이썬은 pywin32(는 다소 저수준입니다만), wxPython, PyQt 같은 패키지를 사용하면 될 것입니다. 루비도 wxRuby나 FXRuby(는 역시 저도 별로 안 봤습니다) 같은 것들이 있습니다. 써 놓고 보니까 wxWindows와 Qt가 세상을 장악하고 있군요. (...)
만약 외부 확장 등의 도움을 받지 않고 해당 언어만으로 GUI 프로그래밍을 하신다면 좀 복잡할 것이라 생각합니다. 펄의 Win32::GUI는 GUI 툴킷은 펄입니다만 아래에는 XS 바인딩이 깔려 있는 걸로 알고 있습니다. 파이썬은 ctypes라는 걸출한 외부 함수 인터페이스(FFI)가 존재함에도 불구하고 그나마 쓸만한 순수 파이썬 툴킷은 Venster 뿐이고 그마저도 좀 불안정합니다. (실은 개인적으로 좀 만들고 있는 게 있지만... 뭐 제낍시다.) 루비 쪽의 FFI 실태(?)는 제가 잘 모르므로 생략.
또 Perl은 Alien::wxWidgets 같이 Alien::*계 모듈을 통해서 필요한 GUI라이브러리를 Perl의 고립된 모듈구조안에
설치하는것도 지원하여 시스템에 설치된 GUI 라이브러리에 의존성을 가지지 않고 Perl만을 위한 독립적 환경으로 사용가능합니다. (이런 구조는 GUI툴킷 업그레이드시 바인딩라이브러리 재컴파일 불필요, PAR등을 이용한 패키징 및 배포에 상당한 잇점을 가집니다.)
저같으면 여러가지
저같으면 여러가지 이유로 python을 택하겠습니다만,
윈도우라서 특별히 선택기준에 영향을 미치는 요소가 있나요???
Python 추천서에는 뭐가 있나요??
O'reilly 책은 1.5 버전 기준이라고 해서 별로인듯 하구요,
웹에 있는 거 말고, 괜찮은 책 추천좀 해주세요.
즐겁게 살아 볼까나~*
Perl
Perl
윈도우용 Perl은 딸기펄
http://strawberryperl.com/
유닉스환경에서와 똑같이 CPAN( http://search.cpan.org/ )을 통해
모듈을 설치해서 사용할 수 있습니다.
MS의 차세대 스크립트인 PowerShell도 Perl과 아주 유사한 문법을 채용하고 있어서
나중에 PowerShell을 쉽게 이해하는데도 도움이 됩니다.
Perl에 대한 정보는 최근 사이트를 개편한 http://www.perl.org/ 에 가면 잘 정리되어있습니다.
궁금해서 그런
궁금해서 그런 겁니다만, PowerShell의 어떤 부분이 Perl과 유사한지 궁금합니다. PowerShell은 기본적으로 유닉스 셸의 특성을 바탕으로 .NET을 잘 버무려 만든... 뭐랄까 .NET 기반 tcl 같은 느낌도 상당히 많이 받았는데, 제가 그리 쓸 일이 없어서 다른 면에 대해서 알고 싶습니다.
비슷한 점을 들자면
Perl과 Powershell 문법의 비슷한 점을 들자면
다음과 같은 것들을 얘기할 수 있을 것 같네요.
* 변수에 sigil을 사용
$var 처럼 $를 붙이는 sigil을 사용한다는 점이 Perl과 비슷하나 Perl과는 달리 php처럼 무조건 $을 씀
이것은 sigil로 변수의 내용을 유추할 수 있는 Perl과는 조금 다름.
*슬라이스(slice) 문법
*범위연산자
* $_ 기본변수
* 보간(interpolation)
* 익명함수 선언과 호출
*heredoc, here-string
펄, 파이썬, 루비
펄, 파이썬, 루비 모두 win32 지원은 좋은 편입니다. 셋 다 윈도 인스톨러를 지원하며 많은 표준 라이브러리가 윈도도 고려하여 짜여져 있습니다. 다만 펄의 경우 aero 님께서 말씀하신 대로 Strawberry Perl을 쓰시는 걸 추천하고요.
윈도 GUI만 따지자면, 펄은 Win32::GUI 패키지를 쓰면 되지 않을까 싶고, 파이썬은 pywin32(는 다소 저수준입니다만), wxPython, PyQt 같은 패키지를 사용하면 될 것입니다. 루비도 wxRuby나 FXRuby(는 역시 저도 별로 안 봤습니다) 같은 것들이 있습니다. 써 놓고 보니까 wxWindows와 Qt가 세상을 장악하고 있군요. (...)
만약 외부 확장 등의 도움을 받지 않고 해당 언어만으로 GUI 프로그래밍을 하신다면 좀 복잡할 것이라 생각합니다. 펄의 Win32::GUI는 GUI 툴킷은 펄입니다만 아래에는 XS 바인딩이 깔려 있는 걸로 알고 있습니다. 파이썬은 ctypes라는 걸출한 외부 함수 인터페이스(FFI)가 존재함에도 불구하고 그나마 쓸만한 순수 파이썬 툴킷은 Venster 뿐이고 그마저도 좀 불안정합니다. (실은 개인적으로 좀 만들고 있는 게 있지만... 뭐 제낍시다.) 루비 쪽의 FFI 실태(?)는 제가 잘 모르므로 생략.
Windows 에서 Perl GUI
Perl이 지원하는 GUI툴킷으로
Tk,Gtk,Qt,wxWidget,FLTK등이 있으며 Windows에서는 말씀하셨다시피 Win32::GUI로 winapi를 사용하여 GUI를 구현 가능합니다.
그런데 Win32::GUI는 안정적이긴 하지만 사용하는 공개된 프로그램은 http://www.darserman.com/Perl/Oasis/ 빼고는 잘 안보이더군요. 오히려 GUI 자동화 및 테스팅을 위한 Win32::GuiTest( http://search.cpan.org/perldoc?Win32::GuiTest ) 모듈이 더 많이 쓰이는 듯
요즘엔 Padre( http://padre.perlide.org/ )라는 Perl통합환경이 wxWidget Perl바인딩으로 활발하게 개발되고있고 UNIX류 뿐만 아니라 Windows에서도 잘돌아가며 http://padre.perlide.org/download.html 에가면 딸기펄에 Padre를 같이 패키징해서 바로 써볼 수 있도록 제공도 하고 있습니다.( 딸기펄 깔고 cpan Padre 명령으로 직접 설치해도 잘 설치됨 )
또 Perl은 Alien::wxWidgets 같이 Alien::*계 모듈을 통해서 필요한 GUI라이브러리를 Perl의 고립된 모듈구조안에
설치하는것도 지원하여 시스템에 설치된 GUI 라이브러리에 의존성을 가지지 않고 Perl만을 위한 독립적 환경으로 사용가능합니다. (이런 구조는 GUI툴킷 업그레이드시 바인딩라이브러리 재컴파일 불필요, PAR등을 이용한 패키징 및 배포에 상당한 잇점을 가집니다.)
참고 URL
http://www.mabook.com/blog/146
http://www.mabook.com/blog/147
http://www.cava.co.uk/packaging/
http://honeyperl.tistory.com/entry/Tool-Cava-Packager
http://code.google.com/p/camelbox/
http://honeyperl.tistory.com/category/Perl/Perl%20GIMP%20Tool%20Kit
답글 감사합니다.
답글 감사합니다.
예전에 (기억도 안나는 7~8년전쯤)
펄을 잠시 배우려닥, 왠지 난해해서 포기한 기억이 있는데요...
그래서 파이썬을 어제부터 보구 있는데,
일단 깔끔한 느낌이 좋군요.
라이브러리는 펄보다 못하다고 하시는데, 일단 파이썬으로 스크립트 언어에 적응 좀 해봐야겠네요.
C like language만 하다가, 파이썬 배우는건데, 상당히 효율적이라는 느낌이 벌써 드네요.
왜 맨날 C like language 만 파고 들었는지...
즐겁게 살아 볼까나~*