it-swarm-ko.tech

회사에서 C ++, C # 또는 Ruby를 응용 프로그램 언어로 사용하는 경우 Perl, Python, Java)를 배우는 이유는 무엇입니까?

C++, C #, Java 개발자가 동적 언어를 배우고 싶은 이유는 무엇입니까?

회사가 주요 개발 언어를 C++/C #/Java에서 동적 언어로 전환하지 않는다고 가정하면 동적 언어에는 어떤 용도가 있습니까?

몇 년 동안 사용했던 정적 언어보다 며칠 만 학습 한 후에 동적 언어로 어떤 도우미 작업을 더 빨리 또는 더 잘 수행 할 수 있습니까?

최신 정보

처음 몇 가지 응답을 본 후 두 가지 문제가 있음이 분명합니다. 나의 주요 관심사는 비용으로 고용주에게 정당한 것입니다. 즉, 나는 고용주가 역동적 인 언어 학습에 자금을 제공 할 정당성을 찾고 있습니다. 직원이 더 넓은 시야를 가질 것이라는 명백한 점 외에도, 고용주는 일반적으로 "실제"혜택을 찾고 있습니다.

66
szabgab

개발중인 기본 소프트웨어의 일부가 아닌 몇 가지 빠른 작업이 자주 발생합니다. 때로는 작업이 중단되는 경우가 있습니다. 즉,이 파일을 데이터베이스와 비교하여 차이점을 알려주십시오. Java 또는 C #보다 Perl/Ruby/Python에서 텍스트 구문 분석을 수행하는 것이 훨씬 쉽습니다 (부분적으로 정규식을 사용하는 것이 훨씬 쉽기 때문에). Perl/Ruby/Python (또는 vbscript cringe을 사용하여 텍스트 파일을 구문 분석 한 다음 Java/C # 프로그램을 작성하는 것보다 데이터베이스에로드하는 데 시간이 덜 걸립니다. 직접 또는 직접 수행하십시오.

또한 대부분의 동적 언어가 텍스트를 쉽게 구문 분석하기 때문에 코드 생성에 좋습니다. 최종 프로젝트는 C #/Java/Transact SQL에 있어야하지만 100 번 잘라내어 붙여 넣기, 오류 찾기 및 다시 100 번 잘라 내기 대신 코드 생성기를 사용하는 것이 종종 쉽지는 않습니다.

최근의 예는 하나의 회계 시스템에서 회계 시스템으로 데이터를 가져와야한다는 것입니다. 시스템은 가져 오기 형식이 있지만 이전 시스템의 형식은 완전히 다릅니다 (일부 항목과 일치해야하지만 고정 너비). 이 작업은 데이터를 반복해서 마이그레이션하는 프로그램을 작성하는 것이 아닙니다. 데이터를 시스템에 입력 한 다음 계속 유지합니다. 따라서 우리는 C # 및 SQL Server 상점이지만 Python을 사용하여 데이터를 응용 프로그램에서 가져올 수있는 형식으로 변환했습니다. 궁극적으로 파이썬을 사용했는지는 중요하지 않으며 데이터가 시스템에 있다는 것이 중요합니다. 내 상사는 꽤 감동했습니다.

자주 사용되는 동적 언어는 테스트입니다. 웹 서비스에 연결하여 동등한 Java 프로그램을 작성하는 것보다 Python/Perl/Ruby 프로그램을 작성하여 웹 서비스에 연결하는 것이 훨씬 쉽습니다. python을 사용하여 명령 줄 프로그램을 공격하고 많은 가비지 (하지만 여전히 유효한) 테스트 데이터 등을 매우 쉽게 생성 할 수 있습니다.

동적 언어가 큰 또 다른 것은 코드 생성입니다. C #/C++/Java 코드 작성 몇 가지 예는 다음과 같습니다.

필자가 종종 본 첫 번째 코드 생성 작업은 시스템에서 상수를 유지하기 위해 동적 언어를 사용하는 사람들입니다. 많은 enum을 직접 코딩하는 대신 동적 언어를 사용하여 텍스트 파일을 상당히 쉽게 구문 분석하고 enum으로 Java/C # 코드를 만들 수 있습니다.

