2009-08-10 4 views
19

웹 용 Haskell에 대한 작업이 많지 않은 것으로 보입니다. 사람들은 을 학습 도구로 사용하여 이상의 기능을 프로그래밍했습니다. 누군가가 하스켈에 웹 응용 프로그램을 개발하여 배포 했습니까? 제발, 링크를 공유하십시오.하스켈은 웹 애플리케이션을 위해 충분히 성숙한가요?

다음 세션 의견은 내 마음 을 변경하고 비즈니스 측면에서 유용 할 수있는 다른 일을 계획 할 수 있습니다. 안내, 안내, 제발!

나는 기능적인 프로그래밍 언어를 배울 계획입니다 그리고 난 하스켈을 들었다.

하스켈은 상업용 웹 응용 프로그램을 개발하기에 충분하도록 "조리"되어 있습니까? 또는 가치가 있다면 다른 옵션을 찾고, 아니면 기능적 프로그래밍 언어가 아닌 다른 것을 찾아야할까요?

언어 학습에 대한 투자는 매우 비쌉니다. 하스켈이 배우는 데 정말로 가치가 있는지 확인하고 싶습니다.

안내.

+1

하스켈은 웹 애플리케이션에 적합한 선택입니까? http://jekor.com/article/is-haskell-a-good-choice-for-web-applications –

+1

