인터프리터 언어가 느리다고 하는 사람들
뭐 얼추 맞는 얘기긴 하지만 성능면에서만 그런거지?
어플리케이션 계층이나 서버에서 스크립트 언어가 가지는 이득을 무시하고
단순히 느리다라고만 할 수 있는 건 아닌듯
그냥 내 생각이야
일단 스크립트 언어와 c언어와의 속도차이가 10%를 넘지 않는 다는 것과
좀 더 잘 짜진 스크립트 언어 프로그램은 그 차이를 좁히거나 더 빠를 수 있다는 것
그리고 수정, 코드 파악이 더 쉽다는 것, 그래서 인건비를 줄일 수 있고
좀 더 높은 레벨, UI, UX 등을 더 신경쓸 수 있다는 장점 등
인터프리터 언어들이 가진 장점들로 단점들을 커버 할 수 있다고 봄
그렇기 때문에 스크립트 언어가 느리다 라고만 할 것은 아닌 것 같음
효율성을 따져보면 나은 부분도 있다고 봄
물론 사용이 제한되는 부분이 많다거나 접근할 수 없는 계층이 있는 것은 인정함
용도에 따라 다르다고 생각함
주저리주저리햇는데
그냥 내생각
당연히 상회하지.
다만 세상에는 여전히 \"닥치고 실행성능\"를 따져야 하는 분야가 남아있다는 게 문제일 뿐
그리고 속도차이를 너무 낮게 잡은 것 같은데, \"배\"를 %로 잘못 쓴 거 아냐?
대부분의 고급 개발자들이 운영체제의 하부 레벨을 C로 구현되었다는 것에 대해 CS의 진보를 가로막는 장애물이라고 생각한다고도 함
자바와 루비가 7% 내외 차이임
영상처리를 인터프리터 언어로 해봐야 정신차리지
하기도 전에 정신차림
뭐 MS에서는 연구목적으로 바닥부터 .NET기반인 OS를 만들어 보기도 했다더라. 윈폰7이 나온 걸로 봐서 그게 100% 연구용이기만 했는지는 모르겠지만.
닷넷이고 뭐고 할아버지 언어인 C가 아직도 대부분의 OS의 하부레벨을 담당하는게 문제라고 하더라
요즘 내가 글쓰면 흥한다 내가 댓글을 친절하게 달아서 그런가바
http://shootout.alioth.debian.org/u32q/which-programming-languages-are-fastest.php
이거 하나만으로 판단할 수 있는 문제는 아니지만
문제라고까지 할건 뭐임. C 말고 대안이 있긴 한가??
닷넷 정도면 충분히 괜찮지 않나?
문제라... 신기하네요... C로 작성하면 시스템이 C에 종속되나요? 이해가 잘 안되네요.
그럼 OS 밑 레이어에 닷넷을 깔아야할텐데 그럼 닷넷을 돌릴 OS가 또 필요하고...
컴파일러나 개발 환경이 중요할 거 같은데요. OS 코드 일부가 C로 작성되어도 pyhton 잘 돌아가는 OS가 리눅스, Windows입니다.
솔직히 내가 답변을 제대로 못해주겠음 나도 사실 언어 자유론자이고(그때그때맞는것을사용함) 그러면서 루비를 좀 좋아하기 때문에 옹호하는 거고
언어를 만들고 디자인 하는 사람들은 C보다 더 세련된 언어들이 하부구조를 담당하는 것을 원함 근데 제대로 설명 못하겠다 내가 모든 로우레벨을 들여다 보는 사람은 아니라서
어떤 놈이 특정한 언어를 요구하지 않는 한은 자기 주력언어를 사용하는게 좋을듯, 프로그래밍은 언어를 하는게 아니라 언어를 사용해서 무언가를 해야하는 분야니까.
세련된 언어들이 OS에서 하는 역할은 무엇인가요? 어차피 기계는 바이너리 데이터를 실행할텐데요.
그 프로그래밍중 언어 디자인을 하는 분야도 있음 그런 사람들은 이런 것에 대해 깊이 생각함 또 그래야하고 근데 내가 그렇단건 아냐 ㅋㅋ
한국놈이 소설을 쓸 때는 감성적인 언어인 프랑스어를, 보고서를 쓸때는 논리적인 영어를 사용해서 써야한다 라는건 역시 이상하겠지? 언어에 따라 분야에 따라 유불리가 있을 수 있지만,
랭기지 디자이너들이 더 아래쪽으로 내려가길 원하는 건 C가 구현하거나 재사용하는데 비용이 많이 든다거나 하는 이유로 싫어할 것 같긴 한데 그런식이면 바닥에서만 놀고 있는 프로그래머들은 왜 언어 디자이너들은 뜨신 밥 먹고 엄한데다 정력을 낭비하나 하겠죠.
따지고 들어가면, 결국 무엇을 할 수 있느냐가 중요해 지는거지.
OS하부나 부트로더 가튼거를 맹글려면 어느정도 예측가능한 네이티브 코드를 만드러내는 언어가 필요한데 인터프리터 언어로 이걸 어캐 하냐능 [m]
사실 별 상관없는 문제이기도 한 게, 가상머신이나 런타임 위에서 도는 언어면 그냥 가상머신이나 런타임 위에서 놀면 되니까 아래쪽이 C로 되어 있든 뭘로 되어 있는 별로 상관 안 할 거고, 바이너리 컴파일이 되는 언어면 어차피 기존 C 코드와의 연동을 고려할 테니 (Haskell도 할 수 있는 걸 다른 언어가 못한다고는 생각하지 않겠음) 역시 아래쪽이 C로 되어 있어도 상관 없고.
결론은 별 상관없네. 물론 OS가 D나 Haskell 같은 좀 더 현대적인 언어로 되어 있으면 좋기는 하겠지만, 언어적인 이점 외에는 별 다른 이득은 없을 듯.
내 내공이 부족해서 설명을 못하겄다 항복!
차라리 .NET 기반 OS같은 경우처럼 OS 자체가 가상머신을 구현하고 그 위에다가 OS 계층을 쌓는 경우라면 가상머신을 씀으로써 얻을 수 있는 이득을 OS 전체에서 누릴 수 있을 테니 또 모르지만... 근데 그 정도로 성능이 남아돌까?
하긴 핸드폰에서 VM을 돌리는 시대니까 하려면 못할 건 없을듯... 근데 누가 하지?
C가 아직도 대부분의 OS의 하부레벨을 담당하는게 어째서 문제인가요?
헐.. 그건 저도 궁금하네요.
OS의 하부레벨을 구현하는 언어에 상위레벨 구현이 종속되나?
그냥 맘에 안드는게 문제지 뭔 문제가 있겠냐능 ㅉㅉ [m]
소스가 C면 컴파일된 바이너리도 C인가?
ㄴ 지저분하고 낡아빠진 C 코드 따위를 만지면서 이몸의 고귀한 손을 더럽히고 싶지 않다는 의미에서의 문제 아닐까요
왠지 내가 이런 얘기 하니까 뭔가 심각한 모순같지만
C가 아직도 대부분의 OS의 하부레벨을 담당하는게 문제라면 C가 문제가 아니라 모든 네이티브 코드를 생산하는 컴파일러의 문제라고 봐야지. 그럼 스크립트나 인터프리터나 하이브리드 언어로 짠다? 그걸 돌리는 머신은 결국 네이티브지.
하이브리드 언어가 OS하부레벨을 담당하기 어려운 이유중 하나는 가상머신을 하이브리드 언어로 짜는게 상당히 곤란하기 때문일 듯
요는 컴파일러든 뭐가 됐든 부트스트랩 코드를 정해진 절차대로 해줄 수만 있으면 불가능한 것은 아니다는 것이죠. 범용으로 가능하지는 않겠지만요.