어제 마지막 댓글 쓰고 그냥 잤는데,
나도 내가 했던 말을 좀 더 명확하게 해야할 것 같아서 쓴다.
일단 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를 알고싶으면 리눅스를 쓰라는.
각 언어는 도구이고 그 도구는 쓰기 나름인데 어떤 언어든 존중할 줄 모르는 놈은 크게 될 수 없다. 적당히 박봉받아가면서 일반적인 프로그래머로 살 사람들이지..
근데 이 글은 너무 C를 옹호하는군.. C가 못할건 없지만 생산성은 떨어지지. 뭘하냐에 따라 언어 선택은 달라지지만 굳이 하이레벨 프로그래밍에 다른 도구 놔두고 C를 쓰는 경우는 드물다.
ㄴ ㅇㅇ 보통은 C 자체를 안고름. 논할 필요가 없다고 생각했는데
정작 이걸 쓴 나도 쉘스크립트용 미니툴 짤 때 외에는 C++ 쓴다는 = _=)
간혹 너무 쓸 때 없는 것들 가지고 논쟁이 생기는거 같음 ㅡㅡㅋ
땡칠도사를 보면 내가 학교때 너무 놀았다는 생각이 드네. 부러움 [i]
냠냠 =ω=); 나는 내 친구들이 너무 괴물이라서, 좀 대등하게 얘기해보자, 해서 공부하게 된건뎁ㅎㅎ;;;
내가 졌다. 네놈 글을 보니 내가 다 오글오글하다. \"되니까 쓰고 돌아가니까 쓴다\" 라는 글을 읽는 순간 온몸에서 전율이 느껴졌다. \"추상화가 되면 모르면 모르는데로 써도 문제 없음\" , 크....이글을 읽자마자 등줄기에 식은땀이 주르륵 ~ 흐른다. 고수. 그래 이 한단어로 모든게 설명 되는거 같다.
그러니까 네놈의 얘기는 C언어 자세히 모르는 기계공이나 전자공 애들도 C 로 복잡한(쉬운거말고) 프로그램 충분히 잘 작성할수 있다는 얘기지? 단 , 코딩컨벤션 지키고, 메모리 관리자 따로 만들고, 스트링은 래퍼자료형 별도로 만들고, 기타등등 C 언어 부족한 부분을 트릭으로 다 메꾸고, 그래도 안되면 리더탓을 하자고? 기계공,전자공 리더는 교수님인가? 헉. 감동이다. 글자하나하나에 감동이야., 그리고 결론은 그래도 안되면 C 탓이 아니고, C 를 선택한 그사람 잘못이고? 크.. 오글오글하다. 너같은 고수는 내가 처음보는거 같다. 그런데 , 위에 댓글에 \"보통은 C자체를 안고름\" 이거는 또 무슨 말이냐...
내 의견은 단순해. 생산성 논쟁을 하자는게 아니야. \"C언어에 대한 이해가 부족한 상태로 , C언어로 복잡한 프로그램을 작성하는건 굉장히 어려운 일이다\".
아니 왜 구조가 있는 얘기를 그렇게 뭉뚱뭉뚱 뭉쳐야 하는건데 - _-)
네놈의견은 \"C언어에 대한 이해(C 언어 내부구조를 전혀모르는) 가 전혀없는 기계공, 전자공애들도 , C 언어로 얼마든지 복잡한 프로그램을 작성할수 있다\" 이건데..어째 네놈글을 보면, .. 왔다 갔다한다. 주제를 모르겠어.
그리고 횽이 말한건 이미 \'복잡한 프로그램\'이 언급된 시점에서 \'어렵다\'라는 말을 붙이는 의미가 없잖아.
그리고 기계공/전자공도 하는 애들은 충분히 복잡한거 짠다는 ㅇㅇ
잘 읽어봐 . 네놈 글에 구조가 어딧냐? 도대체 주제를 모르겠다. 한문장으로 요약해봐.
1) 제공된 추상화를 존중한다면 내부 구조를 몰라도 충분히 C를 사용할 수 있다. 2) 그로 인해 기계공/전자공 등의 분야에서도 C를 무리없이 쓸 수 있다.
이게 윗부분 ㅇㅇ
아랫부분은 단순히 C를 까는 것에 대한 개인적 생각. C를 쓰려면 제대로 쓰던가, 아니면 시작부터 고르지 말던가. 하든말든 상관없는 이야기
복잡함에 대해서 다시 얘기하자면, \"기계공애들이 포트란 1주일 배우고 몇만라인은 짤수 있어도, C언어 한달배워도 몇만라인 못짠다\" 라는게 내 의견이다.
물론 써야만 하는 환경에 있는 사람들한텐 그저 힘내라는 말밖엔 [...]
음 드디어 이야기가 통하는듯 = _=)
여튼 근본적인 차이는 거기에 있었다능 \'ㅅ\') 난 2주 정도면 몇만라인 짤 정도의 실력을 키울 수 있다고 생각함.
첫째 , 추상화 능력이 가장 떨어지는 언어중 하나인 C 언어로 추상화 드립은 에러다. 굉장히 제한적인 상황이 아니고선, C 언어로 추상화해서, 하부레이어를 완전히 숨기기 힘르다. 그랬다면, 어플작성에 C#,자바따위를 쓸 이유가 없지.
글쓰다..말고..켁...
그니까, 알겟다.
네놈얘기는 2주정도면 몇만라인 작성할수 있는 실력을 키울수 있다고? C 로?
됐다. 얘기끝내자. 내가 미쳤지. 혹여나 건질거 있나 했드만......
ㅇㅇ 솔직히 이 이야긴 이쯤에서 끝내는게 좋을 듯 - _-) 기본적인 생각이 이정도로 다르면 그냥 답 없다는.