컴퓨터 프로그래밍에서 학사 과정을 가르 칠 때 어떤 언어를 사용해야합니까?


22

학부 수준의 학생들에게 컴퓨터 프로그래밍 소개라는 과정을 가르치려고합니다. 조금 혼란 스러워요. 전산 물리학 과학자들은 C / C ++ 또는 Python 또는 Fortran, CUDA 등을 사용합니다. 무엇을 사용해야합니까? 나는 당신이 당신의 인생에서 언제든지 새로운 프로그래밍 언어를 배울 수 있다는 것을 알고 있지만 나중에 모든 기본 프로그래밍 개념과 OOP 개념을 구체화하는 것이 현명한 선택입니다.


9
@ k20 : 나는 당신의 제안이 혀에 혀 있었으면 좋겠다. 그렇지 않으면 학문적 윤리에 심각한 위반이 될 수 있습니다.
Christian Clason

6
@ k20 :이 모든 것은 주제를 벗어난 것이지만, 가르치는 내용이 아닌 교사에게 어떤 종류의 기계 반동에 기초한 소프트웨어를 선택하는 것은 비 윤리적입니다. (명확하게 말하면, 그것은 내가 반대하는 "스왑"입니다.) 일반적으로 회사는 소프트웨어를 상당히 저렴한 비용으로 (또는 무료로) 이용할 수 있습니다.
Christian Clason

3
@ k20 : 또한 소프트웨어 회사의 동기가 전적으로 이타 적이 지 않다는 점을 명심하십시오. 학생들은 지금 무료로 소프트웨어를받을 수도 있지만 나중에 언젠가 소프트웨어를 구입해야 할 수도 있습니다. 소프트웨어).
Wrzlprmft

3
@ k20 Matlab과 Mathematica는 실제로 심각한 과학 계산에 많이 사용되지 않습니다. 그들은 아이디어를 시험해보기위한 더 탐구적인 도구입니다. 이 과정의 목적이 기본 알고리즘을 가르치는 것이라면 적합 할 수 있지만 (특히 Matlab) 일반 프로그래밍 인 경우 C ++의 Python과 같은보다 일반적인 프로그래밍 언어로 가고 싶습니다.
Truman Ellis

2
MATLAB에는 다른 언어로 나쁜 관행이 필요한 디자인이 있습니다 (외교적이지 않은 경우 결함이라고 말합니다 :). 다른 많은 것들이 다른 것과는 다르기 때문에 "나가기"가 어려울 수 있습니다. 내 생각에 Mathematica는 아름다운 디자인을 가지고 있지만 다른 언어와 유사하지는 않지만 (Lisp는 제외하지만 과학에서는 사용되지 않음), 다른 언어를 배우는 데는 거의 쓸모가 없습니다. OTOH, C <-> Python으로가는 것이 훨씬 쉽습니다.
Davidmh

답변:


32

첫째, 학부생들이 우리와 비슷하고 컴퓨터에 대한 사전 소개가 없다면 적절한 편집기 (예 : MS Word가 아닌), 명령 줄 등을 사용하는 기본적인 방법을 가르치는 데 시간을 할애해야합니다.

답은 코스의 초점을 어디에서 설정해야하는지 (또는 가르 칠 것이 무엇인지에 따라) 다소 다릅니다. 예를 들면 : 컴퓨터의 내부 작동은 어느 정도 관련이 있습니까? 클래스 및 기타 고급 OOP 구조가 필요하십니까? 효율적인 프로그램을 만드는 방법을 가르치고 싶거나 그들이 일하는 프로그램을 전혀 만들면 행복합니까? 또한 유능한 교사가 필요할 것임을 잊지 마십시오.

그러나 이제는 언어의 장단점에 익숙합니다. 이것은 주로 컴퓨터 물리학 자로서의 경험에 의한 것이며 일부는 특정 분야, 작업 그룹, 대학 등에 따라 다를 수 있습니다.

파이썬

나는 일반적으로 거의 처음부터 Numpy를 사용하는 것이 좋으며 다음과 같이 사용한다고 가정합니다.

