카테고리 없음

프로그래밍언어

changy0ng 2022. 8. 5. 10:15

1970 - 어셈블러, 컴파일러, 텍스트 편집기 같은 프로그래머 도구와 운영체제까지 작성할 목적으로 사용할 언어들이 만들어짐

 

이중에 가장 성공한 언어 -> C언어(데니스 리치에 의해 벨 연구소에서 개발[1973])

C언어 자체는 변경된 부분이 많지 않아 오늘날의 C프로그램은 30~40년 전 코드와 비슷합니다.

 

#include <stdio.h>
int main() {
	int num, sum;
    sum = 0;
    while (scanf("%d", &num) != EOF && num != 0)
    	sum = sum + num
    printf("%d\n", sum);
    return 0;
}

1980년대쯤에는 규모가 매우 큰 프로그램의 복잡성은 C언어만으로 풀기에는 역부족이었기에 새로 설계된 언어들이 생겨났으면 그 중 가장 유명한 것은 C++였습니다.

 

C++은 비야네 스트롭스트룹이 개발하였고 이 또한 벨 연구소에서 개발하였습니다.

하지만 C프로그램은 대부분 C++에서도 유효했지만 C++는 C프로그램에서 유효하지 않았습니다.

 

#include <iostream>
using namespace std;
int main() {
	int num, sum;
    sum = 0;
    while (cin >> num && num != 0)
    	sum = sum + num;
    cout << sum << endl;
    return 0;
}

현재 컴퓨터에서 사용되는 주 프로그램은 대부분 C나 C++로 작성되었습니다.

그리고 맥 소프트웨어는 C, C++, 그리고 Objective-C(C의 변종)으로 작성됩니다.

=> 워드(C, C++), 편집-서식-정리-출력(C, C++), 브라우저 크롬, 파이어폭스, 엣지(C++), 유닉스 또는 리눅스 운영체제(C)

 

1990년대에는 인터넷과 월드와이드 웹 성장에 대응하기 위해 더 많은 언어가 개발

컴퓨터 자체는 계속해서 더 빠른 프로세서, 더 용량이 큰 메모리가 장착되고, 프로그래밍의 궁극적 목표인 빠르고 편하게 하는것을 취하고 효율적으로 돌아가는 것으로 진행되다보니 자바자바스크립트 같은 언어도 이런 의도와 맞게 트레이드오프에 맞춰 설계.

 

자바는 썬 마이크로시스템즈에서 일하던 제임스 고슬링에 의해 1990년대초에 개발되었고 이런 언어의 타겟은 속도보다는 유연성이 중요한 가전 제품 또는 전자기기 같은 작은 인베디드 시스템이었습니다.

 

이렇게 이후 웹페이지상에서 실행할 용도로 자바는 바뀌었지만 별로 인기 얻지는 못했고 대신 웹서버에 사용되었습니다. 

EX)

예를 들어서 이베이 같은 웹사이트를 방문하게 될때 사용자의 컴퓨터는 웹페이지를 표시하기 위해서 C++와 자바스크립트를 실행하겠지만 이베이는 방문자의 브라우저로 전송할 페이지를 생성하는데 자바를 사용할 가능성이 큽니다.

자바 = 안드로이드 앱을 작성하는 주요 언어

 

자바의 특성은 C++보다 단순하고 C보다 복잡합니다. C보다 대신 안전합니다(위험한 특성 제거 + 메모리에서 복잡한 자료 구조를 관리하는 일처럼 에러가 발생하기 쉬운 작업을 처리할 내장 메커니즘 보유)

 

import java.util.*;
class Addup {
	public static void main (String [] args) {
    	Scanner keyboard = new Scanner(System.in);
        int num, sum;
        sum = 0;
        num = keyboard.nextInt();
        while (num != 0) {
        	sum = sum + num;
            num = keyboard.nextInt();
        }
        System.out.println(sum);
    }
}

다른 언어로 된 코드보다 길지만 몇개의 계산을 합치면 2~3행 줄일 수 있다.

 

자바스크립트는 1995년에 넷스케이프에서 근무하던 브렌던 아이크가 만들었고 이름을 제외하면 자바와는 아무 관계가 없습니다. 자바스크립트는 처음부터 의도가 웹페이지의 동적인 효과를 구현하기 위해 브라우저 내부에서 사용할 목적으로 설계되었고 오늘날 거의 모든 웹페이지는 자바스크립트 코드를 어느 정도 포함하고 있습니다.

 

var num, sum;
sum = 0;
num = prompt("Enter new value, or 0 to end");
while (num != '0') {
	sum = sum + parseInt(num);
    num = prompt("Enter new value, or 0 to end");
}
alert(sum);

자바스크립트는 실험적으로 무언가를 만들기 편하고 보기 쉽습니다. 언어가 단순하기도 하고 컴파일러가 모든 브라우저에 내장되어 있어 별도로 다운로드를 받지 않아도 된다는 장점이 있습니다. 그리고 계산한 결과 또한 바로 볼 수 있으며 웹페이지에 몇가지 코드만 금방 올리면 전 세계 누구라도 이 프로그램을 볼 수 있습니다.

 

파이썬은 네덜란드 국립 수학 정보과학 연구소에 일하던 귀도 반 로썸에 의해 개발되었고 1991년에 발표된 언어입니다. 파이썬은 C, C++, 자바, 자바스크립트 구문의 규칙과 좀 다르긴 한데 가장 눈에 띄는 부분은 문장을 그룹화 할때 중괄호 대신 들여쓰기를 씁니다.

 

들여쓰기를 쓰는이유? 가독성을 가장 중요시 하는 언어이기 때문

 

sum = 0
num = Input()
while num != '0':
	sum = sum + int(num)
    num = input()
print(sum)

프로그래밍 언어는 이제 어떻게 발전할까요?

더 많은 컴퓨터 자원을 우리에게 유용한 방향으로 사용함으로써 프로그래밍을 계속 쉽게 만들것이고 프로그래머가 더 안전하게 사용할 수 있는 방향으로 갈 것입니다.

 

C언어는 잘 갈아진 칼과 같습니다. 할 수 있는 용도가 매우 다양하지만 프로그래밍 에러를 무심코 만들기 쉬운데 이런 에러를 흉악한 목적으로 사용 될 수 있는데 반해 그  이후 나온 언어들은 에러를 방지하거나 검출하기 쉽습니다. 

 

언어는 우리가 생각하는 방식을 형성하고, 생각할 수 있는 범위를 결정한다.
-벤자민 워프(미국 언어학자)-

이 명제가 자연언어에 적용되는지에 대해 아직도 언어학자들 사이에서 논쟁이 이어지지만 컴퓨터에게 할 일을 지시하기 위해 만든 인공 언어에는 정말 적용되는것으로 보입니다.