2010-12-02 4 views
9

당신은이 질문이 어리 석거나 새로운 IT 학생이라고 생각할 수도 있습니다. 저는 한 언어 (예 : 자바)를 배울 때 이전에 배웠던 것을 잊어 버리는 경향이 있습니다 (예를 들어 ...). 구문을 뒤섞어서 .... 그래서 모든 것을 하나로 합쳐서 학생들이 많은 언어를 배울 필요가 없다 ... 쓸모없는 프로그래밍 언어를 죽인다. 왜 sql과 같은 표준을 만들지 않을까 ????왜 프로그래밍 언어가 너무 많습니까?

+1

이 질문이 여기에 있어야합니까? – mih

+0

글쎄, 처음에는 모든 언어의 모든 기능을 하나의 언어로 사용할 수 있다면 모두가 하스켈의 화살표 http://www.haskell.org/ghc/docs/latest/html/와 같은 것을 배우기 시작해야 할 것입니다. users_guide/arrow-notation.html. 그게 당신이 원하는 무엇인가요? –

+1

이 질문은 여기있는 모든 사람들이 생각하는 것처럼 모호하지 않습니다. – anonymous

답변

6

다른 언어는 주소 또는 포용 :

  • 다른 요구
  • 다른 플랫폼
  • 차이 모델 (기능, OO 등)
  • (특정 지역, 신뢰성, 틈새 프로그램 등을 표현의 용이성 성능을) 많은 프로그래밍 언어가 있습니다

  • 다른 역사
  • " 특정 상황에 특정한 "범용"및 기타 ... 그러나 "범용"프로그래밍 언어 내에서도 다른 언어를 대체 할 준비가 된 언어는 없습니다. 심지어 SQL의 귀하의 예제와 함께, 대부분의 DB 벤더가 넘어 데이터베이스 취해야하는 SQL에 자신의 확장이

    참고 "여기에 쿼리의가, 나에게 결과의 테이블을 제공합니다."

    +1

    그런 다음 구문을 동일하게 만들지 마십시오 ??? 왜 표준을 만들지 않을까요 ?? – newbie

    +0

    @joy : 많은 언어가 * 유사한 * 구문 (예 : C, C++, Java, C#)을 공유하지만 다른 언어가 다른 구문 모델을 탐색하도록 허용하는 것이 혁신을 장려하는 일부입니다. 서로 다른 프로젝트는 서로 다른 요구 사항과 틈새를 가지고 있습니다. 우리는 "모든 것이 맞는 세상"에 살지 않습니다. –

    +0

    ok .. tnx .. 그럼 모든 것을 공부해야 할 것 같아요. – newbie

    2

    프로그래밍 언어는 컴퓨터가 더욱 강력 해지고 많은 응용 분야로 발전함에 따라 발전해 왔습니다.

    은 시작에서 능숙 매우 제한했다 등등 어셈블러, 코볼과 같은 기계에 하나 개 필요한 프로그래밍 언어와 매우 가깝습니다.

    요즘, 우리는 CPU 사이클에 관련하여 매우 정교한 프로그래밍 매우 편안 프로그래밍 만든다 자바와 C# 같은 언어,하지만 매우 효율적이지를 사용할 수 있도록 많은 처리 능력이있다.

    각 프로그래밍 언어는 자체 목표가 있습니다. 임베디드 개발의 경우 주로 Assembler, C 및 C++가 사용됩니다. 이 목적을위한 다른 많은 언어가 있습니다. 웹 개발을 위해서는 사용 가능한 여러 언어가 있으며 각각은 작업을 쉽게 수행 할 수있는 또 다른 측면에 중점을 둡니다. Java와 같은 모든 플랫폼에서 작동하는 언어와 VB.NET과 같이 Windows 프로그래밍을 매우 쉽게 만드는 언어가 있습니다.

    프로그래밍 언어를 배울 때 목표는 구문을 배우는 것이 아니라 프로그래밍 원리를 이해하는 것입니다. 만약 당신이 이것을 가지고 있다면, 당신은 동일한 패러다임 (객체 지향, 절차 적, 기능적, ...)을 따르는 한 다른 언어를 빨리 배울 수 있습니다.

    2

    "모두를 다스리는 하나의 언어"라는 생각은 흥미 롭습니다 이론적 인 아이디어, 모든 상황에 모든 것을 시도하는 모든 언어는 결국 자신의 무게로 뒤집힐 것입니다.

    예를 들어 C#에서 흥미로운 변경 사항이 더 기능적으로 또는 더 동적으로 변경되는 것을 보면서, 모든 것을 시도하고 너무 많은 내용을 핵심 구문에 포함시키는 언어는 궁극적으로 매우 미묘한 차이 구문에서 예기치 않은 동작이 발생할 수 있습니다.

    언어는 사용자가 그 의도를 달성하기 위해 컴파일러와 싸우지 않을 의도와 의도를 표현하는 데 도움이되어야합니다. 예를 들어, F #보다 C#에서는 immuteability가 어렵습니다. Ruby에서 정적 유형을 사용하는 언어보다 쉽고 표현하기 쉽습니다.- 의도를 표현하는 데 더 도움이되는 자체 언어 (DSL)를 구축하는 극단적 인 경우까지 갈 수 있습니다.

    저는 Cobol, Fortran, C, Pascal, VB, C#, VB.Net, Javascript 및 Ruby (XAML, SQL, HTML, CSS 등은 말할 것도 없습니다)

    언어는 구문에 관한 것이 아닙니다. 쉬운 부분입니다. 오히려, 그 언어의 특정 관용구를 배우고, 그것을 활용하여 문제를 해결할 수있는 독특한 강점을 가지고 있습니다. 또한 다양한 언어를 알고 있으면 어떤 언어가 표현력, 유지 보수성 및 우아함과 같은 방식으로 문제를 가장 잘 해결할 수있는 적합한 기능을 제공하는지 더 잘 판단 할 수 있습니다.

    +0

    +1. 나는 당신이 쓴 것과 동의하는 경향이 있지만 간과되는 것처럼 보일 수있는 또 다른 생산성 요소에 대해주의를 기울일 것입니다. 한 언어에서 다른 언어로 전환하는 것입니다. (그리고 나는 당신이 이미 그 언어를 알고 있다고 가정하고 있습니다. 아직 학습 곡선 ...) –

    관련 문제