SQL은 완전히 다른 볼 게임이지만 종종 실행 계획을 캐싱하거나 복잡한 논리를 함수에 배치하지 않고 함수를 수행하는 대신 100 번 잘라내어 붙여 넣는 방식으로 성능을 향상시킵니다. 세트). 실제로 테이블 정의를 사용하여 특정 저장 프로 시저를 자동으로 만드는 것이 매우 유용합니다.

코드 생성기를 구입하는 것이 항상 좋습니다. 그러나 그렇지 않은 경우에도 잘라 내기/붙여 넣기에 시간을 보내는 것이 더 재미 있습니까, 아니면 Perl/Python/Ruby 스크립트를 한 번 만든 다음 코드를 생성하는 것이 더 재미 있습니까? 코드 생성기를 생성하는 데 시간이 덜 걸리지 만 코드 생성기를 만드는 데 시간이 덜 걸리면 한 번만 사용하더라도 시간과 비용을 절약 할 수 있습니다. 코드 생성기를 작성하는 데 시간이 걸리지 만 코드를 한 번 처리하는 것보다 시간이 오래 걸리지 만 코드를 두 번 이상 업데이트해야한다는 것을 알고 있으면 여전히 의미가있을 수 있습니다. 핸드 코드를 작성하는 데 2 ​​시간이 걸리고 생성기를 수행하는 데 4 시간이 걸리지 만 생성기를 작성하는 것보다 5 ~ 6 배 더 동등한 작업을 직접 코딩해야한다는 것을 알고 있습니다.

또한 Java/C #/C/C++보다 동적 언어를 사용하는 것이 더 쉽습니다. 특히 정규 표현이 떠 오릅니다. Perl에서 정규 표현식 사용을 시작하고 그 값을 인식하면, 이전에 Java 정규 표현식 라이브러리를 사용하기 시작하는 경우가 있습니다. 그렇다면 다른 것이있을 수 있습니다.

역동적 인 언어에 도움이 될 마지막 과제의 한 가지 예를 들겠습니다. 직장 동료는 파일로 가득 찬 디렉토리를 가져 와서 다양한 고객을 위해 다양한 CD로 구워야했습니다. 몇 명의 고객이 있었지만 파일이 많았으므로 고객이 무엇인지 확인해야했습니다. Java/C # 프로그램은 시간을 절약 할 수 있었지만 한 번은 모든 개발 오버 헤드로 가치가 없었습니다. 그러나 Perl/Python/Ruby에서 함께 무언가를 때리는 것은 아마도 가치가 있었을 것입니다. 그는 몇 시간을 보냈습니다. Python 스크립트를 작성하여 각 파일을 검사하고, 어떤 고객이 가고 있는지를 확인한 다음, 파일을 적절한 위치로 옮기는 데는 한 번도 걸리지 않았을 것입니다. 표준 직업. 그러나 그 일은 한 가지 일로 시작되었습니다. Java/C #이 작업을 수행하는 데 더 많은 시간을 소비하거나 Python/Perl/Ruby에서 훨씬 더 적은 시간을 소비하는 것이 더 낫습니다. C 또는 C++를 사용하는 경우 C 또는 C++에서의 프로그래밍 (포인터, 배열 경계 검사 없음 등)에 대한 추가적인 우려로 인해 포인트가 훨씬 더 극적입니다.

81
Cervo

다른 언어를 배우기 위해 미국 영어 사용자에게 어떤 용도로 사용하는지 질문하여 질문에 대한 답을 드리겠습니다.

우리가 말하는 언어 (그리고 우리가 프로그래밍하는 언어)는 우리가 생각하는 방식을 알려줍니다. 이것은 c ++ 대 javascript 대 LISP와 같은 기본 수준 또는 Ruby 구문이 "실제 작업"의 솔루션에 유레카 순간을 제공하는 구현 수준에서 발생할 수 있습니다.

실제 직업에 대해 말하면, 시장이 남쪽으로 가고 고용주가 당신을 "적절한 규모"로 결정하면, 당신은 그가 제한된 언어 대신에 수십 개의 언어로 소프트웨어를 작성했기 때문에 융통성있는 사람에 대해 어떻게 생각할 것입니까? 노출? 모든 것이 평등하다고 생각합니다.

마지막으로, 당신은 프로그래밍을 좋아하기 때문에 생계를 위해 프로그램을합니다.

21
Pete Michaud

