여러 언어를 배울 수있는 기회가 있습니까? [닫은]


9

프로그래머가 최소한 몇 개의 언어에 집중해야한다고 읽었 습니까? , 나는 첫 번째 답변의 2, 3 번 언어를 모른다는 것을 알았습니다. 지식과 프로그래밍 기술을 향상시키기 위해 더 많은 언어를 배우고 싶습니다. 그러나 일반적으로 회사에서는 고정 프레임 워크와 언어를 사용하며 거의 변경되지 않습니다. 따라서 해당 언어를 배울 수 있는지 확실하지 않으며 다른 프로그래머와 동일하다고 생각합니다.

그러나 여기에서 여러 언어를 알고있는 많은 개발자를 보았습니다. 많은 언어를 배울 수있는 기회를 어떻게 얻습니까?

최신 정보

여가 시간에 공부를하고 싶지 않은 것 같아 불편 함을 느끼는 사람들이 많이 있다고 생각합니다. 사실, 그건 사실이 아닙니다. :) 저는 열광적 인 프로그래머이므로 이런 종류의 질문을 여기에 올렸습니다. 나는 여가 시간에 공부하지만 언어에 능숙하지 않다고 생각했습니다. 어쨌든 모든 답변에 감사드립니다!


7
여가 시간에 새로운 것을 배우십시오.
조나스

1
야, 그 대답은 39 요 프로그래머에 의해 게시되었습니다. 나는 그것이 좋은 목록이라고 생각하지만, 스스로를 죽이지 마십시오.
Job

7
당신은 기회를 "얻지"않습니다. 당신은 기회를 만든다. 더 많은 언어를 배우고 싶다면 나가서 해보십시오. 신화적인 직업 책임이 당신에게 올 때까지 기다리지 마십시오.
Joel Etherton

답변:


10

언어를 배우는 가장 좋은 방법은 언어를 즉시 사용하여 유용하거나 필요한 것을 만드는 것 입니다.

예를 들어 매번 수동으로 수행해야하는 많은 작업을 자동화해야한다는 것을 알게되었습니다. 반복적 인 작업, 파일 및 폴더 생성 등을 위해 유용한 도구를 만들기 위해 스크립팅 언어를 선택했습니다. 나는 온라인 자습서와 서적 덕분에 Perl로 가서 스크립트를 작성하는 데 필요한 구문과 기능을 배우기 시작했습니다.

며칠 동안 도구를 사용하고 여가 시간에 언어에 대해 새로운 것을 배우고 더 많은 기능을 추가했습니다.


염두에 두어야 할 또 다른 훌륭한 옵션은 다음과 같습니다. 원하는 언어를 찾지 못하거나 자신의 요구에 완전히 맞지 않는다고 생각되면 자신의 언어를 만들 수 있습니다 .

나는 지금 Perl과 함께하고 있는데, 특정 문제를 가장 잘 해결하는 데 도움이되는 구문을 선택했습니다 (귀하의 언어를 작성하고 있기 때문에 작업에 가장 적합한 구문을 선택하고 싶을 수도 있습니다) 특정 도메인 문제).

결과? 개발이 훨씬 빨라졌고 코드 자체는 도메인 별 언어이기 때문에 훨씬 더 설명 적입니다. 몇 주 전에이 주제와 관련된 질문에 유용한 링크가 많이 있습니다.

모든 스크립트 언어를 사용하여 PHP에서도 새로운 언어를 작성할 수 있습니다.


나는 Perl로 자신의 언어를 만들 수 있다는 것을 몰랐다. 좀 더 자세히 설명해 주시겠습니까?
이상현

나는 이것을 여기에 요청 했다 . 기본적으로 입력 내용을 이해 (파싱)하고 입력 한 내용에 따라 다른 작업을 수행하는 스크립트를 만들어야합니다. 단순히 함수 집합이거나 완전히 새로운 언어 구문 일 수 있습니다. 그런 다음 필요한 경우 모두 자동화 할 수 있습니다. Perl뿐만 아니라 모든 스크립팅 언어를 사용하여 새로운 언어를 작성할 수 있습니다.
Jose Faeti

