2009-10-18 3 views
5

직장에서 Python/Django를 사용하고 있기 때문에 재택 근무 프로젝트가 필요합니다. 나는 새로운 것을 배우고 싶다. 그래서 나는 자바를 체크 아웃하려고 생각하고 있었다.asm/C/Python/Perl/Lisp/Scheme 프로그래머가 새로운 것을 배우기 위해서

Java 웹 앱을 배포 할 때 가장 잘 알려진 웹 프레임 워크는 무엇입니까? 레일에서 루비를 확인하지 않는 유일한 이유는 ORM과 다른 부분이 장고와 얼마나 비슷한가 때문입니다.

다른 방법으로 내가 해변/소형 토크를 살펴 봐야한다고 생각합니까? 아무도 왜 내가해야한다고 설명 할 수 있습니까?

하스켈은 누군가가 좋은 주장을 할 수 있다면 고려할 것입니다. 웹 프레임 워크와 데이터베이스 액세스 라이브러리가 필요합니다.

x86/asm을 통한 스택 패러다임에 익숙하지 않은 경우 고려해야 할 요인/앞으로 고려해야합니다. 나는 이것에 대한 어떤 반론도 듣고 싶어한다.

은 참조 : http://www.reddit.com/r/programming/comments/9v3uf/asm_c_python_perl_lisp_scheme_programmer_looking/

+0

커뮤니티 위키 여야합니다. – Brian

+0

자신을 연결해야합니다. http://www.reddit.com/r/programming/comments/9v3uf/asm_c_python_perl_lisp_scheme_programmer_looking/ – Brian

+0

@Brian Okie dokie도 참조하십시오. 나를 연결시켜 줄 수 있니? – callen

답변

4

는 소리 때문에 스몰 토크/해변은 좋은 것입니다. IMO는 결코 그것을 사용하지 않더라도 smalltalk을 배워야하며 해변은 여러분이 익숙한 것과는 다른 웹 프레임 워크입니다.Django, 즉 인스턴스는 REST에 관한 것이고, 해변의 철학은 기본적으로 "REST로 지옥에"라고 말합니다.

이미지 기반 환경에서 코드를 작성한 적이 없다면 자연스럽고 환상적인 것처럼 보이는 뭔가가 있습니다. smalltalk에서 시작된 많은 IDE 기능이 파일 기반 언어 IDE에서 구현되었지만, 마치 같은 기능이 마치 작은 이야기에 속하는 것처럼 느껴지는 부 자연스러운 접목처럼 느껴집니다.

Pharo. 메뉴 막대가 없다는 사실에 익숙해 지도록 충분한 시간을 가지며 그것이 당신을 움켜 잡지 못하는지 확인하십시오.

+0

나는 실제로 시스템 프로그래밍 배경에서 왔습니다. 웹 프로그래밍은 단지 저의 일입니다. 외계인 경험이 될 것이므로이 제안을 따르십시오. – callen

14

기술, 당신은 왜 목공이나 그림, 또는과 거의있는 다른 기술의 수백의 같은 쾌감 대 밖의 더 뭔가를 배울하지의 범위와 함께 들.

어느 시점에서 모든 언어가 동일하며 다른 언어를 학습하면 도움이 거의 없습니다.

반면에 완전히 다른 것을 사용하면 훨씬 더 균형 잡힌 사람이됩니다. 나는 그림과 골프 같은 그림을 좋아하지 않지만, 비록 내가 골프 강사에게 나의 핸디캡이 무엇인지 물었을 때 그는 공을 똑바로 치는 것이 불가능하다고 말했다 :-)

나는 을 즐겨 보니은 정말 새로운 경험이므로 익숙하지 않다. 다른 컴퓨터 기술을 배우는 것은 잠시 후에 할 수있는 쉬운 일이기 때문에 그것을하는 즐거움은 줄어 듭니다.

나를 잘못 이해하지 말고 현장에서의 발전을 따라하고 싶지만 대부분의 작업은 안정적인 기술에 관한 것이므로 새로운 기술은 내 경력에 아무런 영향을주지 않습니다. 당신은 다른 상황에 처해있을 수 있습니다.

+1

