디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C#의 팽창

귤맛과자(211.202) 2010.11.29 02:32:41
조회 255 추천 0 댓글 7



1.
.NET 1.0 -> 2.0때 제네릭 추가로 CLR(자바로 치면 자바 가상머신) 자체를 뜯어고침.
반면 자바 쪽은 컴파일 시 제네릭 타입 검사만 하고 바이트코드에선 지워버리는 type erasure 방식 채택.
덕분에 제네릭 처리에 한해서는 .NET CLR이 JVM에 비해 성능이 좋음


2.
C# 3.0 (해당하는 .NET 프레임워크 버전은 3.5 - .NET 3.0은 그대로 C# 2.0)에서 LINQ 추가로 인한 대량의 언어적 features 추가

LINQ 하나 때문에 추가된 게
- 람다 식 (C# 2.0의 무명 대리자의 간편한 문법, LINQ 쿼리 함수에서 조건식 등으로 쓰임)
- Expression Tree (코드를 문법 트리의 형태로 표현하는 것, 데이터베이스로 쿼리할 때 람다식과 동일한 문법을 쓰기 위해 도입)
- Extension Method (기존의 객체에 정적 클래스의 메서드를 추가하는 형태로 확장. 무수히 많은 LINQ 쿼리 함수들을 기존 클래스에 끼워넣을 수 없어서 도입)
- 익명 타입이라고, 의 객체 리터럴마냥 익명 객체를 만드는 문법이 있음. 이건 .Select()류의 함수(SQL의 SELECT ... FROM과 비슷)에서 간편하게 결과를 추출하기 위한 수단.
- 간편한 방식의 프로퍼티 선언 지원 (getter와 setter를 자동으로 만들어줌)
- 자동으로 타입을 추론해주는 var 키워드 추가, 우변에 있는 값의 타입에 따라 컴파일시에 타입을 자동으로 정해줌. 익명 객체의 경우에는 변수에 할당하려면 무조건 var를 써야만 함 (익명 타입이니까 타입을 쓸 수가 없잖아)
- 이하 기타 잡찌끄레기들

이렇게 추가하고도 모자라서 기존 SQL 쿼리문과 유사한 Query Expression이란 걸 또 만들어서 넣음 -_-
명목은 위의 문법을 이해 못할 사람들을 위한 syntax sugar이라는데... 글쎄 -_-a



3.
C# 3.0에서의 변화가 너무 커서 4.0에서는 별다른 변화점이 없으리라고 생각했지만...
C# 4.0의 주된 변화점 중 하나인 DLR을 중심으로 또 변화가 생김 -_-

- 동적 타입 변수를 만드는 dynamic 키워드 추가. var과 헷갈리면 안 되는 게, var는 컴파일 시간에서 타입을 추론해주고 실행시엔 다른 변수들처럼 타입을 바꿀 수가 없는데, dynamic으로 선언된 변수는 말 그대로 다른 동적 언어들(Python 등)처럼 진짜 duck typing을 함 -_-
- 다형성을 제대로 활용하지 못하는 기존 제네릭을 극복하기 위한 공변성(Covariance)/반공변성(Contravariance) 개념 추가.
- 함수의 디폴트 인자 추가 (C++의 그것과 같은)
- 기타 잡찌끄레기들



지금 대충 생각나는 것만 적어도 이 정도임 -_-a



참고로 자바의 경우는 Java 7의 Da vinch Machine 프로젝트 정도가 핫 이슈고... 클로져 추가 같은 큰 건에 대해서는 아직도 오락가락하는 상태.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
232399 아랫횽 발진속도 알고리즘 예제임. 116.44(116.44) 11.01.26 86 0
232398 형들 나 모르겠음 도움 좀 으의킈킠ㄱ [1] 116.44(116.44) 11.01.26 96 0
232397 야 웹디 연봉 얼마냐? [2] 흠냐리(58.180) 11.01.26 327 0
232396 지금 구석횽이 보고 있다는 그 소시 짭 그룹이라는 게 nRESET(211.54) 11.01.26 57 0
232394 * 개발자 하지마라, 돈쪼끔주면 절대 하지말고. 2417(211.232) 11.01.26 99 0
232393 형들 노트북 질문좀할게 [3] dsf(61.106) 11.01.26 128 0
232392 밥은 먹고 하냐 ?? - ㅅ - [2] 2417(211.232) 11.01.26 90 0
232391 요새 php 개발자 구하기가 너무 힘든거 같아 ㅜㅜ monoless갤로그로 이동합니다. 11.01.26 176 1
232390 열혈 인터넷강의 별루네 [5] ㅋㅊㅌㅍ(58.236) 11.01.26 165 0
232389 형들아 [7] SODmaster갤로그로 이동합니다. 11.01.26 96 0
232388 요즘 가끔 불안해지는게... ㅅㄱ(219.241) 11.01.26 93 0
232387 형들아 VB땜시 미치것어 [2] 일돌이갤로그로 이동합니다. 11.01.26 1437 0
232386 알고리즘 질문요 [1] ㅇㅇㅇ(61.75) 11.01.26 93 0
232384 오늘은 그냥 놀고 내일부터 열심히해야지... [4] 꿀레(14.33) 11.01.26 109 0
232383 요거 에러는 없는데.. 맞는겅미? [2] ㄷㄷㄷ(221.162) 11.01.26 117 0
232382 여기 오빠야들은 일본말 알아들어?? [16] iljeomobolt갤로그로 이동합니다. 11.01.26 242 0
232380 학부생 논문을 써보려고 하는데 이거 어떨까? [6] 로레알갤로그로 이동합니다. 11.01.26 233 0
232379 프갤러 3인방의 GGPO 탐험기 [코믹][유머][개그][엽기] [8] ggpo초고수갤로그로 이동합니다. 11.01.26 135 0
232377 오랜만에 시 한 수 [2] 분당살람갤로그로 이동합니다. 11.01.26 82 0
232376 C 이렇게 공부하는거 괜춘 ? ㄷㄷ [4] ㄷㄷㄷ(221.162) 11.01.26 224 0
232375 손에 큰 화상을 입었습니다. [6] nRESET(211.54) 11.01.26 168 0
232373 개새끼들아 리지가 진리라고 [5] 유리한갤로그로 이동합니다. 11.01.26 249 0
232372 이마트 피자 더럽게 오래먹네 꿀레(14.33) 11.01.26 81 0
232371 도서관 컴에 파폭 깔았더니 [4] 분당살람갤로그로 이동합니다. 11.01.26 144 0
232370 잉 ? C책보고있는데 이거 맞는말임 ??ㅎㄷㄷㄷㄷㄷㄷㄷ [7] ㄷㄷㄷ(221.162) 11.01.26 215 0
232369 VB 메모장 질문입니다. [2] -1(180.71) 11.01.26 146 0
232368 다들 이클립스느님을 찬양하라~! [3] 천회장(211.45) 11.01.26 109 0
232366 C# 잘하는 횽들아.. 팝업창 하나 만들려고 하는데 [7] 허허벌판갤로그로 이동합니다. 11.01.26 190 0
232365 머리드밀기 '안드로이드' 책은 언제나오나? 2417(211.232) 11.01.26 56 0
232362 형들 c++ 막하는 중인데 이거 수정좀 [2] !!(119.198) 11.01.26 103 0
232361 년차 = 실력? [5] 2417(211.232) 11.01.26 147 0
232360 ACER 노트북 사는 사람도 있네.. 갑자원(58.180) 11.01.26 117 0
232358 JAVA 조낸 잘하는 횽들에게 질문 [6] 물속의다이아갤로그로 이동합니다. 11.01.26 154 0
232357 27살 이라는 늦은나이에 컴퓨터과학과 입학한 사람입니다 [7] ㅇㅇ(118.176) 11.01.26 628 0
232356 아래글 너무많이글쌌나 댓글이.. [8] 어리벙(121.88) 11.01.26 109 0
232355 코딩하러 가야지~~~~ 호비뉴갤로그로 이동합니다. 11.01.26 46 0
232354 매번 느끼지만 실력이 무슨 거미줄 마냥 허름 한걸 느낀다.. 일광면(119.198) 11.01.26 86 0
232352 무통장입금은 같은 은행끼리만 되는거임?? [3] ㄴㄴ(220.69) 11.01.26 109 0
232350 프로그래머를 노예로 부려먹는 지긋지긋한 현실을 벗어나는 방법을 알아냈어 [1] 미클갤로그로 이동합니다. 11.01.26 189 0
232349 아오늘 노는것도 안되고 공부도안되고 미치겠구만 [2] 꿀레(14.33) 11.01.26 74 0
232348 자바 이렇게 공부해도 될가요~? [3] ㅎㅎ(116.39) 11.01.26 136 0
232346 마인 크래프트 한글화 테스트 [25] 일광면(119.198) 11.01.26 1331 1
232345 노트북 샀음 [3] elwlwlwk갤로그로 이동합니다. 11.01.26 136 0
232344 ■ 업적왕 이명박 플레이어.swf [2] 아따(218.50) 11.01.26 106 0
232343 CMS vs 직접제작 [4] 버드맨(211.55) 11.01.26 91 0
232342 시발 우분투 질문좀 [9] 컴좃(124.54) 11.01.26 115 0
232341 크롬으론 왜 youtube못봐?? [5] rndrma(113.59) 11.01.26 132 0
232339 VM에 우분투깔고 있는데 vim에 기본적인 라이브러리는 다 깔려있지? 컴좃(124.54) 11.01.26 48 0
232338 나모같은 소리 [5] 버드맨(211.55) 11.01.26 130 0
232337 프로그래머 vs 전산공무원 [1] ㅇㅇㅇ(113.59) 11.01.26 313 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2