파이썬 2.x 를 배워야 하나요? 3.0 을 배워야 하나요?

freezm7의 이미지

C# 3.0 같은 경우에는 하위 호환성이 있으니까 그냥 3.0 배우면 되는데

파이썬은 3.0 이 하위 호환성이 없잖아요?

그러면 2.x 대 라이브러리도 못 쓴다는 말인거 같은데,

아직 3.0 라이브러리가 많지 않은걸로 알고 있어서,,,

3.0을 배울지 2.x 를 배울지 고민 되네요.

파이썬 고수님 도움좀~!

송효진의 이미지

호환이 안되는 것이지 문법적으로 완전히 새로 배워야 할 만큼의 변화는 없는 것 아닌가요?
2에서 3으로 넘어가는 것이 자신의 '방대한' 라이브러리 문법을 일일히 다 고치는 것이 큰일인 것이지,
2 하던 사람이 3 을 배우는 것이 큰일인 것은 아닐겁니다.

그리고, 이미 완성된 2 프로그램을 굳이 3 으로 포팅 할 필요도 없을 것 같고요.
그냥 3 쓰게되면 2,3 같이 설치해 놓고 쓰죠.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

lazycoder의 이미지

얼마전에 python으로 만든 프로그램이 오작동을 하더군요.
마우스의 휠을 움직여서 스크롤할때 비정상적으로 동작을...
원인은 언어상의 버전 차이때문이 아니라 python의 버전마다 참조하는 라이브러리가 달라서 발생한 문제였는데요.
제 경험상으론 현재도 2.6 버전대를 쓰는게 알수없는 문제로 시간낭비를 줄이는 길이 아닌가 싶습니다.
아직도 대부분의 (아마 3 버전이 기본 설치되는 os는 없는걸로 압니다) os시스템이 2.x 버전을 쓰고 있습니다. 그럼 답은 나온듯 한데요..
참고로 회사 pc엔 2.5.x 버전 두개를 쓰고 맥에선 2.6 버전 두개.. 이렇게 여러개의 버전을 설치해서 씁니다만 버전업의 필요성을 전혀 못느끼고 있습니다.

aero의 이미지

Python 3은 내년초 릴리즈 계획인 Fedora 13에 포함된다고 합니다.
참고: https://fedoraproject.org/wiki/Features/Python3F13

그런데 재미있는건 내년초 첫 정식버젼 릴리즈 계획인 시험판 상태의 Parrot위의 Perl 6 구현인 Rakudo Perl 6가
얼마전 릴리즈된 Fedora 12 에 이미 포함됐다는거...
참고 https://fedoraproject.org/wiki/Features/Rakudo_Perl_6

Python 2.x -> Python 3.x 의 유저들 이동상황을 보면
Perl 5 -> Perl 6 도 어떨지가 대강 눈에 보이는 듯 합니다.

새버젼이 나왔다고 이전 버젼을 버리고 새버젼으로 싹 넘어간다기보다.
서로 대등한 관계로 각자 존재의 가치를 가지고 꾸준히 사용될 것이라는 거죠.

Python 2.x , Perl 5.x 가 C 라면
Python 3.x , Perl 6 는 C++ 이라고 할 수 있을 것 같습니다.

C++ 이 있다고 C를 다 버리고 모두 C++로 가지는 않고
C도 여전히 널리 쓰이고 나름대로 스팩도 계속 개선되어가고 있듯이..

최종호의 이미지

마침 저도 Python 책을 하나 살까해서 2.x를 사야할지 3.0 책을 사야할지 생각하다
Python에서 왠만큼 알려진 책을 쓴 해외 저자에게 며칠전에 문의를 해 봤습니다.

Python 3.0 용 개정판은 언제 나오는지.
답장 온 것이,, 3.0용 책을 기획했었는데 책을 쓸만큼 아직 실전에서의 경험이 충분히 쌓이지 않아
한 내년 정도에 작업을 다시 시작할까 한다고 했습니다.
언제 나올지 확실한 보장은 없으니 새 책 나오기를 기다리지 않는 것이 좋겠다는 얘기도 함께 있었습니다.

최소 한 두해 정도는 대부분의 코드가 여전히 2.x대로 작성되어 있을 것이니
얼리어답터가 아니시라면 2.x대로 시작하셔도 충분하시리라 생각됩니다.

댓글 달기

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