Programming Paradigm

Eli·2021년 2월 15일
1

Clean Architecture

목록 보기
2/5
post-thumbnail

비교적으로 패러다임이란 것은 언어와 무관하며 더 중요하다.

패러다임은 어떤 구조를 언제 쓸 지를 고민할 수 있게 해준다.

Structured Programming

  • 첫번째로 적용된 패러다임이다.
  • 마구잡이로 goto문을 쓰던 시절이 있었다고하는데 난잡한 코드가 되어 이를 해결하기 위해
  • If, while, for 등의 제어문을 권장하는 패러다임이다.
  • 이를 통해서 코드에 대해 직접적으로 if/while,for 등으로 분기 및 함수수준에서의 모듈화를 가능하도록 했다.

Object - Oriented Programming

  • 함수호출 이후 오랫동안 힙이 된 것을 알고 거기서 착안
  • 함수 생성자 > 클래스 / 로컬 변수 > 인스턴스 변수 > 중첩 함수 > 메소드
  • 캡슐화, 상속, 추상화, 다형성가 특징이라 하지만 캡슐화와 상속은 이전의 컨셉에서도 가능했으며 단지 조금 쉽게 가능하게 해주었다는 것. 진짜 가장 큰 컨셉은 추상화와 다형성이라고 말함. (아직 개념에 대한 정리가 더 필요하다)

Functional Programming

  • 프로그래밍 이전에 발견된 것 그러나 가장 최근에 반영되는 패러다임
  • 특정 범위 내에 값에 대한 불변성을 보장하면서 할당문에 규칙에서 제한하도록 하는 것
  • 이로 인해 값이 전역변수로 언제 값이 변하는 것을 알 수 없는 두려움에서부터 벗어난다.
    이전 블로그 게시글

Conclusion

  • 패러다임은 전체적으로 개발자에게 어떤 새로운 기능을 쥐어주기보단
  • 새로운 규제들을 추가해서 무엇을 하지 말아야 할지 알려주는 제안이다.
  • 저자는 현 패러다임에서 우리에게 더 가져갈 것이 없다고 말하며, 더 이상의 패러다임은 없을 것이라고 이야기한다.
  • 패러다임은 앞으로의 아키텍쳐에서 3가지 모두 차용되어야한다고 한다.
profile
애플을 좋아한다. 그래서 iOS 개발을 한다. @Kurly

0개의 댓글