[t:/]$ 지식_

C 언어

2024/07/22

러스트와 고는 좋은 언어라고 한다. 나도 그렇게 생각한다. 러스트는 금방 포기했지만 고는 그래도 깔짝깔짝 만져봤다.

...

C 언어는 코드만 보고 기계가 어떻게 돌아가는 지 유추할 수 있다. 작성자에 따라 메모리 누수가 쉽게 일어날 수 있으므로 시스템 안정성이 떨어지거나 심각한 보안 문제를 일으킬 수 있다. 그런데 한 편으로, AI와 정적 분석의 고도화 덕분에 코딩 타임, 컴파일 타임에서 종래의 보안 위험과 메모리 누수 위험을 사전 제거 하는 것이 이제는 가능하다.

...

주목 받는 언어들은 인본주의적인 발전 방향에 따라 기능을 추가하고 추상화를 고도화한다. 더 효율적으로 쓰고 싶은 조직들이 프레임웤을 만들어낸다. C++을 잘하지 못하지만, 모던 C++ 코드는 이제 코드를 읽으면서 기계가 어떻게 동작하는지 알기 어려운 포인트가 많다. 어.. 이런게 되네? 난 별론데..

...

코딩은 쉬워지고 암묵적 용인에 따라 언어와 컴파일러가 알아서 해주는 일들이 늘어난다. 인본주의다.

...

쉽다. 때때로 커뮤니티는 오염된다. 나는 여전히 PHP가 괜찮은 언어라고 생각하지만 커뮤니티가 언어 생태계를 망가뜨렸다는 주장도 있다. 귀도는 파이썬을 떠났고 파이썬은 더욱더 고도화하고 있다. AI 덕분에 스택오버플로우를 찾아갈일이 줄었지만 나의 마지막 스택오버플로우는 세기말 데브피아나 PHP스쿨을 닮았다고 느꼈다. 1학년 대학원생들이 이해하지 못하는 논문을 읽고 추리게임을 하는 모습을 지도 교수가 본다. "상상화 그리면서 말도 안 되는 추정하지 말고 다시 읽고 다음주에 다시 모이도록"

...

내가 언어를 처음 배울 때 하는 짓은 언어 내부가 어떻게 돌아가는지 실험하는 조각 코드들을 짜는 일이다. 20년만에 자바를 다시 해볼까 마음 먹었을 때, 궁금하다고 까다보니 unsafe 패키지를 보고 있었다. 언어 이념에 맞지 않는 방식이다. 인본주의로 설계한 언어의 접근 방법이 아니다. 다름이 아니고 틀렸다. 고 언어에서도 비슷한 일을 했다. 어? 금지인데 어? 소리가 나왔다. 스택에서 쪼물쪼물다하다가 리턴할 때 뭐는 힙으로 자동 복사하고 그러다가 GC 처리하네? 요즘 언어들 다 이런가보구나? 내가 의도한 건 이게 아니지만 여튼 편하긴 하네.

...

시스템 프로그래밍의 영역에서는 코드를 보고 기계가 어떻게 돌아가는지는 대강 유추할 수 있는 것이 좋다. 오퍼레이터 음성이 들린다. "냉각률 90%!, 지구 자전 오차 0.0001%". 미사토가 말했다. "센터에 목표를 놓고 스위치, 나머지는 기계가 알아서 해줄꺼야." 정말? 언어랑 프레임웤을 잘 만들어놨기 때문에 기계가 알아서 해준다고? 우리 조직은 네르프가 아닌데??? 리츠코도 마기도 엄서..

...

기능이 늘어나고 추상화는 고도화된다. 수없이 많은 의존성과 버전 매칭이 늘어난다. 나는 오늘도 테세우스의 배의 널판지 한 개를 뜯고 붙이기 위해 수많은 의존성과 버전 매칭을 탐사하다 체력을 소진했다. 레거시 뜯다가 세월이 흘러간다. 그래도 나는 나름 책임있는 사람이다. 누군가는 저 사람 저러다가 커리어 다 망가졌어요라고 힐난했다. 테세우스의 배에서 빨리 내려서 스타십을 탔어야지. 스타십 공중 폭발할 것 같지만 중간에 내려도 개이득인데 그걸 모르네. 아니 모르는 건 아니고 겁이 많죠. 제가 이래뵈도 T짜 공돌이입니다.

...

C언어는 기능이 없고 발전이 없다. 기능을 더하고 발전이 있었다면 코드를 읽으면서 기계가 어떻게 동작하는지 유추하는 것은 쉽지 않았을 것 같다. 언어가 수십년 전 그대로인 한 편으로 나는 여전히 쪼렙이라고 생각한다. 겸손한 척이 아니다.

...

시스템 프로그래밍적으로 코딩하고 싶다. 말의 앞뒤가 맞지 않지만 파이썬이 그래서 좋다. 귀찮고 어렵고 복잡한 일은 파이썬한테 시키면 되니까. Pydantic 을 보고 깜놀했다.. 아.. 나의 파이썬은.. 나의 미사키 쨩은..

...

학부때 구조공학을 조금 배웠다. 유한요소법 같은 것을 시늉낸다고 과제를 냈더니 엘리베이터 바닥만 몇 톤인 팀도 나왔다. 양면성이 있다. 공부를 매우 잘해서 국비 유학을 다녀오신 교수님이 어떤 에피소드를 소개했다. 프랑스에서 기계쪽은 폴리테크닉과 낭트대가 유명한데 대충 카이스트랑 서울대라고 치고, 나무젓가락으로 트러스를 만들어 얼마나 잘 버티나 대회를 합니다. 그런데 낭트대가 이겨요. 폴리테크닉 애들은 기가 막힌 트러스를 계산해서 만들어오는데 그게 문제였다능? 애들이 똑똑하다고 공차 범위를 타이트하게 만들어오니까 자꾸 무너져? 근데 낭트대애들은 어어어 여기 약한 것 같으니 재료를 좀 더 덧대야지? 우리 계산이 다 맞을리 없으니 일단 재료를 더 많이 덧대자고?

...

하지만 실세계에서는 자중과 예산의 문제로 덧대기만을 할 수는 없다. 강하게 만든다고 더 많은 강철을 쓰면 무게도 늘어나고 자체 무게를 부양하기 위해 더 많은 계산과 재료가 들어간다.

...

분산 클러스터라 안전합니다! 어? 분산 맞아?

...

마이컴 가지고 놀 때가 제일 재밌다. 하지만 우리는 테세우스의 배를 고치는 널빤지 목수로서 월급을 받는다. 리츠코 엄마는 마기의 깊은 곳에 메모라도 남겼다. 천년이 넘은 버스터 머신의 안쪽에도 엔지니어들의 메모가 있었다.

...

클라우드 스트라이크 뉴스 보고 왜 생각이 이렇게 흘러갔는지 나도 모르겠다.





공유하기













[t:/] is not "technology - root". dawnsea, rss