나는 아무도 이것을 언급하지 않았다고 생각합니다. 새로운 언어를 배우는 것은 재미있을 수 있습니다! 확실히 그것은 새로운 것을 시도 할 충분한 이유입니다.

14
epochwolf

필자는 주로 Java 및 C #)로 프로그래밍하지만보다 원활한 배포, OS 작업 시작, 자동보고, 일부 로그 구문 분석 등을 지원하기 위해 동적 언어 (Ruby/Perl)를 사용합니다.

Ruby 또는 Perl을 사용하여 학습하고 실험 한 후 데이터 형식을 변경하거나 로그에서 정보를 가져올 수있는 정규식 조작 스크립트를 작성할 수 있습니다. 작은 Ruby/Perl 스크립트의 예 이것은 매우 큰 로그 파일을 구문 분석하고 사람이 읽을 수있는 형식이나 csv 형식으로 관심있는 몇 가지 이벤트 만보고하는 스크립트 일 수 있습니다.

또한 다양한 프로그래밍 언어에 대한 경험이 있으면 Java, C++ 및 C #과 같이보다 구조화 된 언어의 문제를 해결할 수있는 새로운 방법을 생각하는 데 도움이됩니다.

9
Alex B

Perl 또는 Ruby)를 배우는 가장 큰 이유는 반복적으로해야하는 복잡한 작업을 자동화하는 데 도움이되기 때문입니다.

또는 로그 파일의 내용을 분석해야하고 grep, sed 등을 사용하여 사용할 수있는 것보다 더 많은 munge가 필요한 경우.

또한 다른 언어 (예 : "설치 비용"이 많지 않은 Ruby는 아이디어를 C++, Java 등으로 구현하기 전에 신속하게 프로토 타입을 만들 수있게합니다.

HTH

건배,

7
Rob Wells

이 회사에서 영원히 일할 것으로 기대하십니까? 구직 시장에 나가는 사람이라면 아마도 일부 예비 고용주는 Python paradox 를 알고있을 것입니다.

5
Chris Upchurch

퍽이 좋은 곳에서 좋은 하키 선수 경기. 퍽이 될 곳에서 좋은 하키 선수 경기-Wayne Gretzky

우리 산업은 항상 변화하고 있습니다. 언어가 영원히 주류가 될 수는 없습니다. 나에게 Java, C++, .Net은 퍽이있는 곳입니다. 파이썬, 루비, 펄은 퍽이있을 곳입니다. 당신이 선하거나 위대하고 싶다면 스스로 결정하십시오!

5
liangzan

Paul Graham은 몇 년 전 Python 프로그래머가 더 좋아진 Java 프로그래머)에 관한 기사를 게시했습니다. ( http://www.paulgraham.com/ pypar.html )

기본적으로 새로운 언어가 회사의 현재 방법론과 관련이 있는지 여부에 관계없이 새로운 언어를 배우는 것은 새로운 아이디어를 배우는 것을 의미합니다. "비즈니스 클래스"로 간주되지 않는 언어를 기꺼이 배우려는 사람은 급여를받는 것 이상의 프로그래밍에 관심이 있다는 것을 의미합니다.

바울의 사이트를 인용하려면 :

그리고 사람들은 Python 직업을 얻을 것이기 때문에 배우지 않습니다. 그들은 진지하게 프로그래밍을 좋아하고 이미 알고있는 언어에 만족하지 않기 때문에 배우게됩니다.

이로 인해 회사에서 고용해야하는 프로그래머와 정확히 같은 종류입니다. 따라서 더 나은 이름이 없으면 Python 역설 : 회사가 비교적 난해한 언어로 소프트웨어를 작성하기로 선택하면 더 나은 프로그래머를 고용 할 수 있습니다) 프로그래머들에게는 패러독스가 더욱 두드러진다 : 배우고 싶은 언어, 배우고 싶은 언어는 사람들이 배우지 못하는 언어이다 취직 해.

고용주가 새로운 언어를 배우는 비용을 기꺼이 지불한다면, 자원 봉사를하는 사람들 (필수 수업이 아니라고 가정)은 이미 "빠른 길"에있는 사람들과 같은 사람들 일 가능성이 있습니다.

5
crystalattice