한 번 그렸습니다. 나는 약간 다른 스타일의 낡았 던 Delaroche의 사본을 곧게 낳는 것에 90 시간 동안가는 것을 끝내었다. 즉, 제대로 종료되지 않았습니다. 목공예? 나는 뉴욕에있다. 일어나지 않아. 프로그래밍에서 더 잘되기를 원하며, 그것은 내 인생에 중요한 영향을 미치는 유일한 것입니다. 내가 공부할 수있는 잠재적 인 비 프로그래밍 관련 주제를 발견하면 진지하게 조언 하겠지만 진지하게 고려할 것입니다. 그런 식으로 뭔가를 추구하지 않을 것입니다. – callen

+2

"어느 시점에서 모든 언어가 동일합니다." 우리는 그 시점에서 길고 먼 길입니다. – itowlson

+1

그가 의미하는 바는 당신이 바보 같은 컴퓨터를 당신의 의지대로 시도하고 채찍질 할 수있는 많은 방법이 있다는 것입니다. –

0

Java Spring 프레임 워크는 어떻습니까?

http://www.springsource.org/

아니면 NHibernate에? 당신에게 하루의을의 끝에서

http://en.wikipedia.org/wiki/NHibernate

. 나는 많은 사람들 중에서 2 명만 열거했다. 정적 언어를 professonally 프로그래밍 할 때 ... 동적 또는 스크립팅 언어를 배우려고합니다. 그 반대.

또한 전 완전히 다른 영역이나 내 영역 외부를 배우려고합니다 ... Powershell 또는 Korn 셸 또는 ActionScript 일 수도 있습니다.

+0

Powershell 또는 Korn 셸은 내가 추구하는 방식으로 저에게 도전하지 않으며 제가 가지고있는 비즈니스 측면에 적용 할 수 없습니다. – callen

+0

또한 @Hibernate, 방금 .NET 세계에서 벗어났습니다. 차라리 돌아 가지 않을 것입니다. – callen

0

Java 웹 앱을 배포하기위한 가장 좋은 웹 프레임 워크는 무엇입니까?

다른 웹 프레임 워크보다 존경받는 단일 웹 프레임 워크가 없습니다.Struts2, Spring MVC, Stripes 또는 Wicket (이벤트 기반)은 모두 좋은 후보입니다 (개인적으로 Stripes를 좋아합니다). 하지만 당신은 끈기 (Hibernate 또는 JPA)와 풀 (Spring)을 위해 조금 더 필요합니다.

Grails는 (레일에 그루비는) 또 다른 좋은 옵션입니다.

다른 방법으로는 해변가/스몰 토크를 살펴 봐야한다고 생각합니까? 아무도 왜 내가해야한다고 설명 할 수 있습니까?

글쎄, 스몰 토크를 배우는 것은 상처를 줄 수는 없지만 자바처럼 보통 언어를 선택하는 좋은 이유는 없다고 생각합니다. 금형에 관해서는, VisualAge for Smalltalk을 제외하고는이 분야에 대해 아무것도 알지 못합니다. 그러나 개인적으로는 실제로 멀리 떨어져 있습니다.

하스켈은 누군가가 좋은 주장을 할 수 있다면 고려할 것입니다. [...]

나는 그 사람이 옳지 않은 것처럼 보입니다.

x86/asm을 통한 스택 패러다임에 익숙하지 않은 경우 요인을 고려해야합니다. 나는 이것에 대한 어떤 반론도 듣고 싶어한다.

위와 동일. 목록에서

+0

Java의 웹 앱은 일반적으로 공유 상태이거나 더 장고/레일과 비슷합니까? 나열된 다양한 웹 프레임 워크의 차이점은 무엇입니까? – callen

2

난 당신이 완전히 객체 지향 언어 때문에 말하는 것입니다.

루비를 확인해 볼 수는 있지만 클로저, 고차 함수 및 프로토 타입 상속에 대한 지원과 같이 기대하지 않았던 많은 재미있는 것들을 제공하므로 자바 스크립트를 권장합니다. 매우 인기가있다. 이미 리스프와 제도를 알고있는 경우에 당신을 위해 많이 아프지 않을 수 있지만

+0