장점 :

  • 배우기 쉽고 다른 사람들의 코드 (예를 들어, 예제 코드뿐만 아니라 튜터의 학생 코드)도 읽는 것입니다.
  • 입력과 출력 (과정의 초점이 아니어야 함)은 print, Numpy 's savetxtloadtxt, 및 로 완전히 다룰 수 있습니다 sys.argv. 즉시 도입 할 수 있으며 프로그래밍 시간이 많이 걸리지 않습니다.
  • 숫자 표현, 메모리 관리, 데이터 유형과 같은 세부 사항을 다룰 필요가 없거나 거의 다루지 않아도됩니다. 따라서 프로그래밍이 빠르고 실제 알고리즘에 집중할 수 있습니다.
  • 컴파일 된 언어가 아닙니다. 학생들은 컴파일러를 다룰 필요가 없으며 프로그램을 컴파일, 재시작 및 재실행하지 않고도 콘솔에서 직접 테스트 할 수 있습니다. 이와 관련하여 디버깅이 더 쉽습니다.
  • 거의 모든 것을위한 사용하기 쉬운 라이브러리가 있습니다.
  • 쉘 스크립트, Make, Gnuplot 등과 같은 추가 스크립트 언어를 배울 필요가 없습니다.이 모든 것은 Python에서 수행 할 수 있습니다.
  • 좋은 튜토리얼이 많이 있습니다 (무료).

단점 :

  • 컴파일되지 않았습니다. 따라서 파이썬 프로그램은 계산 물리학과 관련된 경우에 컴파일 된 프로그램보다 훨씬 느릴 수 있습니다. 그러나 다른 경우에는 라이브러리 (특히 Numpy)가 비슷한 성능을 낼 수 있습니다. 파이썬으로 좋은 성능을 얻는 또 다른 방법은 C¹과 같은 다른 언어로 관련 코드 스 니펫을 작성하는 것입니다. 분명히이 언어를 배우려면 나중에이 작업을 수행 할 수 있으며 파이썬을 배우는 데 시간이 낭비되지 않습니다.
  • 숫자 표현, 메모리 관리, 데이터 유형 및 함정과 같은 세부 사항은 다소 난독 처리되기 때문에 가르치기가 더 어렵습니다.

C / C ++

장점 :

  • 컴파일되어 효율적인 코드를 생성하는 것이 더 쉽습니다.
  • 숫자 표현, 메모리 관리, 데이터 유형을 직접 다루고 있으므로이를 가르치는 것이 더 직관적입니다. 학생들은 컴퓨터에서 실제로 일어나는 일에 더 가까이 다가갑니다.
  • 기본적으로 모든 것에 대한 라이브러리가 있지만 라이브러리를 이해하고 사용하려면 약간의 작업이 필요합니다.
  • C / C ++에는 적절한 양의 기존 코드가 있으므로 학생들이이 코드를 사용하려면 언어를 배워야합니다.
  • C / C ++를 이미 알고 있다면 Python (예 :)을 매우 빠르게 배울 수 있습니다.

단점 :

  • 컴파일되고 학생들은 컴파일러, 전 처리기, 헤더 등을 처리해야합니다. 학기 말에도이 단계에서 얼마나 많은 학생들이 실패하는지 놀라게 될 것입니다.
  • 학습 속도가 느리고 작업 코드를 생성하는 데 시간이 더 걸립니다.
  • 입력 및 출력과 같은 한계를 다루는 것은 프로그래밍에서 가르치는 데 시간이 걸립니다. C ++에는 입력 및 출력을위한 추가 구문이 있습니다.
  • 컴파일러 및 운영 체제 종속성
  • C / C ++ 혼란을 처리해야합니다.
  • 많은 양의 구문 기능으로 인해 특히 C ++에서 다른 코드를 읽는 것은 매우 어려울 수 있습니다.

C에 비해 C ++의 주요 장점 (클래스, 템플릿)은 강의와 관련이 없으며 대규모 프로젝트에만 관련이 있습니다. 따라서 두 가지 중 C가 더 간결하므로 C를 선택합니다.

기타

다른 언어에 대한 의견 :

  • 포트란 : 이것은 여전히 ​​많은 그룹에서 사용되고 있으며 많은 레거시 코드가 있지만 오래된 표준과 그 큰 한계와 함정을 다룰 수는 없습니다 (많은 사람들이 여전히 포트란 77을 사용하고 있습니다). 또한 자습서를 찾고 인터넷에 대한 도움말 등을 찾기가 훨씬 더 어려워집니다.
  • Matlab / Mathematica : 독점 소프트웨어의 모든 문제. 특히 학생들이이 소프트웨어에 액세스 할 수없는 사람들과 그에 따르는 문제에 대해 협력 할 가능성이 있다는 것을 고려하십시오.
  • Cuda : 성능이 중요한 경우 특정 문제에만 해당됩니다. 또한, 내가 아는 한, 당신은 이런 식으로 프로그래밍을 배우고 싶지 않습니다.

¹ 최소한 우리 그룹의 표준 워크 플로우입니다.


매우 정확한 답변
Afnan Bashir

1
또한 언급되지 않은 파이썬의 보너스 중 하나는 동일한 컴퓨팅 페이지에서 모든 사람을 얻는 과정을 실제로 원활하게하는 많은 과학적 배포판 (Anaconda / Enthought / PythonXY / SAGE)이 있다는 것입니다. 또한 웹 기반 접근 방식 (Wakari 및 SAGE)은 브라우저 (일명 0 설치 소프트웨어)를 통해 모든 기능을 제공합니다. c ++ 또는 Fortran을 강의하는 교육은 코드 속도에서 얻은 시간보다 컴파일러와의 싸움에서 더 많은 시간을 잃게됩니다.
meawoppl

파이썬에는 계산 물리학을위한 놀라운 생태계가 있습니다. Numpy, 시각화를위한 기본 인프라, mayavi, tvtk 제공 파이썬은 과학 컴퓨팅 커뮤니티에서 꽤 성숙합니다. 프로덕션 환경에서 C ++을 사용하지만 사용하기가 어려울지라도 상관 없습니다.
Sai Venkat

@meawoppl : "C ++ 또는 Fortran을 학사 과정에서 학습하면 코드 속도에서 얻은 시간보다 컴파일러와의 싸움에서 더 많은 시간을 잃게됩니다."– 문제가되는 과정의 연습을위한 코드 속도는 아닙니다 (프로그램은 매우 빠릅니다. 그렇지 않으면 연습이 구체적으로 이루어지지 않는 한) 실제 또는 이와 유사한 프로그램을 작성하는 프로그램의 코드 속도. 그리고 파이썬에서만 효율적으로 수행 할 수없는 것들이 있습니다.
Wrzlprmft

1
CUDA는 모든 사람이 가지고 있지 않은 하드웨어를 필요로하기 때문에 범용 코스에 대한 질문에서 제외됩니다. 노트북이 없으면 랩탑을 설치할 수있는 방법이 거의 없습니다.
Davidmh

22

2014 년에는 파이썬이라고 말했습니다. 2017 년에는 학부생들에게 줄 언어가 줄리아라고 진심으로 믿습니다.

교육은 항상 트레이드 오프에 관한 것입니다. 한편으로는 파악하기 쉬운 간단한 것을 선택하려고합니다. 그러나 둘째로, 당신은 힘을 유지하는 무언가, 즉 당신과 함께 성장할 수있는 무언가를 가르치기를 원합니다. 공통 동적 언어 (Python / MATLAB / R)는 모두 존재하지 않는 상용구 코드와 통역사 열기 및 코드 분리의 용이성으로 인해 카테고리 1에 쉽게 속하지만 C / C ++ / Fortran은 오늘날 세계의 핵심 고성능 소프트웨어가 작성된 언어.

그러나 다른 범주를 완전히 포착하지 못하는 언어를 사용하는 데 문제가 있습니다. 파이썬과 같은 언어를 사용할 때 유형과 정수 오버플로와 같은 것들을 멋지게 추상화합니다. 이것은 첫 학기 컴퓨팅을 가르치는 데는 좋지만 실제로 실제로 어떻게 작동하는지에 대해 더 깊이 파고 들고 싶을 때 파이썬의 언어는 기본 금속에서 너무 추상화되어 좋은 교육 도구가 아닙니다. 그러나 C / C ++ / Fortran (또는 Java ... Java를 먼저 배웠습니다 ...)은 모두 시작 비용이 너무 커서 배우기 가장 어려운 것은 헤더 설정 및 main컴파일 방법을 배우는 것 입니다. 실제 학습에서 프로그램으로 산만 .

