2009-10-16 2 views
1

PHP 약 3 ~ 4 년 동안 "프로그래밍"을 해왔다. 이미 생각하기에 꽤 좋았 기 때문에 좀 더 복잡한 것으로 넘어 가기로 결정했다. 나는 PHP가 너무 유연하다는 것을 이해한다. (예를 들어 변수의 타입을 선언 할 필요가 없다.) 그런 식으로 코딩하는 데 익숙해 져야한다.PHP에서 제공되는 Cross-Plataform 소프트웨어 개발을 위해 어떤 언어를 배워야합니까?

그래서 기본적으로 많은 CPU 코어를 제어하고 Windowed 응용 프로그램을 만들 수있는 응용 프로그램을 작성하려고합니다. DirectX 또는 OpenGL과 같은 3D 라이브러리를 사용할 수 있다는 것은 대단한 것입니다.

저는 이런 종류의 응용 프로그램에 적합한 언어에 대해서는 잘 모릅니다. 그래서, 당신 의견으로는, 어떤 언어를 배워야합니까? 그리고 그것을 배우기 위해 어떤 책을 사야합니까?

+0

매우 주관적이며 대답하기 어렵습니다. –

+1

C#은 제 언어입니다. 그러나 가장 강력한 언어는 똑같은 결과를 얻을 수 있습니다. 그것은 당신에게 전적으로 달려 있습니다 ... "무엇이든지 당신의 보트를 띄웁니다." – BraedenP

+0

그래서 많은 의견을 갖고 싶습니다. 그러나 이것이 허용되지 않으면 실례합니다. –

답변

7

파이썬은 여러분에게 가장 쉬운 단계 일 것입니다 (예를 들어, "선언하는 변수 유형"이 없습니다). 그리고 다른 요구 사항 (다중 처리, OpenGl 등을 통한 다중 코어)을 충족시킵니다. C#은 다음에 더 쉽습니다 (변수 유형을 선언해야하지만 파이썬과 PHP처럼 메모리를 대신 관리합니다).하지만 멀티 플랫폼 측면 (Windows에서는 Mono 프로젝트에 의존해야합니다)은 다음과 같습니다. 덜 설득력있는; Java는 여전히 더 나은 "멀티 플랫폼"경험을 제공 할 수 있지만, C#은 다른면에서는 더 풍부합니다 (그러나 그들은 근본적으로 비슷한 힘과 어려움을 가진 두 언어입니다).

C++은 확실히 당신이 당신의 기억을 관리 할뿐만 아니라 가장 강력 할 것입니다. () 당신이 언급 한 모든 것을 할 수 있습니다. 그리고 훨씬 더).

그래서 학습/전환/사용의 용이함, 완전한 힘, 유연성, 다중 플랫폼 장점 등을 얼마나 중요하게 생각합니까? 적절한 선택은 당신이이 요인들에 어떤 상대적 무게를 두 었는지에 달려 있습니다. 이 책에 관해서라면, 파이썬을 선택한다면 (필자는 제 자신의 책을 권유하지 않을 것입니다 ;-), 웨슬리 춘 (Wesley Chun)의 코어 파이썬 (Core Python)이 가장 좋을 수 있습니다. C++의 경우 Lippman, Lajoie 및 Moo의 "C++ Primer"가 가장 좋습니다. 어떤 책이 C# (또는 Java)에 가장 적합한 지 확실하지 않습니다.

+0

고마워요. 정확히 제가 찾던 답변이었습니다. 그리고이 부적절한 대답을 한 것에 대해 죄송합니다. –

+0

Horstman의 코어 자바 책은 좋은 책이다. –

+0

현대 C++에서는 제대로하고 있다면 (명시적인) 메모리 관리의 양은 거의 무시할 만하다. "제대로하고있다"는 부분은 어렵지만, C++은 쉬운 언어가 아닙니다. –

2

C + +는 대형 교차 플랫폼 프로젝트의 일반적인 선택입니다. C++에서 크로스 플랫폼 애플리케이션을 작성하는 방법을 익히는 것은 상당히 어려운 일이지만, 분명히 가치가 있습니다.

0

PHP는 Python보다 C/C++에서 구문이 더 유사하지만 Python은 배우기 쉽고 현대적입니다.

Windows 사용자는 C#을 사용하거나 Java가 아닌 경우 Java를 사용해 볼 수 있습니다. 이 두 언어 모두 C++ 스타일 구문을 갖지만 C++보다 배우기 쉽습니다.

+1

나는 C#이 Mono와 실제로 크로스 플랫폼이라고 생각하지 않는다. –

0

"크로스 플랫폼"은 너무 일반적입니다. 뭐, 플랫폼간에 정확히하고 싶습니까?

