프로그래머가 전문가가 될 프로그래밍 언어는 몇 개입니까? [닫은]


21

대부분의 프로그래머는 단일 스택을 전문으로 하는가? 둘 이상인 경우 표준은 몇 개입니까?

전문가의 말은 단순히 언어의 구문을 아는 것 이상의 의미가 있습니다. 전문가는 지속적으로 사물을 보거나 책 / 자습서를 읽지 않고도 사소한 프로그램을 작성할 수있을 정도로 표준 라이브러리, 도구, 환경 및 구문을 알고 있습니다.


2
이 질문에 대한 객관적인 (또는 주관적인) 대답이 없다고 생각합니다. 전문가가 많을수록 더 나은 시야를 확보 할 수 있습니다. "프로그래머가 이상적으로 전문가 여야하는 프로그래밍 언어 패러다임은 몇 개입니까?"
talonx

6
귀하의 전문가 정의에 동의하지 않습니다. 나에게 도서관 기능을 찾아야 하는지 아닌지는 그 언어로 관용적 코드를 작성할 수 있는지 여부보다 훨씬 덜 중요합니다. 당신이 언어로 생각할 수 있다면, 당신은 적어도 전문가가되는 것에 가깝습니다.
Chinmay Kanchi

1
단어의 의미를 알기 위해 사전에서 대부분의 단어를 찾아야한다면 언어로 어떻게 생각하십니까?
blueberryfields

1
@blueberryfields : 언어의 유창성은 단순한 어휘 이상의 것이 아니며 기본을 넘어서는 어휘는 그 일부입니다. 그 지식으로 지능적인 것을 할 수 없다면 함수가 존재한다는 것을 잘 알지 못합니다. 지능적으로 무언가를 수행하는 방법을 알아내는 것보다 기능을 찾는 것이 훨씬 쉽습니다. 주어진 기능이 존재하는 경우 어디에서 찾을 수 있는지 신속하게 알 수있을만큼 문서를 잘 아는 것이 충분한 라이브러리 지식이라고 말할 것입니다. 그 후, 당신은 당신이 사용하는 것을 정확하게 기억하고 당신이하지 않은 것을 모호하게 기억합니다.
aaronasterling

2
@blueberryfields : 언어 / 플랫폼따라 약간의 지식이 위험한 것일 수 있습니다 . 내 말은있다 : 사람의 주장이 마음에 의해 많은 라이브러리 함수를 알고 및 설명서를 읽을 필요가없는 경우도 알고 내가 그 사람을 기대하는 모든 반환 값, 예외 조건 및 함정 /주의 사항을 라 A, 레이몬드 첸 마음에 담아 책을 쓰고 Microsoft / Google 등에 게 강의를 할 수 있습니다. 그보다 짧은 시간에 많은 재미있는 작은 실수를하게됩니다.
rwong

답변:


33

여러 언어를 아는 것의 주요 이점은 직접 쓰는 것이 아닙니다. 다른 모든 것은 평등합니다 .C #에서 해킹 한 사람보다 C, Python 및 Lisp를 알고있는 C # 프로그래머와 함께 일하고 싶습니다. 더 많은 언어를 아는 것이 더 낫다는 것이 아니라 여러 수준의 문제와 여러 관점에서 문제를 생각할 수있는 것이 실제로 도움이된다는 것입니다.

프로그래밍에 대한 생각을 바꾸지 않는 프로그래밍 언어는 알 가치가 없습니다. 앨런 펄리스

하나 이상의 언어를 체크 아웃하거나 이력서를 올리는 것이 아닙니다. 당신은 그것의 완전한 개념을 이해하기 위해 그것의 기본 개념을 잘 이해해야합니다. 구문을 기본적으로 이해하면 얻을 수 없습니다.

더 직접적인 대답은 "그것은 달려있다"입니다.

대기업에서는 전문화가 기대되고 / 허용되지만, 위에서 말했듯이, 내가 좋아하는 도구 이외의 것을 이해하는 것이 여전히 도움이된다고 생각합니다.