목록이 완전하지 않아 루비로 코드화했습니다. 레일이 아닙니다. 루비가 파이썬과 완전히 반대되는 것은 아닌가? 나는 정기적으로 파이썬에서 클로저를 사용한다. http://ivan.truemesh.com/archives/000392.html 이전에도 사용 된 자바 스크립트입니다. 그걸 신경 쓰지 마세요. 나는 몇 가지 다른 기술에 대한 대화를 이끌어 가면서 감동 한 세계의 모든 것을/nix 나열하는 것을 피하려고했습니다. 당신은 이것을 무시하고 나를 슬프게 만듭니다. : – callen

+0

당신이 이미 명령적이고 기능적이며 객체 지향적 인 프로그래밍을 이미 이해하고 있다면 다른 언어로 계산을 표현하는 새로운 방법을 찾지 못할 것이라고 생각합니다. 우리가 직면 한 어려운 문제들 중 멀티 코어 머신에서의 동시성과 같은 것들이 있습니다. 그래서 JVM과 Compojure 웹 프레임 워크에서 Clojure를 살펴볼 것을 권장합니다. 정확히는 인기가있다. (그 문제에 대해서 하스켈이나 스몰 토크도 마찬가지다.) –

6

Haskell는 마음 벤더로 요즘 꽤 인기가있다. 순전히 기능적이므로 아무런 부작용이 없습니다. 텍스트를 인쇄하고 특정 순서가 필요한 다른 작업을 수행하려면 모나드를 사용해야합니다. 그것은 또한 완전히 lazily 평가, 그래서 당신은 하스켈에서 무한한 목록을 만들 수 있고 메모리 소비에 대해 걱정할 필요가 없습니다.

Haskell Platform 완전히 완료되지 않을 수도 있습니다,하지만 하스켈에 대한 라이브러리의 휴대용 설정하기위한 것입니다. list of packages에는 CGI 처리 및 (X) HTML 생성을위한 일부가 포함되어 있습니다.

+0

즉, 웹 프레임 워크가 없다. 이것은 목록에서 벗어나 이것을 부업 아이디어에 적용하려고한다. – callen

+0

" 웹 프레임 워크가 없습니다. "이제 막 비교적 성숙한 웹 도구 모음을 제공했습니다. 관심있는 다른 라이브러리 목록을 보려면 여기 (http://www.haskell.org/haskellwiki/RPC)를 확인하십시오. . –

3

자바를 제안합니다. 내가 직업을 찾고있을 때 자바 개발자에게 많은 기회가 있음을 눈치 챘으므로 거기에는 많은 것들이 있으며, 언젠가 Java 기술을 사용할 기회가있을 것입니다.

그리고 나서 Scala를 사용해보아야합니다. Scala는 매우 확장 성있는 프로그램을 만들기 위해 함수형 프로그래밍을 사용하는 일종의 Python 언어입니다. 파이썬과 달리 스칼라에서는 사물의 유형을 선언해야합니다. 스칼라는 Java 가상 머신에서 실행되므로 Java 상점에서 사용할 수 있습니다.

이 내가 자신을 학습하고자하는 다음 두 가지 언어이기 때문에 그것은 내가 당신이 대답을주는거야 가능

http://www.scala-lang.org/

.

당신은 아마 또한 자바 스크립트와 함께 놀아 약간의 시간을 할애해야한다.Javascript는 "스텔스 리스프"가되도록 의도 된 것으로, 당신이 바로 선택하겠다고 상상합니다.

http://www.crockford.com/javascript/javascript.html

http://bc.tech.coop/blog/030920.html

그리고 도대체, 그것으로 재미 좀. 게임이나 뭐라 써요!

0

나는 그래서 당신은 당신의 이력서에 리스프와 계획이 있더라도, 정말 깊이 배울 가치가있을 수도 있습니다 (일부 관련 방언) 리스프를 마스터 제안 것입니다. 이유는 http://www.paulgraham.com/avg.html을 참조하십시오.

그렇지 않으면 Prolog가 관심을 가질 수 있습니다. SQL과 관련되어 있지만 조직화 된 데이터 테이블 집합과 통신하는 대신 프로그래밍 용으로 사용됩니다. 당신은 웹 기술을 대상으로 지정할 경우

난 단지 자바 경험이 있습니다. 여기에서 JSF (Java Server Faces)는 Ajax를 사용하여 페이지를 업데이트 할 수 있으며 Google Web Toolkit은 매우 풍부한 구성 요소 기반 웹 페이지를 허용합니다. 이들은 충분히 재미있게 찾을 수있는 자바를 배울 수있을만큼 충분히 흥미 롭다. :)