파이썬을 처음 배웠을 때 저는 Java 상점에서 일했습니다. 때때로 나는 Python 프로그램보다 빠른 Java 스크립트로 수행하기 훨씬 쉬운 심각한 텍스트 처리 작업을 수행해야했습니다. 예를 들어 복잡한 CSV 파일을 구문 분석하고 Oracle 데이터베이스의 행에 해당하는 행을 파악해야한다면 Java보다 Python을 사용하는 것이 훨씬 쉽습니다.

그 이상으로, Python을 배우면 나에게 훨씬 더 나은 Java 프로그래머가되었다는 것을 알았습니다. 다른 언어로 동일한 개념을 많이 배웠기 때문에 그 개념을 훨씬 더 잘 이해한다고 생각합니다. 그리고 Python을 Java보다 쉽게 ​​만드는 것은이 질문을 확인할 수 있습니다. Java-> Python?

4
Eli Courtwright

Edit : 나는 원래 질문에 대한 업데이트를 읽기 전에 이것을 썼습니다. 업데이트 된 질문에 대한 더 나은 답변은 다른 답변을 참조하십시오. 나는 이것을 서쪽에서 가장 빠른 총에 대한 경고로 그대로 둡니다 =)

10 년 전, 제가 컴퓨터의 방법을 배우고있을 때, 수염을 가진 노인들 (Old Wise Men with Beards)은 C와 C++가 어떻게 업계의 도구인지 설명했습니다. 아무도 파스칼을 사용하지 않았고 바보 만 회사를 어셈블러로 위험에 빠뜨릴 것입니다.

물론 아마도 Java라고하는 끔찍한 느린 추악한 것을 언급 한 사람은 없습니다. 그것은 심각한 사업을위한 도구가되지 않을 것입니다.

그래서. 음 위의 이야기에서 언어를 바꾸면 미래를 예측할 수 있습니다. 아마도 당신은 할 수 없습니다. 요점은 Java는 마지막 프로그래밍 언어가 아니며 또한 고용주도 전환 할 가능성이 높습니다. 미래는 하루 24 시간 청구됩니다.

새로운 언어를 배우는 것이 좋습니다. 또한 경우에 따라 오랫동안 자랑 할 권리가 있습니다. 나의 첫 대학 과정은 Scheme이었습니다. 그래서 사람들이 새로운 언어 뒤 주르 에 대해 이야기 할 때 제 반응은 "일류 함수? 지난 세기와 같습니다."

물론 고급 언어로 더 많은 일을 할 수 있음을 얻습니다.

3
Antti Rasinen

업데이트 된 질문에 대한 답변으로 닭고기/계란 문제입니다. 비용을 정당화하는 가장 좋은 방법은 다른 곳에서 비용을 절감하는 방법을 보여 주므로 먼저 일종의 기능적 프로토 타입을 제작하기 위해 무언가를 배우기 위해 여분의/개인 시간을 소비해야 할 수도 있습니다.

당신의 상사에게 "이봐, 내가 한 일을 해냈고,이 시간을 많이 절약 할 수있다"라고 설명해 보라. 모두가 우리가 얼마나 많은 돈을 절약 할 수 있을지 상상해 보라 "

그들이 동의 한 후에는 다른 기술이 어떤지 설명하고 더 많은 훈련을받는 데 비용이 들며 다른 사람들이 더 잘하는 방법에 대한 훈련을하는 것이 가치가 있다고 설명하십시오.

2
John Gardner

새로운 언어를 배우는 것은 장기적인 과정입니다. 며칠 안에 기본 사항을 배우게됩니다. 그러나! 아시다시피, 모든 언어의 실제 적용 가능성은 표준 라이브러리 및 기타 사용 가능한 구성 요소와 관련이 있습니다. 효율적으로 사용하는 방법을 배우려면 많은 실습 경험이 필요합니다.

아마도 단기적인 유일한 이점은 개발자가 Python/Perl/Ruby-hammer가 필요한 손톱을 구별하는 법을 배우는 것입니다. 그리고 그들이 좋은 사람이라면, 더 많은 것을 배우고 (온라인, 아마도!) 진정한 전문가가 될 수 있습니다.

