C# 구조?…

강일이가 아침에 메신져로 물어보길래.. 얘기해줄려다가..
학교오니라 바빠서.. 그냥 글로 쓴다고 했는데.. 이제야 쓰는군…

물론 책을 보면, 잘 나오겠지만 이해가 안가서 물어보는걸로 알고,..
그리고 니가 물어보는 질문의 답이 맞는지는 모르겠지만..
내가 이전에 얘기했던걸 바탕으로 다시 한번 더듬어보면,,…

C#은 Java 이후에 나온 언어니까 당연히 java와는 다른 특징을 가지고 태어난 놈일테고..
자바랑 비교한다면, C#도 닷넷프레임워크라는 일종의 버츄얼머신위에서 돌아간다고 생각하면돼…
자바의 경우는 JVM이 모든 OS레벨위에 올라가기때문에 장치 독립적인 특징이 있고,
C#은 닷넷프레임워크 위에서 돌아가는 언어독립적인 특징이 있어. 이말이 무슨말이냐 하면,..
C#이 중간언어를 가지고 있다는 얘기지..책에서 보면 IL 이라고 예기하는 중간랭귀지…
거의 어셈블리어에 가깝다고 보면 되는데.. 어셈보다 가독성이 좋아.. 한번 보면 알지..
아무튼.. 기존 VB,VC++ 등의 언어가 .NET으로 넘어와 업그레이드 되면서 버젼업이 되었는데..
이름하야.. VB.NET VC.NET C#.NET 등으로 뒤에 .NET 이라고 이름하여 다 붙여졌지..
암튼 뒤에 .NET이라고 붙어 들어가는 놈들은 모두 닷넷위에서 돌아가는 놈이라고 생각하면 되고…

요놈들이 모두 중간언어 레벨로 컴파일이 된다는거지..
가량 비줠베이직이나 관리되는 C++ 코드나 C#이나 모두 똑같이 Helloworld 를 찍는다고 프로그램해보면,..겉보기에 코드는 각 언어에 따라서 다르게 코딩하지만.. 중간 언어레벨로 컴파일된 코드는 3개 모두 비슷비슷하게 나온다는거야.. 듣기로는 핵심코드는 똑같이 나온다 하는군..
그래서 어떤 언어로 작성하든 닷넷위에선 똑같이 해석되는거지..즉, 실행될때는 요 중간언어를 해석한다는 얘기야…

요 중간언어가 존재하게 되면 좋은 점이 무지하게 많은데.. 대표적으로 내가 요즘에 자주쓰는건데..
컴포넌트 추가가 자유롭다는거야.. 또 쉽게 확장 가능하고,.. 그냥 자기한테 익숙한 언어로 만들고,.
나중에 내가 만들어놓은 프로그램을 그대로 갖다가 쓸일이 있으면 코드한줄 안바꾸고.. 그냥 EXE파일이나 DLL파일을 참조 추가하면 된다는거지.. 여기에 더 놀라운 기능은 다른언어로 구현된 클래스들을 그대로 참조상속받아서 다시 클래스를 구성할수도 있어..
아무튼 이런 확장성 면에서는 탁월하지..

그럼 자바는 어떻냐?.. 사실 자바는 내 주언어가 아니기때문에 아키텍쳐상 이렇다 저렇다는 못하겠고, 연구실있으면서 써본 느낌은.. 일단 컴포넌트 무지하게 많아..당연히 C#보다 먼저 나왔으니 많을수 밖에.. 그리고 이미 나와있는 컴포넌트들의 참조추가가 쉽다는거지.. 보통 플러그인으로 제작된 것들이 많은데.. 그런 플러그인 추가가 쉽드라고.. 다만.. 내가 젤 걸리는부분이 모냐면,..
바로 속도..-– 자바가 발전 많이 했다손 치더라도.. 어플리케이션 개발하는 사람 혹은 게임 개발하는 사람한테는 절대 java권유 못하겠떠라.. 자바가 느리다기보다.. 개발 환경 자체가 느려..-
나중에 기회되면 이클립스나 J빌더 같은 툴이랑 VS.NET이랑 비교해봐.. 차이가 장난아니지..-_-

