그동안 느린 것 다 알면서 인간 편의로 써왔던 인터프리터 언어는 싹 다 정리되고,
어쩌면 러스트와 같은 언어들이 각광받을 수도 있겠다는 생각이 듭니다.
어차피 기계가 코드짜면 뭐하러 느린 언어로 만들어진 코드 쓸까요.
(웹도 이제 자바스크립트를 벗어난 압도적 성능의 무언가를..)
iT업게 일하면서 여러가지 사정으로 느린 프로그램으 만들어놓고, 서버 수와 스펙으로 때우는것들 많이 봤는데
어쩌면 AI가 소비하는 전기량보다, AI로 인한 코드 최적화를 통한 서버 사용량 감소로 아끼는 전기가 많아질 수 있지 않을까 기대해봅니다
자바는 vm 언어 한계가 물리적으로 명확해서 그런 기대는 안갓죠
c/c++ 하는 사람들이 타언어 무시하며 꼰대질 많이 하던 시절 있었습니다 ㅎㅎ
저도 AI가 프로그래밍을 한다면 굳이 고급 언어를 쓸 필요가 있나? 하는 생각을 했었어요!!!
발전한 AI가 인간이 해독하지 못하도록 막 꼬아서 0101... 기계어로 프로그래밍을 해버린다면????
그래서 chatGPT에게 물어보니...
AI가 발전한다면 프로그래밍을 할 때 굳이 인간이 이해할 수 있는 고급 언어로 프로그래밍을 할 필요가 있을까?
ChatGPT의 말:
AI가 충분히 발전한다면 인간이 이해할 수 있는 고급 프로그래밍 언어가 꼭 필요하지 않을 가능성이 높습니다. 몇 가지 이유를 생각해볼 수 있습니다.
1. 자연어 기반 프로그래밍
AI가 발전하면 인간은 자연어(한국어, 영어 등)로 원하는 기능을 설명하고, AI가 이를 최적화된 형태로 코드로 변환하는 방식이 일반화될 수 있습니다.
예를 들어, "웹사이트에서 로그인 기능을 만들어줘"라고 하면 AI가 자동으로 구현하는 형태가 될 수도 있습니다.
2. 기계 친화적 코드 최적화
현재의 프로그래밍 언어는 인간이 이해하고 작성하기 쉽게 설계되었지만, AI는 인간보다 더 복잡한 코드도 문제없이 다룰 수 있습니다.
따라서 AI가 직접 저수준의 최적화된 바이너리 코드 또는 어셈블리 수준에서 작업할 수도 있습니다.
3. 프로그램의 자동 생성 및 유지보수
AI가 자체적으로 소프트웨어를 설계하고 유지보수할 수 있다면, 굳이 사람이 이해할 수 있는 형식으로 코드를 작성할 필요가 없습니다.
AI가 직접 머신 코드나 보다 효율적인 데이터 구조를 사용하여 프로그램을 생성할 가능성도 있습니다.
4. 실시간 코드 변환 및 최적화
미래에는 특정 언어로 작성된 코드를 필요할 때마다 AI가 자동으로 변환하고 최적화하는 방식이 될 수 있습니다.
예를 들어, 사용자가 "이 프로그램을 더 빠르게 만들어줘"라고 하면 AI가 최적화된 코드로 변환하는 방식이 가능할 것입니다.
5. 소프트웨어 개발의 역할 변화
인간 개발자는 직접 코드를 작성하기보다는 AI에게 명령을 내리고, 생성된 코드를 검토하고, 논리적인 오류를 확인하는 역할로 변화할 가능성이 큽니다.
소프트웨어 개발의 패러다임 자체가 인간 중심의 프로그래밍에서 AI 중심의 프로그래밍으로 바뀔 가능성이 큽니다.
결론
AI가 충분히 발전하면 인간이 이해할 필요가 없는 형태로 프로그램이 작성될 수도 있습니다. 하지만 완전한 자동화가 이루어지기 전까지는 인간이 이해할 수 있는 형태의 코드가 필요할 것입니다.
즉, 프로그래밍 언어는 단순히 컴퓨터를 위한 것이 아니라, 인간이 AI의 행동을 이해하고 통제하기 위한 수단이 될 가능성이 큽니다.
요약해보면
기계가 쓸 수 있으니 인간이 쓰기 어렵더라도 더 성능 좋은 언어로 갈 것 같다. 다만 인간이 읽을 수는 있어야 한다.
인 것 같은데 보통 쓰기 어려운 언어가 읽기도 어렵더라구요.
주말에 회사 업무용 앱, 진짜 5분만에 짜놓고 4일간 디버깅하다 때려쳤습니다. ㅎㅎㅎㅎㅎㅎ
GPT 이놈은 지가 짜놓고서 디버깅 삽질이, 3박4일로도 모자라더라고요
없어지는 것 보단 상호 보완 관계로 나가는게 맞다고 봅니다.
근데 아직 파이썬으로 코드를 제일 잘 짜주는것 같기는 하네요.
더 많이 쓸것 같은데요
그런데 언어가 중요한것이 아니라서.....
앞으로는 설계와 코드리뷰, 유닛테스트 가 중요 해질것 같아요
얼마전 개발팀장이, 초급 개발자는 chatGPT로 대체 가능할거 같다고 한 뒤로
누가 어떻게 쓰느냐에 따라 달라질거 같긴하네요..
chatGPT를 차로 비유하면, 운전을 누가하냐에 따라 퍼포먼스가 전혀 달라진다...
비유에는 절대 공감합니다 기가 막힌 비유네요
시중에 돈이 없을 때에는 네이티브 언어가 중요해지고, 시중에 돈이 돌 때에는 인터프리터 언어가 기지개를 폈던 것 같네요.
AI도 언어의 난이도가 쉬운 것부터 적용되기 시작하겠죠.
저는 AI에 대응하기 위해서는 둘 다 할 줄 알아야한다고 보는 쪽입니다.
공감합니다. 학습대상 데이터가 충분할까? 라는 생각이 드네요.
어떻게 사용하느냐가 더 중요한거같습니다