장기적인 이점은 상상하기 쉽습니다.

  1. 직원은 더 나은 개발자가됩니다. 더 나은 개발자 => 더 나은 품질. 우리는 요즘 지식 경제에 살고 있습니다. 이미 당신을 위해 일하는 두뇌에 투자하는 것이 현명합니다.

  2. 다음으로 큰 언어가 나오면 쉽게 적응할 수 있습니다. NBL은 오늘날의 스크립팅 언어로 제공되는 많은 기능 (일류 함수, 클로저, 스트림/제너레이터 등)을 가질 가능성이 높습니다.

  3. 새로운 시장 가능성과 더 빠른 대응 능력. 파이썬을 쓰지 않더라도 다른 사람들은. 당신의 고객? 프로젝트의 다른 공급 업체? 아마도 중요한 구성 요소가 다른 언어로 작성 되었습니까? 코드를 이해하고 인터페이스를 이해할 수있는 사람이 없으면 비용과 시간이 소요됩니다.

  4. 신병 모집. 귀사에서 사람들에게 새롭고 흥미로운 것을 가르치는 명성이 있다면 최고 인재를 모집하는 것이 더 쉬울 것입니다. Everyone Java/C #/C++를 수행하고 있습니다. 취업 시장에서 자신을 차별화하는 효과적인 방법은 아닙니다.

2
Antti Rasinen

JVM에서 동적 언어 (da-vinci vm 등)를 실행하는 데 점점 더 많은 관심을 기울이고 있으며 이에 대해 실행되는 동적 언어 (JRuby, Grrovy, Jython)의 수가 증가함에 따라 유스 케이스가 점점 증가하고 있다고 생각합니다. 내가 실제로 발견 한 시나리오 중 일부는

  1. 프로토 타이핑-RoR 또는 Grails를 사용하여 표준 앱 서버에서 실행할 수 있고 기존 서비스 등을 재사용 할 수 있다는 이점이있는 빠른 프로토 타입을 빌드합니다.

  2. Testing-동적 언어에서 올바른 단위 테스트가 훨씬 빠릅니다.

  3. 성능/자동화 테스트 스크립팅-이 도구 중 일부는 표준 동적 언어를 사용하여 독점 스크립트 언어 대신 테스트 스크립트를 작성할 수 있도록하기 시작했습니다. 부수적 인 이점은 이미 작성한 일부 단위 테스트 코드를 재사용 할 수 있다는 것입니다.

1
mataal

동적 언어의 주요 이점은

  1. 급속 성장
  2. 접착제

짧은 디자인 코드 테스트주기 시간으로 인해 동적 언어는 프로토 타이핑, 도구 및 빠르고 더러운 일회성 스크립트에 이상적입니다. IMHO는 후자의 두 가지가 프로그래머의 생산성에 큰 영향을 줄 수 있습니다. 얼마나 많은 사람들이 도구를 사용하지 않고 수동으로 일을하는지 놀라게합니다. 도구 상자에 Perl과 같은 것이 없기 때문이라고 생각합니다.

거의 모든 것 (다른 프로그램 또는 언어, 데이터베이스 등)과 인터페이스 할 수 있으므로 기존 작업을 쉽게 재사용하고 수동으로 수행해야하는 작업을 자동화 할 수 있습니다.

1
Michael Carman

나는 종종 다른 언어, 특히 동적으로 타이핑 된 언어를 배우면 다른 언어에 대해 배울 수 있고 전체적으로 더 나은 프로그래머가 될 수 있다는 것을 알게되었습니다. 예를 들어, 루비를 배우면 Java wont, 그 반대의 방식으로) 객체 지향 프로그래밍을 가르 칠 것입니다. 단일 언어로 작업하는 회사/클라이언트에게 더 가치가 있습니다.

1
Mike Farmer

Ruby로 게임을 많이할수록 C #을 더 잘 이해합니다.

1)이 언어들 사이를 전환 할 때, 그들 각각은 그들이 해결하려고하는 문제들 뒤에 고유의 구성과 철학을 가지고 있습니다. 이것은 작업에 적합한 도구 또는 문제의 도메인을 찾을 때 도움이됩니다.

2) 컴파일러 역할 (또는 일부 언어의 인터프리터)가 더욱 두드러집니다. Ruby의 유형 시스템이 .Net/C # 시스템과 다른 이유는 무엇입니까? 이들 각각은 어떤 문제를 해결합니까? 컴파일러의 구조와 언어에 미치는 영향을 낮은 수준에서 이해하게 될 것입니다.

