지금 이 시점에서 스크립팅 언어...

kimes의 이미지

한 2~3년간 c/c++를 윈도우 환경에서 공부해온 사람입니다. :)

헌데 사실 5일전에 리눅스유저로 전향(?)했는데요..

제가 잘은 모르지만..

여러종류의 스크립팅 언어들이 발달해 있는거 같더군요..

굉장히 매력적이었습니다.

사실 윈도우 환경에서 파이썬 이라는걸 접해보고 설치만 해보고 별로 사용을 안해봤던 적이 있었습니다.

지금은 또 Perl이라는것에 (사실 펄이 스크립트 랭기지라고 하는지도 잘 모르겠습니다) 관심을 가지게 되었습니다.

뭐 물론 bash라는 것도 관심이 많고요

그래서 문제인데..

지금 이시점에서 하나를 차분히 공부해 보고 싶은데

Python
Perl
Bash(이것도 같은 맥락에 넣어야 할지...)

어떤게 살아가는데 더욱더 피와 살이 될가요?

감사합니다...

jachin의 이미지

물론 Python, Perl 모두 강력한 스크립트 언어이고 좋은 언어입니다.

헌데 왜 Bash 를 추천해 드렸는가 하면...

제 주관적인 견해입니다만, Bash 는 기본 교양이라고 생각합니다.

물론 Bash 안 쓰는 환경에서는 쓸 이유조차 없겠지요. ^^;

프로그래밍으로서의 Bash 가 아니라, 단순히 작은 실행 명령어들의 반복이나,

대상에 대한 정의를 내려서 편리하게 사용할 수 있는 실행 스크립트...

하긴 생각해보니, Bash 가 설치되어 있지 않는 곳에서는 Perl 이나 Python 이

훨씬 더 낫겠군요. -_-;;;

쉘 스크립트는 당연히 알아야 하고, 그 다음에 다른 언어를 접하시는 것이

훨씬 도움이 되리라 생각해서 Bash 를 먼저 공부해보시길 권장해드립니다. ^^;

kimes의 이미지

일단 답변 감사드립니다.

저도 님과 같은 생각입니다.
일단 Bash를 하기로 결정했고요..
님의 말씀처럼 교양과목의 개념으로 :D

헌데 그 다음에 좀더 멀티플랫폼적인 스크립팅언어 (Python이나 펄 등등)
중에 어떤게 많은 도움을 줄가요?

nohmad의 이미지

kimes wrote:
일단 답변 감사드립니다.

저도 님과 같은 생각입니다.
일단 Bash를 하기로 결정했고요..
님의 말씀처럼 교양과목의 개념으로 :D

헌데 그 다음에 좀더 멀티플랫폼적인 스크립팅언어 (Python이나 펄 등등)
중에 어떤게 많은 도움을 줄가요?

순수객체지향이면서, 기본 클래스들이 깔끔하게 잘 정리되어 있는 루비도 아주 좋은 선택입니다. 2005년 5월달 마이크로소프트웨어에 실린 루비로 쉘 구현하는 프로젝트 기사 읽어보시면 도움이 되실 것입니다. 유닉스를 공부하고 싶다면 쉘은 기본 과목이 될 것이고, 여기에 플랫폼 독립적인 객체지향언어로 루비를 추천합니다.

http://rubykr.org

cinsk의 이미지

취미삼아 익히는 것이라면, 사실 어떤 script language를 배워도 상관없습니다. 대부분 크게 다르지는 않습니다. 물론 lisp과 python은 많이 다르지 않냐고 질문하신다면 할 말 없습니다만. :wink:

Web쪽이 아니시고 C/C++을 위주로 개발하면서 좀 더 생산적으로 일하기를 원하신다면, 다음을 추천합니다:

bash + awk: 60%
m4: 20%
Python: 5%
Tcl: 5%
emacs lisp: 10%

위에서 percentage는 유용성이 아니라, 제가 일반적으로 쓰는 비율에 대해 생각해 본 것입니다. 아무래도, 간단하고 쉽게 쓸 수 있는 것들이 기억에 오래 남고 자주 쓸 수 있는 것입니다.

특히 m4의 경우, 독자적으로 쓸 수도 있지만, autoconf와 같은 configuration 자동화 툴에서도 많이 쓰이기 때문에 특히 유용하며, 제 경우, 제 홈페이지의 html을 자동으로 만들어내는 역할을 하고 있습니다. 또한 웬만한 시스템에 m4는 기본적으로 설치되어 있기 때문에, 편합니다.

Tcl의 경우, 요즈음 인기있는 언어인 perl, ruby, python에 비해 오래된 언어이며, 그 만큼 쓰임새는 넓지만, 인기가 없습니다. 한글처리도 타 언어에 비해서 약합니다. :cry: 그러나 Tcl의 경우, web server도 쉽게 만들 수 있고, 특히 tcl을 써서 만든 또 다른 script language인 expect를 쓰시면 강력함을 느끼실 수 있습니다. expect는 다른 script langauge과는 다르게 interactive program을 자동화 시켜주는 language입니다. 또한 이를 이용해서 software testing framework로 dejaGNU라는 소프트웨어가 있습니다.

쓰고나니,, 전 인기없는 언어만 골라서 쓰는 것 같습니다. :wink:

아빠곰의 이미지

cinsk님 말씀대로 Tcl은 오래된 언어니만치 이것저것 branch도 많고, 쓰임도 많습니다. Perl이나 Python처럼 엄청난 수의 모듈들이 있는것은 아니지만, 기본기능들이나 Expect, Tk를 이용하면 못할것은 없는것 같습니다.

특히 Tk를 이용하면, 스크립트만으로도 GUI를 쉽게쉽게 짤수 있죠. python, perl에도 tk를 붙일수 있다지만, 원래는 Tcl이랑 붙는 녀석이라 궁합이 잘 맞습니다.

TclTk만세 :twisted:

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

kimes의 이미지

님들 답변 덕분에 좀더 시야가 넓어진듯 합니다.

Quote:
아무래도, 간단하고 쉽게 쓸 수 있는 것들이 기억에 오래 남고 자주 쓸 수 있는 것입니다.

님의 말씀처럼
이것저것 한번 다 건드려보고..
그러고 나서 제게 맞는것을 선택해야 겠네요..

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.