8

이런 종류의 질문은 항상 저를 당황시킵니다. 나는 전문적으로 7 개 언어를 사용했고, 취미 및 학업 환경에서 5 개 이상의 언어로 코드를 작성했으며, 12 개 이상의 언어로 코드를 읽을 수 있습니다. 한 번만 으로 언어를 배우지 않았습니다 . 항상 구체적이고 즉각적인 목표가 있습니다. 예를 들어 이번 주말에 가족을위한 앱 작업을 시작하기에 충분한 안드로이드 라이브러리를 배웠습니다. 아이폰이 있다면 Objective-C를 배웠을 것입니다.

제 생각에는 여러 언어를 아는 것이 그 원인 이 아니라 숙련 된 프로그래머이거나 최소한 열정적 인 프로그래머 라는 증상 입니다 . 새로운 언어를 배워야 할 강력한 이유를 생각할 수 없다면 얼마나 도움이 될지 모르겠습니다.


3

해결해야 할 문제가있을 때 새로운 언어를 배우는 가장 좋은 방법입니다. 편한 것을 사용하는 대신 문제를 해결하는 데 도움이되는 도구 (언어, 프레임 워크, 라이브러리)를 살펴보십시오. 새로운 도구를 배울 시간이 있다면 바로 사용하십시오. 외부 요인으로 인한 일정 압력 및 기술 제한이있는 경우 직장에서이 작업을 수행하지 못할 수 있지만 개인 프로젝트에이 방법을 사용할 수없는 이유는 없습니다.


2

시간을 내서해야합니다. Prags에서 "7 주간의 7 개 언어"책을 확인하십시오. 7 가지 매우 흥미로운 언어에 대한 소개를 제공하며 거기에서 모든 종류의 장소로 갈 수 있습니다.


1

사용을 시작하십시오. 분명히, 노출 된 적이없는 언어로 제작 시스템을 처음부터 구축하는 것은 나쁜 생각이지만 다음과 같은 몇 가지 제안이 있습니다.

  • 자신의 시간에 배우십시오. 자신이 직접 완성 할 수 있다고 확신하는 흥미로운 프로젝트를 선택하십시오. 언어에 적합한 지 판단하기 위해 새 언어를 소개하는 것이 가장 좋습니다. 각 언어에는 강점과 약점이 있으며 언어가 뛰어나도록 고안된 문제로 시작하는 것이 가장 좋습니다.
  • 기존 프로젝트에서 유지 관리 작업을 시작하십시오. 이런 식으로 문서를 읽지 않아도 언어의 많은 부분을 선택할 수 있습니다. 예제 코드에서 많은 부분을 유추 할 수 있으며 문서를 읽어야하는 부분은 이미 코드. 또한 "X를 수행하는 코드를 작성하는 방법"보다 "이 코드의 기능"을 찾는 것이 더 쉽습니다.
  • 쉘 스크립트, 특정 작업을위한 버리기 코드, 빠른 계산 (예 : 파이썬, lisp, haskell 등 많은 동적 언어의 대화식 인터프리터-우수한 계산기 만들기)과 같은 작은 도구와 도우미에 새 언어를 사용하십시오. 모든 언어가 이에 적합한 것은 아닙니다.

1

한 언어로 수행 한 비교적 작은 것을 선택하고 다른 언어로 대체 대체품을 개발하십시오. 자신에게 도전하기 위해 이것을하십시오. 그것을 완성하기 위해, 당신은 다른 언어에 대해 많은 것을 배울 것입니다.

지난 주에 NodeJS (이전의 JSP 서비스)에서 웹 서비스 백엔드를 배우고 다시 작성하기로 결정했습니다. 베어 본 서비스가 작동하는 데 하루가 걸리고 며칠 후에 인프라, 오류 처리, 로깅 및 라이브 모니터링을 확장했습니다. 이제 원본보다 우수합니다. 내가 무언가를 배웠고 매우 행복하기 때문에 경영진이 그것을 받아 들일지 여부는 중요하지 않습니다.


