왜 C# 언어를 사용하는 사람이 그렇게 적은 걸까요?
다음과 같은 이유로 C#을 사용하는 사람은 거의 없습니다. 1. C#은 처음에는 Windows 플랫폼에서만 실행될 수 있고 JAVA와 동일한 변환을 수행하지 않아 Android 컴퓨터에서 실행할 수 없습니다. 2. C#은 다음을 모델로 합니다. JAVA, 빅데이터, 인공지능은 아직 JAVA를 능가하지 못했습니다.
C#은 프로그래밍 세계의 신 수준의 인물인 Anders Hejlsberg가 디자인했습니다. 여러 측면에서 JAVA보다 우수합니다. 그러나 프로그래밍 언어의 개발은 특정 기업이나 소수 기업의 지원을 받을 수는 없지만, 본업의 전략적 발전과 생태계 활성화에 있어서 C#은 이 두 가지 점에서 이점이 없습니다.
우선 C#이 언어 개발 과정에서 놓친 기회에 대해 이야기해 보겠습니다.
1위, C# 교차 채널 정책 실수
C#은 처음에는 Windows 채널에서만 실행될 수 있었습니다. PC 인터넷 시대에서 모바일 인터넷 시대로 전환하는 동안 C#은 JAVA처럼 습관적인 전환을 하지 않았습니다. 그래서 C#은 Android 컴퓨터에서 실행할 수 없습니다.
Windows 플랫폼은 간단하고 사용하기 쉬워 숙련된 인력이 거의 없는 비IT 중소기업에 실제로 매력적입니다. 하지만 실리콘밸리의 IT 기업들에게는 기술이 문제가 되지 않는다. 전문적인 서버 관리자가 많기 때문에 실리콘밸리의 IT 기업들은 CentOS나 Ubuntu 같은 무료 리눅스 시스템을 선호한다.
한 번의 움직임이 전신에 영향을 미칠 수 있습니다
무료 Linux는 Apache 웹 서버, mysql/postgresSQL 데이터베이스, Memcache, Redis 캐시 서버 등과 같은 상당히 완전한 서버 운영 환경과 완전한 도구 체인 세트를 제공합니다. Linux는 직관적인 관리 측면에서 Windows의 창형 그래픽 인터페이스에 비해 뒤떨어지는 것처럼 보이지만 성능은 비슷하거나 훨씬 더 뛰어납니다. 따라서 구성이 더 번거롭더라도 여전히 Linux 시스템을 서버 운영 환경으로 선택하는 회사가 많습니다. C#은 기본적으로 Linux에서 사용되지 않으므로 C# 언어의 인기가 크게 제한됩니다.
C#은 나중에 Xamarin을 우회적으로 출시하여 무료 및 오픈 소스가 되었지만 최고의 모바일 개발 기회를 잃었습니다. Microsoft의 자체 WP 모바일 운영 체제가 Apple 및 Android와 경쟁하지 않은 것처럼 모바일 개발 분야에서도 C#이 있습니다. 모바일 인터넷 시대도 사라졌다.
둘째, C#은 JAVA 이후에 탄생했지만 빅데이터, 인공지능 측면에서 JAVA를 능가하지 못했습니다
C#의 최대 경쟁자인 JAVA는 사실 C#의 아버지입니다. JAVA는 1995년에 탄생했습니다. 한 번 작성하면 어디서나 실행된다는 개념이 혁신을 일으켰습니다. C#은 2000년에 탄생했으며 Microsoft의 .Net 솔루션의 일부입니다. Microsoft에서 JAVA를 대체하기 위해 개발했습니다.
즉, C#을 대체할 수 있습니다. C#과 JAVA는 구문과 아키텍처가 매우 유사합니다. C#이 할 수 있는 일을 JAVA도 할 수 있습니다. 그리고 JAVA 자체는 교차 채널용으로 설계되었으며 C#보다 유연하고 Linux에서 잘 지원됩니다. 라이브러리 지원 측면에서 JAVA는 C#보다 훨씬 낫습니다. Windows에는 좋은 C# 라이브러리가 있을 수 있지만 Linux/.Netcore에서 작업하는 것은 거의 불가능합니다.
전통적인 개발에서 빅데이터, 인공지능 개발로 전환하는 과정에서 구글의 하둡 등장 이후 빅데이터 개발 언어는 자연스럽게 JAVA인 것 같다. 하둡은 동시에 여러 언어로 인터페이스를 제공하지만, 빅데이터 시대에 JVM의 구조적 운용으로 인해 JAVA 언어는 C#을 훨씬 능가하게 되었고, 인공지능의 발달과 데이터 처리에 대한 수요로 인해 Python은 C#을 따라잡으며 데이터 처리의 아티팩트가 되었습니다. , 그래서 프로그래머는 종종 변화를 수용해야 합니다. JAVA와 Python에 더 많이 투자하세요.
마이크로소프트는 빅데이터 시대의 도래에 적응하기 위해 C# 프로그래머들이 Hadoop 플랫폼과 더 효과적으로 협업할 수 있도록 많은 도구 라이브러리를 제공했지만, JAVA의 적법성과 편리함이 업계에서 C#의 위상을 점점 더 중요하게 만들었다는 것은 부인할 수 없는 사실입니다. 빅데이터 시대.
둘째, C#의 폐쇄도 C#이 인기를 잃은 중요한 이유라고 말씀드리고 싶습니다.
첫째, C# 운영 환경의 폐쇄적 특성으로 인해 C# 언어는 Windows 플랫폼으로 제한됩니다.
Microsoft 회장 Nadella 이전에 Microsoft는 Linux 및 오픈 소스 소프트웨어 산업에 대해 적대적인 태도를 취했습니다. Bill Gates는 한때 오픈 소스 소프트웨어를 바이러스로 비난했으며 당연히 Linux 시스템에 대한 소프트웨어 지원 제공을 거부했습니다. 동시에 Microsoft는 Windows 시스템, IIS 서버, MSSQL과 같은 도구 소프트웨어와 함께 C#을 긴밀하게 번들링했습니다. C#을 사용하려면 Microsoft 시스템, 데이터베이스 및 기타 가족 단위 버킷을 구입해야 합니다. 이러한 비용과 얽힘으로 인해 실리콘 밸리의 IT는 매우 불행해지고 눈에 보이지 않게 반 Microsoft 추세가 형성됩니다.
Windows Server 라이선스 비용 분석
마이크로소프트가 실리콘 밸리의 신생 기업들 사이에서 소외되었다는 사실을 깨닫고, 리눅스에서 C#을 실행하기 위해 리눅스 같은 오픈 소스 소프트웨어 및 시스템과 협력하기를 원하기 시작했을 때, 실리콘 밸리는 이미 형성된 자체 오픈 소스 운영 소프트웨어 제작 분위기: 완벽한 기술 스택, 커뮤니티 및 학습 환경 즉, 실리콘 밸리에는 기본적으로 C#이 필요하지 않습니다. 따라서 운영 환경의 폐쇄는 C#의 쇠퇴로 이어졌습니다.
둘째, 개발 환경의 폐쇄적 특성으로 인해 C# 언어 개발 비용이 높습니다.
C# 개발은 Windows 시스템에 의존할 뿐만 아니라 Visual Studio 개발 플랫폼에 크게 의존합니다. 게다가 C#을 선택하기 때문에 데이터베이스 개발에는 필연적으로 SQL Server 데이터베이스가 포함된다는 점이 가장 치명적인 점입니다. 그리고 마이크로소프트 제품은 모두 꽤 비싸요. IDE와 데이터베이스 비용이 많이 들거든요. 기업 입장에서는 큰 비용이 들기 때문에 많은 대기업이 비용 문제로 인해 C#을 포기하게 됩니다. Linux+Eclipse+JAVA 개발 환경을 사용하면 무료로 완벽하게 해결할 수 있습니다. 이는 C#이 직면한 심각한 개발 환경 폐쇄 문제입니다.
실리콘 밸리의 일반 IT 기업들이 대표하는 스킬 스택을 살펴보겠습니다.
Uber의 스킬 스택
페이스북의 스킬 스택에도 C#의 그림자가 없습니다
셋째, 커뮤니티의 폐쇄적 특성으로 인해, C# 사용 경험이 줄어들었습니다. 그다지 아름답지는 않습니다.
현재 빅데이터 시대의 도래와 Python 오픈소스 커뮤니티의 발전으로 JAVA 개발 커뮤니티의 오픈소스가 더욱 강력해졌지만, 서비스 우선 시대와 C#은 여전히 폐쇄소스입니다. 먼저 경험해 보세요. 비공개 소스 Yuan의 생각은 시간이 지나도 변하지 않고 시대에 따라 필터링되었습니다.
실리콘밸리 주요 IT 기업의 언어 및 구조적 스킬 스택 최신 순위: 상위 10위 안에 C#은 설 자리가 없습니다
기업 지원 없이는 배울 사람이 없고, 배우지 않으면 채용할 사람도 없습니다. 이것은 닭과 달걀의 상황, 즉 달걀을 낳는 닭의 문제입니다.
정리하자면, C#은 개발 초기 단계에서 놓친 기회로 인해 트렌드도, 업계 체인도, 좋은 학습 분위기도 없었습니다. 그러나 Microsoft의 오픈 소스 커뮤니티에 대한 변화와 협력적인 태도로 인해. , C#을 채택하는 기업의 수도 시작되었습니다. 점진적인 증가, 특히 U3D의 급증은 C#의 인기를 더욱 촉진할 수 있습니다. 시간이 지나면 실리콘밸리의 IT 기업에서도 C#이 자리를 잡을 수 있을 거라 믿습니다.
추천 튜토리얼: "c#"
위 내용은 왜 C# 언어를 사용하는 사람이 그렇게 적은 걸까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

