김범수의 개발공부기록

2020-03-26 TIL

|

Today I Learend

Java 프로그래밍

  • 오늘도 강의를 들었다. 퀴즈를 냈는데 한 문제도 못 맞췄다. 교수님이 객체지향의 캡슐화에 대해서 대충 설명해주시고 다른걸 퀴즈로 물어보셔서 일어난 참사다..
  • 객체지향의 캡슐화와 여러 질문을 하는 것으로 수업이 끝났다. 흠.. 이것이 자바다에서 독학하는 것보다 부족한 수업이다. 토이 프로젝트를 해보면서 실력을 길러야겠다.

프로그래밍 언어론

  • 오늘은 언어 설계에서 중요한 표현법과 그 의미에 대해 배웠다.
    • Syntax : 프로그래밍 언어에서 expressions,statements,program units 의 기술 형태를 의미한다.
    • Semantics : Syntax 의미하는 바를 뜻한다. 수학적 방식으로 표현하는 것이 잦다.
    • Lexeme : Syntax에 있어 최소 단위이다.
    • Token : Lexeme의 종류를 의미한다.
  • Context-Free Grammars 와 Bakus-Naur Form 에 대해서 배웠다.
    • Context-Free Grammars : 촘스키가 개발한 표현법으로 문맥파악이 필요없는 문법을 의미한다. 원래 자연어의 문법을 설명하기 위해 나온 개념이다.
    • Bakus-Naur Form(BNF) : 존 바쿠스가 개발했다. BNF는 Context-Free Grammars와 서로 교환 가능하다.
  • 추론규칙에 대해 배웠다. 독학할때는 추론규칙에 대해서 명제논리를 이용한 추론규칙은 배우지 않았는데 이번 강의에서는 전체예시화, 존재예시화 등과 같은 명제논리의 추론규칙을 배울 수 있었다.

데이터통신

  • 언어의 역사에 대해서 간단하게 배웠다.
    • FORTRAN : 포트란은 최초의 high-level 언어로 특수 목적용으로 사용되었다.
    • ALGOL : 비즈니스 쪽에서 사용된 언어이다.
    • C : 유닉스 운영체제를 만들기 위해 만들어진 언어이다.
    • C++ : C에 객체지향 프로그래밍 방식을 도입
    • LISP : 초기 인공지능인 전문가 시스템을 만드는데 사용한 언어

Comments