C언어, JAVA, 파이썬의 특징과 프로그래밍 언어별 차이, 코드 구현에 대해
정보통신기술의 융합으로 ‘초연결’, ‘초지능’, ‘초융합’을 대표하는 4차 산업을 위한 미래 인재 양성 노력이 시작되고 있다. 특히, 소프트웨어 교육과 AI 교육을 토대로 컴퓨터와 관련한 교육의 필요성에 대한 목소리가 높아지고 있다. 즉, 컴퓨터공학 분야가 아니더라도 프로그래밍 언어 하나쯤은 알아두는 것이 필수인 시대가 됐다.
ⓒ게티이미지뱅크
프로그래밍 언어란 ‘기계가 읽을 수 있고 사람이 읽을 수 있는 형식으로 프로그램을 작성하기 위해 사용되는 컴퓨터 언어’를 말한다. 컴퓨터가 바로 이해할 수 있는 언어는 기계어다. 기계어는 2진수인 0과 1로 구성돼 있어 자연어(사람이 사용하는 언어)로 이해하는 데 불편함과 어려움이 있다. 이에 기계어와 자연어의 중간적 위치에서 프로그램을 쉽게 작성할 수 있게 하는 인공언어인 프로그래밍 언어가 등장했다.
프로그래밍 언어는 가장 크게 저급 언어와 고급 언어로 분류된다. 저급 언어는 기계 중심의 언어로, 주로 기계어, 어셈블리 언어가 이에 해당한다. 저급 언어는 하드웨어에 관련된 직접적인 제어가 가능하다. 고급 언어는 인간 중심의 언어로, 사무처리용 언어인 코볼, PL/1, RPG가 이에 해당한다. 고급 언어는 하드웨어 관련 지식이 없어도 프로그램 작성이 가능한 언어다. 쉽게 말해, 사람이 이해하고 작성하기 쉬운 언어로 흔히 우리가 아는 C, C++, Java 등이 고급 언어에 해당한다.
ⓒ게티이미지뱅크
대표적인 프로그래밍 언어들에 대해 알아보자. 가장 먼저, C언어다. C언어는 미국 벨 연구소의 리치가 개발한 운영 체제나 언어 처리계 등의 시스템 기술에 적합한 프로그래밍 언어다. 현재 가장 널리 쓰이는 명령형 언어로, JAVA, Python 등에 비해 성능이 압도적으로 높다. 다만, 프로그램을 활용할 각종 라이브러리가 잘 발달해 있지 않아 직접 개발해야 하고, 이에 난이도가 높다는 단점이 있다. 또한, 절차지향 언어로 프로그램 코드를 위에서부터 순서대로 실행하는 언어라 코드가 간결하고, 속도가 빠르다는 것이 장점이다. C언어는 주로 임베디드(전자 기기가 자동으로 기능을 수행할 수 있게 만든 내장형 칩), 시스템 프로그래밍에 사용된다.
추가로 C++는 C언어가 복잡한 프로그램 작성 시 마주하는 일정 한계를 극복하고자 대규모 응용프로그램을 만드는 데 최적화하기 위해 만들어진 프로그래밍 언어다. 이는 새로운 방식의 프로그래밍 접근 방법으로, 객체지향형 언어라 불리기도 한다.
ⓒ게티이미지뱅크
자바는 C언어와 C++에 비해 간략하고 쉬우며 네트워크 기능의 구현이 용이해 인터넷 환경에서 가장 활발히 사용되는 프로그래밍 언어로, C++과 같이 객체지향형 언어다. 자바는 “write once, run anywhere”라는 슬로건 하에, 한 번 구현한 코드를 플랫폼에 독립적으로 사용할 수 있도록 특별히 설계됐다는 점이 특징이다. 자바의 가장 큰 장점은 보안력이 높다는 것이다.
바이러스에 노출이 쉬운 프로그램 세계에서 바이러스가 침투하지 못하는 구조를 갖추고 있다. 본래 네트워크 분산 처리 환경에서 사용하기 위해 디자인된 언어로, 접근 허용이 없다면 데이터 혹은 데이터 구조에 대한 접근은 불가능하다. 자바는 주로 웹, 안드로이드 개발에 사용된다.
ⓒ게티이미지뱅크
C언어를 기반으로 1991년 귀도 반 로섬에 의해 설계 및 개발된 오픈소스 고급 프로그래밍 언어다. 파이썬은 C++과 자바와 마찬가지로 객체지향형 언어다. 이는 처음 프로그래밍 언어를 접하는 사람도 쉽게 적응할 수 있을 만큼 쉬운 프로그래밍 언어로 꼽힌다. C언어나 자바와 같이 자료형을 지정하고, 중괄호를 겹치지 않게 입력해야 하는 등의 번거로움이 적어 코드나 문법에 있어 간결한 것이 그 이유다.
다양한 라이브러리가 있어 사용하기에 편리하기도 하다. 여러 분야에 있어 쉽게 활용할 수 있으나, 성능이 중요하고 중대한 프로젝트를 이행하기에는 속도가 느리고, 개발 환경에서 활용하기 힘들다는 단점이 있다. 파이썬은 주로 GUI(컴퓨터 그래픽 기능을 사용하는 사용자 인터페이스) 프로그래밍, 데이터 분석, 사물 인터넷 분야에 사용된다.
소통을 위해 존재하는 언어, 컴퓨터와 소통할 수 있는 흥미로운 언어를 공부해보는 것은 어떨까. 다양한 프로그래밍 언어를 활용해 자신만의 코드를 구성한 후 컴퓨터에 여러 명령을 실행해 결과를 내는 값진 과정을 경험하기를 바란다.
각 프로그래밍 언어를 활용해 출력할 문구는 하단의 문구로 동일하다. ‘~~~’에는 활용한 프로그래밍 언어가 들어간다.
사이언스타임즈는 한국과학창의재단 주관하에 운영되는 인터넷 과학신문입니다. 사이언스타임즈는 과학기술, 과학문화, 과학교육 등 과학과 융합한 관련 뉴스를 신속하고 정확하게 취재해 보도합니다. 이것은 '~~~'로 출력한 값입니다.
▲ 해당 문구는 프로그래밍 언어 중 C언어로 공통 문구를 구현한 모습이다. ⓒ정수빈 리포터
▲ 해당 문구는 프로그래밍 언어 중 자바로 공통 문구를 구현한 모습이다. ⓒ정수빈 리포터
▲ 해당 문구는 프로그래밍 언어 중 파이썬으로 공통 문구를 구현한 모습이다. ⓒ정수빈 리포터
다음 사진에서 보면 알 수 있듯, 같은 듯 다르게 코드 구현에 차이가 있음을 확인할 수 있다. 예를 들어, C언어와 자바에는 {}가 사용되는 반면, 파이썬에서는 {}가 사용되지 않는다. 또한, 출력을 위해서 같은 뜻을 나타내는 것이기는 하지만, C언어에서는 printf()로, 자바에서는 println()을, 파이썬에서는 print()를 사용한 것을 확인할 수 있다. 이처럼 각 프로그래밍 언어에서 사용하는 문법과 코드가 상이함을 확인할 수 있다.
(3745)
로그인후 이용 가능합니다.
44억년 전 초기 지구에서 생명체 재료가 되는 탄화수소, 알데히드, 알코올 등 유기 분자들이 철이 풍부한 운석이나 화산재 입자들이 촉진하는 화학반응을 통해 생성된 것으로 보인다는 연구 결과가 나왔다.
국내 연구진이 안정적이고 부작용이 적으면서 수술 후 전이·재발을 막을 새로운 형태의 암 치료 백신 개발 가능성을 열었다. 한국연구재단은 울산대 진준오 교수 연구팀이 암세포에서 얻은 표면 단백질을 항원으로 이용한 지질 나노입자(AiLNP)를 개발하는 데 성공했다고 25일 밝혔다.
복통, 설사, 직장 출혈, 철 결핍 빈혈(iron deficiency anemia) 등 4가지 징후 또는 증상이 50세 이전에 나타나는 조기 발생(early-onset) 대장암의 경고 신호라는 연구 결과가 나왔다.
화학 섬유에서 나오는 미세 플라스틱 오염에 경각심을 갖고 생분해가 가능한 옷을 찾는 착한 소비가 생기고 있지만 생분해를 내세우며 개발된 섬유도 실제 환경에서는 제대로 썩지 못하는 것으로 나타났다.
유인 화성 탐사를 앞두고 이것이 실제 가능한지 관심이 높은 가운데 쥐 머리에 초음파를 쏴 동면 상태를 안전하게 반복 유도할 수 있다는 연구 결과가 나와 주목된다. 미국 세인트루이스 워싱턴대(WUSL) 홍 천 교수팀은 26일 과학저널 '네이처 신진대사'(Nature Metabolism)에서 초음파 펄스를 생쥐와 쥐의 뇌 특정 부위에 쏴 동면 상태를 안전하게 가역적으로 유도하는 데 성공했다고 밝혔다. 연구팀은 이 방법은 머리 위에 초음파 방출기를 장착하는 비침습적 방식으로 초음파를 쏴 뇌의 신경 세포를 일시적으로 활성화해 체온을 낮추고 신진대사를 늦출 수 있다며 향후 의학이나 장거리 우주 비행에 응용될 수 있을 것이라고 말했다.
플라보놀 성분을 함유한 사과와 블랙베리 등을 섭취하는 것이 노인의 '노쇠' 발현 가능성을 낮춘다는 연구 결과가 나왔다. 노쇠(frailty)는 나이가 들면서 신체 기능이 필연적으로 떨어지는 노화(aging)와는 구분되는 것으로, 일상에 지장을 줄 만큼 나이에 비해 신체기능이 심각하게 약해져 낙상과 골절 등을 초래할 위험이 높고 장애와 사망으로 이어질 수 있다. 미국 하버드의대 계열 임상 연구소인 '힌다·아서 마커스 노화연구소' 등에 따르면 플라보노이드의 하위그룹인 '플라보놀' 섭취와 노쇠의 연관성을 분석한 연구 결과를 '미국 임상영양학 저널'(American Journal of Clinical Nutrition)에 발표했다.
북극해 식물플랑크톤이 유엔 '기후변화에 관한 정부 간 협의체'(IPCC)의 예상치보다 최대 3배 감소할 것이라는 연구 결과가 나왔다고 극지연구소가 24일 밝혔다. 포항공과대학교 국종성 교수 연구팀, 극지연구소 양은진 박사, 미국 스크립스 해양연구소 임형규 박사 등으로 구성된 국제공동연구팀은 쇄빙연구선 아라온호 탐사를 포함한 다양한 북극해 현장 탐사에서 획득한 데이터를 활용해 북극해 식물플랑크톤의 농도 예측기법을 개발했다. 이를 적용한 결과 이산화탄소 배출 시나리오에 따라 차이는 있었지만, 2100년 식물플랑크톤의 농도는 기존 IPCC 5차, 6차 보고서의 예측과 비교할 때 감소 폭이 최대 3배로 늘었다.