+0

"나는 내게 Lisp을 사용하지 않는다. 이력서 ", 나는 SICP와 Graham의 Lisp 서적을 한 번 보았습니다. 나는 그것을 잘 이해한다. 나는 많이 배웠다. 움직일 시간. 나는 사람들이 뻔뻔 스러울 때 정말 그것을 좋아하지 않는다. – callen

+0

그 경우 나는 아이폰 개발을 제안 할 것이다. –

2

나는 웹 프레임 워크와 데이터베이스 액세스 라이브러리가 필요하다.

모든 프로그래밍이 웹 프레임 워크와 SQL 데이터베이스를 기반으로하는 경우 언어를 전환하면 다른 구문으로 만 동일한 문제가 해결됩니다.

Prolog, 개념적 그래프, RDF, Linda/JavaSpaces, XQuery, HDF5, ASN.1 또는 다른 네트워크 모델 - XMPP pub-sub, SNMP, 제로 구성 메쉬 또는 다른 데이터 모델을 사용하여 무언가를 구성하십시오. ZigBee의 떼가 Arduinos를 가능하게했습니다.

Oz, Io 또는 Erlang/OTP과 같은 언어를 보면 어쩌면 언급 한 것과 같이 주로 모노 리식이 아닌 분산되어있을 수 있습니다.

0

목록에 C# 및 .NET 플랫폼이 표시되지 않습니다. 그리고 아직 아무도 그것을 언급하지 놀랐습니다.

저는 C#에서 5 년간 근무했습니다. 몇 가지 Java 코드를 살펴 봤지만 코딩 된 적이 없습니다. 나는 자바가 C ​​#와 다소 유사하다고 믿는다. 그래서 당신이 능숙 해지면 다른 것을 고를 수 있다고 생각한다.

하나 개의 아이디어는 자신의 언어/컴파일러를 만들 수 있습니다. 제가 만들고 싶습니다 (또는 만들어 보려는) 객체 지향 구문을 가진 어셈블리 언어 수준의 컴파일러가 될 것입니다.이 컴파일러는 파이썬과 매우 유사하지만 형식이 지정된 언어로 만듭니다. db, dw, dd의 기본 원시 바이너리 유형으로 시작한 다음 이들에 추가 할 수 있습니다 ... 함수와 메소드는 상위 레벨 코드에서 자유롭게 혼합 된 어셈블리 언어를 가질 수 있습니다. 자, 그건 재미있는 프로젝트가 될 것 같아요?

+0

3 년 동안 .NET 개발자가되었는데, 최근에는 Python/Django 작업을 위해 그것을 버렸다. 아니요 괜찮습니다. 내 언어/컴파일러를 구현하는 것이 나에게 훨씬 더 흥미로운 전망이다. 형식화되고 객체 지향적 인 asm? 그게 어떻게 효과가 있을지 모르겠다. 당신이 구문을 정리했다면 나는 그것이 요소와 같을 것이라고 생각합니다. (스택 기반, 동적 유형) 여기에 표시 : http://factorcode.org/ 흥미로울수록 나는 C 프로그래밍 언어 인 ala ooc의 수퍼/클린업을 작성하려고합니다. 아마도 동시성에 대한 불변성을 가진 무언가 일 것입니다. 나는 그것에 대해 숙고 할 것이다. – callen

0

확실히 하스켈 또는 스몰 토크 또는 포스를 시도하십시오.

나는 넷째 떨어져 86 ASM 및 C의 헛소리에서 당신을 얻을 것이다 동안 스몰 토크가 가장 유용하다고 말할 것이다. 하드웨어에 가까운 것을 코딩하는 방법은 여러 가지가 있습니다. 당신은 웹 프로그래밍에있는 것처럼

0

OCaml을 사용해 보시지 않겠습니까? 그리고 (슬픈 듯이) .NET 세계로 돌아 오면 F #에 대한 지식을 짐에 맡기십시오.