새로운 언어를 배워야합니까, 아니면 이미 알고있는 언어에만 집중하고 그에 대한 지식을 키워야합니까? [닫은]


22

어느 쪽이 더 유익하고 생산적인가?


1
이것은 작업 유형과 프로젝트에 의존하지 않습니까? 대기업에서 일하는 경우 기술을 너무 자주 바꾸지 않을 것입니다. 프리랜서라면 선택의 여지가 있습니다.
Chris

@Chris : 제안, "언어 및 프레임 워크", 대부분의 개발자는 더 이상 명령 행 컴파일러 및 텍스트 편집기를 사용하지 않고 라이브러리, IDE, BD, Thrid-Party Tools, ... ;-)
umlcat

1
투표 수로 판단하면,이 질문 많은 사람들의 견해에서 건설적입니다. Mark Trapp은 실제로 질문을 마무리하기 위해 작성된 컴퓨터 프로그램이라고 생각합니다.
T. Webster

답변:


18

둘 다 필요하다고 생각합니다. 핵심 역량에 중점을 두어 이해 능력을 향상시켜야하지만 동시에 밖을보고 다른 것이 있는지 확인하는 것이 좋습니다. 다른 접근 방식과 다른 언어에 대한 노출은 전체적으로 더 나은 개발자가되기 위해 매우 중요합니다. 고양이를 피부처럼 피부에 바르는 방법에는 여러 가지가 있으며 가능한 한 많은 고양이를 아는 것은 특정 과제에 적합한 도구를 고르는 데 정신병자를 더 좋게 만듭니다 .

따라서 대부분의 시간을 선택한 실력에서 나아지고 새로운 것을 배우는 데 시간을 할애합니다.


4
+1 "해머"를 잘 사용하는 방법을 알고 "드라이버", "톱"및 "끈적 끈적한 압정"과 같은 것들도 알고 있습니다.
Ryan Hayes

1
그리고 새로운 언어를 배우는 대부분의 경우, 자신의 언어 사용을 생각한 적이없는 디자인 패턴이나 유용한 것에 노출 될 수 있습니다.
AttackingHobo

8

누군가는 "프로그래밍에 대해 생각하는 방식을 바꾸지 않는 언어는 배울 가치가 없다"고 말했다.

따라서 Java를 알고 있다면 C #을 배우는 데 거의 도움이되지 않습니다 (또는 그 반대). 실용적이지 않은 경우 (즉, 문제를 해결하기 위해 필요하다면) 패러 다마 당 하나의 언어를 고수하는 것이 좋습니다.

반면에 전문화는 내 경험상 대부분 '현장에서', 즉 프로젝트에서 작업 할 때 자연스럽게 이루어집니다.


1
C #은 Java 개발자에게 흥미로운 새로운 기능을 제공합니다. Linq & lambda 표현은 새로운 세계에 눈을 뜨고 있습니다.
Carra

실제로 C # 프로그램을 시장에 출시하는 것이 더 쉬웠다 고 말한 다음 Java 프로그램을 시장에 출시했습니다. 그런 의미에서 자바의 편의성을 누리면서 부족함을 피할 수 있다는 점에서 눈이 열렸습니다. 언어 화염 전쟁을 막을 수있는 좋은 지적입니다.
riwalk

+1 .NET에서 시작하여 Objective C 및 JavaScript를 사용하여 많은 어려움을 겪었습니다.
Trevor

@Carra : 나는 그것을 알지 못했습니다 (Java 1.5가 최신 일 때 두 가지에 대한 마지막 깊이의 경험이있었습니다). 당신의 경험에있어서의 차이가 (학문적 관점에서) 두 가지 모두를 배울 수있는 권고를 보증 할만큼 충분히 커졌습니까?
keppla

아마도 하나의 기능적 언어를 배우는 것이 더 낫습니다. 전반적으로 나는 당신에게 동의합니다.
Carra

3

양쪽에 정말 좋은 주장이 많이 있습니다. 몇 년 전에 저는 그 정확한 질문을 받았습니다. 제 1 차 언어에 집중하고 "전문가"가되거나 새로운 언어를 습득하고 시장성을 넓히려 고합니다. 나는 한 언어에 집중하기로했다.

실제로 오답은 없을 것입니다. 둘 다 장점이 있습니다. 그것은 실제로 어느 것이 당신에게 더 잘 어울리고 당신의 경력이 가고 싶은 곳으로 귀결됩니다.


2