멀티 스레딩과 비동기식의 차이점은 멀티 스레딩이 동시에 여러 스레드를 실행하는 반면, 현재 스레드를 차단하지 않고 비동기식으로 작업을 수행한다는 것입니다. 멀티 스레딩은 컴퓨팅 집약적 인 작업에 사용되며 비동기식은 사용자 상호 작용에 사용됩니다. 멀티 스레딩의 장점은 컴퓨팅 성능을 향상시키는 것이지만 비동기의 장점은 UI 스레드를 차단하지 않는 것입니다. 멀티 스레딩 또는 비동기식을 선택하는 것은 작업의 특성에 따라 다릅니다. 계산 집약적 작업은 멀티 스레딩을 사용하고 외부 리소스와 상호 작용하고 UI 응답 성을 비동기식으로 유지 해야하는 작업을 사용합니다.

C#과 C의 역사와 진화는 독특하며 미래의 전망도 다릅니다. 1.C는 1983 년 Bjarnestroustrup에 의해 발명되어 객체 지향 프로그래밍을 C 언어에 소개했습니다. Evolution 프로세스에는 자동 키워드 소개 및 Lambda Expressions 소개 C 11, C 20 도입 개념 및 코 루틴과 같은 여러 표준화가 포함되며 향후 성능 및 시스템 수준 프로그래밍에 중점을 둘 것입니다. 2.C#은 2000 년 Microsoft에 의해 출시되었으며 C와 Java의 장점을 결합하여 진화는 단순성과 생산성에 중점을 둡니다. 예를 들어, C#2.0은 제네릭과 C#5.0 도입 된 비동기 프로그래밍을 소개했으며, 이는 향후 개발자의 생산성 및 클라우드 컴퓨팅에 중점을 둘 것입니다.

