.NET Core - 야생 및 오픈 소스 진행. 마이크로소프트, 왜 이렇게 오래 걸렸어?!

게시 됨: 2022-03-11

"조용한 공허에서 태어난 신비한 무언가가 형성됩니다. 혼자 기다리며 움직이지 않고, 고요하면서도 끊임없이 움직인다..."

참으로, 인류 역사상 가장 위대한 두 가지 사건이 연이어 일어났습니다.

  • ESA의 Rosetta 임무는 역사상 처음으로 이러한 특별한 위업을 달성한 Philae 탐사선을 혜성에 부드럽게 착륙시켰습니다.

  • 마이크로소프트 오픈 소스 .NET

첫 번째 이벤트는 인류에게 큰 발걸음이고, 후자는 마이크로소프트에게 더 큰 도약입니다!

로제타 미션은 역사책에서 그 자리를 차지할 것이며 우리가 라이카를 기억하는 만큼 자주 기억될 것입니다. 10년 동안 신중하게 구상하고 계획했으며 인류를 한 단계 더 발전시켰으며 10년 전에 개발된 기술이 여전히 놀라운 일을 할 수 있음을 보여주었습니다.

두 번째 이벤트는 많은 사람들을 놀라게 했습니다. 그다지 광고되지 않았으며 발표의 모든 세부 사항이 10 년 전에 계획되지 않았다고 확신합니다. 그러나 Microsoft는 얼마 전에 이 경로를 택했으며 .NET Core는 오픈 소스(Roslyn)에 푸시한 첫 번째 대상이 아닙니다.

.NET은 오픈 소스입니까? 마지막으로, 우리가 기다려온 크로스 플랫폼 .NET입니다.

그렇다면 인류는 혜성에 대한 탐사가 정말로 필요했을까요? 아닐 수도 있지만 착륙했다는 것은 굉장합니다! Microsoft가 .NET Core를 오픈 소싱하기 시작하려면 깨달음이 필요했습니까? 네! 그들은 10년 이상 전에 그것을 필요로 했습니다!

세계에서 가장 위대한 소프트웨어 개발 회사 중 한 곳에서 무엇이 바뀌었습니까? 무엇이 그들을 OSI의 길로 가게 만들었을까?

.NET Framework 블로그에 따르면 이에 대한 두 가지 이유가 있습니다.

  • 크로스 플랫폼 .NET의 기반 마련
  • 더 강력한 생태계 구축 및 활용

그런데 왜 마이크로소프트가 개발자들이 크로스 플랫폼 .NET 소프트웨어를 구축하는 것을 도우려 할까요? 이것은 그들이 이전에 한 모든 것과 반대되는 것입니다. Microsoft는 수년간 자체 인프라 시스템을 추진해 왔습니다. Linux와 Mac은 동맹이 아니라 패배해야 하는 적이었습니다. 이게 다 뭐야?

진정한 동기가 무엇이든 개발자는 이로부터 최상의 결과를 얻고 있습니다. 이 단계를 수행한 Microsoft에 감사드립니다. 안하는 것보다 늦게하는 것이 낫다!

오픈 소싱 Microsoft 기술의 장기적인 영향은 엄청날 것입니다. 실제 크로스 플랫폼 .NET은 호스팅, 라이선스 및 유지 관리 비용에 직접적인 영향을 미칩니다. 이것은 내가 상상조차 할 수 없는 규모로 .NET 애플리케이션 판매를 단순화할 것입니다.

저는 전문 경력의 상당 부분을 코드 작성에 보냈습니다. 첫사랑은 볼랜드 파스칼이었고, 당시 '블루 스크린'은 존경하는 마음으로 보고 있었던 작품이다. 그 후 다양한 개발 플랫폼과 언어를 사용해 왔지만 솔직히 말해서 Microsoft가 .NET을 출시한 이후로 Visual Studio는 현재 사용할 수 있는 최고의 개발 환경입니다. 단일 개발자 또는 팀이 모든 유형의 애플리케이션을 빌드하는 데 필요한 모든 것을 원스톱으로 제공합니다. .NET 컴파일러의 뛰어난 기능과 ​​밀접하게 관련되어 있으며 Visual Studio의 모든 새 버전은 더 이상 확장할 수 없는 제품처럼 보입니다. 그러나 Microsoft는 Visual Studio의 모든 새 버전에 멋진 새 기능을 도입하여 지속적으로 놀라움을 선사합니다.

