언어를 배워 볼까 생각중입니다.
전산 비전공자(원자력공학 전공)고, 아직 학생이고, 공익 근무 중인 학생입니다.
고등학교땐 전산동아리에서 유닉스 계열서버를 좀 만졌었고, 다른 언어는 C언어 문법이랑 stdio.h에 포함된 간단한 함수 정도만 알고 있습니다.
2학년때 VB수업도 한학기 들었었구요...
근래들어 프로그래밍을 열심히 해보지 않았던거에 대한 후회가 있어서 꼭 C가 아니라도 손쉽게 배울수 있고, 활용 범위가 넓은 언어를 하나 배워보려고 합니다.
C,Ruby,Python 중에 하나를 생각중인데 어떤게 좋을까요? 그리고 교재도 추천을...
사실 2학년까지 마치고 휴학을 한상태고 복학도 1년 반밖에 안남았고 그래서 영어 공부와 학과 공부가 더 급한건 알지만 급하다고 억지로 하기보단 좋아하는거 하면서 다른 가능성도 한번 보고 싶습니다. 물론 영어는 해야겠지만요....-_- 사실 영어가 참 "많이" 문제가 되긴합니다만..교재를 원서로 추천하시더라도 문제는 없을겁니다. 어차피 전공도 원서로 공부했던지라...(영어 실력은 아주 형편 없습니다. 책 한페이지 보면서 사전을 수십번 찾을 정도로....)
아무튼 정작 급한 공부를 살짝 미뤄두고 엉뚱한 짓을 하는 거라고 봐도 무방하기때문에 적은 투자로 높은 효과를 얻을 수 있는 모든 방법 추천해주세요~~
PS. "그냥 공부(학과공부, 영어공부)하세요." 라는 말은 안하셔도 해야되는거 압니다. 단지 제가 걱정하는건, 짧은 기간도 아니고 초등학교때 부터 고교시절에 이르기까지 꿈꿔왔던 프로그래밍이란 분야에 최소한의 노력도 안해보면 후회할거 같아서 그럽니다. 지금 못하면 복학해서는 더 시간도 없을거 같고... 이왕 학과공부나 영어공부에 동기 부여가 안된다면 해보고 싶었던, 또는 해보고 싶은 공부라도 해보렵니다...
목표에 따라 달라질듯 합니다.
계산, GUI, 네트워크, DB, 웹, ... 뭐가 되었든
금방 배워서 이것저것 해보기에는 Python이 제일 좋은것 같습니다.
목표, 계획이 어떠하냐에 달린 문제긴 한데,
"적은 투자로 높은 효과"는 파이썬이 최고라고 생각합니다.
C/C++이나 자바는 "많은 투자로 많은 효과"인것 같고
Ruby, Perl은 Python과 비슷한데 Python보다는 약간 범용성이 떨어지는것 같습니다.
물론 '덜 범용적인것'은 '더 특화된것'이니 그 특화된 분야에 한해서는
Python보다도 더 강점을 가지긴 합니다.
파이썬 책 추천은 구글신께 물어보시거나
http://kldp.org/node/77727
http://kldp.org/node/61151
http://kldp.org/node/32160
등을 읽어보시면 도움이 될것 같습니다.
저도 파이썬이
저도 파이썬이 쉽다고 들어서 생각중이긴하지만 인터프리터라면 속도의 문제는 어떨까 싶네요...
전공과 관련에서 간단한 모델링이나 시뮬레이션이 가능하면 꼭 프로그래밍으로 밥벌어 먹지 않더라도 현재 전공에 도움이 되지 않을까... 하는 생각도 있구요...
그래서 한가지 더 추가 질문을 드리자면 파이썬 코딩이 어느정도 수준에 오르면 다른 언어를 배우는 것도 쉬워질까요?
어차피 전공 관련한 코딩을 하더라도 보조 수단 정도고 이미 훌륭한 프로그램들이 있을테니까...다른언어는 최소한만 되면 될듯한데...
뭐 그나마 전공관련해서도 대학원 진학을 고려하는게 아니라면 다 부질 없는 생각이기도하고...
역시 파이썬인가요???ㅎㅎ
뭐이런...추가 질문이라면서 횡설 수설 하는 사이에 스스로 답을 찾은거 같기도하고...
어떻게 생각하지는지...
파이썬이 느리긴 합니다
세상에는 공짜가 없고
파이썬은 느리죠. 저는 그렇게 생각하고 있습니다.
하지만 파이썬의 경우 코드의 일부분을 C로 재구현 하기가 쉽게 되어있습니다.
느린부분을 그렇게 재작성 하면 된다는것이 파이썬의 철학(?)이기도 하고요.
파이썬자체가 C로 작성되었기때문이기도 합니다.
그리고 수학계산의 경우 많은 (C로 작성된, C수준의 속도의)라이브러리가 이미 존재합니다.
프로그래밍 = 설계 + 구현
인데, 파이썬 고수가 되면 설계도 잘할테고
그것은 다른언어, 특히 객체지향언어를 사용할때도 도움이 될겁니다.
파이썬은 객체지향언어니까요
감사합니다...결정에
감사합니다...결정에 확실히 도움됬습니다...
어차피 전산전공도아니니
취미나 일상생활의 보조수단 정도밖에 안될테니 파이썬으로 열심히 해보렵니다...ㅎ
컴퓨터 언어보다
컴퓨터 언어보다 영어문제가 더 시급한 것 같은데요? 대학 교재 원서로 보면서 사전을 수십번씩 찾아야 할 정도면 컴퓨터 언어 배울 때 역시 잘 쓰인 원서의 도움을 못받는 문제가 생겨요.
Python 같으면 다행히 python 국내 도입 초창기에 번역에 관심이 있는 분들이 많아서 교재가 괜찮습니다만. (O'Reilly 에서 나온 Learning Python 번역본을 보면 될겁니다. 원래 컴퓨터언어 교육에 관심이 많은 사람이 원저자라서 원서 자체가 교육용으로 만들어져있고 또 번역도 잘 되었다고 알고 있어요. 개인적으로 Learning Python의 객체지향 쪽 설명은 정말 잘 썼다고 봅니다만...) 적어도 O'Reilly 시리즈 정도는 읽을때 사전의 필요성을 안느낄 정도는 영어 독해 실력이 쌓여야 합니다. 자기 전공이 뭐든간에 좀 괜찮은 학부 졸업생이 되고 싶다면 말이죠.
영어 독해는 사실 별로 안어려워요. 꾸준히 하기가 어렵죠. 하루 한시간씩 잡지면 잡지 아니면 신문 하나 정해놓고 사전 찾아가며 해석하고 단어 정리하면 됩니다. 읽은 다음 새로 나온 단어 한번만 더 복습해서 외워주면 더 좋죠. 운전면허 배우는 셈 치고 한달만 미친 척 해 보시길. python 배우면서 같이 하면 되지 싶네요.
정말 공감합니다.
올 봄(3월초)부터 Learning Python 원서(3rd Edition) 을 보고 있습니다.
저도 영어를 잘 하는 편은 아니지만 술술 읽어 나가며 정독하기에 아주 좋은 책인것 같습니다.
물론 어려운 부분도 있고 이때 마다 파이썬 인터프리터 설치할때 딸려 나오는 매뉴얼을 찾아가며 보는데도 크게 어려움이 없는 것 같습니다.
linlin 님께서 말씀하신데로 객체지향쪽 설명은 정말 탄복할 정도 입니다. 마치 Thinking In Java 를 보며 느꼈던 그런 느낌이랄까.. ^^
너무 급하게 생각하지 마시고 차근차근 정독 한다는 느낌으로 부담갖지 말고 시작하시기 바랍니다.
건승 바랍니다. ^^
공개된 교제중에 Dive
공개된 교제중에 Dive into python을 추천하는 글을 보고 오늘 인쇄소에 보내서 제본해달라고 했습니다.
프로그래밍 경험자를 대상으로 한 교재 같은데 좀 어렵다 싶으면 다른 책을 찾아 볼까 생각중입니다.
물론 원서로 공부할 생각입니다. 잘된 번역본이란건 참 고마운 것이긴한데 전공 공부하면서도 번역서보다가 안되는 영어실력에도 원서를 구입해야 할 경우가 있었을 정도로 제가 다른 사람(주로 역자들...)들과 마인드가 다른가 봅니다. 번역된 문장을 한참 보고나서도 원문을 봐야 이해가 되는 문장이 가끔 등장할 정도라서...물론 맞춤법(많이 헷갈립니다...-_-)과는 별개로 국문에 대한 이해능력은 자부할정도 입니다만.. 마인드의 차이라고 우겨봅니다.... 아무튼 결론은 영어실력과 무관하게 원서를 선호하는 편입니다. 물론 번역서가 있다면 같이 구입하지만요...ㅎㅎㅎ
잠깐 dive into python을
잠깐 dive into python을 훑어봤는데... 간결하게 전개하는 매뉴얼 스타일인 것 같군요. C나 VB 경험이 있으면 별 문제는 없을 것 같습니다만 전 Learning Python 쪽 설명이 더 나아 보이네요. Learning Python 원서 구입도 생각해 보시길. 책 괜찮습니다.
그리고 오래전에 Guido van Rossum의 저자 직강 튜토리얼 pdf를 본 것 같은데... 이건 잘 못찾겠네요. 이게 분량도 적당하고 중요한 내용을 압축해서 잘 담고 있었던 기억이 가물가물하군요.
아우...제가 귀가
아우...제가 귀가 많이 얇은 편은 아닙니다만....확실히 얇긴 얇아서 자꾸 추천하시니 구입하고 싶네요...
그래서 가격을 알아봤더니 원서로 4만원대....차라리 용돈 받아서 쓰고싶은데 쓸수 있었던 학교 다니던때라면 쉽게 구입하겠지만 지금 공익월급은 전부 적금으로 들어가기 때문에 4만원을 확실히 부담이 되는 가격이네요...ㅎㅎ
아무튼 형편이 된다면 꼭 구입해 보겠습니다...물론 그때(형편이 될때)까지 파이썬에대해서 해매고있다면요...
감사합니다....ㅎㅎ
(언제나 하는
(언제나 하는 비실용적인 애기)
Python 같은 메인스트림 언어를 하나 배우면서,
프로그래밍언어론, 컴파일러 같은 책을 하나 떼어 보세요.
비전공자시니까 쉽진 않으실수 있지만...
언어의 코어를 이해하면,
새로운 언어도 부담스럽지 않게 다가오기 마련입니다.
(패러다임이 확 변한 언어가 아니고서야)
이미 결론은 난듯
이미 결론은 난듯 보이는군요. ^^ Python+'Learning Python'/'Dive into Python'
일단, 저도 Learning python책 강추합니다.
제가 생각하는 python의 (저같은 입문자 관점에서의) 장점은 기본적인 알고리즘 구현을 위한 부수적인 고민을 많이 줄여준다는 점입니다.
쉬운 예가 알고리즘에 적합한 데이터 구조체인데, python에서 제공하는 기본적인 구조체와 그 구조체에서 지원하는 함수만 잘 활용하면
웬만한 알고리즘들은 거의 pseudo code 수준으로 구현하더라도 잘 돌아갑니다. 즉, '흐름'에 집중을 할 수 있다는 말씀입니다.
미국으로 건너와서 처음으로 들었던 수업이 알고리즘 수업이었는데, (저보다 두살 어린)인도인 교수의 주장은,
"알고리즘은 논리를 이해하는 것이다. 프로그래밍 스킬은 그 다음이다."이었습니다.
이런 관점에서 본다면 python은 아주 적합한 언어라고 생각합니다.
P.S.: 이번학기에 병렬처리 과목을 듣는데, 마지막 프로젝트(tsp)를 python으로 작성하고 있습니다.
cvs에 넣지 않고 프로그래밍을 하다보니 군더더기가 남아있는데도, 전체 코드양이 400줄을 넘지 않고 있습니다.
같이 수업듣는 친구들한테 이야기하니깐 경악하더군요.