디시인사이드 갤러리

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

갤러리 본문 영역

C#의 팽창

귤맛과자(211.202) 2010.11.29 02:32:41
조회 256 추천 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 - -
234053 정보공학 전산공학중에 프로그래머될려면어디를선택해야되나요? [1] adsf(121.182) 11.02.10 90 0
234052 옆동네에 올라온 글중에 횽들도 이거 다 알어? 코더(121.130) 11.02.10 81 0
234051 횽들 광운대 컴공어때염 [6] 우왕굿(59.16) 11.02.09 421 0
234050 아 횽아들아 [2] Pr0xy갤로그로 이동합니다. 11.02.09 61 0
234049 공비횽 덕분에 새로운거 알았네 [3] 건꼬(211.59) 11.02.09 100 0
234048 심심해서 만들어봣어요 2 [2] 컴공(211.104) 11.02.09 72 0
234047 C#에서 객체를 Clipboard에 담고 꺼낼 수 있나요? [4] 씨샵개발(118.33) 11.02.09 115 0
234046 부정공 할 과목인데 조언 좀 해줘 [8] (123.143) 11.02.09 136 0
234045 형늼들 도와주세여. a 태그 parentNode로 tr까지 가기염 다람즤왕갤로그로 이동합니다. 11.02.09 58 0
234042 심심해서 만들어봣어요 [12] 컴공(211.104) 11.02.09 179 0
234041 안드로이드개발하려면 [1] Bose C5갤로그로 이동합니다. 11.02.09 107 0
234040 WINAPI에서 UpdateWindow쓰는이유가 먼가여 [3] 금고래갤로그로 이동합니다. 11.02.09 101 0
234039 쭈중언니 호출 MoonJu(175.195) 11.02.09 47 0
234038 자바 미디설정관련 잘아는 횽 없음? 3시간째 막혀있음 ㅠㅠ [1] 대마법서오즈갤로그로 이동합니다. 11.02.09 107 0
234037 나는 숏코딩 따위 안함. new gay[max]갤로그로 이동합니다. 11.02.09 70 0
234036 횽들 제발 도와주셈 [3] rhash(118.34) 11.02.09 86 0
234035 숏코딩 SODmaster갤로그로 이동합니다. 11.02.09 56 0
234034 나우누리 하이텔 시절 vt모드로 접속하던 이유가 [7] ㅇㅇ(121.169) 11.02.09 124 0
234033 늅늅 [1] mks갤로그로 이동합니다. 11.02.09 32 0
234031 횽들 제발 Game Audio Programming 책을 구할수 없을까 [8] Gromit갤로그로 이동합니다. 11.02.09 138 0
234030 저도 오랜만에 숏코딩을 해보았습니다. [3] SODmaster갤로그로 이동합니다. 11.02.09 133 0
234029 딱히 책없이도 공부하겠는데 Pr0xy갤로그로 이동합니다. 11.02.09 96 0
234028 p2p 쿠폰뿌림 몬스터123갤로그로 이동합니다. 11.02.09 52 0
234027 이클립스 쓰는데 질문점요... [3] ㄴㄴ(220.69) 11.02.09 96 0
234026 gdb 이거 왜 이럽니까?? ㅜㅜ [성대아싸]갤로그로 이동합니다. 11.02.09 84 0
234025 아 도와주세요 미쳐버릴것간캐요 [1] rr(183.100) 11.02.09 60 0
234024 당할자없네.. [1] 씨발라드세요갤로그로 이동합니다. 11.02.09 72 0
234023 터키해커한테 사이트털려본횽아있음? [3] Pr0xy갤로그로 이동합니다. 11.02.09 245 0
234022 이게 스타2 개발 핵심 알고리즘이란게 사실인가요? [10] 귀챦이스트갤로그로 이동합니다. 11.02.09 309 0
234021 프갤여러분 한가지궁금한게 있는데요 [3] 만체(203.251) 11.02.09 66 0
234020 c언어 질문요. 흐미. [3] Paradise갤로그로 이동합니다. 11.02.09 113 0
234019 자바의정석vs난정말자바를공부한적이없다구요 추천좀 [5] 자바를잡아라(219.255) 11.02.09 579 0
234018 구글, 음성인식 번역 기술??? [5] ㅁㄴㄴ(58.77) 11.02.09 155 1
234016 먹을게 없어서 자꾸 남은 비타민만 쳐먹네여 [1] 일광면(119.198) 11.02.09 118 0
234015 Programming in C (정재은 저) 이책 괜찮나요? [1] 2424(58.120) 11.02.09 91 0
234013 자료구조, 알고리즘만 알면 응용프로그램 등 만드는 건 쉬울까요??? 컴돌이(58.77) 11.02.09 77 0
234012 코드패드 왜 log 가 아니되? [1] new gay[max](183.105) 11.02.09 73 0
234011 게이가 되어 가는 과정 원본 [2] LightEach갤로그로 이동합니다. 11.02.09 180 0
234010 형들 나 궁금한거 있는데 진솔하게 상담 좀 [4] 헥토파신갤로그로 이동합니다. 11.02.09 146 0
234009 엑셀 질문점 [3] 박돌똘갤로그로 이동합니다. 11.02.09 171 0
234008 웹에 이미지를 올리는 프로그램을 만들고싶은대.. [5] 이잉..(211.186) 11.02.09 109 0
234007 프겔 분위기가 좀 가라앉아있네요 [2] 세브(222.239) 11.02.09 129 0
234006 요새 "거샤"란 말이 유행이냐? (2) [3] 분당살람갤로그로 이동합니다. 11.02.09 137 0
234005 dll 에서의 객체 생성 [1] AutuMn(183.107) 11.02.09 86 0
234004 요새 "거샤"란 말이 유행이냐? 분당살람갤로그로 이동합니다. 11.02.09 105 0
234002 언니들 반가워요~ [6] 세브(222.239) 11.02.09 153 0
234000 안드로이드 하는데 AVD 이거 로딩타임 너무 길어 횽들 [7] 더블엘갤로그로 이동합니다. 11.02.09 378 0
233999 안드로이드 C2DM 프로그래밍 - 서버 URA!갤로그로 이동합니다. 11.02.09 215 0
233998 [아이폰 프로그래밍]아이폰 프로그래밍, iPhone 프로그래밍 과정 Choongang(125.129) 11.02.09 70 0
233997 [안드로이드폰 프로그래밍] 자바,안드로이드폰 프로그래밍 과정 Choongang(125.129) 11.02.09 79 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2