소프트웨어를 만드는 것은 내가 만난 모든 개발자가 창의적이고 창의적이며 성취감을 느끼게 하는 훌륭한 과정입니다. 그러나 판매를 시도하거나 판매 프로세스를 지원한 적이 있습니까? 모든 영업 사원이 방정식의 일부에 대해 소프트웨어 개발자와 동일하게 말할 수 있는지 확신할 수 없습니다. 소프트웨어 개발 회사에 매각하는 것은 끔찍합니다. 실제 소프트웨어 개발과 관련이 없는 많은 요소에 대해 걱정해야 합니다. 영업 부서에서 일하는 사람들은 판매되는 제품/서비스가 고객이 지불할 가격에 대해 얻을 수 있는 최상의 것임을 고객에게 증명/확신해야 합니다. 따라서 소프트웨어 개발 및 유지 관리 비용을 줄이는 것이 항상 중요합니다. 현실 세계는 가치 대 비용 계산을 멈추지 않습니다.

반면에, 회사를 시작하는 것은 결코 쉬운 일이 아닙니다. 좋은 아이디어가 있다면 "무언가"를 만들고("무언가"의 최신 이름은 Minimal Viable Product이지만 아마도 미래에 업데이트될 것입니다) "무언가"를 세상에 보여주기 위해 자금을 모으는 것은 그리 어렵지 않습니다. 긍정적인 피드백을 얻고, 더 많은 자금을 확보하고, 돈을 벌기 시작하거나, 회사를 매각하거나, 실패할 때까지 반복합니다.

소프트웨어 제품의 비용을 줄이는 가장 쉬운 방법은 무엇입니까? 글쎄요, 개발은 당신이 지불해야 하는 것이고, 대부분의 경우 개발자가 사용하는 개발 플랫폼에 관계없이 시간당 비용만 지불하면 됩니다. 따라서 비용을 줄이는 가장 간단한 방법은 추가 라이선스가 필요하지 않은 환경에 소프트웨어를 배포하는 것입니다. 이것은 Microsoft가 계속해서 실패했던 곳입니다! 우리는 성능, 소프트웨어 품질, 확장성 등에 대해 열띤 토론을 벌일 수 있었지만 .NET 플랫폼이 던진 기술적인 문제에 쉽게 대처할 수 있다는 것을 쉽게 알 수 있습니다. 많은 경우 다른 플랫폼보다 우월함을 보여주고 있다고 생각합니다. 하지만 배포 및 인프라 라이선스에 대한 논쟁에서 자주 이기지 못합니다.

시장은 개발자들을 Microsoft 개발 플랫폼에서 멀어지게 하기 시작했고 예, 저도 그런 개발자 중 한 명입니다. 아직 내가 필요한 모든 것을 처리할 만큼 충분히 성숙하지 않았다는 사실에도 불구하고 Node.js를 기본 백엔드 플랫폼으로 채택했습니다. 저는 WebStorm을 사랑하고 JetBrains의 훌륭한 작업에도 감사하지만 Visual Studio 2013이 더 마음에 들었습니다. 예, VS에서 Node.js 앱을 작성할 수 있다는 것을 알고 있습니다! 그러나 C#에서 JavaScript로, SQL Server에서 PostgreSQL로, IIS에서 Apache로 푸시될 때 왜 Windows 기반 PC를 사용하는 것이 귀찮습니까?

저는 .NET이 나오기 전, 그리고 .NET이 오픈 소스 및 크로스 플랫폼이 되기 전에도 진정한 Microsoft 전도사였습니다. 그러나 그들이 Skype에서 우리에게서 (손가락을) 빼앗았을 때 모두 죽었습니다. 저는 항상 Windows 플랫폼용 응용 프로그램을 만드는 것을 좋아했습니다. 나는 무역의 요령과 요령을 배우는 데 많은 시간을 할애했고, 나는 그것을 아주 잘했다고 생각합니다. 그러나 소프트웨어 개발 시장은 지난 10년 동안 많은 변화를 겪었습니다. 신생 기업은 모든 곳에서 꽃을 피우고 있으며 모든 신규 고객은 가장 비용 효율적인 솔루션을 찾고 있습니다. Microsoft는 이 새로운 시장의 속도를 따라가지 못했습니다. 저는 Windows 노트북을 MacBook으로 교체한 많은 Microsoft 개발자 중 한 명일 뿐입니다. Microsoft는 마침내 우리에게 애플리케이션을 오픈 소스 플랫폼에 배포할 수 있는 옵션을 제공함으로써 그들의 도구를 사용하는 거대한 Microsoft 개발 커뮤니티를 유지하고 궁극적으로 더 많은 고객을 유치할 수 있다는 것을 깨달았습니다.

Microsoft는 큰 변화를 향한 작은 발걸음을 내디뎠으며 최고의 개발 도구와 훌륭한 개발 커뮤니티를 보유하고 있습니다. 훌륭한 IDE에 오픈 소스 OS를 추가하면 어떻게 될까요? "감히 확률을 계산할 수도 없습니다."