최상의 답변
C
C는 모바일, 엔터프라이즈 및 임베디드 애플리케이션 개발에 사용되는 매우 널리 사용되는 프로그래밍 언어입니다. 명령형 프로그래밍 패러다임을 따르는 컴파일 된 언어입니다. C와 UNIX의 엄청난 성장은 역사의 같은 페이지에 기록되어 있습니다. C와 Linux는 또한 매우 긴밀한 관계를 맺고 있습니다. 둘 다 너무 연결되어있어 하나의 프로그래밍 언어 만 오픈 소스로 지정해야한다면 C가 그 언어라는 것은 의심의 여지가 없습니다. C에 관한 슬픈 소식은 순위 중 2 개에서 낮은 순위를 차지하고 TIOBE 지수의 경우 2 위를 차지했지만 2016 년에 등급이 크게 떨어 졌다는 것입니다. 그러나 IEEE 스펙트럼 순위는 C를 1 위에 올렸습니다. . 따라서 C에 대한 사망 기사를 작성하는 것은 시기상조이지만 업계에 종사하고 C의 마스터 만 있으면 앞으로 상황이 어려워 질 수 있습니다.
프로그래밍 언어의 C 계열에 속하는 상위 10 개 언어 중 7 개 언어를 사용하여 C는 첫 번째 프로그래밍 언어를 가르쳤을 때 학계에서 가장 좋아하는 언어가 될 것입니다. 이 목록에서 C 제품군에 속하는 7 가지 프로그래밍 언어는 C, C ++, C #, Go, Java, PHP 및 Swift입니다. Linux 플랫폼 용 C의 세 가지 오픈 소스 컴파일러는 gcc, clang 및 pcc입니다. C는 Mozilla Firefox, Wireshark, MySQL, Android, Blender, GIMP, Mozilla Thunderbird, VLC Media Player, VirtualBox, CMake, MariaDB, PyGTK, SciPy, MongoDB, PHP 등과 같은 Linux 커널 및 오픈 소스 소프트웨어 개발에 사용됩니다. . 따라서 이러한 다작 오픈 소스 개발의 역사를 통해 C의 개방성 점수가 높다는 결론을 내릴 수 있습니다.
C ++
C ++는 모바일, 기업 및 모바일 개발에 사용되는 프로그래밍 언어이기도합니다. 임베디드 애플리케이션. C ++는 명령형 및 객체 지향 기능을 갖춘 컴파일 된 언어입니다. 처음에 C ++는 클래스와 객체에 대한 지원이 내장 된 C 버전에 불과했습니다. 그러나 수년에 걸쳐 C ++는 성숙하고 독립적이되어 업계에서 널리 사용됩니다. C ++의 순위는 수년에 걸쳐 안정화되었으며 대부분의 목록에서 상위 5 위 안에 포함됩니다. C ++의 인기는 최근 몇 년 동안 약간 떨어졌지만 경고를 유발할만큼 중요하지 않습니다. Linux 플랫폼 용 C ++의 매우 인기있는 오픈 소스 컴파일러는 g ++입니다. C ++로 개발 된 인기있는 오픈 소스 프로젝트로는 Mozilla Firefox, MySQL, Android, Blender, LibreCAD, 7-Zip, Mozilla Thunderbird, Chromium, Wireshark, VLC Media Player, VirtualBox, Doxygen, CMake, MariaDB, Code :: Blocks, SciPy, PHP 및 MongoDB. C ++로 개발중인 오픈 소스 소프트웨어가 너무 많아서 확실히 높은 개방성 점수를 할당 할 수 있습니다.
C #
C #은 Microsoft에서 개발 한 프로그래밍 언어입니다. 웹, 모바일 및 엔터프라이즈 애플리케이션을 개발하는 데 사용됩니다. C #은 명령형, 기능적 및 객체 지향 프로그래밍 패러다임을 지원합니다. 모호한 부분이 있지만 대부분의 프로그래머는 C #을 컴파일 된 언어로 간주합니다. C #은 4 개 순위 중 3 개 순위에서 상위 5 위로 여전히 인기가 높습니다. 그 인기는 지난 몇 년 동안 약간 감소했습니다. 그러나 우리는 그 인기가 줄어들고 있다는 분명한 추세를 예측하기 위해 더 기다려야합니다. Mono는 C # 및 공용 언어 런타임에 대한 ECMA 표준을 기반으로하는 Microsoft .NET Framework의 오픈 소스 구현입니다. Microsoft의 자회사 인 Xamarin이 개발했습니다. 오픈 소스 컴파일러 Mono의 존재로 인해 C #은 오픈 소스 프로그래밍 언어로 간주 될 수도 있습니다. 그림 2는 Mono의 로고를 보여줍니다. C #은 오픈 소스 소프트웨어 개발에 많이 사용되지 않으며 EasyERP, MixERP, uManage, ColorSharp 등과 같은 비교적 사소한 프로젝트에서만 기능합니다. 따라서 C #에 낮은 개방성 점수를 할당 할 수 있습니다.
이동
Go는 2009 년에 처음 등장한 비교적 새로운 프로그래밍 언어입니다. Google에서 만든 컴파일 된 프로그래밍 언어입니다. 주로 엔터프라이즈 및 웹 응용 프로그램 개발에 사용됩니다. 동시 및 명령형 프로그래밍 패러다임을 지원합니다. Go 용 오픈 소스 컴파일러에는 Google의 gc와 GCC의 gccgo가 있습니다. gc는 크로스 플랫폼 컴파일러이며 Go를 진정한 오픈 소스 프로그래밍 언어로 만듭니다. Go의 인기는 4 개 순위 모두에서 증가하고 있습니다. 오픈 소스 소프트웨어 개발에 참여하고 싶다면 Go는 배워야 할 다음 언어입니다. Docker는 Go를 사용하여 개발 된 인기있는 오픈 소스 소프트웨어입니다.무료 및 독점 구성 요소가 포함 된 파일 호스팅 서비스 Dropbox도 Go를 사용하여 개발되었습니다. 따라서 중간 개방성 점수를 안전하게 할당 할 수 있습니다.
PHP
PHP는 서버 측 웹 개발에 적합한 범용 스크립팅 언어입니다. 거의 모든 플랫폼에 대한 통역사가있는 통역 언어입니다. 오픈 소스 인터프리터 인 Zend Engine의 존재는 PHP를 오픈 소스 프로그래밍 언어로 만듭니다. PHP는 2 개의 순위에서 상위 3 위로 여전히 인기가 높습니다. PHP의 인기도 수년에 걸쳐 안정화되었으며 그 위치에 임박한 위협이없는 것으로 보입니다. PHP는 Drupal, Joomla, WordPress, Moodle 등과 같은 오픈 소스 프로젝트 개발에 광범위하게 사용됩니다. PHP 기반 오픈 소스 프로젝트 개발은 C 또는 C ++ 기반 개발만큼 널리 퍼지지 않으므로 중간 정도의 개방성 점수를 할당합니다.
Python
Python은 고수준의 범용 해석 동적 프로그래밍 언어입니다. 엔터프라이즈 및 웹 응용 프로그램 개발에 사용됩니다. 객체 지향, 명령형 및 함수형 프로그래밍 패러다임을 지원합니다. CPython이라는 오픈 소스 인터프리터는 Python의 기본 참조입니다. 따라서 Python은 분명히 오픈 소스 프로그래밍 언어라고 할 수 있습니다. 4 개의 랭킹 모두에서 상위 5 위를 차지하며 여전히 인기가 높습니다. Blender, Dropbox, BitBake, SageMath, YUM, OpenStack, Mercurial, Django, PyGTK, SciPy 등은 Python으로 개발 된 인기있는 오픈 소스 소프트웨어 중 일부입니다. Python은 오픈 소스 프로젝트 개발에 매우 많이 사용되기 때문에 높은 개방성 점수를 할당 할 수 있습니다.
Java
Java는 동시 객체 지향 범용 프로그래밍 언어입니다. 엔터프라이즈, 모바일 및 웹 애플리케이션 개발에 널리 사용되는 선택입니다. OpenJDK (Open Java Development Kit)는 Java SE (Java Platform Standard Edition)의 무료 오픈 소스 구현이며, 버전 7부터는 Java의 참조 구현입니다.
Java는 TIOBE Index 및 PYPL PopularitY 순위에서 1 위, IEEE Spectrum 및 RedMonk 순위에서 2 위를 차지하는 매우 인기있는 프로그래밍 언어입니다. Java로 개발 된 일부 오픈 소스 소프트웨어에는 Android, Weka, Apache Tomcat, Qt, Eclipse, NetBeans 및 Apache Hadoop이 포함됩니다. 운영 체제는 일반적으로 C 또는 어셈블리 언어를 사용하여 개발되지만 Java는 거기에서도 그 존재감을 느꼈습니다. 그다지 대중적이지는 않지만 운영 체제 JNode는 Java를 사용하여 완전히 개발되었습니다. 따라서 Java의 경우에도 높은 개방성 점수를 할당합니다.
JavaScript
자바 스크립트는 고수준의 동적 해석 프로그래밍 언어입니다. 웹의 프로그래밍 언어입니다. 객체 지향, 명령형 및 함수형 프로그래밍 스타일을 지원합니다. V8 JavaScript Engine은 Chrome 웹 브라우저 용으로 Chromium Project에서 개발 한 오픈 소스 엔진입니다. JavaScript는 네 가지 순위 모두에서 인기가 높아지고있는 또 다른 프로그래밍 언어이며, 이는 경력을 발전시키기 위해 또 다른 권장 언어입니다. Mozilla Firefox, Mozilla Thunderbird 및 MongoDB는 JavaScript로 개발 된 오픈 소스 소프트웨어 중 일부입니다. 오픈 소스 개발에서 중간 정도의 중요성을 가지며 중간 개방성 점수를 할당받을 수 있습니다.
Ruby
Ruby는 동적 범용 프로그래밍 언어입니다. 기능, 객체 지향 및 명령형 스타일을 포함한 여러 프로그래밍 패러다임을 지원합니다. Matz의 Ruby Interpreter 또는 Ruby MRI는 Ruby의 참조 구현이며 Free Software Foundation에서 승인 한 Ruby 라이선스를 사용합니다. Ruby의 인기는 수년에 걸쳐 약간 감소하는 것 같습니다. 저를 혼란스럽게하는 것은 순위가 루비의 인기에서 사악한 감소를 보이지는 않지만 루비가 죽었거나 곧 죽을 것이라는 기사가 많이 있다는 사실입니다. 이것은 제가 이해할 수없는 현상입니다. 최소한 사용 가능한 데이터가 아닙니다. Ruby를 사용하여 개발 된 인기있는 오픈 소스 프로젝트에는 서버 측 웹 애플리케이션 프레임 워크 인 Ruby on Rails와 Ruby on Rails의 선구자 인 Merb가 있습니다. 따라서 Ruby는 중간 정도의 오픈 소스 관련성을 가지고 있으며 중간 정도의 개방성 점수를 할당받을 수 있습니다.
Swift
Swift는 주로 iOS 및 macOS 플랫폼을 위해 Apple에서 개발 한 범용 컴파일 프로그래밍 언어입니다. 기능적, 객체 지향적, 명령 적 스타일을 지원합니다. Swift 용 통합 개발 환경은 오픈 소스 구성 요소를 사용하는 프리웨어 인 Xcode라고합니다. C #을 구한 원숭이라면 Swift의 구세주는 드래곤입니다. 그림 3은 매우 인기있는 컴파일러 인프라 프로젝트 인 LLVM의 로고를 보여줍니다. Swift 컴파일러 중 하나는 LLVM에서 제공합니다. LLVM은 오픈 소스 소프트웨어이므로 Swift는 오픈 소스 프로그래밍 언어로도 사용할 수 있습니다. 참고로 LLVM은 중요한 오픈 소스 프로젝트이며 GCC의 주요 라이벌입니다. LLVM을 탐색 할 시간을 찾으면 보상을받을 것입니다. Swift를 오픈 소스 프로그래밍 언어라고 부르는 것은 논란의 여지가 있지만 언어가 모든 순위에서 인기를 얻고 있으며이를 마스터하는 것은 현명한 결정일 수 있습니다. Firefox iOS 앱, iOS 용 WordPress 등은 Swift를 사용하여 작성된 오픈 소스 소프트웨어 중 일부입니다. Swift로 개발 된 오픈 소스 프로젝트의 주요 문제점은 대부분이 Apple 제품과 밀접하게 결합 된 iOS 또는 macOS 플랫폼 용으로 구축되었다는 것입니다. 이러한 이유로 Swift에 낮은 개방성 점수를 할당합니다.
출처 : http://opensourceforu.com/
답변
거의 모든 언어가 “오픈 소스”입니다. 정의에 따라 언어 디자인, 규칙, 구조 등이 게시되어야합니다.
언어의 구현은 폐쇄 된 소스 일 수 있습니다. C 용 컴파일러를 닫을 수 있습니다. 그러나 언어 자체는 거의 항상 오픈 소스입니다.
사실 오픈 소스가 아닌 언어는 사내에만 있습니다. 누구에게나 쉽게 구할 수없는 것. 따라서 훨씬 덜 인기가 있고 특정 장소를 제외하고는 다른 곳에서는 거의 사용되지 않습니다.
메인 프레임 시대에는 IBM과 같은 회사에서 컴퓨터를 구입하는 경우가 많았습니다. 그런 다음 컴퓨터 용으로 디자인 한 언어를 게시하지 않았기 때문에 프로그램을 작성하도록해야합니다. 어느 시점에서 그들은 모든 고객을 위해 모든 전문 프로그램을 만드는 데 필요한 하나의 회사를 갖는 것이 다소 비효율적이라는 것을 깨달았습니다.
따라서 많은 컴퓨터에서 작동하도록 설계된 최초의 공개 언어가 개발되었습니다. , 포트란이라고합니다. 그런 다음 컴퓨터를 만드는 각 회사는 해당 언어에 대한 컴파일러를 개발하여 소스 코드를 컴퓨터 고유의 명령어 세트로 변환했습니다.
컴퓨터가 점점 더 널리 보급됨에 따라 다른 사람들이 대신 컴파일러를 만들 수 있도록 명령어 세트를 게시하기도했습니다. 프로그래머 자원을 소비하는 것. 어셈블리 언어는 물론 프로세서 용 바이너리 코드까지 게시합니다.
요즘에는 오픈 소스가 아닌 언어를 찾기 위해 훨씬 광범위하게 검색해야합니다. 그러나 특정 구현은 훨씬 더 쉽게 찾을 수 있습니다. 초기 예로서 Common Lisp라는 언어는 다른 회사의 여러 사람들이 디자인하고 전체적으로 전 세계에 제공되는 오픈 소스입니다. 그러나 일부 컴파일러는 SBCL, ECL 등과 같은 오픈 소스에서 다양합니다. AlegroCL 및 LispWorks와 같은 폐쇄 소스 컴파일러도 제공됩니다. 모두 Common Lisp 언어로 작동합니다.