Microsoft MVP성태의 닷넷 이야기
C# 언어 ... 좋은데... 정말 좋은데... 뭐라 표현할 말이 없네... ^^ [링크 복사], [링크+제목 복사]
조회: 22277
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

C# 언어 ... 좋은데... 정말 좋은데... 뭐라 표현할 말이 없네... ^^


이런 소식이 있었군요.

TIOBE Programming Community Index for January 2012: http://j.mp/4HU9To C++, C# 순위가 바뀌었다는게 놀랍네요..
; https://twitter.com/#!/ioklo/status/164537636906741760

csharp_best_1.png

개인적으로, 자바 기반의 회사에 있으면서 약간 맛배기 삼아서 자바라는 언어를 공부하긴 했습니다. 그 공부를 하면서 느낀 것이 하나 있다면... 자바가 왠지 (C#에 비하면) 낡은 구세대적 언어라는 인상을 받았다는 점입니다. 사실, 이런 수준의 언어를 배우느니 차라리 그 시간에 Python이나 F#을 공부하는 것이 더 도움이 되겠다는 판단까지 내려졌으니까요.

아래는 wiki에서 퍼온 C# 언어의 발전사입니다.

C Sharp (programming language)
; http://en.wikipedia.org/wiki/C_Sharp_(programming_language)


C#의 진화가 어디까지 될지는 모르겠지만, 아마 지금조차도 현재 나온 "Imperative 언어"들 중에서는 가장 표현력이 풍부한 언어가 아닐까 싶습니다.

그나저나... 어차피 '개발 언어' 분야도 "Zero Sum" 게임에 불과합니다. 일시적으로 신규 개발자들이 대거 유입되지 않는 한 언어의 순위가 바뀌었다는 것은 곧, 기존 개발자들의 사용언어가 바뀐 것으로 해석해 볼 수 있습니다.

일단, 1% 이상의 점유율을 가진 언어들 중에서 사용률이 하락한 것들을 뽑아보면 다음과 같습니다.

  • Ruby (-0.34%)
  • Python (-3.05%)
  • PHP (-2.13%)
  • C++ (-0.72%)
  • Java (-0.29%)
  • Visual Basic (-1.34%)
  • Perl (-0.08%)

Ruby, Python, PHP, Perl 사용자들이 C#으로 오는 경우는 거의 없을 거라 보고, 그렇다면 나머지는 Java (0.29%), C++ (0.72%), Visual Basic (-1.34%)인데, 이를 합해 보면 2.35% 가 나옵니다. 대충 C#의 2.55% 상승율이랑 비슷하군요. (물론... 순전히 저 만의 생각일 뿐이고... 저렇게 간단하게 해석될 일이 아니지요. ^^)




참고로, 저 역시 한때 Java에 올-인한 적이 있었습니다. 그 당시가 Visual J++ 시절이었는데 아쉽게도 Sun에서 라이선스로 마이크로소프트를 걸고 넘어가는 바람에 그때 나온 Visual J++을 마지막으로 더 이상의 업데이트를 하지 않겠다고 공식 발표된 이후 저는 더 이상 Java를 접할 일이 없었습니다. 당시에는 C/C++과 비교해서 '메모리 GC' 자체가 들어가 있던 Java라는 언어는 가히 신세계라 할만 했습니다.

가끔씩, 지금 와서 그 시절을 다른 분들과 회상해 보면... 이런 말들이 나오곤 합니다. 만약 Sun이 Visual J++에 대해서 라이선스를 주장하지 않았다면, Microsoft는 .NET Framework를 안 만들었을 수도 있고 (당연히 C# 언어도 없었겠지요.)... 그랬다면 윈도우에서조차 Java 언어가 대세였을 것이라는... 가상의 시나리오 말입니다.

그런데, 어찌어찌하여 세월은 흐르고 이젠 그 Java도 연로한 모습을 보이고 있군요... (물론, 연로한 모습에 비해 모든 분야에서 엄청난 노익장을 과시하고 있지만! ^^)

워낙 얽히고 설킨 이해관계가 복잡한 언어라서 Sun 스스로가 개발했음에도 불구하고 언어적인 발전을 C#처럼 빠르게 진화하지 못한 것은 일견 이해는 됩니다. 어쩌면, 구글에서도 조차 이 상황이 지겨워서 자신들 마음대로 확장할 수 있는 "Go"나 "Dart"를 내놨는지도 모르겠고.

개인적으로, 최근에 제가 관심 있게 지켜보고 있는 행로는 "Java"가 아닌 "JavaScript"입니다. HTML5 분위기와 Node.js 등의 뜻하지 않은 활용 방안을 내놓으면서 비약적으로 뻗어나가는 모습을 보여주고 있는데요. "JavaScript"의 한 가지 최대 단점이라면, '모듈' 관리의 부재 및 C/C++에 버금가는 디버깅의 어려움이라고 봅니다. 아마도 그 부분만 역시 "뜻하지 않게" 해결이 된다면... C#의 가장 큰 적은 다름 아닌 "JavaScript"가 되지 않을까 생각합니다.

(* JavaScript가 디버깅이 어려운 것은 사실 C/C++의 상황과는 다른 관점에서 해석되어야겠지요. ^^ 아마, JavaScript로 개발해 본 분들은 공감할만한 사항이라고 여겨집니다.)

결론적으로 보면... 그래도 나름대로 해외에서는 C#의 인기가 꽤나 있는 것 같습니다. ^^;









[최초 등록일: ]
[최종 수정일: 3/24/2023]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2012-02-05 09시58분
C#은 정말 표현력이 좋은 언어라고 생각합니다. 하지만 많은 문법적 확장에 전체적으로 익히기에 쉬운 언어는 아닌것같습니다.
Beren Ko
2012-02-06 10시26분
안 그래도, 말씀하신 그 내용이 '마이크로소프트 MVP'들 간의 대화에서도 나왔던 적이 있었습니다. 결론은 없었지만... 개인적으로는, 입문자에게는 입문자에게 맞는 정도의 표현력을 제공하고, 전문가에게는 그에 맞는 표현력을 제공한다는 면에서 좋지 않을까 싶습니다. 어찌되었든... 아무래도, 음/양이 있겠지요. ^^
정성태
2012-10-09 05시53분
[지나가는이...] 10년전 모바일(스마트폰 아님)흑백시절에 java라..흠...그래도 참..융통성이 좋은 언어였는데..ㅎㅎㅎ;;;
.....C#이 참..저도 좋긴좋은데... GUI 속도만..좀 MFC정도로만 나와줬어도...;; WPF로 가야되는건가?;;
[guest]
2012-10-09 01시50분
그러게요. ^^ 그 시절이라면, C/C++로 고생하던 이들에게 Java는 혁신적인 언어였을 것 같습니다. 향후 10년 후에는... 어쩌면 또 다른 언어를 익히면서 C#을 그렇게 바라볼지도 모를 일일 것 같습니다. ^^
정성태

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
552정성태2/20/20241004Windows - 바탕화면에 검은 영역의 빈 공간을 삭제하는 방법
551정성태2/18/20241081DropBox - PermissionError: [WinError 5] Access is denied: 'C:\\Users\\...'
550정성태10/31/20231959윈도우 탐색기의 "새로 만들기" 메뉴에 "텍스트 문서" 항목이 없는 경우 - 두 번째 이야기
549정성태4/20/20233954youtube-dl을 파이썬으로 실행하는 방법
548정성태4/15/20233565Galaxy Buds2를 Windows에 연결한 경우 (Stereo가 아닌) Mono로 들리는 문제
547정성태1/28/20234035JetBrains Omea Reader에서 TLS 1.2 모드의 https 서버로부터 RSS 구독이 안 되는 경우 해결 방법파일 다운로드1
546정성태12/17/20225139blizzless-diiis 소개 - (C#으로 만들어진) Diablo 3 오픈 소스 서버
545정성태11/29/20226370[종료] [2차] "시작하세요 C# 10" 서적 나눔합니다. (5권)
544정성태11/6/20223885Camtasia - "변경된" 볼륨을 일괄 설정하는 방법
543정성태11/4/20226543[종료] "시작하세요 C# 10" 서적 나눔합니다. (4권 한정)
542정성태6/8/20225403입력 포커스를 가져가는 응용 프로그램을 확인하는 방법 - FocusLogger
541정성태6/7/20225150특정 USB 장치가 인식이 안 되는 문제
540정성태5/25/20224959구글 검색 시 "ko-kr"이 아닌 "en-us"에 해당하는 자료 검색 방법
539정성태5/23/20224864문법에 맞지 않는 learn.microsoft.com의 C++ 소스 코드
538정성태5/18/20225015WACOM Intuos Pro PTH-660 사용 후기 (개발자 입장)
537정성태3/17/20225461eFriend Plus 설치 후 실행이 안 되는 문제가 발생한다면?
536정성태1/13/202270112021년 블로그 기부 수익 공개 ^^
535정성태11/25/202175002021년 새로운 PC
534정성태10/19/20217670파판14 - 에오르제아의 시간 알람을 위한 C# WinForms 응용 프로그램 [1]파일 다운로드1
533정성태10/6/202110307모바일 브라우저에서 "비공개 연결이 아닙니다." NET::ERR_CERT_AUTHORITY_INVALID 오류가 발생하는 현상 [1]
531정성태9/1/2021696916GB로도 모자란 근래의 개발 환경
530정성태7/27/20215353그동안 마이크로소프트 계정으로 가입한 웹 서비스 및 응용 프로그램을 알아내는 방법
529정성태7/18/20215699C:\$Windows.~BT 용도와 삭제하는 방법
528정성태7/17/20217333Logitech Webcam이 있는 경우, %LOCALAPPDATA%\temp\LWSDebugOut.txt 파일의 (무제한) 증가 현상
527정성태7/13/20215554Microsoft Edge의 뉴스 알림 창 끄는 방법
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...