짜증나서 못해.. 하지만 언어차원에서 보면.. 확실히 자바나 C#은.. 탁월한 언어라고 말할수 밖에 쿨럭~

그리고 게임개발할꺼면 다시 얘기하지만 DirectX는 기본이다. 개발도구로는 VS 6.0, VS 2003 이런 시덥지 않은 툴 쓰지말고 VS2005 를 쓰기를 바래..

자 그럼 다음으로.. ASP.NET이랑은 또 무슨 관계냐 하는건데..
.NET이라고 MS에서 네이밍 한거보면 눈치 챌수 있지 않을까?
모든것이 인터넷으로 통한다 라는 구호아래.. 닷넷이라 이름 붙였다고 하던데..

그중심에서는 ASP.NET 이 있어.. 이게 모냐?.. 그냥 웹프로그래밍 언어라고 생각하면 쉬운데..
단순 웹프로그래밍언어 라고 하면 물음표가 달릴꺼야.. ASP 해봤나 모르겠네…
JSP와 대비되는 ASP.. 그리고 그 발전 모델이 ASP.NET인거지..지금은 ASP.NET 2.0 버젼이 나와있는 상태고 많은 부분이 코드한줄없이 개발툴로만 가지고 만들수 있도록 만들어져있어..

아무튼 ASP.NET은 닷넷언어(VB/C#)와 ADO.NET이라고 말하는 데이터베이스레벨 그리고 닷넷프레임웍 모든부분을 아우르고 있어.. 각 파트별로 모두 책이 나와있는 상태고 어떻게 보면 독립적인 레벨들인데.. 그만큼 .NET의 탄생배경이 인터넷이구나 하는걸 느낄수 있을꺼야..
사실 웹프로그램 자체가 DB와 기타 모든 기술들이 집약적으로 나타나는 부분이기때문에 그런거겠지.

앞으로 MS는 언어차원에서 C#언어 하나만 밀 가능성이 농후하고,.. 그리고 방향이 소비자라기보다 개발자에 촛점을 두고 있어..VS2005만 봐도 알수 있지.. 얼마나 많이 스마트하게 해주는지…
혹자는 밑에 로어레벨을 모르면 말짱 황이다 라고 얘기하겠지만.. 요새 트랜드가 사용자적인면이 강해서.. 알필요가 없다는 부분도 있어.. 그리고 개발 생산성도 무시못하는 부분이고,.  내 촛점도 이미 구현되어 있는건 그냥 사용법만 잘 알면된다고 생각해…구지 그 내부 알고리즘 뜯어볼필요는 없을꺼 같다는 생각.. 왜냐면.. 그거말고도 공부할게 너무 많커든..

또 혹자는 사용법만 잘 알면 누구나 잘하는거 아니냐?.. 변별력이 없을꺼 같은데… 라고 얘기도 하겠는데.. 사용법은 사실 모두 비슷비슷해서 하나만 알면 나중에 레퍼랜스로 다 찾아보면서해..아무도 외우는 사람 없다.. 중요한건 아이디어… 어떤 창의적인 아이디어에서 이걸 어떻게 서비스화하고 구현하는가가.. 중요한거 같애.. 그게 내 초점이고,…그리고 최소한 내 아이디어를 설계하고 구현할 능력은 기본으로 갖춰야한다는 소신…

머 주저리주저리 썼는데.. 핵심은.. 열씨미해..ㅋㅋㅋ
난 다시 과제모드로 가야겠다.. 과제때문에 죽겠어..ㅜㅜ…

내블로그에 이렇게 긴글쓰는거 첨이야.. 글쓰는거 좋아라 하지만.. 요샌 긴글보다..
함축적인 글들이 더 좋트라.. ㅋㅋㅋ 생각할수 있어서…
나 시인이나 할까? ㅋㅋㅋ

욕심 != 열정

//심플 열정 시스템 구현..
#include <stdio.h>
#include “불꽃남자.h”

#define 열정 나
#define 욕심 너
int main() {
  if( 열정 != 욕심 ){
    printf(” 그래 가는거야!! 고고고… ^^”);
  else
    printf(” 무리하지말자.. 워워워… -0-“);
return 0;
}

이거 실행될까?…

정답: 컴파일 에러…-_- 제기랄…