먼저 선요약하자면 머학교시절 프로그래밍 언어를 배웟던 깜냥으로 설명하면 현재로써는 절대 불가능


프로그래밍 언어의 세대를 구분해서 보자면


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.


모름 그냥 현재로써는 불가능하다고 밖에 모름






병신같은 김유식 사이트 병신같이 만들어서 수정이 안되네 ㅅㅂ