Microsoft MVP성태의 닷넷 이야기
.NET이 왜 성공할 수밖에 없는가? [링크 복사], [링크+제목 복사]
조회: 5303
글쓴 사람
정성태 (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)
95정성태2/23/20074970.NET : 20. .Net Zip Library/Utility updates and fixes
94정성태2/23/20074758COM : 2. VC++ - OneNote Addin 제작
93정성태2/3/20075592공통 코딩 규약 : 2. 프로퍼티와 공용 필드에 대한 선택 [1]
92정성태2/1/20074744공통 코딩 규약 : 1. HMACSHA512 / HMACSHA384 클래스 사용시 주의사항
91정성태1/27/20075025.NET : 19. HTML InnerText 구하기
90정성태1/27/20076669Vista : 3. 현재 사용자가 관리자 그룹에 속해 있는지 결정하는 코드
89정성태1/24/20074197.NET : 18. ASP.NET - AspNetHostingPermissionLevel 알아내기
88정성태1/22/20074471.NET : 17. 지역화된 폰트명 구하기
87정성태1/21/20075817.NET : 16. 클립보드 - HTML 텍스트 복사/붙여넣기
86정성태1/21/20074721.NET : 15. BinaryFormatter 에서의 진행 상태바 구현
85정성태1/20/20075661COM : 1. IE 7의 다중 탭을 이용한 네비게이션 [1]
84정성태1/19/20074563.NET : 14. 웹 서비스를 이용한 머신 간의 클립보드 공유
83정성태1/12/20074499.NET : 13. SafeHandles 를 적용한 GetProcAddress 래퍼
82정성태1/12/20074203.NET : 12. Cardspace 를 위한 ASP.NET 서버 컨트롤파일 다운로드1
81정성태1/12/20074528.NET : 11. 파일 확장자에 따른 아이콘 그려주는 HttpHandler [2]파일 다운로드1
80정성태1/10/20075246SQL : 1. SQL 2005 - 대소문자 구분없이 검색하도록 구현 [1]
79정성태1/10/20074143.NET : 10. Config 설정을 .NET Class 로 매핑
78정성태1/3/20074604.NET : 9. 텍스트 꾸미는 코드
77정성태12/13/20064799.NET : 8. C# - VARIANT 관련 마샬링 코드
76정성태12/6/20065374.NET : 7. 휴대 장치 열람하는 코드
75정성태12/6/20064477.NET : 6. 웹 서비스 메서드에 대해 완료 제한 시간 설정하는 방법
74정성태11/6/20064539.NET : 5. How to Decrypt an ASP.NET Encrypted Data
73정성태11/2/20065419.NET : 4. 콘솔 프로그램 실행시간 측정
72정성태11/1/20064681.NET : 3. System Monitoring 예제
70정성태11/1/20064235.NET : 2. System.Net.NetworkInformation.Ping 클래스 사용 예제
69정성태10/27/20064542.NET : 1. Typed DataSet 에서의 ExcludeSchema 사용
1  2  3  4  [5]  6  7  8