3) Ruby와 C # 간을 전환하면 실제로 디자인 패턴을 더 잘 이해할 수있었습니다.) C #과 같은 언어로 언어와 같은 언어로 일반적인 디자인 패턴을 구현하는 것이 좋습니다. 루비 : 종종 컴파일러 의식을 통해 특정 패턴의 철학을 알게되었습니다.

4) 다른 커뮤니티. C #, Java, Ruby, Python 등에는 기능을 활성화하는 데 도움이되는 서로 다른 커뮤니티가 있습니다. 당신의 기술을 다음 단계로 끌어 올리는 좋은 방법입니다.

5) 마지막으로, 새로운 언어가 재미 있기 때문에 :)

1
Jimmy Lyke

LISP 또는 Perl (Moose 참조)과 같이 유연한 OOP 시스템으로 무언가를 배우면 소프트웨어 엔지니어링에 대한 생각을 더 넓히고 이해할 수 있습니다. 프로그래머로서의 능력을 향상시키고 확장하며 성장시키는 것은 CLOS 또는 다른 기술입니다.

1
jshirley

이 주제에 대한 답변을 확인하십시오.

https://stackoverflow.com/questions/76364/what-is-the-single-most-effective-thing-you-did-to-improve-your-programming-ski#84112

새로운 언어를 배우는 것은 열린 마음을 유지하고 새로운 일을하는 방법을 배우는 것입니다.

1
Jean

이것이 당신이 찾고있는 것인지 확실하지 않지만, 우리는 내가 일하는 소규모 회사에서 Java)로 주요 응용 프로그램을 작성하지만 python 더 작은 스크립트를 빠르게 작성하기 백업 소프트웨어, 데이터를 조작하기위한 임시 스크립트 및 결과를 푸시하기 가끔 python으로 앉아서 간단한 스크립트를 작성하는 것이 클래스와 물건을 엉망으로 만드는 것보다 쉬워 보입니다) 자바.

고수하지 않는 임시 스크립트에는 많은 디자인 시간이 필요하지 않습니다.

그리고 나는 게으르지 만, 가능한 한 많은 것을 배우고 다른 언어로 어떤 기능이 있는지 보는 것이 좋습니다. 미래의 경력 변화에서 더 많은 것을 아는 것은 결코 당신을 아프게하지 않습니다 :)

1
Arthur Thomas

개발자로서의 시야를 넓히는 것이 중요합니다. 강력한 유형의 언어로만 자신을 제한하면 최상의 프로그래머가 될 수 없습니다.

작업과 관련하여 Python/Lua/Ruby/Perl은 일부 파일 찾기 및 이름 바꾸기와 같은 작은 간단한 작업에 적합합니다. 간단한 앱을 신속하게 개발하기 위해 프레임 워크 (예 : Rails, Django, Lua for Windows)와 함께 사용할 때도 효과적입니다. 지옥, 37Signals는 Rails에서 Ruby)로 간단하지만 매우 유용한 앱을 만드는 것을 기반으로합니다.

1
Ed Schwehm

이 기능은 모국어에서 동일한 언어를 개발하는 데 걸리는 것보다 신속하고 (더러워 질 수있는) 빠른 수정을 위해 모국어의 차이를 막는 "빠른 해킹"에 유용합니다. 예를 들어, Perl에서 큰 텍스트 파일을 통해 전자 메일 주소의 모든 인스턴스를 다른 것으로 바꾸는 간단한 스크립트는 10 분 범위의 시간이 걸리는 사소한 것입니다. 메인 언어로 콘솔 앱을 함께 해킹하면 여러 언어가 필요합니다.

또한 자신을 추가 언어에 노출 시키면 능력이 넓어지고 다른 언어 관점에서 문제를 공격하는 법을 배우는 것이 언어 자체만큼이나 가치가 있다는 이점이 있습니다.

마지막으로, 스크립트 언어는 확장 영역에서 매우 유용합니다. LUA를 예로 들어 보겠습니다. 오버 헤드가 거의없이 lua 인터프리터를 앱에 연결할 수 있으며 이제는 전체 앱을 다시 빌드하지 않고도 최종 사용자에게 노출되거나 빠르게 변경 및 배포 될 수있는 풍부한 스크립팅 기능을 만들 수 있습니다. 이것은 월드 오브 워크래프트와 같은 많은 게임에서 큰 영향을 미칩니다.

