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

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

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

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



답변

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

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


답변

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

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

답변

당신은 배워야합니다:

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

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

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

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


답변

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

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

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

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

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

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


답변

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

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

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