디오해하지 마세요. Python의 인기는 여전히 컴퓨터 과학자, 데이터 과학자 및 AI 전문가로 구성된 견고한 커뮤니티에 의해 뒷받침됩니다.
하지만이 사람들과 함께 저녁 식사를 해 본 적이 있다면 그들이 Python의 약점에 대해 얼마나 많이 불평하는지 알 것입니다. 느린 것부터 과도한 테스트가 필요한 것까지, 이전 테스트에도 불구하고 런타임 오류를 생성하는 것까지-화를 내기에 충분합니다.
그래서 점점 더 많은 프로그래머가 다른 언어를 채택하고 있습니다. 최고의 플레이어는 Julia, Go, Rust입니다. Julia는 수학적 및 기술적 작업에 적합하고 Go는 모듈 식 프로그램에 적합하며 Rust는 시스템 프로그래밍을위한 최고의 선택입니다.
데이터 과학자와 AI 전문가가 많은 수학적 문제를 다루기 때문에 Julia가 이들의 승자입니다. 그리고 비판적인 조사에도 불구하고 Julia는 Python이 이길 수없는 장점이 있습니다.
파이썬의 선과 줄리아의 탐욕
사람들은 새로운 프로그래밍 언어를 만들 때 이전 언어의 좋은 기능을 유지하고 나쁜 것은 수정하기를 원하기 때문에 그렇게합니다.
이런 의미에서 Guido van Rossum은 ABC를 개선하기 위해 1980 년대 후반에 Python을 만들었습니다. 후자는너무 완벽 해프로그래밍 언어의 경우-강성으로 인해 쉽게 가르 칠 수 있었지만 실제 생활에서는 사용하기 어려웠습니다.
대조적으로 Python은 매우 실용적입니다. 당신은 이것을에서 볼 수 있습니다파이썬의 선, 제작자의 의도를 반영합니다.
못생긴 것보다 아름다운 것이 낫습니다.
명시적인 것이 암시적인 것보다 낫습니다.
단순한 것이 복잡한 것보다 낫습니다.
복잡한 것이 복잡한 것보다 낫습니다.
플랫이 중첩보다 낫습니다.
스파 스는 조밀 한 것보다 낫습니다.
가독성이 중요합니다.
특별한 경우는 규칙을 어길만큼 특별하지 않습니다.
실용성이 순결을 능가하지만.
[...]
Python은 여전히 ABC의 좋은 기능인 가독성, 단순성, 초보자 친화적 인 기능을 유지했습니다. 그러나 Python은 ABC보다 훨씬 더 강력하고 실제 생활에 적합합니다.
같은 의미에서 Julia의 제작자는 다른 언어의 좋은 부분은 유지하고 나쁜 언어는 버리기를 원합니다. 그러나 Julia는 훨씬 더 야심적입니다. 하나의 언어를 대체하는 대신 모든 언어를 이기고 싶습니다.
이것이 방법입니다Julia의 제작자말해:
우리는 더 많은 것을 원합니다.우리는 자유 라이선스가있는 오픈 소스 언어를 원합니다. Ruby의 역동 성과 함께 C의 속도를 원합니다. Lisp와 같은 진정한 매크로를 사용하지만 Matlab과 같은 명확하고 친숙한 수학적 표기법을 사용하는 동음이의 언어를 원합니다. 우리는 Python처럼 일반 프로그래밍에 유용하고, R만큼 쉬운 통계, Perl만큼 자연스러운 문자열 처리, Matlab처럼 선형 대수에 대해 강력하고, 프로그램을 셸처럼 결합하는 데 능숙한 것을 원합니다. 배우기 쉽지만 가장 심각한 해커를 행복하게 만드는 것. 우리는 그것이 상호 작용하고 컴파일되기를 원합니다.
Julia는 현재 존재하는 모든 장점을 혼합하고 다른 언어의 단점과 교환하지 않기를 원합니다. Julia는 어린 언어이지만 이미 제작자가 설정 한 많은 목표를 달성했습니다.
Julia 개발자가 좋아하는 것
다재
Julia는 간단한 기계 학습 응용 프로그램에서 거대한 슈퍼 컴퓨터 시뮬레이션에 이르기까지 모든 것에 사용할 수 있습니다. 어느 정도까지는 파이썬도이 작업을 수행 할 수 있습니다. 그러나 파이썬은 어떻게 든 그 일로 성장했습니다.
반대로Julia가 지어졌습니다.정확히이 물건을 위해. 아래에서 위로.
속도
Julia의 제작자는 C만큼 빠른 언어를 만들고 싶었습니다.하지만 그들이 만든 것은더 빠르게. Python은 최근 몇 년 동안 속도를 높이기가 더 쉬워졌지만 성능은 여전히 Julia가 할 수있는 것과는 거리가 멀다.
2017 년 Julia는페타 플롭 클럽— 최고 성능에서 초당 1 페타 플롭의 속도를 초과 할 수있는 소규모 언어 클럽. Julia를 제외하고 C, C ++ 및 Fortran 만클럽에서지금.
커뮤니티
30 년이 넘은 Python은 거대하고 지원적인 커뮤니티를 가지고 있습니다. 하나의 Google 검색으로 답을 얻을 수없는 Python 관련 질문은 거의 없습니다.
반대로 Julia 커뮤니티는 매우 작습니다. 이것은 답을 찾기 위해 조금 더 파야 할 수도 있지만 같은 사람들과 몇 번이고 연결될 수 있음을 의미합니다. 그리고 이것은 가치를 넘어서는 프로그래머-관계로 바뀔 수 있습니다.
코드 변환
Julia에서 코딩하기 위해 단일 Julia 명령을 알 필요도 없습니다. Julia 내에서 Python 및 C 코드를 사용할 수있을뿐만 아니라 당신은 심지어 사용할 수 있습니다Python 내의 Julia!
말할 필요도없이, 이것은 파이썬 코드의 약점을 아주 쉽게 패치 할 수있게합니다. 또는 Julia를 알아가는 동안 생산성을 유지합니다.
도서관
이것은 Python의 가장 강력한 포인트 중 하나입니다. 관리가 잘되는 수많은 라이브러리입니다. Julia는 라이브러리가 많지 않으며 사용자는 (아직) 놀라 울 정도로 관리되지 않는다고 불평했습니다.
그러나 Julia가 제한된 리소스를 가진 아주 어린 언어라고 생각할 때 이미 보유하고있는 라이브러리의 수는 매우 인상적입니다. Julia의 라이브러리 양이 증가하고 있다는 사실 외에도 예를 들어 C 및 Fortran의 라이브러리와 인터페이스하여 플롯을 처리 할 수 있습니다.
동적 및 정적 유형
Python은 100 % 동적으로 입력됩니다. 이것은 프로그램이 런타임에 변수가 실수인지 정수인지를 결정한다는 것을 의미합니다.
이것은 매우 초보자에게 친숙하지만 가능한 버그가 많이 발생합니다. 이는 가능한 모든 시나리오에서 Python 코드를 테스트해야 함을 의미합니다. 이는 많은 시간이 걸리는 매우 멍청한 작업입니다.
Julia 제작자도 배우기 쉽기를 원했기 때문에 Julia는 동적 타이핑을 완벽하게 지원합니다. 그러나 Python과 달리, 원하는 경우 정적 유형을 도입 할 수 있습니다. 예를 들어 C 또는 Fortran에있는 방식으로 제공됩니다.
이렇게하면 엄청난 시간을 절약 할 수 있습니다.테스트하지 않은 것에 대한 변명코드에서 의미가있는 곳에 유형을 지정할 수 있습니다.
데이터 : 작지만 투자
이 모든 것들이 꽤 훌륭하게 들리지만 Julia는 Python에 비해 여전히 작다는 것을 명심하는 것이 중요합니다.
꽤 좋은 지표 중 하나는 StackOverflow에 대한 질문 수입니다.이 시점에서 Python은 Julia보다 약 20 개 더 자주 태그가 지정됩니다!
이것은 Julia가 인기가 없다는 것을 의미하는 것이 아니라 프로그래머가 채택하는 데 자연스럽게 시간이 걸립니다.
생각해보십시오. 전체 코드를 다른 언어로 작성하고 싶습니까? 아니요, 차라리 향후 프로젝트에서 새로운 언어를 시도하고 싶습니다. 이로 인해 모든 프로그래밍 언어가 출시와 채택 사이에 직면하는 시간 지연이 발생합니다.
하지만 지금 채택한다면 (Julia는 엄청난 양의 언어 변환을 허용하기 때문에 쉽습니다.) 미래에 투자하는 것입니다. 점점 더 많은 사람들이 Julia를 채택함에 따라 이미 질문에 답할 수있는 충분한 경험을 쌓을 것입니다. 또한 점점 더 많은 Python 코드가 Julia로 대체됨에 따라 코드의 내구성이 향상됩니다.
요점 : 줄리아를하고 그것이 당신의 우위가되게하십시오
40 년 전 인공 지능은 틈새 현상에 불과했습니다. 업계와 투자자들은 그것을 믿지 않았고 많은 기술이 투박하고 사용하기 어려웠습니다. 하지만 그 당시 배운 사람들은 오늘날의 거인입니다. 수요가 너무 많아서그들의 급여NFL 선수와 일치합니다.
마찬가지로 Julia는 지금도 여전히 매우 틈새 시장입니다. 그러나 그것이 커지면 큰 승자는 일찍 채택한 사람들이 될 것입니다.
지금 Julia를 입양하면 10 년 안에 엄청난 돈을 벌 수 있다는 말이 아닙니다. 하지만 기회가 늘어나고 있습니다.
생각해보십시오. 대부분의 프로그래머는 CV에 Python을 사용합니다. 그리고 앞으로 몇 년 안에 우리는 취업 시장에서 더 많은 Python 프로그래머를 보게 될 것입니다. 그러나 Python에 대한 기업의 수요가 느려지면 Python 프로그래머의 관점은 떨어질 것입니다. 처음에는 느리지 만 불가피합니다.
반면에 Julia를 이력서에 올릴 수 있다면 진정한 우위를 점할 수 있습니다. 솔직히 말해서 다른 Pythonista와 다른 점은 무엇입니까? 별로. 하지만 3 년 안에 줄리아 프로그래머는 그리 많지 않을 것입니다.
Julia-skills를 사용하면 직업 요구 사항 이상의 관심사가 있음을 보여줄뿐만 아니라 또한 배우고 자하는 열의와 프로그래머가된다는 것이 무엇을 의미하는지에 대해 더 넓은 이해를 갖고 있음을 보여줍니다. 즉, 당신은 그 일에 적합합니다.
여러분과 다른 Julia 프로그래머는 미래의 록 스타이며 여러분도 알고 있습니다. 또는Julia의 제작자2012 년에 이렇게 말했습니다.
우리가 용납 할 수없는 욕심이 많다는 것을 알고 있지만 우리는 여전히 모든 것을 갖고 싶어합니다. 약 2 년 반 전에 우리는 탐욕의 언어를 만들기 시작했습니다. 완전하지는 않지만 1.0 릴리즈를 할 때입니다. 우리가 만든 언어는줄리아. 그것은 이미 우리의 불의한 요구의 90 %를 제공하고 있으며, 이제는 그것을 더 구체화하기 위해 다른 사람들의 불의한 요구가 필요합니다. 그래서 만약 당신이 탐욕스럽고 비합리적이고 까다로운 프로그래머라면, 우리는 당신이 시도해보기를 바랍니다.
파이썬은 여전히 미친 듯이 인기가 있습니다. 그러나 지금 Julia를 배우면 나중에 황금 티켓이 될 수 있습니다. 이런 의미에서 : Bye-bye Python. 안녕하세요 Julia!
'Data Analytics(ko)' 카테고리의 다른 글
No More Basic Plots Please -번역 (0) | 2020.10.05 |
---|---|
The Definitive Data Scientist Environment Setup -번역 (0) | 2020.10.03 |
Extracting Data from PDF File Using Python and R -번역 (0) | 2020.10.02 |
Advanced Python: Itertools Library — The Gem Of Python Language -번역 (0) | 2020.10.01 |
Data Visualisation using Pandas and Plotly -번역 (0) | 2020.09.30 |