Microsoft MVP성태의 닷넷 이야기
.NET이 왜 성공할 수밖에 없는가? [링크 복사], [링크+제목 복사]
조회: 5304
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

왜 .NET이 성공할 수밖에 없는가?

뭐... 제목이야 거창하지만. 짧게 의견을 적어보고자 한다.
그 질문에 대한 대답은 "쉽다"일 뿐이다.

뭐 있겠는가? 쉬우니 성공할 수밖에 없다. 이 사례는 쉽게 C++과 자바, C++과 VB에서 찾아 볼 수 있다.

개발자는 어찌되었든 간에... 대부분은 대학교에서 공부했거나 뜻한 바 있어 "학원"에서 배출된 경우가 대부분일 것이다. 사실 "기업" 내부의 필요에 의해서 양성되는 경우도 적잖이 있는 것으로 안다.

현상은 단순하다. 100명이면... 그중에 C++을 배울 수 있는 역량을 가진 사람이 몇 명이나 될 것이라고 생각하는가? 상대적으로 자바는 어떠한가? 매우 쉽다. 그걸로 끝이다. 매우 쉬울 뿐이었다.

기업은 시스템을 구축해야 함에 있어, 어려운 C++을 사용할 수는 없는 노릇이다. 대학에서는 학생들에게 무조건 어려운 언어만을 목표로 삼을 수는 없다. 알고리즘이 중요할 뿐이며, 그에 대한 도구로 훌륭한 자바 언어가 있을 뿐이다. 학원에선... 결국 기업이 요구하는 인력을 배출하는 것이 학원이다. 당연히 자바 인원이 많을 수밖에 없다.

과거, Microsoft는 VC++밖에는 없었다.

VB는 왜 성공하지 못했는가? 라고 질문하실 분이 계실 것 같다. 그렇다... 자바만큼이나 VB도 매우 쉽다. 그럼에도 불구하고 VB는 자바를 누르지 못했다. 그 이유가 무엇인가?

간단하다... VB는 언어가 쉬웠을 뿐이지, 프로그램하기에 쉽지는 않았다. 일례로 암호화를 해야 하는 등의 문제에서는 어쩔 수 없이 VC++의 힘을 빌어야 했다. 하지만 그 모든 것을 자바에서는 SDK로 제공하고 있다. (사실, 자바를 누르진 못했지만 VB의 시장 점유율은 결코 낮은 것이 아니다. 그러한 성과를 거두는 데에 있어 가장 중요한 역할을 한 것은 단지 "쉽다"는 특징 뿐이다.)

명확하다... 자바는 쉬웠고... C/C++에 낙오한 사람들(이 말에 찔리는 사람들도 적지 않을 것이라 본다.)조차도 자바는 쉽게 다가설 수 있었다.

플랫폼 독립적이니... 하는 그런 형식적인 말은 변명에 불과하다. 아는 사람은 다 알지 않는가. 벤더 종속적이라는 말을 빼먹진 말자. 종속의 대상만 다를 뿐이다.

다시 물어보자. 왜 .NET이 성공할 수밖에 없는가?
이해 되는가? 이제 C/C++에 지친 사람들은 선택이 2개로 늘어났다. 예전에는 오직 "자바" 하나뿐이었다. 자바는 .NET이 나오기 전에는, "성장"할 수밖에 없었다.

자바와 .NET 중에 어느 것이 더 쉽냐는 것에 대해서는 우열을 가리기 힘들 정도이다. 이젠... 조직력과 단결력이 그 힘의 균형을 깰 수 있을 것이다. (국가 또는 대기업 차원에서의 제한을 MS에 명시적으로 가하지 않는 한.)

오픈 소스 진영으로 인한 의사 결정의 지지 부진, 그로 인한 각 벤더들의 무분별한 표준 확장이라는 부작용을 낳고 있는 "자바"와... 오직 하나의 목표를 가지고 질주하는 "MS"가 내놓은 ".NET"은... 어느 것이 승자가 될지는 필자로서는 너무나 예측하기 쉬운 문제일 뿐이다.

또한, 웹 서비스의 출현으로, 이기종간의 호출 장벽이 허물어지고 있다는 것은... Microsoft에게 날개를 달아준 효과와 같을 것이다.








[최초 등록일: ]
[최종 수정일: 6/27/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

비밀번호

댓글 작성자
 




1  2  [3]  4  5  6  7  8 
NoWriterDateCnt.TitleFile(s)
145정성태5/6/20087010.NET : 30. XML Serializable Dictionary
144정성태3/28/20087636.NET : 29. WPF 응용 프로그램 - 웹캠으로 입력되는 스트림을 WMV 로 출력
143정성태3/28/20087929레지스트리 : 8. VHD 파일을 하드 디스크로 인식
142정성태3/26/20087263레지스트리 : 7. 아웃룩 2007의 제한된 첨부 파일을 허용하도록 설정
141정성태3/25/20087161레지스트리 : 6. 웹 브라우저(IE 8) 컨트롤 렌더링 모드 지정
140정성태2/23/20086566.NET : 28. 프로세스를 실행시켜주는 간단한 NT 서비스 제작 [1]
139정성태2/22/20085777.NET : 27. P/Invoke 를 이용한 메시지 서명 및 확인
138정성태2/21/20087297SMTP Commands
137정성태2/19/20085954.NET 3.5 : 5. LINQ to XML : Creating XML from another XML
136정성태2/1/20088079Win32 : 3. 사용자 개입없이 인증서 설치하는 코드 [2]
135정성태1/30/20085652COM : 5. Starting a Hyper-V Virtual Machine [3]
134정성태1/28/20085819Win32 : 2. How to generate key pairs, encrypt and decrypt data with CryptoAPI
133정성태1/16/20085887유틸리티 : 1. Writing Debugger extension program in C#
132정성태1/15/20086107VS.NET Addin - DB 연결 개체 추가
131정성태1/11/20085992기타 : 1. Maze Generator in C#
130정성태1/8/20086108VS.NET Addin - 프로젝트 닫기
129정성태1/2/20085846웹폼 코딩 규약 : 2. 서버측 ViewState 저장소
128정성태12/31/20075339레지스트리 : 5. List of registry keys affecting IIS7 behavior
127정성태12/21/20076056.NET : 26. CreateProcessWithLogonW / CreateProcessAsUser API 사용
126정성태12/20/20075083Win32 : 1. SLDF_RUNAS_USER
125정성태12/14/20075409.NET : 25. InfoPath 사용자 컨트롤
124정성태11/25/20075102SQL : 2. SQL Server 2008 에서 소개하는 spatial 데이터 타입
123정성태11/20/200711783.NET : 24. C# WebCam 사용자 컨트롤
122정성태11/17/20076197COM : 4. 외부 SMTP 를 지정하여 메일 보내기
121정성태9/14/20074877.NET 3.5 : 4. Entity Framework 관련 링크 모음
120정성태9/14/20074706Vista : 7. Gadget Samples for Windows Sidebar
1  2  [3]  4  5  6  7  8