brunch

You can make anything
by writing

C.S.Lewis

by 이종우 Peter Lee Jan 24. 2019

[번역] 왜 프로그래밍 언어를 더 배워야 하는가?

다른 프로그래밍 언어를 배워야 하는 이유

https://blog.usejournal.com/why-you-need-to-learn-more-programming-languages-9160d609eac3




프로그래밍 언어로 열린 나의 관계에 대해서.


나는 약 4 년 동안 지금 프로그래밍을 해왔다. C #으로 게임 개발을 시작한 다음 기계 학습을 위해 Python으로 이동했습니다. Javascript와 Typescript에 프론트 엔드를 배웠습니다. 그런 다음 모바일 응용 프로그램을 만들어서 이오니아, React 및 React Native를 배웠습니다. 보다 효과적인 백엔드를 만들기 위해 Go는 완벽한 선택이었습니다. 나는 Dart가 더 많은 모바일 응용 프로그램을 만들 수 있도록 배웠습니다. 나는 페이스 북에서 일하는 동안 몇몇 대학 수업과 PHP를 위해 자바를 선택했다. 


 나는 그 언어들에 대한 전문가라고 말하지는 않는다. 나는 다른 언어보다 더 많은 언어 / 프레임 워크에 대한 경험이 있습니다. 왜 내가이 언어들을 배웠습니까? 왜냐하면 나는 쉽게 유혹 당했어. 저는 다른 언어로 멋진 기능을보고 배우고 싶습니다.




그런데 왜 내가 너에게 똑같이하라고 말하는거야? 모든 도구가 무엇인지, 어떤 도구가 무엇을하는지 알지 못하면 올바른 도구를 선택할 수 없기 때문 입니다. 올바른 도구와 무기를 선택하면 대부분의 전투에서 승리 할 수 있습니다. 나는 개인적으로 그것이 내 인생에서 매우 유용하다는 것을 알았다. 문제에 적합한 언어를 선택하면 상기 문제를 해결하는 데 필요한 노력이 크게 줄어 들었습니다.


내 #FirstWorldProblem 문제 해결


적절한 언어가 나를 많이 구해 주었다는 것을 알았을 때 주된 요점 부분으로 건너 뛸 수 있다면 아주 간단한 예를 들려주십시오. 몇 달 전 블루투스 헤드폰을 찾고 AirPod와 함께 가기로했습니다. 아마 애플이 발표 한 최고의 기술 조각 일 것입니다. 나는 다른 많은 블루투스 헤드폰을 시도했지만 그 중 누구도 이것들만큼 편리하지는 않다. 어쨌든 문제는 필자가 Windows 랩톱과 안드로이드 폰 (개인용)을 사용한다는 것이 었습니다. AirPod는 자동으로 내 휴대 전화에 연결되지만 내 노트북에서는 그렇지 않습니다. 나는 설정을 가서 수동으로 매 AirPods에 연결해야 할 것입니다. 끊임없이 휴대 전화와 노트북을 전환하고 싶어했기 때문에 이것은 매우 고통스러운 과정이었습니다. AirPod를 노트북에 연결할 때 항상 클릭하기 쉬운 버튼이 필요했습니다. 
내 첫 번째 생각은 내 컴퓨터의 블루투스를 제어 할 수있는 파이썬 라이브러리를 찾을 수 있었기 때문에 파이썬을 사용하는 것이었다. 사실이 아니다. 그렇게 할 수있는 잘 관리 된 라이브러리가 없었습니다. 다음에 볼만한 곳은 Node.js입니다. Javascript 라이브러리를 사용하여 노트북에서 블루투스를 제어 할 수 있습니다. 이 작은 Nodejs 스크립트를 실행하여 즉시 AirPod에 연결할 수있었습니다.


// App.js 
const device = new bluetooth.DeviceINQ (); 

const airpodsAddress = "18 : 81 : 0E : B2 : 6B : A6" 
const airpodsName = "Akshat의 에어 포트"; 

device.findSerialPortChannel (airpodsAddress 함수 (채널) { 

    // 원격 블루투스 장치에 연결할 수 있도록 
    bluetooth.connect (airpodsAddress, 채널 기능 (ERR, 연결) { 
        ) ERR (경우 (ERR)를 반환 console.error; 

        CONSOLE.LOG을 ( 'YAY! Airpods Connected');


        // 두 개 사이에 통신 스트림이 필요 없으므로 // 스트림을 
        종료하십시오.  
        setTimeout (() => process.exit (0), 5000); 
        
    }); 
});


이제는 스크립트를 실행하기 위해 화면에서 쉽게 액세스 할 수있는 버튼이 필요했습니다. 나는 그 스크립트를 단순히 작업 표시 줄에 넣을 수 있다고 생각했지만 윈도우는 실행 파일이 아닌 그 어떤 것도 넣지 않을 것이다. 작업 표시 줄에 설치할 수 있다고 생각한 배치 스크립트를 만들었지 만 실망했습니다. 그런 다음 어떤 언어를 사용하여 작업 표시 줄에 마운트 할 수있는 Windows 용 .exe (실행 파일) 파일을 만들 수 있다고 생각 했습니까? 구조에 Golang. 간단히 노드 스크립트를 실행하는 아주 작은 스크립트를 만들었습니다.


/ / main.go 
패키지 main 

import ( 
 "fmt" 
 "os / exec" 


func main () { 
 출력, 오류 : = exec.Command ( "npm", "시작") 오류 : CombinedOutput () 

 if err! = nil { 
 fmt.Println (err.Error ()) 
 } 
 fmt.Println (string (출력)) 
}


내 바탕 화면에 .exe에 대한 바로 가기를 만들어이 귀여운 아이콘을주었습니다. 바로 가기를 내 작업 표시 줄에 넣으십시오. 팔! 끝난. 항상 액세스 할 수있는 간단한 버튼을 통해 AirPod에 매우 빠르게 연결할 수 있습니다.



C #을 사용하여 동일한 결과를 얻을 수도 있다는 것을 알고 있습니다. 하지만 랩톱에 괴괴 망측 한 IDE 인 Visual Studio를 설치하고 싶지 않았습니다. 나는 또한 nexe와 같은 다른 도구를 사용하여 exe에 내 Nodejs 응용 프로그램을 패키징 할 수 있지만 불필요한 작업 일뿐입니다. 


이것은 여러 도구를 사용하면 문제를 훨씬 쉽게 해결하는 데 도움이되는 방법에 대한 간단한 예일뿐입니다. 내가 아는 것이 파이썬이나 자바 또는 이동이라고 알고 있다면, 이것은 매우 어려운 일이었을 것입니다. 사용하기에 적합한 언어를 알고, 문제를 해결하는 데 필요한 시간과 노력을 대폭 줄인 사례가 많습니다.

그것은 정직하게 다른 언어를 배우는 재미입니다. 플러스 그것은 당신의 시야를 넓히고 당신을 편안함 영역 밖으로 데려갑니다.


Javascript 또는 Python 개발자의 경우 저급 언어를 배우는 것이 좋습니다. C 또는 C ++로 줄곧 갈 수 있지만 골란을 제안합니다. C 계열의 좌절감없이 C ++과 같은 속도를 쉽게 얻을 수 있습니다.

나는 당신이 당신의 주요 언어와 열린 관계를 맺고 새로운 흥미 진진한 경험들을 얻을 수 있기를 바란다.

작가의 이전글  [번역] web scraping using R

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari