우분투 개발자가되기 위해 어떤 프로그래밍 언어를 배워야합니까? [닫은]


22

프로젝트에 NetBeans를 한 번 사용했지만 본격적인 Ubuntu 개발자가 되려면 어떤 언어를 배워야합니까?

NetBeans (Java 만 해당)에서 내 프로젝트는 계산기를 설계하는 것이 었습니다 (상대적으로 쉬움). 또한 이미지 뷰어, 브라우저 등을 만드는 방법을 배우려면 어떻게해야합니까?

또한 특정 응용 프로그램에 가장 적합한 언어는 무엇입니까?


3
오히려 주관적입니다 ... 예 : perl은 파이썬과 다른 방법으로 대체 할 수 있지만 들여 쓰기의 부족이나
강제성

당신은 우리가 다음 대답하지만, bash는 더 잘 할 수 있습니다 쓰고 싶은 일에 대해보다 구체적인 될 수 있다면 ... 당신은 다른 의견을 많이받을 가능성이 당신이 더 나은이 요구 될 수있다 우분투 포럼 : 개발 및 프로그래밍
워렌 힐

답변:


31

대답은 간단하고 실제로 도움이되지 않습니다. 어느 언어가 필요한지. 우분투는 수많은 소프트웨어로, 일부는 C로, 일부는 C ++로, 일부는 Python, Perl, bash로, 기타로 작성되었습니다. bash로 스크립팅을 배워야하며 Perl이나 Python과 같은 언어를 선택해야합니다. 또한, 구식 C를 배우는 것은 결코 누구에게도 해를 끼치 지 않습니다. 프로그램 작동 방식, 라이브러리, 기타 도구에 대한 많은 것들에 대해 더 많이 배웁니다.

그렇지 않으면-먼저 작업, 틈새 시장, 작업해야 할 항목 또는 누락 된 항목 또는 매혹적인 작업을 찾아보십시오. 그런 다음 어떤 언어가 그 목적에 적합한 지 알아보십시오.


5
간단하지만 정확한;) 작업을 가장 효율적으로 수행하는 데 필요한 언어
Rinzwind

3
OP가 Java에 경험이 있다고 언급 했으므로 Java가 Ubuntu에서도 제대로 실행된다는 것을 언급하는 것이 좋습니다. 다시 컴파일 할 필요조차 없습니다 (다른 OS에서 포팅 할 때)
BlueRaja-Danny Pflughoeft

@ BlueRaja-DannyPflughoeft 저수준 시스템 호출이 필요한 응용 프로그램을 개발하지 않는 한. 종종 이러한 기능을위한 플랫폼 특정 라이브러리를 제공하는 응용 프로그램을 보게 될 것입니다. 그러나 일반적으로 그렇습니다.
Dennis Eichhorn

특정 CPU 아키텍처를 위해 컴파일 할 수있는 모든 작업을 수행 할 수 있습니다. 누군가가 특정 플랫폼을 위해 개발하려고 할 때 고려해야 할 더 중요한 측면이 있습니다. 그 사람이 시작하는 데 걸리는 시간과 마찬가지로, 메모리 관리를 다루고 싶고, 크로스 플랫폼 프로그램을하고 싶고, 어떤 유형의 프로그램을 만들고 싶고, 팀에서 일하는 것을 알고 있습니까? , 그는 사용자 또는 모바일 에어컨 시스템을 마사지하는 동안 베이컨 샌드위치를 ​​제공하는 컴퓨터를 만들고 싶습니까? 하늘은 한계입니다.
userDepth

7

여러 장치에서 실행하고 폼 팩터 (데스크톱, 전화, 태블릿, TV 등)에서 실행할 수있는 Ubuntu 용 응용 프로그램을 작성하려는 경우 QMLJavaScript 를 배우는 것이 좋습니다 . 본질적으로 :

  • QML 을 사용 하여 폼 팩터 및 장치에서 실행되는 수렴형 Ubuntu 앱 작성
  • Ubuntu 앱을 작성할 때 QML을 보완하고 Ubuntu 웹앱을 작성 하려면 JavaScript 를 사용하십시오.

이 두 가지가 왜 적합한 지 좀 더 자세히 설명해 주시겠습니까?
don.joey

완료, 나는 명확한 지침을 제공 바랍니다 :)
David Planella

5

당신은 배워야합니다:

  • 자바 스크립트 : 대부분의 UI 프레임 워크 / env. JavaScript를 기반으로하고 /하거나; 어쨌든 언젠가는 필요할 것입니다.