줄리아를 입력하십시오. Julia를 처음 사용할 때는 유형에 대한 전체 아이디어를 추상화하여 MATLAB 또는 Python처럼 사용할 수 있습니다. 그러나 더 많은 것을 배우고 자한다면 언어에 깊이있는 "토끼 구멍"이 있습니다. 형식 시스템과 LLVM을 통한 다중 디스패치에 기반한 추상화 계층이기 때문에 본질적으로 "정적으로 컴파일 된 코드를 작성하는 쉬운 방법"입니다 (그리고 형식 안정 함수는 실제로 정적으로 컴파일 될 수 있음). 이것이 의미하는 것은 C / C ++의 세부 사항에도 액세스 할 수 있다는 것입니다. 상용구 코드없이 간단한 루프와 함수를 작성하고 함수 포인터를 파는 방법을 배울 수 있습니다. Julia의 메타 프로그래밍 기능을 사용하면 AST에 직접 액세스 할 수 있으며 컴파일 체인의 모든 부분을 보여주는 매크로가 있습니다. 또한 Lisp로서 기능적 프로그래밍 스타일을 사용할 수 있습니다. 그리고 그것은 많은 병렬 컴퓨팅 기능을 가지고 있습니다. 파라 메트릭 타이핑 및 타입 안정성과 같은 아이디어는 Julia에서 상당히 독특하고 깊습니다.

프로그래밍 언어 자체를 연구하려면 @code_lowered낮추는 것이 무엇인지, 형식이 지정된 AST를 @code_typed참조하고 LLVM IR을 사용 @code_llvm하고 마지막 으로을 사용 하여 네이티브 어셈블리 코드를 사용하여 컴파일이 작동하는 단계를 배울 수 있습니다 @code_native. 이것은 동적 변수의 비용이 무엇인지, 그리고 "변수 복싱"이 어떻게 작동하는지 정확하게 보여주기 위해 사용될 수 있으며 ,이 블로그 포스트 는 이러한 내부 검사 도구를 사용하여 컴파일러 최적화가 어떻게 발생할 수 있는지를 알려줍니다.

컴퓨터 과학 및 소프트웨어 공학 아이디어뿐만 아니라 풍부한 수학적 아이디어도 있습니다. Julia의 주요 라이브러리는 일반적인 타이핑을 염두에두고 작성되었으므로 매트릭스없는 연산자를 만들고 IterativeSolvers.jl을 사용하여 GMRES를 사용하는 것이 쉽지 않습니다. 내부 검사 도구를 사용 @which하여 구현 방법을 정확하게 보여줄 수 있습니다. 예를 들어 어떻게 \작동합니까?

@which rand(10,10)\rand(10)
#\(A::AbstractArray{T,2} where T, B::Union{AbstractArray{T,1}, AbstractArray{T,2}} where T) in Base.LinAlg at linalg\generic.jl:805

그것은 바로 \의 정의 를 가리 킵니다 . 그것은 Julia에서 구현되므로 Julia를 아는 사람은 알고리즘과 알고리즘을 배우고 매트릭스 하위 유형을 식별하고 가능한 경우 전문화합니다 (가우시안 제거로 넘어 감). Julia의 코드는 MIT 라이센스가 있고 (거의 모든 패키지는 MIT 라이센스가 부여됨) 학생들은 대부분의 MATLAB 및 R 패키지의 경우와 같이 코드가 GPL 라이센스가 부여 된 경우 속성을 사용하여 자신의 코드에서 이러한 아이디어를 자유롭게 사용할 수 있습니다. 라이센스 문제에주의해야합니다!).

언어 핵심은 매우 활발한 오픈 소스 커뮤니티로 구축되므로 언어 ​​개발의 역사에 대한 풍부한 리소스 인 Github 문제도 있습니다 . 실제로 행렬 전치가 무엇인지 와 같은 언어 질문을 이해 하고 있습니까? 이러한 수학적 대상을보다 자세하게 이해하기 위해 매우 깨달을 수 있습니다.