하스켈 자체는 실제 응용 프로그램에서 충분히 성숙합니다. 웹 프레임 워크는 다를 수 있습니다. 저는 매우 흥미로 웠던 Yesod를보고있었습니다. (O'Reilly 서적을 가질만큼 충분히 성숙했습니다.) – comingstorm

답변

11

Ramiz는

귀하의 제목은 "상업 웹 응용 프로그램"을 언급, 그래서 최종 목표는 기능적인 프로그래밍 언어를 사용하여 웹 응용 프로그램을 작성하는 것입니다 있으리라 믿고있어.

이 경우에는 기능적 동시 프로그래밍 언어 Erlang으로 작성된 빠른 HTTP 서버 인 yaws으로 시작하는 것이 좋습니다. PHP와 같은 스크립트를 기능적 사고 방식으로 비틀어서 하스켈 (Haskell)과의 작업으로 변환 할 수있는 많은 일들을 배우게됩니다.

실제로 하스켈을 고수하고 일반적인 기능적 접근 방식보다 언어 선택이 더 중요한 경우라면 Real World Haskell 책을 살펴보십시오. 그러면 언어를 배우는 동안 태 클에 관심이있을 수있는 일반적인 문제가 언어로 어떻게 해결되는지 알 수 있습니다.

+0

감사합니다, Saketh. 나는 하스켈에 대해 너무 걱정하고있다. 여기서 내가 하스켈을 언급 한 것은 다른 어떤 것보다 많이 보였던 것입니다. 또한 아주 오래되었고 아주 좋은 진전을 보입니다. 관심사는 학습과 수입이라는 두 가지 측면에서 유익 할 수있는 언어를 배우는 것입니다. 그게 전부 야! 당신은 다른 옵션을 제안 할 수 있습니다. –

8

새로운 언어를 배우면 필요한 투자가 줄어 듭니다. 하스켈로 시작하더라도, 얻은 기능 지식은 다른 언어를 배우는 데 도움이 될 것입니다.

또한 언어에 따라 다릅니다. Java에서 온 경우 스칼라를 제안한다면 #net을 제안 할 것입니다. #

+0

이 경로의 한 가지 이점 : Java 또는 .Net 중 일부를 배웁니다. 클래스 라이브러리. –

+0

알기 쉬운/잘 이해하고있는 문제의 대부분을 숨기기 때문에 .net 래퍼가 필요하지 않습니다. 개방성, do-it-yourself는 언어를 최대한 활용하는 데 더 바삭 바삭합니다. –

+0

'.net wrapper'와 같은 것은 존재하지 않습니다. 이것은 프레임 워크입니다. –

2

웹 개발을 하시려는 분은 JavaScript의 내부를 자세히 살펴 보시기 바랍니다.
Javascript는 일류 함수를 사용하는 약하고 형식이 지정된 동적 프로토 타입 기반 언어입니다.
V8, TraceMonkey 또는 Windows 셸을 사용할 수 있지만 (JScript를 실행하여) 브라우저가없는 환경에서도 실행할 수 있습니다. 귀하의 질문은하지 않지만

+0

자바 스크립트는 한 번 기본 언어 였고 내가 가지고 있었던 유일한 경험이었습니다. 그리고 여전히 내 경력 경로로서 웹을 선택하는 데 도움이되는만큼 사랑합니다. 나는 JS 서버쪽으로 매우 진보적 인 성장을 보았다.하지만 나는 특정한 목적을 위해 일한다고 생각한다. –

+0

서버 측 실제 자바 스크립트가 아마도 가장 좋은 방법 일 것입니다. 자바 스크립트는 매우 강력하고 개발 속도가 빠르기 때문에 C 스타일 구문에 익숙하기 때문에 훌륭합니다. 일단 데스크탑으로 성숙되면 내 언어가 선택됩니다. –

+0

왜 downvote? OP와 같은 또 다른 기능 언어를 제안했습니다. –

6

하스켈이 내 비밀 무기가 될 수 있다고 생각합니다. 다른 개발자보다 약간 우위에 있으며, 컨설팅 작업에 자주 사용되는 도구를 찾는 도구입니다.

DSL은 요즘 맞춤 소프트웨어에서 상당히 인기가 있습니다. Haskell은 이런 유형의 작업에 아주 적합합니다.

이것이 "상업적"환경이 아니라면, 어떤 종류의 다중 언어 프로젝트가 가장 좋습니다 (좋은 UI는 하스켈의 약점 중 하나라고 생각합니다). 나는 프로젝트가 바로 지금 하스켈을 백엔드에서 빠른 cgi "서비스"로 실행하고있다. (나는 '프레임 워크'를 너무 많이 좋아하지 않으며, 현재는 하스켈에서 사용할 수있는 것을 좋아하지 않는다. 플렉스 (Adobe Flash Platform) 프런트 엔드에 의한 업그레이드. 이 프로젝트의 최종 의도는 중소기업에 금융 계획 보조로 상업적으로 판매 될 예정입니다.

내가 말할 수있는 마지막 것은, 개인적으로는 입니다. 하스켈은 가장 큰 직접적인 이점을 제공하는 FP를 일반적으로 생각합니다. 이를 위해 F #, Scala, Erlang과 같은 다른 FP 언어에 눈을 돌리고 더 나은 적합성이 있다고 생각한다면 그 언어로 실행 해보십시오.

* 실제로 프로젝트는 외부 업체에 마케팅을 시작하기 전에 최소 1 년 동안 내부적으로 사용됩니다.

6

웹 응용 프로그램에 대해 말하는 경우 선택한 언어는 웹 개발을 위해 작성된 라이브러리만큼 성숙한 언어입니다.

+0

하스켈에서 웹 응용 프로그램을 제공 할 수 있습니까? –

+4

예, 가능합니다. 우리 사이트는 하스켈에 완전히 쓰여졌 고 우리가 만든 최선의 결정 중 하나였습니다. 물론, 그것은 신생 기업입니다. 분명히 아무 곳에도 갈 수는 없지만, 그것이 어디에도 가지 않는다면, 우리가 하스켈을 선택했기 때문에되지 않을 것입니다. 물론입니다. – clintm

2

웹 관련 라이브러리와 소수의 상용 사용자로 구성된 매우 풍부한 생태계가 있습니다. 내가 근무하는 회사는 보안 시장에서 웹 애플 리케이션을 위해 하스켈을 사용한다.

는 제안에 무엇인지 확인하기 위해 도서관에서보세요 : http://hackage.haskell.org/packages/archive/pkg-list.html#cat:web

2

있습니다 웹 사이트 (Happstack, Kibro, 해킹, 샐비어, Turbinado)를 개발하기위한 하스켈 라이브러리의 수; 문제는 어떤 것이 좋은지를 아는 것이 어렵다는 것입니다. 이 도서관들 중 상당수는 아주 어리다. 나는이 도서관들이 성숙 해짐에 따라 향후 2 년 내에 상황이 나아질 것이고 도서관이 더 잘 문서화됨에 따라 더 명확해질 것으로 기대한다.

한편, 하스켈은 웹 애플리케이션을 작성하는 데 훌륭한 언어라고 말하고 싶습니다. 라이브러리를 알게되고 시간이 부족할 때이를 향상 시키려면 시간을 할애해야합니다.

2

jinjing의 코드를 확인하십시오. http://github.com/nfjinjing/loli/tree/master 예, 아직 실험 중입니다. 그러나 그것은 당신의 눈을 조금 열어줍니다.

충분히 하스켈 자체가 확실히 조리됩니다. Java를 신뢰하지 않는 사람들은 정부 데이터를 보호해야 할 때 Haskell (http://www.galois.com 참조)을 사용합니다.

그러나 하스켈의 웹 프레임 워크는 원하는 것을 남깁니다. 따라서 현재로서는 가장 생산적인 환경이 아닐 수도 있습니다. 하지만 ... 당신이 그것을 습득한다면, 막강한 힘이 당신 것이 될 것입니다. :)

2

장기간뿐만 아니라 단기간에 생각하면 하스켈이 최선의 선택입니다. 다양한 웹 개발이 있지만, 거기에는 많은 공통점이 있습니다. 예를 들어 모든 프레임 워크는 양식 작성을 위해 응용 펑터를 사용하며 라이브러리는 서로 바꿔 사용할 수 있습니다. 따라서 프레임 워크를 배울 경우 기본적으로 데이터베이스 인터페이스 이후 다른 것으로 변경하기 쉽습니다. 렌더링 기술/라이브러리는 대부분 같은 시간입니다. 다른면에서, 당신이 다른 언어로 바꾸기로 결심했다 할지라도, 하스켈을 배울 많은 것들이 있습니다. 당신은 그것으로부터 이익을 얻을 것입니다. 그래서 확실히 하스켈은 배울 가치가 있습니다.

미래에 대한 투자로 생각 하겠지만 어쩌면 지금 끔찍한 비판적인 일을하지 않았을지라도, 절차 적 프레임 워크 (연속 기반인지 아닌지)는 웹 개발의 미래라고 생각합니다. 훨씬 더 유지 보수가 쉽고 직관적입니다. 예는 다음과 같습니다 ocsigen (OCaml의), 해변 (스몰 토크), coccoon (자바 스크립트), 내 자신 : 하스켈로 작성 mflow.

트윗에서 3 페이지 웹 응용 프로그램을 본 적이 있습니까? https://twitter.com/AGoCorona/status/329648864082677760

0

지금, 그것은 웹 프레임 워크 snap을 사용
회사 janrain에 의해 입증 된 바와 같이 그 하스켈 상용 웹 개발에 사용할 수있는 의심의 여지입니다.

haskell (haskell 1.0)의 첫 번째 버전이 1990 년에 출시되었음을 알 수 있습니다. 그리고 haskell이 어떻게 그 당시에 있었는지 살펴 보았습니다. 이제는 어떻게 "요리"가 많이 있었는지 확실하게 말할 수 있습니다.

관련 문제