1장. 사람을 사랑한 기술

이 챕터는 천공카드부터 시작해 현재 자연어로 코드를 작성하는 바이브 코딩까지의 과정에서 레거시가 갖고 있던 문제를 다른 개발자들은 어떻게 해결하였고, 그 것이 얼마나 축복인지를 알려준다.

신기술은 이전 기술의 어깨를 딛고 개발자를 위해 발전한다

1

기계어

개발자를 사랑하기에 너무 초창기 기술이었으며, 탄도의 궤적을 계산해줄 정도로 연산이 가능했다.

2

어셈블리어

인간의 언어를 바탕으로 프로그래밍이 가능하게 되었다.

3

C 언어

컴파일러로 해당 운영체제용 기계어를 생성하여, 기종별 컴파일러만 있으면 하나의 소스코드로 여러 플랫폼간 이식성을 지원하였다.

4

C++

객체 지향을 도입하여 인간적인 사고를 하는 프로그래밍이 가능했다.

5

자바

기종이 몇 대든 단 하나의 JVM 용 기계어를 생성하는 JRE 만 기종에 맞춰 설치하면 한 번의 컴파일로 여러 플랫폼 간에 이식성을 확보했다.

6

스프링 프레임워크

거대함 속의 단순함과 완벽함 그리고 유연함을 바탕으로 개발자가 프로젝트 설정과 같은 비즈니스적 요소가 아닌 부분을 과감히 덜어내다.

스프링 프레임워크는 사상이면서 제품이다

이전 개발 과정에서 갖고 있는 절차적/구조적 프로그래밍, 객체 지향, 디자인 패턴 등 직관적이지만 문제를 해결하기엔 복잡했던 과거 기술의 어깨를 딛고 정상에 오른 제품이다.

이러한 스프링 프레임워크는 분명 제품이기에 엑셀, 파워포인트 같은 다른 어플리케이션 처럼 사용 방법이 쉬워야 하는데 우린 왜 모두 어렵다고 느낄까?

  1. 스프링 프레임워크가 무엇인지, 어떤 문제를 해결하여 현재 선봉되고 있는지 명확히 알지 못한다.

  2. 제품이지만 사용하기에 굉장히 방대하다.

정리

레거시가 갖고 있던 문제점을 현대 기술에서는 어떤 철학을 가지고 풀어나가려고 했으며, 그 과정에서 알아야하는 특징들은 무엇이 있을지 간단하게 살펴보았다.

Last updated