그러나 마지막으로 학생들에게 어떻게 만드는 법을 가르치기를 원합니다. 안타깝게도 Python 또는 R을 학습한다고해서 반드시 Python / R을 개발하는 데 필요한 것은 아니라고 할 수 있습니다. 널리 사용되고 잘 최적화 된 대부분의 패키지에는 상당한 양의 C / C ++ / Fortran 코드가 순서대로 포함되어 있기 때문입니다 성능을 얻을 수 있습니다. 따라서이 학생들이이 언어의 과학 생태계에 기여할 수있게하려면 결국 다른 언어를 배워야합니다. 그것이 완전히 끔찍한 것은 아니지만 이제 Julia가 존재하는 것은 차선책입니다. 안정된 Julia는 C / Fortran의 속도를 달성 할 수 있기 때문에 Julia 생태계의 패키지는 대부분 순수 Julia 코드입니다. Julia를 배우는 것은 Julia를 개발하는 법을 배웠 음을 의미합니다. Base Julia는 대부분 Julia 코드이기 때문에 (몇 가지 기본 요소 만 있고 파서는 그렇지 않습니다),

줄리아의 선택에는 몇 가지 단점이 있습니다. 하나는 다른 언어보다 훨씬 새롭기 때문에 리소스가 조금 더 부족하다는 것입니다. 자체적으로 많은 교육 도구를 제공하거나 Julia 웹 사이트에 나와 있는 웹의 리소스에서 가져와야 합니다. 또한 언어 세부 정보는 아직 정해지지 않았지만 1.0은 2017 년 말에 나올 예정입니다. 그리고 줄리아의 잠재적 인 교사 인 당신은 그 언어에 대한 경험이 많지 않을 것입니다. 그러나 이것들은 시간이 지남에 따라 사라지는 종류의 문제이지만, 위에서 언급 한 Julia의 이점은 언어 자체의 핵심입니다.


구문에 대한 지식을 잃어 버릴 가능성이 있고 학생들이 여러 언어를 배울 것이라는 보장이 없기 때문에 약간의 사용 된 언어를 사용하는 것이 좋습니다. 어쩌면 그런 관점에서 파이썬은 여전히 ​​좋은 선택입니다.
Xavier Combelle

1
그렇기 때문에 줄리아에게 전에 말하지 않았지만 이제는 잘 사용하는 것이 일반적입니다.
Chris Rackauckas

줄리아가 아직 너무 새로운 것 같아요. 업계에서 학생들은 Python, C ++, (ew) MATLAB 및 R을 알아야합니다. 풍부한 경험으로 배우는 것이 제 2 언어 나 제 3 언어 인 것이 더 낫습니다. 학생들은 가까운 시일 내에 Julia를 다시 사용하지 않을 것입니다.
Mateen Ulhaq

2
학생들은 복사 및 붙여 넣기를위한 템플릿이 아닌 양도 가능한 기술을 배워야합니다. 그런 의미에서 Python / MATLAB / R은 컴퓨터에서 너무 멀리 추상화되어 가장 간단한 프로그래밍을 넘어서는 훌륭한 교육 도구가 될 수 있지만 C ++은 너무 낮은 수준으로 훌륭한 교육 도구가 될 수 없습니다. 물론, 수치 분석 과정에서와 같이 측면에서 언어를 사용하려면 과정이 프로그래밍에 관한 것이 아니므로 사용할 것을 수행하십시오. 그러나 프로그래밍 개념과 관련하여 Julia는 실제로 디자인에서 대부분의 개념을 가진 유일한 간단한 언어입니다.
Chris Rackauckas

2

그리 멀지 않은 학부생이라고 말하고 CS 부서에서 가르치지 않는다고 가정 할 때 C, C ++ 또는 Fortran (또는 신 금지)과 같은 컴퓨터 프로그래밍을 학생들에게 소개하는 것은 재앙이라고 생각합니다 CUDA), 비록 다른 사람들이 과학 컴퓨팅의 현 상태라고 지적했습니다.

