웹 개발을 위해 CL과 Python 중에서 선택


13

Java 배경에서 왔으며 Paul Graham의이 작은 에세이를 읽은 후 작업 속도를 높이기 위해 Common Lisp라는 새로운 언어를 선택하는 방법에 대해 궁금해하기 시작했습니다 (웹 개발자입니다).

나는 현재 애완 동물 프로젝트를 작성하고 있지만 미래에 대한 사업 계획이 있습니다. Paul은 자신의 에세이에서 "비밀 무기"로 LISP에 대해 이야기합니다. 이 진술이 10 년 후에 사실인지는 모르겠지만 좋은 CL 튜토리얼에 발가락을 담그면 LISP가 웹 개발에 우수 할 것 같습니다.

폴은 또한 파이썬을 내가 실제로 잘 알고있는 훌륭한 선택이라고 언급합니다. 내 질문은 : 내 미래의 웹 프로젝트를 위해 어느 것을 선택해야합니까?

내가 생각한 것 :

  • 데스크톱 응용 프로그램을 개발하지 않으므로 원하는 언어를 선택할 수 있습니다.
  • 파이썬은 매우 큰 커뮤니티를 가지고있는 것처럼 보이므로 lisp에 비해 많은 라이브러리 / 프레임 워크
  • lisp에는 매크로와 같은 일부 기능이 있으며 다른 곳에서는 찾을 수 없습니다.
  • 나는 주로 혼자 또는 1-2 명의 다른 프로그래머와 함께 일하지만 lisp 지식을 가진 사람을 찾는 것은 어려울 수 있습니다

그래서 당신은 어떻게 생각하십니까?


파이썬 커뮤니티는 PHP에 비해 얼마나 큽니까? 필자는 PHP 개발자를 찾는 것보다 Python 개발자를 찾는 것이 어려울 수 있다고 가정하므로 프로젝트가 실험적 인 경우 옵션 중에서 선택하는 경향이 있습니다.
Alex

나는 PHP를 정말로 좋아하지 않기 때문에 이것은 나를위한 옵션이 아닙니다. 내가 유일한 상사이기 때문에 아무도 내가 싫어하는 것을 사용하도록 강요하지 않습니다. :)
Adam Arold

2
@Vash Python의 개발 커뮤니티는 PHP만큼 크지는 않지만 여전히 매우 큽니다. 또한 파이썬의 온라인 문서가 PHP보다 훨씬 뛰어납니다.
Quancle

내가 생각하는 것은 사실이다.
Adam Arold

2
아직 클로저를 언급 한 사람은 아무도 없다고 생각합니다!
Chiron

답변:


7

Java 배경에서 왔으므로 Clojure 프로그래밍 언어를 확인하지 않는 이유는 무엇입니까?
JVM에 존재하는 최신 Lisp 방언이므로 많은 JAR을 액세스 할 수 있습니다.

Clojure 세계의 Django 및 Rails와 같은 세련되고 생산 가능한 웹 프레임 워크를 찾지는 않지만 프로그래머는 Noir 및 Compojure 웹 프레임 워크를 사용합니다.
Heroku 플랫폼에서 Clojure 웹앱을 배포 할 수도 있습니다.

Clojure는 매우 보람이 있지만 학습 곡선은 정말 가파 릅니다. 함수형 프로그래밍을 배울 준비가 되었습니까 (잘 모르는 경우)? OOP 세계를 살기 위해?

파이썬은 안전한면입니다. 성숙하고, 많은 책, 많은 웹 프레임 워크, 거대한 지식 풀, 배우기 쉽습니다.

따라서 결정은 실제로 당신의 것입니다.


1
나는 최근 Clojure를 확인했으며 그것이 내 요구에 가장 적합한 것이라고 생각합니다! 충고 감사합니다!
Adam Arold

7

Lisp은 상아탑에서 나오는 목소리를 들으면서 가까이서들을 때 사용하는 언어입니다. PHP와 같은 다른 언어는 우아하거나 강력하지는 않지만, 일반적인 언어와 같고 쉽고 용서합니다.

