먼저 선요약하자면 머학교시절 프로그래밍 언어를 배웟던 깜냥으로 설명하면 현재로써는 절대 불가능
프로그래밍 언어의 세대를 구분해서 보자면
1세대 - 기계어
말그대로 컴퓨터에 던져주면 컴퓨터가 바로 이해해서 써먹을수 있는 프로그램. 모든 컴퓨터는 궁극적으로 이 언어로 돌아감.
특징으로는 기계 의존성을 가지는데 이게 뭔뜻이냐면 같은 명령어를 줘도 기계마다 서로 다르게 알아듣는다는거임 마치 한국인한테 스와힐리어로 말하면 못알아 먹는거하고 같음
2세대 - 어셈블리어
어셈블리어는 기계어를 사람이 알아먹을수 있게만 해주는 언어임. 다른 특징은 죄다 기계어랑 같음. 얘는 어셈블러로 기계어로 번역해줘야 컴퓨터가 알아먹을수 있음
참고. “A := A + B”에 해당하는 IBM360의 기계어와 어셈블리어
3세대 - 고급언어(high level language)
현세대에서 주로 사용되는 언어들. c언어, 포트란, 파스칼 등등이 여기에 포함됨
여기서부터 기계 독립적이 되어서 어떤 기계를 쓰든 컴파일러를 통하면 같은코드로 같은 동작을 하는게 가능해짐
얘네들은 실행되려면 컴파일러를 통해 고급언어->저급언어로 변환하는 과정을 거쳐야만 실행하는게 가능함.
다른말로는 절차적인 언어.
4세대 - 고생산성 언어 (High-productivity Language), 문제 지향 언어 (Problem-oriented Language), 비절차적 언어 (Nonprocedural Language), 사용하기 쉬운 언어 (User-friendly Language)
얘네들은 3세대 언어와 구분해서 비절차적 언어라는 이름을 가지고 있는데, 일단 대표적으로는 sql이 있음.
sql이 뭐냐면 얘는 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어임
이렇게 얘기하면 어려운데 그냥 db쓰려고 만든 언어라고 이해하면 됨.
정확한 정의는 나도 기억이 잘 안나는데 일단 얘는 써보면 3세대 언어와는 확연이 다른것이 느껴짐
일단 c언어하고 비교하자면
c언어로 배열을 만들시
이런식으로 구조와 순서를 맞춰서 써야하고 저기서 순서 틀리면 에러가 뜨지만 sql은 그런거 없이
그냥 한줄만 쓰면 테이블이 생성됨
그리고 저 테이블처럼 생긴걸 c언어로 구현하려고 하면 상당히 머가리 빠개짐
왜 이런것들을 얘기했냐면 지금 말하려는 프로그래밍을 하는 인공지능이 개발되려면 5세대 언어가 필요하기 때문
5세대 언어 - 자연 언어 (Natural Language), 지식 표현 (Knowledge Representation), 추론 기계 (Inference Engine), 전문가 시스템 (Expert System)
지금 말할 5세대 언어가 말그대로 명령만 하면 프로그램을 만들어주는 언어임
그니까 컴퓨터한테 사람한테 말하듯이 야 자판기 관리 프로그램 만들어봐 버튼 누르면 커피나오게 만들고 잔돈 반환있고 이런식으로 얘기하면 컴퓨터가 사람처럼 알아서 프로그램 짜주는거지.
얘가 나오는순간 이세상 모든 프로그래머는 밥줄 끊기는거임
그런데 얘가 언제쯤 만들어질수 있을까?
However, as larger programs were built, the flaws of the approach became more apparent. It turns out that, given a set of constraints defining a particular problem, deriving an efficient algorithm to solve it is a very difficult problem in itself. This crucial step cannot yet be automated and still requires the insight of a human programmer.
As larger programs were built, it became apparent that the approach of finding an algorithm given a problem description, logical instructions and a set of constraint is a very hard problem in itself.
모름 그냥 현재로써는 불가능하다고 밖에 모름
병신같은 김유식 사이트 병신같이 만들어서 수정이 안되네 ㅅㅂ
프로그래머들이 코드 직접 전부 쓰는 게 아니라 기존에 공개된 소스코드 따와서 조합해 쓰잖냐. 그런 패턴화된 부분이 있어서 그걸 AI가 흉내내게 하는 게 연구되고 있다.
인간이 생산성 도구 쓰듯이 AI도 기존 생산성 도구의 툴을 조합하는 패턴을 배우는 거지
그거 해봤는데 존나 힘들고 코드 개판난다더라~하는 결과만 나옴
결국 아직은 ai수듄은 좆간을 못벗어남
물론 미래엔 충분히 가능
그 미래 아직 먼거같다
더 큰 프로그램이 만들어 짐에 따라 문제 설명, 논리 명령어 및 제약 조건 세트가있는 알고리즘을 찾는 방법은 그 자체로 매우 어려운 문제라는 것이 명백 해졌다.(As larger programs were built, it became apparent that the approach of finding an algorithm given a problem description, logical instructions and a set of constraint is a very hard problem in itself.)
인간이 만들어도 오류덩어리인데, 코딩 ai가 만드는것도 오류포함을 인정하면 ai도 만들어냄. 저이론은 무오류의 결과물이 불가능하다는말. 비슷한 말로 이론상 비행기는 못뜬다나. 그리고 쓸만한 것들은 상사와 고객의 지랄의 피드백 반영인데, 지랄 ai가 피드백 해주고 코딩 ai와 지랄 ai를 시간과 공간의 방에 넣어주고 결과를 받으면 대충 쓸만한거 나올거임.
의사소통으로 필요한 프로그램을 만들고 실행하는 수준을 요구하다니 개념부터가 너무 지금 수준으론 택도 없네.
언어의 의미분석 맥락분석은 30년전부터 하고 있고 축적되어 있음. 아 물론 천조국 기준. 그거 군사,첩보분야에 써먹고 있었을걸, 그리고 이제 민간에 일부분야가 풀리는거고. 물론 그중간에 고효율 알고리즘이 몇개 나온덕분도 있지. 하지만 민간용, 그니까 본문처럼 하는 그런 일반산업용은 또 축적을 해야하니 한세대 - 30년쯤 걸릴거라고 봄.
암암 미래엔 불로불사도 가능하고 천지창조도 가능함 암튼 가능함
그것도 해봤는데 결론은 못써먹을 코드만 나오고 인간쓰는게 낫더라 라고 결론이 나옴 그리고 머신러닝 돌려봤자 결국은 그 분야에만 특화된 결과물만 내놓게되지 궁극적으로 5세대 언어라고는 볼수 없음 - dc App
80년대부터 난다긴다 하는 언어학자,컴퓨터 공학자들을 갈아넣어서 5세대 언어에 대한 연구를 했지만 현재로썬 불가능하다는 결론만 나오고 강인공지능 연구와 같이 감도 못잡고 있음 - dc App
분야 특화만 몇개 나와도 괜찮지 않냐? 막말로 지금 양산형 모바일겜 대부분 시스템 비슷비슷 한데 이쪽 특화로만 한개 뽑아도 겜 제작 코스트 확 떨어질듯
그 분야에 머신러닝시키는 비용하고 그 코드의 상태를 봤을때 사람써먹는게 훨씬 싸고 좋음 그리고 코딩이란게 겉보기로는 비슷해보여도 실상 뜯어보면 아예 다른게 많고 - dc App
그리고 가장 큰 문제는 디버깅, 코드수정이 존나 어려워진다는거지 프로그래밍 한번 해보면 알겠지만 다른사람의 코드를 분석하는건 존나 빡센일임 적어도 사람이 짠 코드는 그사람한테 물어볼수라도 있지만 코드를 컴퓨터가 짠다면? - dc App
그니까 처음부터 무오류를 상정하고 가려니 그런다고, 그방식이 아니고 어차피 컴퓨팅파워는 좋아졌으니 병신같은 코드 짜내는 ai는 그거대로 가고, 그거 대신 지랄 해대는 ai를 개발해야 해결된다고. 지랄 ai를 만들어내느냐가 ai 시대의 성패기준이 될거라고 봄.
무오류든 오류 안고가든 써먹을수 있는 코드가 안나온다니깐 그러네 - dc App
컴퓨팅 파워가 발전해도 실행 못하는 코드를 생성하는데 컴퓨팅 파워랑은 관계가 없다고 - dc App
ai가 프로그래밍을 하면 뭐하냐 절반이상이 동작못하고 나머지는 효율성 개떡이라 결국 인간이 다시 디버깅 해줘야 하는데 그것도 머신러닝이니 뭐니 해서 아주 작은 일부분만 담당하도록 학습시켜준 ai가 그런수준임 - dc App
애초에 그런게 됬으면 아직도 프로그래밍이 100%인력으로 돌아가지도 않았겄지 현실은 사람이 죄다 하고있는데 - dc App
그리고 코딩만이 프로그래밍이 아니야 코딩은 결국 일부분일 뿐이고 프로그래밍을 하려면 일단 요구사항분석부터 구조설계 , 어떤 방식으로 구현할것인지 다 설계해야 하는데 이게 가능하다면 강인공지능 수준이지 단순 ai나 컴퓨터로는 택도 없음 - dc App
ai는 조합 ai와 선택 ai로 가게됨. 최신 ai 패턴이 그러하고 실제로 바이오,의약쪽 ai가 신약 개발관련 ai를 쓰는데 이런 패턴을 씀. 아주 특정분야에서는 이미 가능한거고, 그게 일반분야와 일반코딩분야로 가려면 병신코더 ai와 지랄염병 ai 둘다 발전해야만 가능하다고 몇번을 말해야 하는거냐?
그리고 저게 일반적이라는 이유는 인간, 아니 동물의 의사결정과 동일한 패턴이기 때문임. 맘에 안드는 멍멍이에게 죽방을 날린다고 해도 팔각도와 강도를 어떻게 해야 퍼펙트한 죽방이 되는지 뇌에서 죄다 시뮬레이션을 돌리고 그때의 조합과 선택이 뇌에서 겁나 이루어진 그 결과물로 죽방을 때리는거임. 물론 이걸 맨날하게되면 그게 저장되 소위 눈감고도 하게되는거
그니까 아직 한참 멀었다니깐요 - dc App
단순히 머신러닝을 많이 돌린다, 연구한다 수준이 아니라 감도 못잡고 있는판이라니깐 몇번을 얘기하냐 - dc App
ai ai 그러는데 프로그래밍이 단순히 머신러닝 굴린다고 되는 분야도 아니고 어떤 프로그램을 만드는지 부터가 갈리면 아예 기초부터 달라지는게 수두룩하다니깐 - dc App
애초에 대부분의 학자들이 저 5세대 언어는 강인공지능과 밀접한 관계가 있다고 말하는데 강인공지능을 어떻게 만들지 세계에서 머리좀 굴린다 하는 학자들도 감도 못잡고 있다고 - dc App
애초에 지금 코딩 ai파는 사람들조차 지네들 스스로 인공지능이 스스로 코딩하는건 불가능하다고 인정하고 사람의 코딩을 보조하는쪽으로 가닥을 잡고있고. 그리고 이건 코딩이지 프로그래밍이 아니다. 프로그래밍은 코딩보다 훨씬 넓은 범주임 - dc App
말이 안통하는 모습이다.
대충읽어보면 아무도 코딩을 크게 이해하고 있지는 않은 거 같다
코드 작성 인공지능은 당연히 불가능하고 지금으로서 기대 가능한 건 코드 관리의 자동화 정도일듯
라고 아날로그 처리장치들이 말하고 있습니다.
가능하면 매트릭스 시대아니냐
우리 아버지도 프로그래먼데. 전에 AI 써먹는거 보다가. 결과값으로 내놓은게 너무 좆같아서 못써먹는다고. 그럴바에는 차라리 프로그래머를 몇명 더 데려다 앉히는게 나을거라더라 - dc App
문과는 아무것도 몰라요
"새로운 학습효과란 인공지능에게 몇 가지의 핵심 키워드만 주어진다면 스스로 프로그램을 설계할 수 있는 수준으로까지 진화하는 것을 의미한다. 컴퓨터 언어를 전혀 몰라도 자신이 원하는 핵심 기능을 AutoML에게 주문하면 스스로 SW를 코딩하여 사람이 원하는 프로그램을 제공해 준다는 것이다."
구글에서 비슷한거 이미 개발중임