성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
Digital Stories
방명록
최근 덧글
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
기타
생각의 전환
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>C# 언어 ... 좋은데... 정말 좋은데... 뭐라 표현할 말이 없네... ^^</h1> <p> <br /> 이런 소식이 있었군요.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > TIOBE Programming Community Index for January 2012: <a target='tab' href='http://j.mp/4HU9To'>http://j.mp/4HU9To</a> C++, C# 순위가 바뀌었다는게 놀랍네요.. ; <a target='tab' href='https://twitter.com/#!/ioklo/status/164537636906741760'>https://twitter.com/#!/ioklo/status/164537636906741760</a> </pre> <br /> <img alt='csharp_best_1.png' src='/SysWebRes/bbs/csharp_best_1.png' /><br /> <br /> 개인적으로, 자바 기반의 회사에 있으면서 약간 맛배기 삼아서 자바라는 언어를 공부하긴 했습니다. 그 공부를 하면서 느낀 것이 하나 있다면... 자바가 왠지 (C#에 비하면) 낡은 구세대적 언어라는 인상을 받았다는 점입니다. 사실, 이런 수준의 언어를 배우느니 차라리 그 시간에 Python이나 F#을 공부하는 것이 더 도움이 되겠다는 판단까지 내려졌으니까요.<br /> <br /> 아래는 wiki에서 퍼온 C# 언어의 발전사입니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C Sharp (programming language) ; <a target='tab' href='http://en.wikipedia.org/wiki/C_Sharp_(programming_language)'>http://en.wikipedia.org/wiki/C_Sharp_(programming_language)</a> </pre> <br /> <ul> <li>C# 2.0 <ul> <li>Generics</li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/1184'>Partial types</a></li> <li>Anonymous methods</li> <li>Iterators</li> <li>Nullable types</li> <li>Private setters (properties)</li> <li>Method group conversions (delegates)</li> </ul> </li><br /> <li>C# 3.0 <ul> <li>Implicitly typed local variables</li> <li>Object and collection initializers</li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/475'>Auto-Implemented properties</a></li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/440'>Anonymous types</a></li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/438'>Extension methods</a></li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/457'>Query expressions</a></li> <li>Lambda expressions</li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/439'>Expression trees</a></li> </ul> </li><br /> <li>C# 4.0 <ul> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/766'>Dynamic binding</a></li> <li>Named and optional arguments</li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/176'>Generic co- and contravariance</a></li> </ul> </li><br /> <li>C# 5.0 및 <a target='tab' href='http://www.sysnet.pe.kr/2/0/1153'>Rosyln</a> <ul> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/1122'>Windows Runtime support</a></li> <li>Asynchronous methods</li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/1134'>Caller info attributes</a></li> <li><a target='tab' href='http://www.sysnet.pe.kr/2/0/1153'>Rosyln</a>(Compiler-as-a-service)</li> </ul> </li><br /> </ul> <br /> C#의 진화가 어디까지 될지는 모르겠지만, 아마 지금조차도 현재 나온 "Imperative 언어"들 중에서는 가장 표현력이 풍부한 언어가 아닐까 싶습니다.<br /> <br /> 그나저나... 어차피 '개발 언어' 분야도 "Zero Sum" 게임에 불과합니다. 일시적으로 신규 개발자들이 대거 유입되지 않는 한 언어의 순위가 바뀌었다는 것은 곧, 기존 개발자들의 사용언어가 바뀐 것으로 해석해 볼 수 있습니다.<br /> <br /> 일단, 1% 이상의 점유율을 가진 언어들 중에서 사용률이 하락한 것들을 뽑아보면 다음과 같습니다.<br /> <br /> <ul> <li>Ruby (-0.34%)</li> <li>Python (-3.05%)</li> <li>PHP (-2.13%)</li> <li>C++ (-0.72%)</li> <li>Java (-0.29%)</li> <li>Visual Basic (-1.34%)</li> <li>Perl (-0.08%)</li> </ul> <br /> Ruby, Python, PHP, Perl 사용자들이 C#으로 오는 경우는 거의 없을 거라 보고, 그렇다면 나머지는 Java (0.29%), C++ (0.72%), Visual Basic (-1.34%)인데, 이를 합해 보면 2.35% 가 나옵니다. 대충 C#의 2.55% 상승율이랑 비슷하군요. (물론... 순전히 저 만의 생각일 뿐이고... 저렇게 간단하게 해석될 일이 아니지요. ^^)<br /> <br /> <hr style='width: 50%' /><br /> <br /> 참고로, 저 역시 한때 Java에 올-인한 적이 있었습니다. 그 당시가 Visual J++ 시절이었는데 아쉽게도 Sun에서 라이선스로 마이크로소프트를 걸고 넘어가는 바람에 그때 나온 Visual J++을 마지막으로 더 이상의 업데이트를 하지 않겠다고 공식 발표된 이후 저는 더 이상 Java를 접할 일이 없었습니다. 당시에는 C/C++과 비교해서 '메모리 GC' 자체가 들어가 있던 Java라는 언어는 가히 신세계라 할만 했습니다.<br /> <br /> 가끔씩, 지금 와서 그 시절을 다른 분들과 회상해 보면... 이런 말들이 나오곤 합니다. 만약 Sun이 Visual J++에 대해서 라이선스를 주장하지 않았다면, Microsoft는 .NET Framework를 안 만들었을 수도 있고 (당연히 C# 언어도 없었겠지요.)... 그랬다면 윈도우에서조차 Java 언어가 대세였을 것이라는... 가상의 시나리오 말입니다.<br /> <br /> 그런데, 어찌어찌하여 세월은 흐르고 이젠 그 Java도 연로한 모습을 보이고 있군요... (물론, 연로한 모습에 비해 모든 분야에서 엄청난 노익장을 과시하고 있지만! ^^)<br /> <br /> 워낙 얽히고 설킨 이해관계가 복잡한 언어라서 Sun 스스로가 개발했음에도 불구하고 언어적인 발전을 C#처럼 빠르게 진화하지 못한 것은 일견 이해는 됩니다. 어쩌면, 구글에서도 조차 이 상황이 지겨워서 자신들 마음대로 확장할 수 있는 "<a target='tab' href='http://golang.org'>Go</a>"나 "<a target='tab' href='http://www.dartlang.org/'>Dart</a>"를 내놨는지도 모르겠고.<br /> <br /> 개인적으로, 최근에 제가 관심 있게 지켜보고 있는 행로는 "Java"가 아닌 "JavaScript"입니다. HTML5 분위기와 Node.js 등의 뜻하지 않은 활용 방안을 내놓으면서 비약적으로 뻗어나가는 모습을 보여주고 있는데요. "JavaScript"의 한 가지 최대 단점이라면, '모듈' 관리의 부재 및 C/C++에 버금가는 디버깅의 어려움이라고 봅니다. 아마도 그 부분만 역시 "뜻하지 않게" 해결이 된다면... C#의 가장 큰 적은 다름 아닌 "JavaScript"가 되지 않을까 생각합니다.<br /> <br /> (* JavaScript가 디버깅이 어려운 것은 사실 C/C++의 상황과는 다른 관점에서 해석되어야겠지요. ^^ 아마, JavaScript로 개발해 본 분들은 공감할만한 사항이라고 여겨집니다.)<br /> <br /> 결론적으로 보면... 그래도 나름대로 해외에서는 C#의 인기가 꽤나 있는 것 같습니다. ^^;<br /> </p><br /> </div>
첨부파일
스팸 방지용 인증 번호
1555
(왼쪽의 숫자를 입력해야 합니다.)