새로운 언어를 배우는 것은 주로 새로운 개념을 얻고 프로그래밍으로 효율성을 높이는 수단입니다. 프로그래밍 자체를 배우는 것은 새로운 언어를 배우는 것과는 매우 다릅니다.

프로그램을 개선하는 데 집중해야합니다 (그리고 많은 주관적; 측정에 대한 많은 측정 항목이 있습니다. 중요하지 않습니다. 측정 항목을 선택하고 시간이 지남에 따라 수정하고 교육에 사용하십시오).

이 말을하자면 Python, 예를 들어 C'와 같은 많은 것들과 같은 오래된 목록에서 '새로운 '언어를 배우면 더 효율적으로 생각하고 더 나은 핵심 개념에 집중할 수 있습니다. 예제를 더 살펴보면 즉시 나타나지 않을 수도 있지만 CPython으로 생각했기 때문에 프로그래밍이 나아질 수 있습니다. psudo-code for 대신 Python 작성을 시작할 수도 있습니다 C. 이제는 훨씬 더 읽기 쉽고 검증 가능한 의사 코드입니다.

기본 질문을 요약
할 수 있습니다 . 그렇습니다. 이미 알고있는 언어에 중점을 두어야하며 여전히 사용중인 언어에 대한 지식을 향상시켜야합니다. 또한 프로그래밍 요구에 맞는 솔루션을 생각할 수있는 새로운 도구를 제공하려면 새로운 언어를 사용해야합니다.


1

프로그래밍 프레임 워크 (및 관련 언어)를 지배하고 다른 도메인, 바람직하게는 다른 "도메인"에 대한 여가 시간을 남겨 두십시오. 예 : C ++ 클라이언트 서버, Ruby on Web


1

새로운 언어 배우기

언어를 배우는 목적에 따라 다릅니다. 언어가 다른 패러다임을 사용하거나 특정 문제 영역에 적합하기 때문에 언어를 배우는 경우. 그러나 이미 알고있는 언어와 매우 유사한 언어이고 기존 코드를 모두 새 언어로 다시 작성하기 만하면 그다지 가치가 없을 것입니다 (예 : 파이썬 웹 응용 프로그램을 그것에 루비).

현재 언어에 대한 더 깊은 지식

이미 언어로 프로그래밍하는 것이 매우 편하고 모든 관용구에 익숙하며 모든 단일 라이브러리 호출에 대한 문서를 보지 않고도 프로그램을 작성할 수 있다면 아마도 배울 것이 많지 않을 것입니다. 반면에, 당신의 언어에 대한 당신의 지식이 그렇게 깊지 않다면, 더 배우는 데 약간의 가치가있을 수 있습니다. 당신이 언어 X에 대한 전 또는 후진 캠프에 있는지 여부를 측정하는 좋은 방법은 다음과 같습니다.

  1. 언어 X로 몇 개의 프로그램을 작성 했습니까?
  2. 스택 오버플로로 이동하여 X 태그가 붙은 질문을 살펴보면 몇 가지 질문에 대한 대답을 편안하게 생각하십니까?
  3. 사람들이 언어 X와 관련하여 당신에게 도움을 줍니까?

이러한 질문에 대한 답변이 "많은", "대부분의 질문"및 "그렇습니다. 성가 시게됩니다"라는 문구에 어딘가에 있다면 언어를 숙달하고 무언가로 넘어 가야한다는 좋은 증거입니다. 새로운.


0

익숙한 언어를 이미 잘 알고 있다면 약간의 시원함을 위해 매우 상세하고 구체적인 요령을 배우는 것이 좋지 않습니다. 그것은 완전히 시간 낭비입니다. 그러나 언어에 익숙하지 않으면 먼저 해당 언어를 마스터하는 것이 좋습니다.

언어 외에도 프레임 워크, 패턴, 프레임 워크를 배우기 위해서는 언어를 알아야합니다. 따라서 매우 유사한 언어를 배우는 것은 재미없는 재미를 가져다주는 것 외에는 도움이되지 않습니다.

제 개인적 의견은 새로운 언어, 새로운 프레임 워크, 새로운 IDE를 배울 필요가있을 수 있기 때문에 항상 더 많은 플랫폼을 위해 더 빠르고, 더 안전하고, 더 강력한 소프트웨어를 만들고, 시간을 단축 할 수있는 능력을 개발해야한다는 것입니다 (언어만큼이나 중요합니다.) 그 목적을 위해서만 투자 가치가 있습니다.

적어도 당신이 알고있는 언어의 수를 늘리기 위해 새로운 언어를 배우지 마십시오.

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