그런 다음 나머지는 모두 다른 것이 필요합니다.

  • C ++ / C
    • 장점 : 놀랍도록 빠른 저수준 기능에 액세스
    • 단점 : 안정적이고 끔찍한 커뮤니티를 작성하는 방법을 배우는 데 많은 시간
  • 루비:
    • 장점 : 배우기 쉽고 글쓰기를 좋아하며 훌륭한 커뮤니티
    • 단점 : 일부 작업 (실제로) 속도가 느릴 수 있습니다
  • 파이썬 :
    • 장점 : 많은 패키지가 파이썬, 훌륭한 커뮤니티, 빠른 등으로 제공됩니다.
    • 단점 : 파이썬 3 (그냥 친절하다)

그러나 Java와 같은 다른 많은 언어가 여전히 있지만 C / C ++를 제외하고 위에서 언급 한 것이 더 쉬울 수 있지만 다른 언어와 함께 사용할 수 있으므로 학습 할 가치가 있습니다 (예 : 확장 파이썬, 루비 등)


1

프로그래밍 작업은 실제 코드와 그 아래에있는 정신 모델로 구성됩니다.

컴퓨터가 어떻게 작동하는지에 대한 기본 개념을 가지고 있다면 프로그래밍 언어를 쉽게 배울 수 있지만 프로젝트에 유용한 기여를하려면 그 뒤에 디자인을 이해해야합니다.

제 제안은 개인적으로 관심을 갖고 자주 사용하는 프로젝트에 참여한 다음 품질 보증 작업을 시작하는 것입니다.

  • 다소 모호한 버그 보고서가있는 경우 문제점을 복제하고 설명을 개선하십시오. 자동 테스트의 보너스 포인트.
  • 한동안주의를 기울이지 않은 오래된 버그가있는 경우 버그가 여전히 존재하는지 확인하고 버그 보고서를 업데이트하십시오.
  • 테스트 스위트 오류가있는 경우이 테스트가 실패하는 원인을 확인하십시오.

이를 통해 관리 가능한 학습 곡선에서 프로젝트의 어렵고 개념적 부분에 대해 배울 수 있으며 관심이있는 프로젝트 (관심있는 프로젝트이므로)를 유지하고 프로젝트 주변의 커뮤니티에 액세스 할 수 있습니다. 실제 프로그래밍 언어 (프로젝트에서 사용되는 언어)는 즉시 선택할 수있는 언어입니다.

다소 점진적인 항목의 예 는 Beignet 프로젝트에 대한 나의 기여를 살펴보십시오 . 프로그래밍 언어에 대한 지식 (이 경우 C / C ++)은 확실히 제한 요소가 아닙니다.


0

당신은 배워야합니다 ... 그들 모두! 또는 모든 언어를 메타로 배우십시오. 2 개 또는 3 개의 언어를 알면 이러한 언어와 유사한 새로운 언어를 빠르게 배울 수 있습니다. 충분한 언어를 알고 있다면, "가상적으로"모든 언어를 알고, 더 중요한 것은 언어의 일부이며 언어 와 독립적으로 프로그래밍 과 관련 이 있다는 것을 이해하는 것입니다 . 궁극적으로 특정 언어는 관련이 없습니다.

따라서 Java, C, Scheme, OCaml, Assembly (적어도 두 가지 아키텍처), Forth 및 약간의 Prolog를 반드시 순서대로 배울 필요는 없습니다. 새로운 개념을 배우고, 첫 번째 언어로 배웠지 만 틀린 것으로 밝혀진 개념을 잊어 버리기 때문에, 제 2 언어는 가장 어려울 것입니다. 그 후에는 쉽고 쉬워집니다.

그런 다음 특정 개발 작업을 처리 할 때 컴파일러 및 라이브러리의 가용성 및 지원, 동료에 대한 지식, 관리의 정책 제약 등을 기반으로 가장 적합한 언어를 사용하십시오. 마음의 유연성이 핵심입니다. 많은 언어를 알고 있으면 이러한 유연성이 부여됩니다.


그들 모두? 정말? 몇 가지 고전적인 "HelloWorld"프로그램을 여기 에서 살펴보십시오 . 대부분의 프로그래머는 몇 가지 언어 만 알고 있습니다. 필요한 것을 아는 것만 중요합니다.
워렌 힐
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.