- 코더 vs 프로그래머
- 본인 n년차 개발자인데 연봉 이 정도면 업계 상위냐?
- 며칠 전에 들어온 신입 때문에 힘드네요.
- 언어는 도구다.
오늘은 이 떡밥 중 ‘언어는 도구다’에 대한 김성원의 생각을 공유할 예정이다.
이 떡밥은 주로 ‘언어는 도구다’와 ‘언어는 도구가 아니다’의 대립이 아니라
’언어는 도구다’ vs ‘언어는 도구에 불과하다’ 의 대립으로 이어진다.
이 떡밥은 주로 아래와 비슷한 주장이 난무한다.
- 문제 상황에 맞는 도구를 선택해 문제를 해결해야 한다.
- 가진 것이 망치면 모든 문제가 못으로 보인다.
- 도구마다 만들어진 이유와 특성이 다르다.
- 도구의 패러다임을 이해하고 특성에 맞게 사용해야 최선의 효과를 낼 수 있다.
- 프로그래밍은 무언가를 만드는 것이고 무언가를 만들기 위한 보조 수단이 언어다.
- 어떤 언어든 최종 형태는 CPU 명령의 집합이다.
- 어떤 도구를 사용하던 목표만 달성하면 된다.
- 개발자는 문제를 해결하는 사람이기 때문이다.
두 진영의 주장은 모두 옳고 그름을 따질 수 없다.
왜냐면 사람은 모두 살아온 환경과 경험한 것이 다르기 때문이다.
환경과 경험의 차이로 인해 같은 주제를 보고 다른 생각을 할 수 있고 무엇보다도 모든 생각은 존중 받을 가치가 있기 때문에 옳고 그름을 따질 수는 없다.
이러한 떡밥에 대해 김성원은 아래와 같이 생각한다.
- 언어마다 각자 패러다임이 있고 이를 이해한 개발자가 선택하여 사용하는 것이다.
- 언어 뿐만 아니라 프레임워크와 같은 도구만 잘 다루는 것은 자신의 브랜드라고 할 수 없다.
- 문제 이해력, 논리적 사고 등의 기본기가 자신의 브랜드라고 할 수 있다.
- ‘스프링 프레임워크로 개발할 수 있습니다’ 보다 ‘이러 이러한 환경으로 인해 스프링 프레임워크를 활용해 개발하는 것이 적절하다고 생각합니다’가 더 멋지다는 말이다.
💡 여러분은 어떻게 생각하시나요?
언어는 도구라고 생각하시나요? 아니면 그 이상의 무언가라고 생각하시나요?