1일 1로그 100일 완성 IT지식 - Day 27

김정동·2023년 6월 20일
0


출처

작문과 비슷한 프로그래밍, 그리고 C

포트랑, 코볼, 베이직이 성공했던 이유 중 하나는 특정 응용 분야에 집중했기 때문이다. 이후 2970년대에 모든 프로그래밍 과제를 처리하려고 하는 언어들이 만들어졌다. 대표적으로 C언어를 예로 들 수 있다. C는 1973년에 벨 연구소에서 일하던 데니스 리치가 개발했으며 오늘날까지 폭넓게 사용되는 언어이다.

C로 만든 수 합산하기

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

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;
    count << sim << endl;
    return 0;        
}

대부분의 맥 소프트웨어는 C, C++ 오브젝티브 C로 작성되었다.

자바

1990년대에 이르러서는 인터넷과 월드 와이드 웹의 성장과 더불어 더 많은 언어가 개발되었다. 컴퓨터는 더 빠른 프로세서와 용량이 큰 메모리가 장착되었고, 프로그래밍은 빠르고 편하게 하는 것이 컴퓨터가 효율적으로 돌아가다로고 하는 것보다 더 중요해젔다. 자바와 자바 스크립트 같은 언어는 의도적으로 이러한 트레이드오프에 맞춰서 설계됐다.

자바는 1990년대 초에 썬 마이크로시스템즈에서 일하던 제임스 고슬링이 개발했다. 원래 자바의 적용 대상은 속도는 그다지 중요하지 않지만 유연성이 중요한 가전 제품과 전자 기기 같은 작은 임베디드 시스템이었다. 이후 자바는 웹페이지에서 쓰려고 했지만 인기를 끌지 못했고 대신 웹 서버에 널리 사용되고 있다.

오늘날에 웹사이트를 방문하면 웹페이지를 표시하기 위해 C++와 자바 스크립트를 실행하겠짐나, 사이트는 방문자의 브라우저로 전송할 페이지를 생성하는 데 자바를 사용할 가능성이 크다. 안드로이드 앱에서도 자바는 주요 언어로 사용된다. 자바는 C++보다 단순하지만, C보2다는 더 복잡하다.

자바의 같은 예시

import java.uil.*;
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) {
        	sim = sum + num;
            num = keyboard.nextInt();
        }
       Sysyem.out.println(sum)
    }
}

프로그램과 프로그래밍에 관해 보편적으로 중요한 사항으로, 특정 작업을 하는 프로그램을 작성하는 데는 항상 많은 방법이 있다는 것이다. 이러한 의미에서 프로그래밍은 작문과 비슷하다. 문체와 적절한 어휘 사용 등은 글을 쓸 때도 중요하지만 프로그램을 작성할 때도 중요하다.

자바 스크립트

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

자바스크립트의 예시

let 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);

자바스크립트는 시험 삼아 무언가 만들어 보기 쉽다. 언어가 단순하며 컴파일러가 모든 브아우저에 내장되어 있어 별도로 다운로드 하지 않아도 된다. 또한 계산한 결과를 바로 불 수 있다.

파이썬

파이썬의 경우 네덜란드 암스테르담의 CWI(네덜란드 국립 수학 정보과학 연구소)에서 일하던 귀도 반 로섬이 개발해서 1991년에 처음 발표한 언어다. 가장 눈에 띄는 부분으로 문장을 그룹화 하는데 중괄호 대신 들여쓰기를 사용한다는 점이다.

파이썬은 처음부터 가독성을 초첨에 두고 설계되었고 배우기 쉽고, 생각할 수 있는 거의 모든 프로그래밍 과제에 필요한 라이브러리를 풍부하게 제공해서 가장 널리 사용되는 언어 중 하나로 자리잡았다.

파이썬의 예시

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

프로그래밍의 미래

더 많은 컴퓨터 자원을 우리에게 유용한 방향으로 사용함으로써 프로그래밍을 더 쉽게 만들 것이다. 또한 프로그래머가 더 안전하게 사용할 수 있는 언어를 만드는 방향으로 나아갈 것이다. C의 경우는 늦게까지 알 수 없는 프로그래밍 에러를 무심코 만들기 쉽다. 이후에 나온 언어는 이러한 에러를 일부 방지하거나 검출하기 쉽게 되어 있지만, 더 느리거나 메모리를 더 많이 차지하는 등의 교환이 필요하다. 하지만 C의 경우 효율성이 높기 때문에 자동차, 항공기, 우주선, 무기 등의 제어 시스템에서 아직 사용될 가능성이 높다.

모든 언어는 튜링 머신을 모방하거나 튜링 머신이 각 언어를 모방하여 작동하는 데 사용될 수 있다는 점에서 모든 프로그래밍 언어는 형식상 동등한 관계에 있다. 그러나 모든 언어는 모든 프로그래밍 작업에 있어서 똑같은 효율을 가지고 있지 않다.

프로그래밍 언어는 확실히 컴퓨터 과학에서 중요하고 매력적인 부분이다. 미국의 언어학자인 벤자민 워프에 따르면 "언어는 우리가 생각하는 방식을 형성하고, 생각할 수 있는 범위를 결정한다." 과연 이 명제가 자연 언어에 적용되는지에 대해서는 언어학자들 사이에서 논쟁이 이어지고 있지만, 컴퓨터에게 할 일을 지시하기 위해 만든 인공 언어에는 정말로 적용되는 것 처럼 보인다.

profile
개발자 새싹🌱 The only constant is change.

0개의 댓글