더 작은 곳에서는 그렇게 할 수 없습니다. 다른 것이 없다면 일반적으로 앱을 유지 관리하고 빌드해야하며 실제로 앱을 빌드하는 것과 동일한 로그를 사용하여 로그 / 데이터 뭉치를 실행하지 않을 수도 있습니다. 나는 당신이 기술적으로 수도 있겠죠 도망 하나의 언어를 알고 함께하지만, 유지 보수에 대한 강력한 형식 (또는 적어도 주장 가능), 아마 컴파일 언어가 무거운 리프팅을 잘 수행 및 스크립트 언어를 갖는 이익 / 설정 / 스크립팅 작업이 꽤 큰 것 같습니다. 나는 그것 없이는하고 싶지 않다.


3
예 그것은뿐만 아니라 내 지평을 넓혀 - 다양한 언어로 사고가 문제 해결하기
maz3tt

3
모든 Inaimathi에게 +1이 말했다. 프로그래밍 언어를 도구로 생각하십시오. 그래, 우리는 잘 우리의 도구를 알아야하지만, 당신은 단지 망치를 사용하는 방법을 알고있을 때 다음 모든 손톱처럼 보일 수 있습니다
비우 T.

14

매우 흥미로운 질문이 있습니다.

프로그래머가 특정 언어에 대한 "전문가"라고 생각하지 않습니다. 저는 프로그래머로서 우리는 프로그래밍, 알고리즘 설계, 명확한 단계로 생각하는 전문가가되어야하지만 프로그래밍 언어는 여러분이 배우는 것이라고 생각합니다.

"좋은"프로그래머라면, "전에는 그런 적이 없었습니다"라는 고전을 뒤지지 않고 개발 프로젝트를 처리한다는 것은 5 일 이내에 언어를 배워야한다는 것을 의미합니다. 모범 사례, 도구 및 라이브러리는 주로 두 가지 방법, 1 : 읽기 및 2 : 작업에서 배웁니다. 코드에 머리를 대거나 책을 많이 읽습니다.

C # 코드 나 C ++ 코드 또는 Java 코드를 사용하지 않고 "좋은 프로그래머가 코드를 작성합니다"라는 선포 이후 몇 년 동안, 프로그램 개발을 배우면 언어와 기술이 그렇게 중요하지 않다는 것을 알게 될 것입니다. 물론, C #을 PHP보다 잘 움직이는 법을 알게 될 것입니다. 그러나 잘 배운다면, 파이썬을 통과해야 할 것입니다.

당신 같은 내 아이디어를 바랍니다!


+1 "좋은 프로그래머는 코드 만 작성합니다. 언어와 기술은 그렇게 중요하지 않습니다."
Orbling

고맙습니다. 11 년 동안 세고 ... :)
David Conde

3

하나는 그렇다고해서 다른 사람들을 무시할 수는 없습니다. 왜 사용하지 않는지 또는 한계를 알 수있을만큼 충분히 알고 있어야하므로 적절한 경우 도움을 요청할 수 있습니다.


3

아마 그것은 당신의 성격에 달려 있다고 생각합니다. 주제의 구석 구석에 파고 들어가는 사람들이 있고, 사물을 광범위하게보고 싶어하는 사람들이 있습니다. 당신은 아마 당신이 어떤 유형의 성격인지 알아 내야 할 것입니다. 나는 각자의 용도로 다른 것을 위에 두지 않습니다.

전자로서 당신은 전문가, 전문가, 전문가가 될 것입니다. 후자로서 당신은 더 일반적으로 사용되며 다양한 상황에서 사용될 수 있지만 주제에 대해 깊이 또는 오래 가지 않을 것입니다.




1

Joel이 SO 팟 캐스트에서 말했듯이 많은 언어를 알고 작업에 적합한 언어를 사용하는 방법 /시기를 아는 것이 좋습니다. 한 언어에서 다른 언어보다 더 빠르게 할 수있는 일이 있습니다. 예를 들어 명령형 언어와 기능적 언어를 아는 것이 좋을 것이라고 생각합니다. 더 어렵거나 난해한 언어를 배우는 경우가 많을수록 두뇌가 전반적으로 더 나은 프로그래머가되도록 훈련시킵니다.