Silverlight 및 Flash/Flex와 같은 풍부한 인터넷 플랫폼은 확실히 크로스 브라우저이며 Windows 및 Mac에서는 브라우저 외부에서 실행됩니다.

모든 환경에서 사용할 수있는 프로그래밍 언어를 원한다면 C++, Python, Ruby 및 Java가 강력한 선택입니다 (Mono를 사용하려는 경우 C#). 하나의 플랫폼에서 작성하는 것은 다른 플랫폼에서 잘 실행됩니다. 문제는 운영체제, 플랫폼 별 라이브러리, 사용자 인터페이스 플랫폼 등과 인터페이스하는 것만 큼 언어가 문제가되지 않는다. 고도의 병렬 프로그래밍과 같은 문제가 발생할 때 이식성이 어려워지기 쉽지 않을 것이다.

크로스 플랫폼이 중요한 이유를 정확히 말하지 않습니다. 당신의 선택을 형성 할 수도 있습니다. 특정 애플리케이션 또는 서비스 유형? 당신이 좋아하는 특정 도구는 크로스 플랫폼이기도합니다. 애플리케이션 코드, 인프라 코드, 플랫폼 코드에 관심이 있습니까?

내 개인적인 편향은 C# 및 .NET을 향한 것입니다. .NET의 다음 버전에는 멋진 병렬 프로그래밍 도구가 있으며 스레드 모델이 크게 향상 될 것입니다. WPF와 Silverlight는 그래픽 앞에서 흥미 진진하지만 DirectX 나 OpenGL보다 훨씬 높은 수준이므로 목표에 따라 크게 달라집니다.

+0

저는 리눅스와 오픈 소스를 전적으로지지하고 있기 때문에 많은 플랫폼에서 응용 프로그램을 만들 수 있기를 원합니다. 더 많은 Windows 전용 응용 프로그램을 만들고 싶지는 않습니다. C#과 Mono와 함께 할 것입니다. 닷넷 프레임 워크를 좋아하기 시작했다. –

+0

.NET은 세계의 Windows 측면에서도 중요한 오픈 소스 커뮤니티를 보유하고 있습니다. http://www.codeplex.com/을 방문하고 살펴보십시오. 이 프로젝트 중 일부는 MS 개발 팀과 오픈 소스 커뮤니티 간의 공동 작업입니다. .NET의 interop 스토리 또한 꽤 좋습니다. Silverlight는 거의 모든 브라우저와 모든 플랫폼에서 실행됩니다 (Linux의 경우 Moonlight가 필요하지만 거기에 있으며 MS는 다운로드해야하는 사용자를 리디렉션합니다). WCF는 모든 WS- * 표준을 지원하며 SOAP, JSON 또는 REST 프로토콜을 사용할 수 있습니다. LINQ는 XML 구문 분석, 검색 및 업데이트를위한 훌륭한 모델을 제공합니다. –

0

플렉스, 플래시 및 AIR 플랫폼이 최선의 방법 일 수 있습니다.
Mozilla XUL 플랫폼을 마스터하는 것은 어려울 수 있습니다.

두 플랫폼은 이미 크로스 플랫폼이며, 한 번 응용 프로그램을 구축 할 필요가 유일한 것, 그리고 플랫폼 (맥, 윈도우, 리눅스 등)

1

I를 지원하는 모든 OS에 걸쳐 실행해야 Alex Martelli의 답변을 정말 좋아했지만 몇 가지 아이디어를 추가했습니다. 사용 편의성 측면에서 Visual Basic 또는 REALbasic을 사용해보십시오. 둘 다 당신에게 윈도우 프로그램을 매우 빠르게 만들 것이고 REALbasic은 Mac, Linux 또는 Windows 용으로 쉽게 컴파일 할 수 있다는 점에서 크로스 플랫폼이 될 것입니다. 그러나 다중 코어 또는 다중 처리를 사용하는 것보다 어느 정도 제어가되는지 잘 모르겠습니다.

알렉스 마르 텔리 (Alex Martelli)와 마찬가지로 많은 옵션이있어서 당신이 가장 잘 어울리는 것을 골라 낼 수는 있지만 어느 것을 골라야할지 모르겠다. 나는 그것을 배우기 위해 단 한 권의 책에만 의존하지 않을 것이다. 프로그래밍 언어 takes time and patience을 배우기 때문에 여러 책, 친구 및 인터넷을 사용하여 언어와 논리를 스스로 가르칩니다. 그리고 일반적으로 컴퓨터 과학에 대한 책을 얻는 것도 고려해 볼 수 있습니다 (예 : Donald E. Knuth의 컴퓨터 프로그래밍 기술).

+0

해당 링크를 가져 주셔서 감사합니다! 그것은 매우 도움이되었다 :) –

관련 문제