1
  • 나는 직업의 일부가 "연구"라고 생각한다. 1998 년 연구는 Y2K 버그 수정을 의미했습니다. 지난 달 reserch는 Subversion을 배우는 것을 의미했습니다. 나는 40 년 동안 연구를 해왔다. 언어를 나열 할 때 사전 순으로 언어를 나열해야합니다.

  • 언어를 배우면 참조 설명서 표지를 읽습니다. 그런 다음 실제로 몇 개월 동안 사용합니다. 그런 다음 참조 매뉴얼을 다시 읽습니다. 두 번째 독서는 내가 처음 놓친 많은 트릭과 함의를 보여줍니다.

  • 실용 연구는 C # 및 Pascal과 같은 일반 언어를 다룹니다. 고급 연구에는 LISP 및 FORTH와 같은 이상한 언어가 포함됩니다. LISP를 전문적으로 사용하지는 않겠지 만이를 배우면 마음이 크게 넓어집니다.

  • 물론, 내 환경에서 나는 시간을 지불하지 않고 배달 비용을 지불합니다. 하루에 6 시간 씩 2 주 안에 배달 할 수 있다면 다른 3 개를 연구에 사용할 수 있습니다. 하루에 12 시간이 걸리면 아무 연구도하지 않습니다.

  • 물론 모든 연구는 저를 지불하는 연구에 잠재적 인 유용성을 가져야합니다. 작은 유틸리티가 좋습니다. 다음에 C 소스 코드를 처리하려면 Python으로 시도하십시오. (아니요, 나는 파이썬을 모르지만 문자열 조작에 좋다는 것을 들었습니다.)


0

때때로 기회는 당신에게 고용에서옵니다. 이러한 유형의 기회에는 일반적으로 세 가지 드라이버 중 하나가 있습니다.

  1. 새로운 기술입니다. 예를 들어, 많은 회사에서 .NET이 출시 된 후 처음 2-3 년 내에 개발자를위한 C # 교육 비용을 지불했습니다.

  2. 배우기 쉽다. 예를 들어, 리눅스 상점에서는 .bash 스크립트를 작성해야합니다. 터미널 세션 등을 사용하고 있고이를 작성한 경험이있는 다른 개발자가있는 경우 자신의 작업 중 일부만 자동화하는 경우에만이 기술을 습득 할 수 있어야합니다.

  3. 이 기술은 일반적으로 사용되지 않으며, 회사는 컨설턴트를 찾는 데 시간과 비용을 들이지 않기를 원합니다. 예를 들어, 표시 할 XML (로그) 파일을 쉽게 변환 할 수있는 방법이 필요했기 때문에 XSLT 작성 방법을 배웠습니다.

직장 밖에서 스스로해야 할 다른 기회들. 신중하게 선택하십시오. 향후 어떤 기술이 유용 할 것으로 보십니까? 이 경우 기술을 배우고 적용하는 데 시간과 노력을 들여야합니다. 이것은 전체 경력 계획의 일부 여야하며 수업료를 지불해야 할 수도 있습니다. (나는 운이 좋았다. Java를 배웠을 때, 그들은 지역 사회 대학에서 저녁을 가르치고 있었다.)


0

내 자신의 경험 (귀하의 업계에서 상당히 새롭지 않기 때문에 많은 질문은 아닙니다)에서 귀하의 질문에 대답합니다. 어떤 언어가 내 요구에 가장 적합한지를 조사함으로써 새로운 언어를 배우게됩니다. 대학에서는 큰 정수를 사용해야하는 암호화 기술을 가지고있었습니다. C ++에서는 꽤 복잡해 졌으므로 BigInteger 클래스를 제공함에 따라 Java로 전환했습니다. 현재 작업에서 쉘 스크립팅이 너무 복잡해지지 않고 내 문제를 완전히 해결할 수 없었기 때문에 Perl을 배웠습니다. 즉시 배우는 것이 하나의 요구 사항입니다. 물론 지루하다고 느끼면 탐험해야 할 언어가 전 세계에 있습니다.

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