1

어떤 언어의 전문가도 아닌 일부 프로그래머가있을 수는 없지만, 다양한 환경을 즐기며 상황에 따라 다양한 언어를 사용하므로 PHP, ASP.Net의 C #에있는 몇 가지 서버 측 기술을 알고있을 수 있습니다. .Net 또는 VB.Net 또는 Java (JavaScript 또는 Flash와 같은 클라이언트 측 스크립팅 언어)는 여기에 웹 항목을 넣는 데 사용되는 하드웨어에 들어 가지 않습니다.

동시에, 12 개 이상의 언어를 가진 전문가 인 프로그래머가있을 수 있습니다. 각 언어 내에서 많은 시간을 할애하기 위해 대부분의 시간을 성실히 연구하는 것입니다.


1

하나는 있지만 때때로 다른 언어로 작성된 사소하지 않은 실제 프로그램을 읽을 수 있어야합니다. 어떤면에서 프로그래머가 전문가 인 사람은 모국어처럼 생각하지만 다른 언어를 배우고 말하는 것은 프로그래머가 다른 사고 방식을 이해할 수 있다는 점에서 매우 좋습니다. 그들이 모국어처럼 유창하게 둘 이상의 언어로 생각할 수 있다면, 그것은 대단합니다.


1

이것은 좋은 질문이지만 표준이 있다고 생각하지 않습니다. 일반적으로 내가 본 것으로 사람들은 하나의 환경 (Windows / Linux, mac, solaris)에서 하나의 고급 언어 (C ++, Java 등)에 대한 완전한 전문가입니다. 그들은 대략 다른 고급 언어를 알고 있지만 완전히 이해하지는 못합니다. (예를 들어, C ++, Java 사람들은 서로를 대략 알고 있습니다). 대략적으로 나는 그들이 한 작업의 수행 능력을 전문가 인 언어와 다른 언어로 비교할 수 있음을 의미합니다. 그런 다음 일부 스크립팅 언어에서 적당합니다. (예를 들어, Linux 사람들은 bash를, Windows 사람들은 VBA를, 웹 사람들은 PHP를 알고 있습니다.)
나에게 중요한 것은 언어보다 기본 알고리즘 지식입니다. 기본이 좋으면 어떤 언어로든 망칠 기회가 줄어 듭니다.
그러나 그렇습니다. 때로는 어떤 언어가 어떤 일에 더 좋을지 아는 것이 도움이 될 수 있습니다. 예를 들어 다음 코드는 C보다 파스칼에서 훨씬 빠릅니다.

strcat (A, "안녕하세요"); strcat (A, "WOrld"); strcat (A, "안녕하세요!");

Pascal은 첫 ​​번째 위치에서 줄 길이를 저장하므로 마지막 위치로 쉽게 이동할 수 있기 때문입니다. C에서 문자열 종료는 '\ 0'이므로 strcat 작업을 위해 실제로 전체 문자열을 통과해야합니다.


0

프로그래밍하는 환경에 따라 다릅니다. 이전 직장에서 대부분의 작업은 Perl에서 이루어졌습니다. 나의 시간 동안 나는 그것에 꽤 능숙했다. 이제 나는 구문을 거의 알지 못하는 3 개의 언어로 된 레거시 프로그램이있는 곳에서 일하고 있습니다. 나는 새로운 프로젝트에 대한 나의 작업 외에도 그것들을 유지해야합니다. 나는 이제 어떤 언어의 마스터도 아니지만, 프로그래밍에 대해 더 나은 느낌을 받았다고 생각합니다 . 더 추상적으로 생각하고 큰 그림을 먼저 본 다음 구문과 라이브러리를 찾아 세부 사항을 채우는 방법을 배웠습니다.

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