컴퓨터가 지금보다 10000배 빨라진다면 어떤 언어를 사용하시겠습니까?
글쓴이: cleansugar / 작성시간: 토, 2011/09/17 - 4:41오전
미래에 연산, 통신 속도가 수만배 빨라지고, 하드디스크와 메모리 같은 저장장치는 초고속 영구 기억이 되며 용량은 거의 무한대가 될 지도 모릅니다.
양자 컴퓨터도 나온다고 하는데요.
그렇게 된다면 어떤 언어가 가장 널리 쓰이고 편할까요?
지금 나온 언어 중에 하드웨어에 최적화된 것은 오히려 걸림돌이 될지도 모릅니다.
스택이니 힙이니 레지스터 이런 것도 다 없어진다고 가정하고요.
지금 나온 언어 중 살아남을 언어가 있을까요?
애완동물에게 자연언어로 가르치듯 하는 방법이 대세가 될까요?
이 경우에는 이게 실행되게 하는거야. 손가락으로 가리키면서 말로 이렇게요.
그걸 미리 알면 그 목표만을 향해 정진할 수 있을텐데요.
Forums:
한국어
한국어
텔레비젼 보면 되지요!!!
TV 지금 뭐 쓰죠? 라디오는? 없어질까요?
넵 OS의 변천이 핵심이겠죠?
C
컴퓨터 속도는 The C Programming Language가 나온 78년보다 수만 배 이상 빨라졌지만 사람들은 여전히 C를 씁니다. 심지어 포트란도 씁니다.
지금보다 만 배 빨라진다고 해도 큰 차이는 없을듯.
여전히 C 등등의 컴파일 언어가 쓰이는 분야가
여전히 C 등등의 컴파일 언어가 쓰이는 분야가 있겠지만,
지금도 그렇지만, 스크립트 언어가 좀 더 비약적으로 발전하여 스크립트 언어가 대세가 되겠죠.
parrot의 세상이 올지도...
아무거나 상관 없으니 하나만 쓰고 싶어요.
아무거나 상관 없으니 하나만 쓰고 싶어요.
피할 수 있을때 즐겨라! http://melotopia.net/b
일단 C++은 안 쓰게 되겠네요. :)
일단 C++은 안 쓰게 되겠네요. :)
이미 오픈소스는 루비와 파이썬, 자바스크립트 3대
이미 오픈소스는 루비와 파이썬, 자바스크립트 3대 스크립트 언어가 중심이 되어가고 있습니다. 굳이 만 배 빨라지지 않아도 이미 성능 이슈로 언어 선택에 제한 받는 영역은 많이 줄어들었죠. 여전히 전체 오픈소스로 보면 C++, Java, Python, C, JavaScript, Ruby 순서지만, 최근 github가 소스포지를 제치고 오픈소스의 성지가 되어가고 있다는 점, github에서 Ruby, Python, JavaScript가 1,2,3위를 차지하고 있다는 점을 감안하면 2~3년 안에 이 세 언어가 주류가 될 거라고 봐도 될 겁니다.
실리콘밸리 스타트업의 경우는 이미 절대 다수가 주력 기술로 Ruby on Rails를 사용하고 나머지를 Django와 자바가 갈라 먹고 있는 형국입니다. 자바의 10년 천하도 이제 끝나가고, C는 뭐 영원히 살아남겠지만 C로 해야 하는 영역은 점점 줄어들겠지요.
서버좀 늘어나면 서버 성능이 아무리 높아져도 비용
서버좀 늘어나면 서버 성능이 아무리 높아져도 비용 감소를 요구하게 됩니다. 그래서 결국에 하는 일이 php, rails, django든 뭐든 결국 c나 c++ 모듈 (또는 extension)으로 구현을 하게 되죠. --;
돈많은 회사라고 장비에 돈을 바를 수 있을지 모르겠지만, 바르고 나면 항상 나오게 되는 이슈가 비용절감이고, 돈많은 회사일 수록 더 따지는 듯....
돈이 많으면 그 돈으로 서버를 더 사기보다 적은
돈이 많으면 그 돈으로 서버를 더 사기보다 적은 비용으로 서버 돌리는 방법을 연구할 것 같기도 하네요. ㅎㅎ
Facebook이 Hiphop 만드는 것도 그렇고, 서버 비용 절감 차원은 아니지만 Javascript를 JIT 컴파일하는 최근 웹브라우저들도 그렇고...
글쎄요, 아직 Django나 python 계열에서는
글쎄요, 아직 Django나 python 계열에서는 웹의 성능 이슈 때문에 c나 c++ 붙이는 사례는 그닥 없는 듯 한데요. 아예 처음부터 성능 이슈를 고려해야 하는 검색 엔진이라면 모를까, 일반적인 웹사이트를 파이썬으로 개발해놓고 c, c++ 모듈로 최적화하는 게 정말 비용이라도 절감해줄 수 있는지는 좀 의문입니다. 대개는 파이썬 쪽은 성능 최적화할 일이 생기면 pypy를 적용하거나 tornado 등의 비동기 방식으로 전환하죠. Django의 시초인 워싱턴 포스트는 아직까지 pypy조차 적용안하고 그냥 아파치와 mod-wsgi를 쓰고 있다고 들었습니다.
Rails의 경우도 C나 C++로 가는 사례는 거의 없고, 대개는 자바로 컨버팅을 해버리죠. 트위터도 그렇고, 가까이는 미투데이, 카톡도 그렇고 말이죠.
PHP의 경우에는 C로 최적화하는 경우가 종종 있는 듯 하긴 하더군요.
예전에는 성능 안 나오면 C로 해결했다면, 요즘은 그 역할을 자바가 대신하는 느낌입니다. 특히 요즘 스타트업은 Rails로 시작해서 (다행스럽게도!) 성능이 이슈가 되면 자바로 바꾸는 게 공식인 것 같더군요. 뭐, 37signals나 그루폰처럼 그냥 쓰는 회사도 많구요.
어쩌면 회사 마인드의 차이일 수도 있겠네요. 엔지니어의 역량을 서버 비용 줄이는데 쓸 것이냐, 시장 대응력을 높이는데 쓸 것이냐의 선택? 어쨋든, 돈 많은 회사도 여러 종류가 있고, 제가 경험한 회사 중 NHN이나 엔씨소프트는 서버 비용 절감에 특별한 노력을 기울이고 있지는 않았습니다. 성능을 비용 관점보다는 응답 속도 관점에서 더 중요하게 생각해서 돈 처발라서 응답 속도 잘 나오면 오케이라는 주의였죠.
이렇게 자바가 C의 영역을 상당수 대신하게 된 것도 결국은 하드웨어의 발전에 힘입은 것 아니겠습니까. 물론, 자바는 결국 C로 짠 JVM의 눈물겨운 성능 튜닝 덕분이긴 하지만, JVM의 엄청난 메모리 사용을 커버할 수 있게 된 것은 역시 메모리 반도체의 발전 덕분이니까요.
사실 CPU보다도 메모리를 수백 기가쯤 손쉽게 서버에 꽂아 쓸 수 있는 시대가 되면 C에서 더더욱 자유로와지지 않을까 싶네요.
양자 컴퓨터가 나온다면 기초 컴퓨터 이론부터 다시
양자 컴퓨터가 나온다면 기초 컴퓨터 이론부터 다시 공부해야 하지 않을까요..?
--
서명의 샘플
양자 컴퓨터가 나오지 않아도 기초 컴퓨터 이론은
양자 컴퓨터가 나오지 않아도 기초 컴퓨터 이론은 공부해야겠죠...-_-
피할 수 있을때 즐겨라! http://melotopia.net/b
"다시" 공부해야 하는 거죠...
이미 한 사람도...
오프토픽입니다만
백설탕님은 현재 어떤 언어를 주력으로 쓰시나요?
저는 개발자가 아니고 취미로 만듭니다.자바 주로
저는 개발자가 아니고 취미로 만듭니다.
자바 주로 쓰고요, 파이썬 좋아합니다.
C, C++, C#, PHP, Python, JavaScript 초보고,
QuickBasic, HTML, XML, SQL 이런건 언어라긴 뭐하지만 적어봤습니다.
요즘은 시스템 트레이딩에 쓰는 이지랭귀지를 좀 보고 있습니다.
함수형 언어, 배우고 싶습니다.
하스켈도요.
비주얼 언어도 배우고 싶습니다.
비주얼한 함수형 언어도 있는지 궁금합니다.
솔직히 오십년 안에 소멸될 언어는 별로 배우고 싶지 않아서 억지로 공부합니다. (그때까지 죽지않고 살아있을지 모르겠지만...)
제발 그때까지 오래갈 언어를 가르쳐주세요.
수학이나 물리, 화학은 불멸해서 매력적입니다.
외계인이 있다면 그들이 쓰는 수학 표기 관례는 어떨지도 궁금합니다.
자연어로는 한국어가 인구 감소로 소멸할지 몰라 안타깝습니다.
재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.
아이디의 아이디어 무한도전
http://blog.aaidee.com
귀태닷컴
http://www.gwitae.com
그쯤되면 이미 자연어 분석 프로그램 돌리죠 -
그쯤되면 이미 자연어 분석 프로그램 돌리죠 - _-)...
Answer Set Programming
Answer Set Programming Language 들이나
Logic Programming Language 들을 보시면 재밌을 수도 있겠네요.
아마 비슷할듯..
거의 15년전부터 10년 이내에 c/c++ 언어는 없어 질거구..java가 모든걸 대체 할테고.. 그를 넘어서 스크립트 언어가 대세가 될거라고 했고.. 이제 프로그램의 속도는 별로 문제가 안될거다.. 워낙 컴텨가 빨라 질거라서..했는데..
아마도 컴퓨터가 10000배 빨라지면 처리해야할 데이터도 10000배 많아지고 크기도 그만큼 많아 질것 같습니다.
이게 정답인 것 같네요. 가까운 미래에는 인공지능이
이게 정답인 것 같네요.
가까운 미래에는 인공지능이 대두될텐데... 막대한 양의 정보 처리, 막대한 양의 수치 데이터 연산...
그때되어도 C언어의 중요성은 사라지지 않을 듯.
컴파일러, 인터프리터의 기술이 더욱 발전하면 모를까.
10000배로는 부족.
계산량이 뭐낙 많아서 한달 이상씩 계산하던 적이 있었죠. 그나마도 조건을 줄여서..
10000배로는 아직 부족합니다. 과학기술 분야에선 계산량이 많아서 못푸는 문제들이 아직 많이 남아 있습니다.
그런 이유로 여전히 C언어나 포트란을 주로 쓸거라 생각합니다. 그 외 분야는 C계열 언어 안써도 되겠죠.
계산량이 많아서 못푸는 대표적인 문제들
계산량이 많아서 못푸는 대표적인 문제들 :
http://cafe.naver.com/setikah/816 , http://boinc.berkeley.edu/
10000배 빨라지는게 문제가 아니라 모든 컴퓨터
10000배 빨라지는게 문제가 아니라
모든 컴퓨터 언어의 속도가 '똑같아' 진다면 뭐를 사용하겠느냐라는 질문이 더 의미있을 것 같군요
C#
제일 느리지만 가장 쓰기 편한 언어...
-----
안녕하세요 소프트웨어 공학센터 장원석 책임입니다.
http://www.software.kr
무어의 법칙으로 보면 겨우 이십년 뒤에 만배가
무어의 법칙으로 보면 겨우 이십년 뒤에 만배가 되는군요.
재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.
아이디의 아이디어 무한도전
http://blog.aaidee.com
귀태닷컴
http://www.gwitae.com
이게 가장 올바른 접근 방법인 것 같아요.
컴퓨터가 10000배 빨라진다면 어떤 언어를 사용하시겠습니까? (x)
20년 뒤에는 어떤 언어를 사용하고 있을까요? (o)
There is no spoon. Neo from the Matrix 1999.
추석연휴 무려 9일 '2031년 꿈의 달력'
추석연휴 무려 9일 '2031년 꿈의 달력' 화제
http://news.naver.com/main/ranking/read.nhn?mid=etc&sid1=111&rankingType=popular_day&oid=117&aid=0002179395&date=20111015&type=1&rankingSeq=6&rankingSectionId=105
재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.
아이디의 아이디어 무한도전
http://blog.aaidee.com
귀태닷컴
http://www.gwitae.com
그래도 C 씁니다.. 그시대에는 해야할일도 수만배
그래도 C 씁니다..
그시대에는 해야할일도 수만배 늘어날테니까요.. 결국 사람들은 그시대에도 더빠른성능을 요구하게됩니다.
결국 다른프로그램보다 더빠를수있고... 그만큼 더빠르게 일할수있죠...
10년전이나 20년전이나 그때당시로서도 컴퓨터는 느리다고 생각안했습니다. 다만 더빠르기를 원했죠..
언어의 종류도 10000배 늘어날 것 같습니다.
언어의 종류도 10000배 늘어날 것 같습니다.
--------Signature--------
시스니쳐 생각 중..
진짜 그럴지도 모르겠네네요. 수렴이 아니라 발산
진짜 그럴지도 모르겠네네요.
수렴이 아니라 발산
재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.
아이디의 아이디어 무한도전
http://blog.aaidee.com
귀태닷컴
http://www.gwitae.com
불편한 진실...
개그콘서트
불편한 진실!!
ㅋㅋㅋ
무슨 뜻인지 자세히 알려주세요.
무슨 뜻인지 자세히 알려주세요.
재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.
아이디의 아이디어 무한도전
http://blog.aaidee.com
귀태닷컴
http://www.gwitae.com
삭제
죄송합니다.
좋은 토론입니다. 그런데 현존하는 어지간한 언어도
좋은 토론입니다.
그런데 현존하는 어지간한 언어도 느리다는 이유로 사용 대상에서 제외되는 경우는 없을정도로 이미 컴퓨터 속도가 빨라진것 같습니다. 멀티코어 환경에서 스케일가능한 개발 패러다임이 점점더 중요시 될듯.
--
Life is short. damn short...
하드웨어가 바뀐다고 해도 쓰던 언어 계속
하드웨어가 바뀐다고 해도 쓰던 언어 계속 쓰겠죠..
일단 쓰던 언어를 계속 써야 남들이 경력을 인정해 줄테고
쓰던 언어를 계속 써야 딴거 공부 안해도 되고 ^^
것보다 진짜 중요한건 쓰던 언어를 계속 써야 레거시 코드들을 관리할 수 있습니다.
임베디드 분야에서는...
여기 오시는 대부분의 분들이 PC 프로그램을 주로 하시는 분들이라 그러는지,
다른 쪽 분야는 거론되지 않는 듯 하네요.
저는 펌웨어 엔지니어 관점에서 보겠습니다.
펌웨어도 예전에는 ASM을 주로 사용했는데, 메모리의 용량의 증가와, CPU의 속도 증가로,
지금은 대부분 C을 주로 사용하고 있지만, 대량 생산을 고려한 제품들은
아직도 ASM으로 코딩합니다. 단가가 무척 중요한 factor로 작용되기 때문입니다.
성능 좋은 컴파일러 같은 경우 일부분의 C++ 문법을 지원하지만, 여전히 C를 사용합니다.
모든 것이 기하급수적으로 발전한 개발 환경이 도래한다면.....
인간은 놀고 먹고, 나머지는 모두 로봇이 알아서 하겠죠.. ^^
그 전의 과도기적 상태에서는,
아마도 각각의 언어는 사라지지는 않고 사용층이 적어지기는 하겠죠....
펌웨어도 자바로 개발할 수 있는 날이 오려나???
그 때까지 모두 건강하게 살아봅시다. ^^;;
즐거운 하루 되세요.
인간은 놀고 먹고 나머지는 모두 로봇이 하는건 장미빛
인간은 놀고 먹고 나머지는 모두 로봇이 하는건
장미빛 미래가 아니고
정리해고가 기다리는 미래입니다.
인간은 그냥 놀게 되지 싶은데요
인간은 그냥 놀게 되지 싶은데요
피할 수 있을때 즐겨라! http://melotopia.net/b
그보다는 자본주의 체제가 변화가 있겠지요 로봇이
그보다는 자본주의 체제가 변화가 있겠지요
로봇이 노동을 대신 한다고 해서 인간이 놀지만은 않을 겁니다
드디어...
C/C++로 현재 제가 원하는 작업을 시간에 맞춰 할 수 있는 수준이되었습니다.
님들아...
인텔은 이미 '무어의 법칙'에 기초한 CPU 진보의 종언을 선언했습니다.
비매모리 반도체 뿐만 아니라, 메모리 반도체의 경우도 그렇습니다. 지금과 같은 속도로 메모리 집적 기술이 발전할 경우, 향후 10년 안에 양자역학적 물리학적인 한계에 부딪힌다는 것을 반도체 업계 또한 잘 알고 있습니다.
물론 반도체 공학에서 양자 역학이 유용하게 사용되기는 하지만, 그것은 반도체 자체를 만드는데 양자역학을 사용하였을 뿐 계산에 양자역학이 이용되지는 않았죠.
기존의 트랜지스터가 0 혹은 1이라는 2개만의 입력 값으로만 연산이 가능한데 반해 양자로 구현되면 한 개의 트랜지스터에 0, 1, 2, 3 등.. 다중치 연산이 가능하다지요.
지금까지의 모든 컴퓨터는 고전적인 전자기 동역학을 이용해서 계산하는 것이고, 양자 컴퓨터는 양자역학 그 자체를 이용하여 계산합니다. 당연히 양자 프로그래밍 언어 또한 달라야 겠지요.
뭔가 양자컴퓨터에 대해 잘못 알고 있는 부분이 있어서
뭔가 양자컴퓨터에 대해 잘못 알고 있는 부분이 있어서 첨언하자면, 양자컴퓨터의 qubit은 기존의 0/1로 이루어진 bit를 양자상태로 만들어서 0과 1의 결합상태로 표현한 겁니다.
예를 들어 어떤 qubit을 |z>라고 표시한다면,
처럼 표시되고 이때 x의 제곱과 y의 제곱을 더하면 1이 되죠.
그리고 보통의 컴퓨터처럼 0과 1에 대한 연산을 하면
처럼 됩니다. 이제 이 "연산 H"의 결과를 알아내기 위해서 x'과 y'의 값을 조사하면 됩니다.
중요한건, 0에 대한 계산과 1에 대한 계산이 동시에 이루어진다는 것이죠.
엄밀히 말해 다중치 연산이 가능한건 아닙니다.
피할 수 있을때 즐겨라! http://melotopia.net/b
님들아...
인텔은 이미 '무어의 법칙'에 기초한 CPU 진보의 종언을 선언했습니다.
비매모리 반도체 뿐만 아니라, 메모리 반도체의 경우도 그렇습니다. 지금과 같은 속도로 메모리 집적 기술이 발전할 경우, 향후 10년 안에 양자역학적 물리학적인 한계에 부딪힌다는 것을 반도체 업계 또한 잘 알고 있습니다.
물론 반도체 공학에서 양자 역학이 유용하게 사용되기는 하지만, 그것은 반도체 자체를 만드는데 양자역학을 사용하였을 뿐 계산에 양자역학이 이용되지는 않았죠.
기존의 트랜지스터가 0 혹은 1이라는 2개만의 입력 값으로만 연산이 가능한데 반해 양자로 구현되면 한 개의 트랜지스터에 0, 1, 2, 3 등.. 다중치 연산이 가능하다지요.
지금까지의 모든 컴퓨터는 고전적인 전자기 동역학을 이용해서 계산하는 것이고, 양자 컴퓨터는 양자역학 그 자체를 이용하여 계산합니다. 당연히 양자 프로그래밍 언어 또한 달라야 겠지요.
비쥬얼한 언어
언어는 아니지만 야후의 파이프(http://pipes.yahoo.com/pipes/)
또는 비쥬얼한 언어(http://en.wikipedia.org/wiki/Visual_programming_language)가 대세가 되지 않을까요?
글쎄요... 복잡한 랩뷰 소스코드를 보면
글쎄요...
복잡한 랩뷰 소스코드를 보면 "까르보나라 스파게티 코드"가 시각화 되어 있는게 보입니다. 소스코드를 추가하려면 네모칸을 마우스로 끌어서 늘려주고 거기에 그림을 그려야 하죠. 그리고 if 분기문에서 yes와 no를 한번에 못 봅니다.
사용량이 늘어나긴 하겠지만 대세까지는 안 갈 것 같아요.
피할 수 있을때 즐겨라! http://melotopia.net/b
그러면 sw hw 같이 rtl full
그러면 sw hw 같이 rtl full co-simulation 돌려도 되겠네요.. 지금은 너무 느려요..
그시대의 하드웨어로 그시대의 하드웨어를 시뮬레이션하면
그시대의 하드웨어로 그시대의 하드웨어를 시뮬레이션하면 마찬가지로 느린거 아닌가요... ㅎㅎ
컴퓨터 하드웨어 리소스가 지금보다 10000배 빨라진다면,
컴퓨터 하드웨어 리소스가 지금보다 10000배 빨라진다면,
그만큼 처리해야할 데이터의 용량도 커지고 독점기업들의 OS제품들도 덩치가 커져서 1만배(?)는 느려질테니,
정작 "체감속도"는 지금 현재와 별반 큰 차이가 없게 되지 않겠습니까?