Lisp는 많은 언어에 영향을 주었지만 결코 주류로 만들지는 못했습니다. 왜? 많은 개발자들이 언어의 개념을 이해하지 못했기 때문에 다소 모호한 것처럼 보였습니다. Lisp는 방대한 개발자들에게는 이해하기 어렵습니다. 프로그래밍 언어로 Lisp가 필요한 작업 설명을 본 적이 있습니까? 하지 않았습니다. "왜"물어? 많은 사람들이 유지하고 읽기가 어렵 기 때문입니다. Lisp에서는 단순히 표정만으로도 표현이 무엇을하고 있는지 즉시 알 수 없습니다. 그것은 특정 종류의 단순성이 부족하기 때문에 결코 일반적인 언어가되지 않습니다.

그럼에도 불구하고 Lisp는 많은 언어에 영향을 미쳤습니다. 나는 학문적 목적으로 그것을 배우는 것이 좋습니다. 그것은 당신의 정신 경계를 넓히기 때문에 종종 다른 관점에서 문제에 대해 생각할 수 있습니다. 그러나 대학에 대한 타당성 조사를 수행하지 않는 한 웹 응용 프로그램에 사용하지 않는 것이 좋습니다. 다른 옵션과 비교하여 도구 및 라이브러리에서 지원되지 않습니다. 결국 돈을 벌고 이력서에 제시 할 수있는 실용적인 기술을 습득하려면 반드시 Python을 선택하십시오. Lisp의 혜택도 누리지 만 전반적인 프로그래밍 스타일이 도움이 될 수는 있지만 실용성이 떨어지고 학업 성이 떨어집니다.

또한 요즘에는 기능 언어의 르네상스가 있습니다. 일부 기능 개념을 선택하려면 JVM에서 F. for .NET 또는 Scala를 살펴볼 수도 있습니다.

따라서 선택하십시오. 둘 다 실제 언어라면 라틴어 / 고대 그리스어 또는 프랑스어 / 독일어 / 이탈리아어 / 스페인어 / 중국어 / 아랍어 중 어느 것을 배우고 싶습니까?


시카고 지역에서 구인 광고 광고를 보았습니다. 경험이 없어도 직원을 고용하고 훈련시킬 것입니다. 나는 그 공연을 원했지만 출퇴근은 나를 죽였을 것이다. 그러나 나는 그것이 수년 동안 내가 본 유일한 광고 라고 생각합니다 .
Bryan Oakley

내가 할 일 : 좋아. LISP와 파이썬도 배우 겠지만, 위에서 언급 한 이유 때문에 파이썬을 사용할 것이다. 설명해 주셔서 감사합니다.
Adam Arold

3

일반적인 lisp와 python 중에서 선택하면 python을 배우는 것이 가장 실용적인 조언 입니다. 저의 기술자는 프로그램을 배우는 사람들은 누구나 lisp를 배워야한다고 생각하지만, 그것을 배우는 것이 "[일] 업무 속도를 높이는 데 도움이되지는 않을 것입니다."

lisp를 배우면 장기적으로 더 나은 프로그래머가 될 것이라고 믿습니다. 그러나 귀하가 진술 한 이유에 대한 리스프 학습은 귀하의 즉각적인 목표 IMO에 더 가까이 가지 않습니다. 실용적이고 실용적인 솔루션을 원한다면 Python을 배우십시오. 일상적인 작업에 emacs 사용자 정의가 포함되지 않는 한 lisp를 사용하여 일상적인 작업에 도움이되는 도구 나 기회는 충분하지 않습니다.

다른 한편으로, 공부하고 배우는 시간이 있고, 당신이 선택한 파급 효과 (도구가 부족하고, 욕구가있는 동료를 찾기가 더 어렵다) 등을 기꺼이 감내 려면 리스프와 함께 가십시오. 정말 훌륭한 언어입니다.


3

오랜 시간 동안 자신의 코드 라이브러리를 작업하고 언어의 한계를 뛰어 넘는 구성이 가끔씩 발생하지 않는 자기 동기가있는 사람이라면 Lisp를 사용하는 것이 좋습니다. 자영업자라면 매크로 기능으로 인해 장기적으로 생산성이 향상 될 수 있습니다.

