본문 바로가기

컴퓨터/프로그래밍5

프로그래밍 배우기와 연습 프로그래밍 배우기와 연습대개 컴퓨터 프로그래밍은 학교에서 가르치지 않는다. 학교에서는 프로그래밍을 도구로 쓰고, 이 도구를 이용해서 전산학 또는 컴퓨터학(computer science)을 가르친다. 프로그래밍 강의가 있지만, 프로그래밍을 직접 가르치기보다는 역시 어떤 전산학 내용을 가르치면서 도구로 쓰기 위해 적절할 프로그래밍 언어를 하나 선택해서 프로그래밍을 가르치는 경우가 많다. 한국에서는 프로그래밍을 학원에서 단기 속성 과정으로 많이 배우기도 한다. 짧은 시간에 빨리 배우기에 좋은 방법이기도 하다. 그러나 여러 전산학의 기본과 필요한 수학 등을 학원에서 배우기는 어렵다. 언어 문법을 외운다고 프로그래밍을 잘 한다고 보기는 어렵다.그러면 어떻게 해야 할까? 컴퓨터 프로그래밍은 혼자 책을 읽고 익혀서 .. 2016. 7. 13.
CLing: C++ 인터프리터 CLing: C++ 인터프리터 CERN Root 프로젝트에서 인터프리터처럼 사용할 수 있는 C++ 프로그램을 만들어서 공개하였다. 이름은 Cling. 이름에서 짐작할 수 있듯니, LLVM과 CLang의 라이브러리를 바탕으로 만들었다. 다든 표준 인터프리터에 비해 나은 점은(advantage) 마치 유닉스 쉘(윈도우에서는 파워쉘)처럼 명령어를 직접 입력해서 출력을 바로 볼 수 있고(파이썬 대화형 쉘을 생각하면 유사. 파이썬 대화형 쉘과는 다름), JIT(just-in-time)라는 컴파일러를 사용 하여 컴파일을 한다. Root 프로젝트에서 현대적이고, 고성능 C++ 인터프리터를 구축하는 게 Cling의 주요 목표여서 이를 성취하기 위한 방향으로 제작을 하였다고 한다. 설치 https://root.cern... 2016. 5. 23.
이현룡 싱가포르 수상 수도쿠 푸는 C++ 코드 현 싱가포르 수상 이현룡(李顯龍, Lee Hsien Loong)이 본인 페이스북에 올린 수도쿠 푸는 C++ 소스코드. https://www.facebook.com/leehsienloong/photos/a.344710778924968.83425.125845680811480/905828379479869/?type=1&theater 이 코드는 C++ 컴파일러에서 컴파일 가능하고 C컴파일러에서는 컴파일을 할 수 없다. 파일이름도 .cpp이다. 이 코드를 약간 고치고 몇가지 조건을 제거하고 컴파일을 하면 C에서도 컴파일을 할 수 있다. 이 코드는 C++보다는 C에 더 가깝고(C++을 잘 모르고, C만 조금 아는 입장이라 아닐 수 있음), 최신 컴파일러가 제공하는 여러 기능과 프로그래밍 기법은 아니지만, 잘 돌아가.. 2015. 5. 12.
오바마 대통령은 버블 소트가 비효율적이라는 정도는 안다! 오바마 대통령이 대통령 입후보 당시 상원의원일 때 구글에서 인터뷰한 화면인듯. https://youtu.be/k4RRi_ntQc8 질문: What is the most efficient way to sort a million 32 bit integers? … 대답: I think the bubble sort would be the wrong way to go… 오바마 대통령이 대답한 bubble sort는 오름차순일 경우 집합에서 원소를 배열하여 맨 앞 두 숫자를 비교하여 작은 수를 앞에 놓고(분류), 다시 그 뒤 수와 다음 수를 비교하여 작은 수를 앞에 놓는(분류) 방식으로 집합 원소 전체를 차례로 비교하는 분류 방식이다. 간단하지만 방식이지만 집합이 클 경우 굉장히 비효율적이고 시간도 많이 소모한다... 2015. 5. 6.