1
Wolfwyrd

당신이 가진 모든 것이 망치라면, 모든 문제는 못처럼 보이기 시작합니다.

드라이버 또는 펜치 쌍이 있으면 복잡한 문제가 사소한 경우가 있습니다.

아무도 계약자, 목수 등에 게 "내가 망치를 가지고 있다면 왜 드라이버 사용을 배우는가?"라고 묻지 않습니다. 정말 좋은 계약자/목수는 수많은 도구를 가지고 있으며 사용법을 잘 알고 있습니다. 모든 프로그래머는 동일한 작업을 수행하고 새로운 도구를 사용하고 잘 사용하는 법을 배워야합니다.

그러나 전동 공구를 사용하기 전에 잠시 시간을 내서 상점 안전에 대해 이야기하십시오. 전동 공구와 함께 제공되는 모든 안전 규칙을 읽고 이해하고 준수하십시오. 그렇게하면 신체 부상의 위험이 크게 줄어 듭니다. 그리고 이것을 기억하십시오 : 이것들을 착용하는 것보다 더 중요한 규칙은 없습니다 : 안전 안경-규범

1
John Gardner

개인적으로 Java 앱에서 작업하지만 일부 지원 스크립트에 대해 Perl 없이는 얻을 수 없었습니다.

내가 가리키는 DB를 빠르게 뒤집기위한 스크립트, 빌드 스크립트를 실행하는 스크립트, 데이터를 긁어 내고 비교하는 스크립트가 있습니다.

물론 I could Java 또는 Shell 스크립트를 사용하여 모든 작업을 수행하지만 (일부 스크립트도 있음) 누가 클래스를 컴파일하고 싶을 때 (클래스 경로가 올바르게 설정되어 있는지 확인) 빠르고 더러운 것이 필요합니다. 스크립팅 언어를 알면 지루하고 반복적 인 수동 작업의 90 %를 제거 할 수 있습니다.

1
shelfoo

고용주에게 루비를 배우고 싶다고 말하지 마십시오. 웹 프레임 워크 기술의 최신 기술에 대해 배우고 싶다고 말하십시오. 가장 인기있는 것은 Django and Ruby Rails)입니다.

1
ykaganovich

다이내믹 언어는 아이디어를 프로토 타이핑하는데 환상적입니다. 성능상의 이유로 영구적 인 솔루션이나 제품에서는 작동하지 않는 경우가 종종 있습니다. But, 파이썬과 같은 언어를 사용하면 표준 C/C++/Java를 그 안에 포함하거나 그 반대로 할 수 있으므로 매우 중요한 비트의 속도를 높일 수 있지만 동적의 유연성과 함께 붙어 있습니다 언어.

... 따라서 두 세계를 모두 최대한 활용할 수 있습니다. 더 많은 사람들이 이러한 언어를 배워야하는 이유에 대해 이것을 정당화해야한다면, 동일한 소프트웨어를 개발할 수있는 속도와 솔루션의 강도가 훨씬 더 강하다는 점을 지적하면됩니다 (동적 언어의 디버깅/수정 문제가 내 경험에 있기 때문에, 상당히 쉬워요!).

0
Jon Cage

테스트.

동적 언어를 사용하여 C #/Java 애플리케이션을 테스트하는 것이 더 빠르고 쉽습니다. 대화식 프롬프트에서 탐색 테스트를 수행하고 자동 테스트 스크립트를 빠르게 작성할 수 있습니다.

0
Ryan

Scala와 같은 기능적 프로그래밍 언어를 배우는 것도 고려해야합니다. 간결한 구문과 클로저와 같은 강력한 기능을 포함하여 Ruby의 많은 장점이 있습니다. 그러나 Java 클래스 파일로 컴파일되고 Java 스택에 완벽하게 통합되므로 고용주가 삼키기가 훨씬 쉬워 질 수 있습니다.).

스칼라는 동적으로 입력되지는 않지만 "암시 적 변환"기능은 정적 입력의 많은 장점을 유지하면서 동적 입력의 많은 이점을 제공합니다.

0
sanity

퇴근 후, 프리랜서 작업을 위해 ... :) 그리고 최종적으로 가능한 한 글을 읽고 쓸 수있는 글을 ...;)