XML 형식을 수정하는 방법에는 여러 가지가 있습니다. Notepad와 같은 텍스트 편집기로 수동으로 편집; XMLBeautifier와 같은 온라인 또는 데스크탑 XML 서식 도구와 자동 포맷; XSLT와 같은 XML 변환 도구를 사용하여 변환 규칙을 정의합니다. 또는 Python과 같은 프로그래밍 언어를 사용하여 구문 분석하고 작동합니다. 원본 파일을 수정하고 백업 할 때주의하십시오.

XML을 Word로 변환하는 세 가지 방법이 있습니다. Microsoft Word를 사용하거나 XML 변환기를 사용하거나 프로그래밍 언어를 사용하십시오.

XML을 JSON으로 변환하는 방법은 다음과 같습니다. 프로그래밍 언어 (Python, Java, C#)의 스크립트 또는 프로그램 작성 변환; 온라인 도구 (예 : XML에서 JSON, Gojko의 XML 변환기, XML 온라인 도구)를 사용하여 XML 데이터를 붙여 넣거나 업로드하고 JSON 형식 출력 선택; XML에서 JSON 변환기를 사용하여 변환 작업 수행 (예 : 산소 XML 편집기, Stylus Studio, Altova XMLSPy); XSLT 스타일 시트를 사용하여 XML을 JSON으로 변환하고; 데이터 통합 도구 (예 : Informatic) 사용

C# 멀티 스레드 프로그래밍은 프로그램이 여러 작업을 동시에 수행 할 수있는 기술입니다. 성능을 향상시키고 응답 성을 향상시키고 병렬 처리를 구현함으로써 프로그램 효율성을 향상시킬 수 있습니다. 스레드 클래스는 스레드를 직접 생성하는 방법을 제공하지만 작업 및 Async/Await와 같은 고급 도구는보다 안전한 비동기 작업 및 클리너 코드 구조를 제공 할 수 있습니다. 멀티 스레드 프로그래밍의 일반적인 과제에는 교착 상태, 레이스 조건 및 자원 누출이 포함되며, 스레딩 모델의 신중한 설계와 이러한 문제를 피하기 위해 적절한 동기화 메커니즘을 사용해야합니다.

.NET을 사용하여 응용 프로그램을 구축하는 방법? .NET을 사용하여 응용 프로그램 빌드 응용 프로그램은 다음 단계를 통해 달성 할 수 있습니다. 1) C# 언어 및 크로스 플랫폼 개발 지원을 포함한 .NET의 기본 사항을 이해합니다. 2) .NET 생태계의 구성 요소 및 작동 원리와 같은 핵심 개념을 배우십시오. 3) 간단한 콘솔 애플리케이션에서 복잡한 WebApis 및 데이터베이스 운영에 이르기까지 기본 및 고급 사용을 마스터합니다. 4) 구성 및 데이터베이스 연결 문제와 같은 일반적인 오류 및 디버깅 기술에 익숙해야합니다. 5) 응용 프로그램 성능 최적화 및 비동기 프로그래밍 및 캐싱과 같은 모범 사례.

C#.NETISVERSATILEFORBOTHWEBBANDDESKTOPDEVENTROMMENT.1) FORWEB, useASP.NETFORRICHINTERFACES.3) FORDESKTOP.3) USEXAMARINFORCROSS-PLATFORMDEEVENTRIMMENT, LINABILEDEV, MACODEDEV, and MACODEDOWS, 및 MACODEDOWS.
