이글루스 | 로그인  


Perl OOP 쓰기 힘들다.

최근 Perl로 프로그램을 하나 만들고 있습니다.

정확하게는 PHP로 만든 것이

웹에서 작동할 이유가 없어서

클라이언트 프로그램으로 옮기고 있습니다.

 

여러 언어를 생각하였으나

대체로 문자 처리가 많은 프로그램이라

예전부터 문자처리에 강하다는 말을 들은 Perl을 선택했습니다.

 

PHP 코드를 주석과 함께 다시 읽어 흐름을 살핀 후,

Perl로 바꾼 코드를 테스트하는 일을 하고 있었습니다.

예전에 삽질했던 것이라 별 어려움 없이 진행하고 있었습니다.

 

그러다 큰 암초를 만났습니다.

바로 OOP(Object-Oriented Programming).

PHP로 만들던 때 굳이 Class를 작성할 이유는 없었으나

첫 째 설계를 할 때 상당히 편했고,

둘 째 다시 살펴볼 때 좀 더 쉽게 이해가 되지 않을까 하는 생각에서

어설프나마 OOP를 적용시켰습니다.

 

하지만 그것이 Perl을 만나면 커다란 암초가 되었습니다.

Perl은 OOP를 언어 차원에서 따로 지원하지 않는 듯싶습니다.

기존에 있던 Package를 이용하기 때문입니다.

자유로운 언어인 만큼 쉽게 작성이 되는 줄 알았는데,

중간 중간에 왜 그리 암초가 많은지....

갑자기 C++, Java, PHP가 그리워졌습니다.ㅜㅜ

 

KLDP에 aero씨께서 Perl 객체에 대해 글을 적어주셨습니다.

'Perl 객체? Python과 비교하며 감을 잡아보자.'

이 글을 바탕으로 차근차근 배우고 있지만, 상당히 힘드네요.;;

 

Perl을 살펴보니 정말 C++과 Java가 그리워졌습니다.;;;

해당 언어는 문자열 및 기타 여러 곳에서

Perl에 비해 어렵지만,

Perl은 아직 익숙하지 않아서 그런지 '멍~'하네요.^^

 

PS

최근 Perl에 대해서 마소에서 본 적이 없는 듯싶습니다.

대체로 Ruby, Python등을 본 기억이 납니다.

이럴 때 Perl을 배우는 것이 도움이 될지 의문입니다.OTL....

 

Perl을 배우는 이유는 단 하나.

후에 많은 양의 데이터를 처리할 때

빨리 할 수 있도록 하기 위해서입니다.

그런데 이번에 살펴보니 속도가 느린 것을 느꼈습니다.

정규식을 써서 그런지 PHP보다 느렸습니다.OTL....

위의 두 언어는 과연 어떨지 모르겠네요.;;;

by NoSyu | 2007/08/12 22:03 | in Programming | 트랙백 | 덧글(10)

트랙백 주소 : http://NoSyu.egloos.com/tb/3684297
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by keedi at 2007/08/13 10:54
http://www.perl.com/pub/a/2007/08/09/making-perl-modules.html : Making Perl Reusable with Modules 이 문서 한번 보시면 펄 OOP가 그렇게 어렵지만도 않으실겁니다. Perl OOP는 나름 Perl 5에서 resonable한 구조로 구성되어 있어요. 말씀하신 다른 언어들과는 느낌이 좀 다르다고 할까요? 객체지향에 관심이 많으시면 POE를 비롯해서 Class::* 계열의 모듈도 한번 살펴보세요. Moose도 좋은 선택이지요. :-)
Commented by NoSyu at 2007/08/13 13:58
/keedi/
반갑습니다.
네.. 다른 언어와 느낌이 달라서 처음에 적응하기가..ㅜㅜ
KLDP의 해당 글에서도 Moose를 말씀하시더군요.
그런데 그건 언어가 아닌 모듈이라 배워도 괜찮은지 모르겠습니다.^^;;
(후에 표준이 된다면 좋으련만....)
덧글로 정보 알려주셔서 고맙습니다.^^
Commented by 아르핀 at 2007/08/14 04:23
Perl.. 이햐 굉장히 오랜만에 보는 단어로군요. -ㅅ-;;;;;;;;;;
솔직히 전 일자무식이라 딱히 뭐라 말씀은 못드리겠습니다만 많이 힘드시다면 본인이 평소에 쓰던 것을 사용하시는 게 가장 좋습니다.
물론 도전 의식이나 배우려고 하는 의지가 있으시다면 할말이 없지만요. ㅎㅎ
힘내시길!!
Commented by NoSyu at 2007/08/14 09:24
/아르핀/
그러신가요??^^
아직 익숙한 것이 없기는 합니다만,
해당 도구들은 너무 딱딱해서 쓰기가 어렵거든요.
그런면에서 Perl이 유연하더군요.
그래서 배우려고 합니다.^^
격려 고맙습니다.^^
Commented by codebook at 2007/08/14 10:00
Perl이라~ 어려운 것을 하시네요. Perl은 잘 모르겠지만, Python의 실행속도는 C 언어와 비교해 볼때 상당히 느린 것이 사실입니다. Python을 처음 배울때 종종 나오는 이야기지만, C 언어는 프로그램 수행을 위한 언어라면 Python은 프로그램 개발자를 위한 언어라고 하더군요. 그래서 수행 속도는 느리지만, 개발 속도는 빠르다. 배우기 쉽고 코딩하기 쉽다라는 것이 장점이라고 합니다.
Commented by NoSyu at 2007/08/14 10:07
/codebook/
Python도 느리군요.
하긴 C를 따라잡을 자 거의 없는 듯...
(혹자는 C를 향상된 어셈블리어라고 하더군요.;;;;)
Perl은 방대한 양의 자료를 빨리 처리해야할 때
편리하게 쓰려고 배우고 있습니다.^^

원래 Python을 배우려고 하였으나
Tab으로 Scope를 처리하는 것을 보고
'저거 익히려면 시간 제법 투자해야겠다..'라 생각했습니다.
일단 Perl에 익숙해지면 Python을 배울 예정입니다.
혹시 모르는 것이 있으면 질문드려도 될까요?^^
Commented by codebook at 2007/08/14 12:39
제가 아직 초보라 답해드릴 만한 것이 있을까 모르겠네요. ^^ Perl을 익히고 난 다음에 Python을 공부하신다면 모르는 것이 별로 없을 것이라 생각됩니다. ^^
Commented by NoSyu at 2007/08/14 21:33
/codebook/
Perl과 Python은 비슷한 점이 많나보네요.^^
역시 하나를 제대로 익히면 다른 것으로 확장이 편하다고 하더니 사실이었군요.^^
지금까지 정보 고맙습니다.ㅜㅜ
Commented by amorette at 2008/06/12 01:52
1년 지난 개시물이긴 합니다만,
Perl 은 C 처럼 자유성이 높아서 어떻게 작성했는가에 따라 속도가 느려지기도, 매우 빨라지기도 합니다.
Commented by NoSyu at 2008/06/12 09:03
반갑습니다.
아.. 그렇군요.
전 스크립트 언어는 아무리 잘 해도 성능은 거기서 거기라는 생각에
최적화보다는 코드를 빠르고 정확하게 짜는 것이 목표라 생각했습니다.
하지만 그렇지 않군요.
이번 방학 때 Perl을 다시 손봐야겠습니다.^^
Python이나 Ruby는 후에...OTL...

좋은 정보 고맙습니다.^^

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