0
vaske

Grep과 Ruby를 아는 것은 일부 프로덕션 서버에서 수많은 Java 예외와 관련된 문제)를 좁히고 문제를 해결하는 것을 가능하게했습니다. 루비에서 솔루션을 함께 던졌고 며칠이 아닌 오후에 설계, 구현, 테스트, 실행, 버그 수정, 재실행, 개선, 결과 분석이 완료되었습니다. 같은 문제를 해결할 수있었습니다. 모든 Java 솔루션 또는 C # 솔루션을 사용하지만 더 오래 걸릴 것입니다.

동적 언어 전문 지식이있는 경우 때때로 동적 언어가 적은 간단한 솔루션으로 이어질 수도 있습니다. Ruby, Perl 또는 python에서는 문제가 발생할 때 정적 유형 언어로 복잡한 클래스 계층 구조를 작성하려는 유혹을받는 가장 작은 것들에 대해 연관 배열 (해시, 사전, 사용하려는 모든 단어)에 직관적으로 도달합니다. 반드시 요구하지는 않습니다.

또한 대부분의 스크립팅 언어를 대부분의 런타임에 연결할 수 있습니다. 따라서 둘 중 하나 일 필요는 없습니다.

0
JasonTrue

동적 언어는 생각하는 방식이 다르며 때로는 동적 또는 기능적 언어에서 배우는 관행이 더 정적으로 유형이 지정된 언어로 전환 될 수 있지만 다른 언어를 배우는 데 시간이 걸리지 않으면 코딩 할 때 생각할 방법을 알고있었습니다.

0
sontek

고용주가 볼 수있는 "실제 혜택"은 솔루션을 더 빠르게 구현할 수있는 더 나은 프로그래머입니다. 그러나 비용을 정당화하기 위해 어려운 숫자를 제공 할 수 없으며 고용주는 미래를 개선하는 일을하는 것과는 반대로 지금 돈을 벌고있는 일을 할 것입니다.

고용주의 한푼도에 대한 교육을받을 수있는 유일한 시간은 그들이 필요로하는 것을인지 할 때이며, 이미 그 기술을 갖춘 새로운 사람을 고용하는 것보다 저렴합니다.

0
Dan

철학적 인 문제는 제쳐두고, 나는 빠르고 더러운 Ruby 스크립트를 작성하여 가치를 얻었으며 Java 너무 컸습니다) 작년에 나는 세 가지 별도의 디렉토리 구조를 가졌지 만 거의 동일하지는 않았지만 파일간에 많은 차이가 있습니다 (클라이언트는 버전 제어에 대해 듣지 못했고 나머지는 당신의 상상력에 맡길 것입니다) .

Java로 분석기를 작성하는 데 상당한 오버 헤드가 있었지만 Ruby 약 40 분 동안 작동했습니다.

0
Jim Kiley

종종 dynamc 언어 (특히 python and lua))가 더 플러그인과 같은 기능을 추가하기 위해 프로그램에 내장되어 있으며, 특정 언어를 쉽게 추가 할 수있는 고급 언어이기 때문에 저급/중급 언어는 필요하지 않습니다.

Lua는 특히 일반적인 프로그래밍 언어가 아닌 프로그램 내에서 기능을 쉽게 추가 할 수 있도록 설계된 저수준 시스템 호출이 모두 없습니다.

0
Christian P.

고용주를 귀찮게하지 말고, 책에 ~ 40 달러를 쓰거나, 소프트웨어를 다운로드하고, 매일 연습을 읽거나하기 위해 시간을 투자하십시오. 곧 당신은 훈련됩니다 :)

0
none

다른 사람들은 왜 더 많은 언어를 배우면 더 나은 프로그래머가되는지 설명했습니다.

상사를 설득시키는 것은 가치가 있습니다. 아마도 회사의 문화 일뿐입니다. 어떤 곳은 경력과 기술 발전을 정책으로 만들고 (이동 또는 이탈) 어떤 곳은 가치가 있지만 직원의 이니셔티브에 맡기고 어떤 곳은 결론에 중점을 둡니다.

왜 언어를 배우는 것이 상사에게 좋은지를 설명해야한다면, 제 조언은 필요한만큼만 일을 계속하고 집에 가서 스스로 새로운 것을 공부하는 것입니다.

0
magpulse