파이썬은 유연하거나 빠르거나 강력하지 않습니다. 다른 많은 언어들에 비해 배우는 것은 사소한 일입니다. 사실 그것은 매우 흐릿합니다. 그것은 유행 언어입니다, 폭 넓은지지를 받고 금일 , 도서관의 톤이있다. 새로운 언어를 배우는 것에 대해 불평하는 사람들과 협력해야한다면 아마 조금 나아질 것입니다.

내가 Lisp에 능숙한 사람을 파이썬에 능숙한 사람과 비교하여 검토한다면, 나는 Lisp 사람이 파이썬 사람보다 더 나은 프로그래머이자 컴퓨터 과학자라고 생각할 것이다 (다른 모든 것들은 평등하다).

나는 극심한 편견을 가지고있다.


1
당신의 요점을 볼 수 있습니다.
Adam Arold

2

Paul Graham이 말한 것을 강조하고 싶다면 Lisp를지지합니다. Lisp 계열 언어에서 지원하는 접근 방식과 사고 방식의 차이는 다르게 생각하도록 격려하기 때문에 프로그래머로서 전체에 영향을 줄 가능성이 훨씬 더 큽니다. 그리고 내가 그렇게하지는 않았지만 Lisp의 웹 개발은 꽤 잘 지원되는 것처럼 보입니다 .SO 에서이 질문을 참조하십시오.

파이썬은 훌륭한 언어이며, 나는 그것을 쓰러 뜨리지 않을 것입니다. 파이썬에는 훌륭한 웹 프레임 워크와 도구가 많이 있으며, 필요할 때 이미 익숙한 사람들을 쉽게 찾을 수 있습니다.

궁극적으로 현재 환경 때문에 Lisp를 선택하면 항상 "원하는 것을 사용 하시겠습니까, 업계에서 이미 사용하고있는 것을 사용 하시겠습니까?" 그 질문에 대한 당신의 대답은 무엇입니까?


2

시간 압력이 없으면 Lisp를 사용하십시오. Lisp을 배우면 Python을 보는 방식이 바뀌지 만 다른 언어를 배우더라도 Lisp를 보는 방식을 바꾸지는 않습니다 (알고 있다면). Lisp는 툴박스의 새로운 툴 이상입니다. 새로운 사고 방식입니다.

당신이 그것을하는 동안 Factor 또는 다른 연결 언어를 살펴보십시오 . Concatenative 언어는 어떻게 생각하는 방법을 가르치는 놀라운 콤비 . 연결 언어를 ​​배우면 다른 모든 언어를 보는 방식이 달라집니다.

마지막으로 오른쪽 뇌를 운동하십시오. 프로그래밍 언어의 형식은 문제 해결을 위해 왼쪽 뇌를 과도하게 사용하도록 강요합니다. 또 다른 게임 변화 패러다임 전환에 액세스하려면 오른쪽 두뇌를 활성화하십시오.


0

Lisp는 다른 모든 언어와 마찬가지로 도구입니다. 유용한 기능이 있습니까? 동시에 다른 언어와 동일한 결과를 얻을 수 있으며 시간과 코드가 더 많이 걸릴 수 있습니다. Lisp의 주요 문제점은 플랫폼에서 다양한 Lisp를 지원하는 공유 호스트 (내가 아는)가 없기 때문에 최소한 VPS 호스팅을 가져야한다는 것입니다.

내가 제안 할 한 가지는 Java 프로그래머이기 때문에 Groovy (또는 Scala)를 살펴 보는 것입니다. Java 라이브러리 및 API를 사용할 수 있으며 생산성이 향상됩니다.


내 아이디어가 공유 호스팅에서도 작동하지 않기 때문에 VPS는 문제가되지 않습니다.
Adam Arold

0

나는 Lisp의 기원 이외의 톤을 모른다. 내가 파이썬에 대해 알고있는 것은 이것입니다 :

첫 비행 접시가 나온지 5 분 후에, 파이썬 커뮤니티는 I / O 시스템과의 인터페이스를 위해 무언가를 모을 것입니다.

또한 주로 JavaScript에서 왔으므로 Python이 매우 자연스럽게 적합했습니다. 아마도 그 대화는 사실 일 것입니다.

또한 장고는 요즘 모방 할 프레임 워크입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.