여기는 저의 2004~2007년까지의 기록입니다. 이 블로그는 이제 Tistory로 옮겼습니다.
2008년부터의 기록은 http://blog.studioego.info 로 가시기 바랍니다.

StudioEgo's Thoughts, seasonⅡ


C#은 JAVA짝퉁?
이번에 C#에 관심이 있어서 도서관에 C#책을 빌렸습니다.
그리고 MS사에서 무료로 나눠주는 Visual C# 2005 Express Edition을 깔았습니다. 어짜피 C#은 고급까지 갈 것도 아니라서^^
C#은 학교에서 배우지도 않지만, C#도 JAVA만큼 쓰는 언어 같아서 시간 많은 방학때에 공부하고 있습니다.
컴퓨터공학과에서 C와 C++만 가르친다고 JAVA와 같이 많이 쓰는 언어도 모를수는 없겠죠?

C#책을 펼쳐서 보니까 JAVA랑 거의 흡사한 정도가 아니라 JAVA의 짝퉁이라 할 정도로 JAVA를 많이 따라한 것 같습니다.
C#이라는 이름때문에 C++에 가까울줄 알았는데 JAVA랑 가깝더군요. 말로만 JAVA랑 흡사하다는 것을 들었는데 실제로 프로그래밍 짜보니까 JAVA를 베꼈다고 생각할 정도로 비슷합니다.
그래서 SUN사의 JAVA의 인기를 억지 하기 위해서 MS사가 C#을 내놓은 것이였나???

아래 그림들은 제가 Visual C# 2005 Express Edition으로 Hello World 프로그램을 짜는 과정들입니다.


MS사에서 나온 C#에서 Hello, World! 란 프로그램을 나타내기 위해선 이렇게 프로그래밍 해야 합니다.
using System; // System 네임스페이스 참조

class Hello // Hello class declear start
{
public static void Main() // 프로그램의 시작점 Main() Method
{
Console.WriteLine("Hello World!"); // Console에 Hello World! 출력
}
}


SUN사에서 나온 JAVA에서는 Hello, World! 란 프로그램을 나타내기 위해서는 이렇게 프로그래밍 해야합니다.
아래 코드는 2학년 1학기 표창우 교수님 수업시간에 나간 Big JAVA 2nd Edition안에 있는 코드입니다.(Big JAVA 2nd Edition은 홍익대학교 컴퓨터공학과 학과장님이신 표창우 교수님이 번역하신 책입니다.)
public class HelloTester
{
public static void main(String[] args)
{
// Display a greeting in the console window
System.out.println("Hello, World!");
}


Linux상에서 JAVA 프로그램을 짜고 컴파일 한 모습입니다.
아래 코드는 Big JAVA 2nd Edition에서 나온 소스를 친 것을 컴파일 하고 실행하는 것입니다.


여기서 C#소스와 JAVA 소스랑 거의 흡사하지 않습니까?
class로 둘러싸는 것과 Main Method가 너무나 흡사함을 알수 있습니다.
너무나 흡사해서 말이 안나올 정도?
JAVA와 C#같이 배우면 시너지 효과가 날 듯합니다. SUN사의 JAVA, MS사의 C#. 다들 Refference와 API는 각각의 회사에서 주니까... 배울때에는 정말 쉽겠군요.

C#이 괜히 MS사에서 JAVA를 만든 SUN사를 견제하기 만들었다는 것이 틀림이 없군요.
C#책을 볼때마다 JAVA 짝퉁같다는 생각이 왜이리 드는지? ㅎㅎ

참고로 C언어에서 Hello, World! 코드입니다.
1학년 1학기 컴퓨터공학개론 교재로 쓴 두 C언어 책에 1장에 있는 내용입니다.

#include <stdio.h>
int main(void)
{
printf("Hello, World!");
return 0;
}













C++에서 Hello, World! 코드입니다.
1학년 2학기 객체지향프로그래밍교재였던 C++ How to Program 4th Edition에 있는 내용입니다.
(06학번 후배부턴 5th Edition을 쓸듯)
#include <iostream>
using std::cout;
using std::endl;
int main(void)
{
cout << "Hello, World!" << endl;
return 0;
}
by Ego君 | 2007/01/19 21:26 | 컴퓨터 | 트랙백 | 덧글(9)
트랙백 주소 : http://sungdh86.egloos.com/tb/2946830
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by sadcafe at 2007/01/19 21:34
음? 맞아요. 나올때도 그렇게 불렸었고.
Commented by 美妙 at 2007/01/19 21:40
짝퉁이지 (....)
Commented by Ssopi at 2007/01/19 22:33
먼가 신기한
Commented by daybreaker at 2007/01/19 23:09
C#이 여러 종류의 언어에 있는 장점들을 다 조합해서 만들었달까, 좀 그런 스타일이 있죠. Java를 이미 알고 계시다면 Java와의 차이점 위주로 공부하시면 쉬울 겁니다.
.NET을 기반으로 하는 기본 object library에 대해서 대충 익히시고 나면 delegate 등의 C# 고유 기능들 위주로 보시면 금방 될겁니다.
Commented by 미리내 at 2007/01/19 23:09
DEITEL씨 책 ilili orz ilili 엄~청 두껍더군요. 미리냥은 좌절하고 얇은 책을
봤던 기억이 듭니다 ^-^;; [웃음] 여튼 중요한 것은 짝퉁이라도 툴은 많으면
또 좋은 것 아니겠어요 +ㅁ+? 물론 강제로 배워야한다면 고생이지만요 ilili orz ilili
Commented by Joo8111 at 2007/01/20 00:42
표표표표표표 표창우 교수님? -_-;;;
과제 두번 늦게 냈다고 F를 주신 표표표... 표창우 교수님...
홍대생이신가봐요? 전 이제 4학년 복학합니다... 아.. 정다운 이름 표교수님.. ^^
Commented by Joo8111 at 2007/01/20 00:59
어! 그러고보니 PCRC세요? 아하하.. 정말 반갑네요.
생각지도 않게 오랜만에 pcrc 홈페이지 들어가봤습니다.
전 14기에요. 14기들은 다들 졸업했겠죠? 전 왜 이리 늦은건지.. ^^ 여하튼 반갑습니다. ^^
Commented by DAK-DAK at 2007/01/20 11:11
안녕하세요.. 밸리 보고 찾아 왔습니다.. ^^
Java 짝퉁처럼 보이긴 하지만, delegation이나, 예외 처리가 강요되지 않는다는 부분 등에서는 Java와는 많이 다른 모습이기도 합니다. field처리 부분 역시 setter / getter method로 하지 않아도 되는 특성도 있었지요.. java보다는 진보한 언어라고 "주장"은 하더군요... ^^
Commented by 미식가 at 2007/05/08 14:38
진짜 비슷한듯...

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >