Các ngôn ngữ lập trình được sử dụng phổ biến nhất là gì? [đóng cửa]


24

Khi tôi tham gia các khóa học Java của tôi một năm trước, tôi được cho biết rằng Java được sử dụng chủ yếu ở các công ty game ở nước ngoài trong khi C ++ được sử dụng ở đây tại Mỹ. Những ngôn ngữ nào tôi nên tập trung vào việc học chuyên sâu?


3
Tôi nghi ngờ lý do bạn nhận được phản hồi này là vì sự phát triển di động - vốn dựa trên lịch sử Java - lớn hơn ở châu Âu so với Mỹ (vì điện thoại thông minh ở châu Âu lớn hơn nhiều so với Mỹ) và các studio phát triển giao diện điều khiển dựa trên C ++ , ngược lại. "Các công ty chơi game" là một loạt các nền tảng và thị trường và ngân sách.

Câu trả lời:


28

Các ngôn ngữ lập trình thông thường có thể được chia theo "loại" phát triển trò chơi.

Các trò chơi lớn, ba-A đang đẩy phong bì khi nói đến đồ họa thường sử dụng hỗn hợp C và C ++ thẳng cho phần lớn dự án. Thông thường, một ngôn ngữ kịch bản sẽ được tham gia - mặc dù, điều này không nhất thiết đúng với tất cả các công cụ.

Mã trò chơi thường được viết bằng ngôn ngữ độc quyền (UnrealScript), Python, Lua (CryTek, Spark Engine) hoặc trong một số trường hợp là C # (The Sims 2). Một vài công cụ trò chơi đang bắt đầu hỗ trợ JavaScript (Unity, v.v.).

Ngôn ngữ Shader cũng được sử dụng, tất nhiên.

Trong lĩnh vực di động, iPhone bị chi phối bởi object-C trong khi hầu hết các điện thoại di động khác sử dụng Java (Android, dựa trên bia, v.v.).

Đối với các công ty nhỏ hoặc các công ty nhỏ, họ có thể sử dụng khá nhiều thứ tùy thuộc vào nền tảng mục tiêu của họ. Chẳng hạn, C # phổ biến với các nhà phát triển Live thời gian nhỏ. Các nhà phát triển Flash rõ ràng sử dụng ActionScript.

Vì vậy, có bạn đi. Mong rằng sẽ giúp.


Đừng bỏ qua các trò chơi Javascript Canvas / WebGL dựa trên web mới chạy trong trình duyệt web!
ehsanul

Hoàn toàn đúng, bạn đã đúng. Đáng buồn thay, không có nhiều trò chơi đang được kiếm tiền. Nhưng, vâng, điều đó sẽ đúng khi thêm vào danh sách.
Grapsas

bạn đang gọi ai thời gian nhỏ?
Spooks

Khá nhiều game di động được xếp hạng hàng đầu cũng được viết bằng C ++ với trình bao bọc Objective-C / Java (cả iOS và Android đều cho phép điều đó.) XNA (C #) rất hữu ích khi làm việc với Windows Phone 7 cũng như indie thị trường trên XBox.
Nick Gotch

34

C ++ là ngôn ngữ chung của ngành công nghiệp game console. C # được sử dụng khá nhiều cho các công cụ và đường ống.


16

C ++ khá nổi bật trong thị trường game hiện tại. Thiết nghĩ C vẫn được sử dụng rộng rãi.

Khi làm game, trọng tâm chính của bạn không phải là ngôn ngữ mà là sản phẩm cuối cùng. Không bao giờ bắt đầu một dự án suy nghĩ "Làm thế nào chúng ta có thể thực hiện điều này bằng ngôn ngữ X?" nhưng "Làm thế nào chúng ta có thể làm điều này theo cách tốt nhất có thể?"


9
Không phải là tôi không đồng ý với bạn, nhưng những ngôn ngữ phổ biến nhất được cho là được hỗ trợ nhiều nhất và do đó có nhiều khả năng duy trì hơn là một thứ gì đó bí truyền hơn. Chọn ngôn ngữ phổ biến có lợi ích của nó.
Tetrad

3
@Tetrad oh tôi đồng ý hoàn toàn. Nhưng điều này thường dẫn đến một con đường nơi một cái gì đó có thể được giải quyết theo cách đơn giản hơn nhiều với một số công cụ / ngôn ngữ khác.
Ólafur Chờ đợi

Mặc dù nếu ngôn ngữ đơn giản hơn, nhưng không có nhà phát triển nào sử dụng nó, nó có thực sự đơn giản hơn không? LIke, rất nhiều thứ đơn giản hơn, giả sử, Haskell, hoặc Python hoặc Lisp so với C ++. Nhưng điều đó có thực sự như vậy không?
Jürgen A. Erhard

8

Nguồn cuối cùngChỉ số TIOBE . Cấp nó sẽ không cho bạn biết mỗi ngôn ngữ đang được sử dụng cho ...


3
Chỉ số TIOBE không đáng tin cậy. Lý do duy nhất khiến Delphi đứng ở vị trí thứ 11 là vì cộng đồng Delphi đã quyết định bắn phá chỉ số và chơi trò chơi theo cách của họ lên bảng xếp hạng.
rtperson

15
Thực sự, tất cả năm người trong số họ? Điều đó phải mất một thời gian.
Mike Strobel

-1 mà không trả lời câu hỏi.
Klaim

1
@Mike Một người chết vì ... tôi không thể nói với bạn. Đo la bi mật.
Mateen Ulhaq

Tôi đã tìm kiếm một trang web như thế này rất lâu, chỉ có điều tôi không biết điều đó. Cảm ơn bạn!
Evorlor

7

Như đã đề cập, C ++ về cơ bản ngôn ngữ để học; tất cả các bàn giao tiếp chính đều lưu trữ môi trường phát triển C ++, tốt hơn hoặc xấu hơn. C # đang bắt đầu cất cánh, trong các trò chơi do XNA cung cấp, nhưng thường được sử dụng để phát triển công cụ.

Lua cũng là một trong những ngôn ngữ kịch bản được sử dụng phổ biến nhất trong các trò chơi; thật hữu ích khi có ít nhất một sự quen thuộc với nó.

Thông thường chuỗi xây dựng được sử dụng để xây dựng trò chơi sẽ chứa các tập lệnh được viết bằng Python hoặc Perl; Thật hữu ích khi làm quen với những điều đó (mặc dù đó không phải là một yêu cầu).


4

Tốt nhất không nên học một ngôn ngữ, mà nên học các khái niệm lập trình khác nhau và cách áp dụng chúng trong một vài ngôn ngữ, khung và môi trường khác nhau.


4

Đừng quên PHP. Nó rất phổ biến trong MMORGP được chơi thông qua phát triển WWW. Ở Ba Lan fg có số lượng MMORPG rất lớn dựa trên công cụ Vallheru, được viết hoàn toàn bằng PHP.


Hoặc cho vấn đề đó chỉ là các khung phát triển web nói chung, mặc dù vậy cũng đề cập đến!
Zombie

0

Có lẽ bạn không nên tập trung vào việc học một ngôn ngữ cụ thể. Bạn nên phát triển như thế nào.

Hôm qua, tôi đã tải xuống SDK iOS và Xcode. Và tôi lấy nó ngay lập tức và làm một ít tetris. Tôi là một chàng trai as3 và tôi thậm chí không bận tâm đến việc học Objective-C. Nhưng tôi đã có thể làm một trò chơi đơn giản vì tôi hiểu cách phát triển.

Vì vậy, quan điểm của tôi ở đây là bạn có thể nên dành nhiều thời gian hơn để học các khái niệm mới, hơn là một ngôn ngữ cụ thể. Hoặc Học ngôn ngữ X và chuyển kiến ​​thức của bạn sang các ngôn ngữ khác.


0

Phát triển trò chơi là một chương trình ứng dụng hình thức bóng khác nhau.

Trong thế giới của trò chơi, tất cả là về tốc độ. Khi đẩy phong bì với đồ họa HD 1080p, âm thanh lấy mẫu cao và AI nex gen mỗi chu kỳ bộ xử lý cuối cùng đều được tính.

Trong lịch sử C và C ++ đã từng tồn tại nhưng java hiện có thể so sánh với c ++ về tốc độ trong một số trường hợp.

C ++ cho phép bạn kiểm soát tốt hơn kiến ​​trúc bạn thiết kế hơn bất kỳ ngôn ngữ nào khác.

Hầu hết các nhà phát triển trò chơi cao cấp đều có ý nghĩa cao cấp, họ được dạy theo cách học cũ vì họ được phát minh ra như vậy là rất thành thạo các công nghệ cũ.

Nhưng lý do chính nhất mà sự phát triển trò chơi thương mại ủng hộ C ++ là nó đã được sử dụng hơn 15 năm trong ngành công nghiệp trò chơi và có hàng tỷ thư viện truy cập công cộng và nội bộ dành cho nó. Nếu bạn muốn nó có khả năng là ai đó đã xây dựng nó trong c ++.

Phải nói rằng java đang ngày càng trở nên phổ biến vì nó giúp phát triển dễ dàng hơn trên diện rộng và thay đổi liên tục kiến ​​trúc di động, nhưng các trò chơi cạnh tranh sẽ tiếp tục có cốt lõi được viết bằng c ++ trong một thời gian tới.


-1

Objective-C cho các thiết bị iOS tất nhiên. https : //developer.apple.com/l Library / ios / # freeferelel mac / ca cao.html


3
Không sao lưu chút nào.
doppelgreener

tiobe.com/index.php/content/apersinfo/tpci/index.html hiển thị nó là # 3. Mặc dù bạn có thể tranh luận về giá trị của chỉ số tiobe, nhưng không có cách nào bạn có thể tranh luận Objective-C không được sử dụng phổ biến.
nevster

Một lời biện minh tốt hơn so với tập hợp rác khủng khiếp mà Tiobe chỉ đơn giản là tham khảo tài liệu dành cho nhà phát triển của Apple, trong đó chỉ ra rằng sự phát triển của chuỗi công cụ ưu tiên dành cho iOS (và OS X) bao gồm Objective-C khi toàn bộ API lõi được hiển thị bằng ngôn ngữ đó .
Josh

Ok - thêm liên kết. Tôi chỉ có thể tưởng tượng các downvote là từ những người ghét hoặc những người khá thờ ơ.
nevster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.