여러분이 가르치는 학생 과학 컴퓨팅에 기대하는 경우 같은 과정에서 프로그램에 소개, 난 당신이 MATLAB 나 파이썬 같은 인터프리터 언어에 충실하지 않는 한 그 학기에 너무 많이 커버에 내기 것이다. 내 경험에 따르면 학부 수준의 과학 컴퓨팅 수업은 대부분이 두 가지 방법 중 하나에서 어떻게 가르쳐지며 파이썬은 매일 생산 수준의 언어로 점점 더 유용 해지고 있으므로 여전히 실용적인 기술로 유용합니다 ( 프로그래밍 기초를 가르치는 것 이상입니다.

내 두 센트.


4
재난은 학생들에게 C, C ++ 또는 Fortran을 가르치는 데 사용하기에는 너무 강합니다. 이러한 언어 (C, C ++, Fortran 또는 Python)는 프로그래밍 방식과 과학 컴퓨팅을 수행하는 방법에 따라 적합합니다.
Bill Barth

1
CS 부서 (C ++)와 천문학 자 클래스 (Fortran 77)에 대한 수업 경험에서 C / C ++ / Fortran은 완전히 새로운 프로그래머 (segfaults vs exceptions)에 대해 파이썬에 비해 충분한 도움을 제공하지 않습니다. C / C ++ / Fortran을 사용한다는 것은 디버거를 사용하는 방법 (또는 IDE 사용)에 대한 학습을 ​​의미하지만, 파이썬은 그 자체로 사용될 수 있습니다.
James Tocknell

0

C, C ++, & Fortran (특별한 순서로 나열되지 않음)은 슈퍼 컴퓨터에서 큰 문제를 해결하려는 경우 계산 수학 / 물리에 사용되는 세 가지 주요 프로그래밍 언어입니다. CUDA는 가속 GPU 컴퓨팅을 위해 다른 언어와 함께 사용되는 라이브러리로 간주됩니다. Matlab과 python은 출력 진단을 실행하고 프로토 타입 모델을 만드는 방법을 익히는 데 매우 좋습니다. 그것들은 또한 배우기가 더 쉽고 프로그래밍 방법을 배우는 알고리즘 구절을 가로 질러 가고 싶은 코스에 더 좋습니다.

따라서 당신의 과정이 순전히 프로그래밍에 관한 것이라면 C ++을 선택하거나 이것이 학생이 처음 프로그래밍하는 경우 Python을 선택합니다. 이 두 언어는 과학 컴퓨팅 세계 밖에서 높은 유용성을 가지고 있습니다. 이 과정이 물리 기반 문제를 해결하기 위해 학습 알고리즘을 중심으로한다면 Matlab이 의심의 여지없이 승자라고 생각합니다.


0

short : 과학 컴퓨팅 자체가 복잡하다는 점을 고려하십시오. 프로그래밍 언어가 실제로 사용되기를 원하십니까?

수학은 추상화를 사용하여 직감으로는 해결할 수없는 문제를 해결합니다. 따라서 개념은 추상적 경향이 있습니다. 캡슐화 할 개념을 이해하는 것이 사소한 이유가 아닙니다. 과학 계산에서 "동물" "차량"과 같은 클래스의 일반적인 예는 다소 쓸모가 없습니다. 이것은 객체 지향 프로그래밍의 경우에 해당하지만 컴퓨터에서 추상적 개념을 재현하는 것이 명령형 프로그래밍에서도 사소한 것이 아니라고 생각합니다.

그렇기 때문에 여기서 우리는 두 가지 다른 노력, 즉 프로그래밍, 한쪽은 과학적 컴퓨팅, 다른 쪽은 과학적 컴퓨팅을 다루고 있다고 생각합니다. 학생들이 이질적인 배경에서 온 학부 수준에서는 동시에 두 가지 다른 것을 가르치게 될 수 있습니다.

당신의 목표가 과학 컴퓨팅을 가르치고 있다면 나는 그것이 어렵다고 생각합니다. 프로그래밍 언어 (C ++에는 교육이 필요하다는 데 동의 함)로 추가적인 장벽이 있으면 많은 학생들이 동기를 부여 할 수 있으므로 파이썬과 함께 갈 것을 제안합니다.

귀하의 코스가 "Introduction to SC"인 경우 파이썬이 최상의 결과 / 노력 비율이라고 생각합니다.

추신 : 이제 우리는 좋은 컴퓨터를 가지고 있으므로 학부 수준에서 효율성을 찾을 필요가 없습니다.


PS와 관련하여 : 학부생에게만 성과가 중요하지 않은 이유는 무엇입니까? 성과가 중요한 학부생에게는 과제를 쉽게 생각할 수 있다는 사실 외에도, 실제로 성과를 배우는 것은 과제가 아닙니다. 또한 컴퓨터의 속도는 빨라졌지만 우리의 기대는 높아졌습니다.
Wrzlprmft

미안해 너무 예뻐 "학생들이 코드 최적화에 파고 들어 컴파일 된 언어로 넘어 가기 전에 해석 된 언어로 만족스러운 큰 응용 프로그램을 실행할 수 있습니다"로 바꾸겠습니다.
Nicola Cavallini
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.