어제 마지막 댓글 쓰고 그냥 잤는데,
나도 내가 했던 말을 좀 더 명확하게 해야할 것 같아서 쓴다.

일단 To 레노미나

1) 거창하다, 오만하다
- 거창하다: C로 소프트웨어 제작하는 것에 대해서 지나치게 어렵다는 식으로 표현
- 오만하다: C를 로우레벨 전용, 이해하기 어려운 언어로 정의
- 솔직히 오버임. 글에서도 흥분상태라는게 대충 보임.
- 내 단어 사용이 좀 과격했었던 것 같음. 그건 좀 사과하고 싶음. 원래 입이 좀 거침.

2) 그래서 하려고 했던 말
- 추상화. 근데 망치짱똘 드립 ㅁㄴㅇㄹ
- 추상화가 되면 모르면 모르는데로 써도 문제 없음.
- "되니까 쓰고 돌아가니까 쓴다"
- 내부구조는 몰라도 쓰는데 지장은 없음 ===> 기계공 전자공 애들도 무리없이 쓸 수 있음.



그리고 개인적인 이야기.

플밍질 하는 것도 11년 째이고, C는 10년 쯤 썼는데,
그런식으로 C로는 아무것도 안된다고 까면 내 입장에서 보면 솔직히 좀 그래.

일단 개발 시 생기는 문제점들...
배열영역 초과 같은건 솔직히 자잘한 문제들이고 - _-)
이런 식의 문제는 보통 코딩 컨벤션의 강화에 의해 상당부분 줄일 수 있음. (MSVC처럼 strncpy를 강요하던지)
메모리 릭은 malloc의 wrapper를 제공하는 것만으로도 문제를 절반 이하로 줄일 수 있고,
string의 경우는 기본적으로 struct{ length, ptr };로 감싸서 처리하고, 원한다면 인코딩 핸들러도 추가할 수 있지.

이런식으로 문제를 해결한다면 할 수도 있는데,
그걸 언어가 나빠서 안된다고 매도하는건 솔직히 분풀이로 밖에는 안들려.
진짜 문제는 C를 선택하고도 소프트웨어를 그렇게 설계한 설계자, 코딩 컨벤션을 제대로 정하지 못한 리더한테 있지.
그럴려면 애당초 C를 고르질 말던가, 못피하면 제대로라도 하던가.

이걸 C를 옹호한다고 얘기할 수도 있지만, C는 고정되어있고, 선택은 사람이 하는건데,
이런 상황에서 선택권자가 잘못한거라고 결론을 내리는건 당연한거임 - _-)
(이게 내가 궁극적으로 하고 싶었던 이야기.)

그리고 Linux에서 사용하는 C는 라이브러리가 빵빵하기 때문에 어지간한 고급언어보다도 더 편한 면이 있음.
네트워킹, 암호화, 이미지 프로세싱, 선형대수학, 빅인티저, 소팅, UI 등등 없는게 없음.
오히려 스크립트 언어에 특정 라이브러리 바인딩이 없거나 불완전해서 C를 사용해야했던 경우가 한두번이 아님.
진짜 C를 알고싶으면 리눅스를 쓰라는.