[이것이 C#이다] 1. C#의 등장 배경과 환경 설정

ssu_hyun·2022년 4월 4일
0

C#

목록 보기
5/22

Key point

  • C#의 등장 배경
  • Visual Studio 실습환경 준비

1.1 프로그래밍 언어의 역사

  • 에니악(ENIAC)

    • 최초의 컴퓨터
    • 위 사진에서 연구원이 만지는 전기 배선
      = 에니악이 계산할 때 사용하는 회로, 프로그램(Program)
  • 에드박(EDVAC : Electronic Discrete Variable Automatic Calculator)

    • 존 폰 노이만(John von Neumann)의 설계를 반영하여 탄생한 컴퓨터
    • 2진수를 이용하여 컴퓨터의 연산 속도를 비약적으로 향상
    • 모든 현대 컴퓨터의 조상
  • 프로그래밍(Programming)

    • 컴퓨터에서 동작하는 프로그램을 만드는 일
    • 에니악의 전기 배선 작업
  • 프로그래밍 언어

    • 사람과 컴퓨터 사이에 존재하는 일종의 커뮤니케이션 수단
    • 컴퓨터 프로그램 제작을 위한 인공 언어
    • 명령어 집합과 문법 체계 보유
  • C# 등장배경 : 기계어 - 어셈블리어 - 포트란 - 베이직 - 유닉스&C - C++ - C#

    • 기계어 : CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어
      ex) 01001100 00001000 10000001 10010000
    • 어셈블리어(Assembly) : 기계어 명령을 사람이 이해할 수 있는 기호나 단어로 바꾼 언어
      ex) MOV
    • 포트란(Fortran)
      • 존 배커스(John Backus)에 의해 개발
      • 사람의 언어에 가까운 최초의 프로그래밍 언어
        ex) a = 5+1
      • 기계어, 어셈블리어 대비 매우 쉽고 단순해짐
    • 베이직 (BASIC:Beginner's All - Purpose Symbolic Instruction Code)
      • 미국 다트머스 대학의 존 케머니(John Kemeny), 토마스 커츠(Thomas Kurtz)교수에 의해 탄생
      • 초등학생도 프로그래밍을 할 수 있을만큼 쉬웠음
    • 유닉스 & C
      • 데니스 리치(Dennis Ritchie), 켄 톰슨(Ken Tompson)에 의해 개발
      • 유닉스 운영체제 개발 → C 언어 개발 → 유닉스를 C언어로 재작성
      • 유닉스가 주류 운영체제로 자리잡으면서 C 언어도 "유닉스의 언어"에서 "프로그래머의 언어"로 자리잡음
    • C++
      • 비야네 스트로스트럽(Bjarne Stroustrup)교수에 의해 개발
      • 객체지향 프로그래밍(Object Oriented Programming)이 가능하도록 C를 개선시킨 프로그래밍 언어 (C 언어에서 ++은 자기 자신을 1만큼 증가시키는 연산자로 이는 C를 향상시킨 프로그래밍 언어라는 뜻에서 붙여진 이름)
      • C문법 호환 가능
    • C#
      • 마이크로소프트의 앤더스 헤일스버그(Anders Hejisberg)에 의해 개발
      • .NET에 최적화된 언어
      • 메모리 관리 → 가비지 콜렉터 책임
      • 플랫폼 이식 → CLR 책임
      • 일관된 클래스 라이브러리
      • 사용되는 분야 : 게임 클라이언트, 고성능 서버, 데스크탑 앱, 웹 서비스, 클라우드 앱, AI, IoT앱
      • C# 앱 동작 구조
        • C# 프로그래밍을 통해 C# 앱을 만들면
        • C# 앱은 CLR(Command Language Runtime)위에서 동작하고
        • CLR은 운영체제(윈도우, 리눅스, 맥...)위에서 동작
  • 컴파일러(Compiler)

    • 번역기
    • 사람이 읽고 쓸 수 있는 언어로 작성한 코드를 컴퓨터가 편하게 읽을 수 있는 이진코드 기계어로 번역
    • 소스 코드/파일( Hello.cs ) → 컴파일러 → 실행 파일/프로그램( Hello.exe )
      => 소스 코드 없이 실행 파일만 있으면 됨
  • 인터프리터(Interpreter)

    • 소스 코드를 실시간으로 기계어로 해석해서 실행

1.2 C#의 기본 파일과 환경 설정

  • C# 소스 코드/파일
    • 확장자 : .cs
  • 프로젝트(Project)
    • C# 프로그램 개발을 위한 기본 단위
    • 복수의 소스 파일과 기타 부속 정보를 함께 묶어 관리
    • 확장자 : .csproj
  • 솔루션(Solution)
    • 관련 프로젝트 여러 개를 함께 관리할 수 있는 단위
    • 확장자 : .sln
  • Visual Studio - Community 설치

[Reference]

0개의 댓글