2009-11-19 2 views
10

어젯밤에 나는 The Pragmatic Programmer을 읽었으며 결코 사용하지 않더라도 경력을 밟을 때 모든 언어의 언어를 배우는 것이 좋습니다. 나는 이것이 항상 좋은 생각 일 것이라고 항상 생각했지만 책은 진지하게 그것에 대해 생각할 충분한 자극을 주었다.C# 개발자의 마음을 넓히는 법을 배우기에 좋은 프로그래밍 언어는 무엇입니까?

"오브젝트 지향 디자인을 배우면 순수하게 C 프로그램을 다르게 코딩합니다"라는 단어도 언급됩니다.

나는 자바를 배우고 다시 배울 수 있지만, C#과 같은 원리를 많이 따르는 언어 일 가능성이있다. 나는 아마 어느 시점에서 Java를 배우 겠지만, 우선 다른 언어를 생각할 때 어떤 언어가 충분히 다른지를 생각해보아야한다. 프로그램 코딩 방법.

기능 프로그래밍? 어떤 제안도 환영하지만 C# 사용자의 관점에서 흥미롭고 "새로운"이유에 대한 간단한 추측을 제공하십시오.

+1

도 참조 HTTP ://stackoverflow.com/questions/362226/whats-your-next-programming-language-and-why –

+0

확실히 XSLT입니다. :) –

답변

19

기능 패러다임 - 계획, 하스켈, 얼랑, F #

스크립팅 - 펄, 파이썬, 루비

내가 C를 언급 도전 APL은 J, K 또는 Q처럼 변형 사람들의 또한

하나? 오늘날 프로그래밍을 배우는 많은 사람들은 금속에 대한 노출이 거의 없으며 C는 빛을 보도록 도와줍니다.

+2

오! 그래서 * F #이 너무 이상해 보입니다. 그들이 기능적인 유형의 또 다른 하나라는 것을 깨닫지 못했다;) – mpen

+0

루아를 잊지 마라! – RCIX

+0

F #은 다중 패러다임 언어입니다. F #을 배우기 전에 기본 Haskell을 먼저 추천 할 것입니다. 그렇지 않으면 구문을 배우는 것을 끝낼 수는 있지만 함수 용어로 생각하는 법을 배우지는 못할 것입니다. – FinnNk

5

다른 패러다임을 배우십시오.

나는 역사적인 이유로 함수 프로그래밍을위한 Lisp을 제안하고, "상업적"언어를 위해서는 Erlang을, 선언적 (a.k.a 논리적) 프로그래밍을 위해서는 Prolog를 제안한다.

다른 사물을 볼 수있는 방법을 제공합니다. 기능적 프로그래밍 (함수 권한을 증명할 수있는 기능, 부작용이없는 쉬운 병렬 적 통합 등)뿐만 아니라 지금은 잘 맞는 특정 작업을위한 선언적 프로그래밍의 가능성에 계속 놀라게되는 많은 프로그래머들이 있습니다 명령형 프로그래밍 (예 : 패턴 기반 시스템 또는 패턴 기반 시스템)

15

F #을 배우는 것이 좋습니다. 이미 .NET Framework에 익숙하므로 처리 할 필요가 없습니다. 언어에 집중하고 기능적 프로그래밍 아이디어를 배울 수 있습니다.

아마도 C#으로 전환하면 기능적 스타일로 많은 것을 할 수 있고 그 언어에서도 생산성이 향상됩니다.

6

F #은 좋은 옵션입니다. 하지만 자바 스크립트와 같은 동적 언어도 가능합니다. 또한 Lisp 또는 XSL과 같은 C 중심의 항목이 적습니다.

정말 잘 해줍니다.

3

Try C. 포인터 및 수동 메모리 관리를 다루는 방법을 배우는 것이 좋습니다. 특히 .NET 또는 Java와 같은 "메모리 관리 형"세계에서 오는 경우에 유용합니다. 이렇게하면 소프트웨어 프로그램 내에서 내부적으로 "작동 방식"에 대한 훌륭한 시각을 얻을 수 있습니다.

또는 나와 같이 할 수 있습니다. 나는 C# 프로그래머이지만 자유 시간에는 Z80 어셈블러에 코드를 씁니다. 어쨌든 이것은 아마도 조금 이상합니다.:-)

3

아직 시도하지는 않았지만 F #은 배우기에 좋은 언어 인 것 같습니다. 그것은 기능적이지만 긴급한 스타일도 허용합니다. 또한 .NET 프레임 워크와 라이브러리를 활용하므로 많은 기존 지식을 재사용 할 수 있습니다. 어쩌면 나는 그것을 직접 시도해야 할 것이다. ...

7

기능 프로그래밍. 새로운 패러다임을 통해 기존 지식과 경험을 새로운 빛으로 보게 될 것입니다. 또 다른 필수적인 언어가 결코 그렇게 할 수없는 것입니다.

.NET에 고정하려면 F #을 사용해보십시오. 완전히 새로운 것을 위해, 저는 하스켈을 추천합니다; 엄청난 양의 초보자 정보가 있으며 커뮤니티는 훌륭하고 믿을 수 없을 정도로 도움이됩니다.

0

C#/.net 또는 Java는 별다른 몇 가지 기능 (일부 컴파일러 마술, 제네릭과 같은 좀 깊음)이 있더라도 기본 개념은 동일합니다.

XSLT, XQuery, T-SQL, PL/SQL, OCL 등과 같은 특수 언어에 익숙해 져 더 다양한 개념과 접근 방법을 접하게됩니다. 예를 들어 SQL dialectrs는 효율적인 코드를 얻기 위해 기반 연산이 설정되어 있다고 생각할 것을 요구합니다. XSL 변환은 구조화 된 데이터에서 작동합니다. 하나의 도구가 모든 요구 사항을 충족시키는 것은 아닙니다.

12

개발 상자를보고 다른 소프트웨어 측면을 살펴볼 것을 제안 할 수 있습니까?

대부분의 프로그래머는 사용자 심리학 및 유용성 문제를 배우고 회피하지 않습니다. 대부분은 그래픽 디자인과 관련된 것을 무시합니다.

UI와 그래픽 디자인에 관심이 많아서 계시로 드러났습니다. 똑같은 눈으로 만든 소프트웨어를 더 이상 볼 수 없습니다. 당신은 다른 수준에서 생각하기 시작합니다.

3

폭발하는 머리는 마음을 넓히는 형태입니까? 그렇다면 Objective-C를 시도하십시오.

+1

권자, 사실. – RCIX

5

사고 방식에 대한 모든 기능 언어 - 해결책을 더 쉽게 만드는 동일한 문제에 대해 다르게 생각하도록 뇌를 재배치하고 있습니다.

어셈블러 우리는 어깨를 으 are니다.

2

아무도 이미 그것을 말한 것이 궁금합니다. C++/c! 이것은 매일 사용하는 기본 사항을 알려줍니다.

+0

나는 C++보다 C를 강조 할 것입니다. 그것의 청결한 단순함은 학습 가치가있는 것의 대부분을 당신에게 가르쳐 줄 것입니다. K & R을 통해 자신의 길을 일하는 것은 계몽적인 경험입니다. –

0

복용하는 시간이 내가 걸리는 경우 : 조립 또는 D 작성 기능은 다음에 수행 할 작업입니다.

내가 몇 년 전에 돌아 서서 회고했다면 : 깊이있는 C++ 템플릿은 엄격하게 '언어'는 아니지만 프로그래밍에 대한 내 관점을 바꾸는 데있어 가장 혁신적인 언어라고 할만큼 가치가 있습니다. Alexandrescu의 Modern C++ 디자인으로 시작한 다음, 새로운 지식으로 여러 프로그램을 작성하거나 기존 클래식 라이브러리를 향상 시키십시오. 배울 톤이 있습니다.

0
  1. 기능 언어 - 계획, 하스켈
  2. 동적 언어 - 루비, 파이썬
  3. 프로토 타입 기반 OOP 언어 - 자바 스크립트
  4. 논리 프로그래밍 언어 - 프롤로그
+0

.... 그리고 멀티 링을 염두에두고 있다면 얼랭도 그렇습니다. – Tinku

관련 문제