My friend and I tried to create a team of programmers for doing bunch of work, our main aim is the gaming sector (probably). It was said around the net that it was hard work. So, we decided to plan it from now.

I got around 1-3 years(blurry because I'm doing it in my freetime, sometimes forgot and alot of redoing) studying through c++ language, and now I got to uni. for diploma degree in IT. Bunch of my friend only got basic knowledge of programming from the course of the uni, but we decided to take an early different language path because I'm sure it's better to have certain mastery of programming language than having basic of each programming language.

So, which programming language should these guy master? should they master the language that I'm trying to master too?(c++) or?

P.S. we're currently studying the basic part of C# in the course now, in the last semester, we learned (very) basic c++ syntax.

Dani AI

Generated

For a novice team targeting games, the best early investment is transferable fundamentals: problem solving, software design, basic data structures, debugging workflows, version control, and a simple math base (vectors and matrices). already has C++ exposure and is learning C# at college; in line with 's emphasis on fundamentals, selecting one practical toolchain and shipping small projects is more effective than sampling many languages superficially.

When choosing a primary language, let the engine guide the choice. For fast prototyping and most indie/mobile work, C# with Unity offers rapid iteration, a large template/asset ecosystem, and an approachable API. For engine-level control, graphics work, or AAA targets, C++ with Unreal Engine gives finer control and performance at the cost of a steeper learning curve. Godot (GDScript or C#) is a lightweight alternative for 2D and small teams. A useful sequence is to complete one small, playable game in the chosen engine before switching focus.

Web development is optional for single-player desktop/mobile titles but becomes important for browser games, multiplayer backends, leaderboards, and a public portfolio. Basic front-end skills (HTML/CSS/JavaScript) plus a single backend stack (Node.js, Python, or ASP.NET) will cover most needs. Networking concepts (sockets, HTTP/REST, latency) are necessary only when online features are planned.

Practical habits that pay off: adopt Git from day one, prototype with placeholder art, keep scope tiny (MVP), and run frequent playtests. Learn profiling and resource-management techniques early—these are critical in C++ projects. Common traps include scope creep, skipping the required math, and never shipping a playable build. A sensible immediate milestone is a minimal playable prototype within a few weeks, then iterate and expand.

Recommended Answers

All 3 Replies

C++ and C# are both imperative languages, so if you learn one, learning the other will be straightforward. The goal is to learn logic and problem solving; language syntax and libraries are a relative cake walk with a strong foundation in the basics.

My recommendations for languages if your goal is to become a pro are as follows:

  • Python: A good beginner's language that's also powerful.
  • C++: The most likely 1st language for serious games.
  • C# or Java: Depending on your target platform (C# for Windows, Java for multi-platform), the two languages themselves are actually very similar.
  • Assembly: Good for low level knowledge, even though you probably won't use it often.
  • A LISP Variant: Not strictly necessary, but offers a significant "aha!" moment when you get it, and greatly helps an understanding of recursion.

C# can be used outside of Windows, of course, but the .NET framework is by far the more common target.

how about web development language? Did we need to learn them? if so which one?

You specifically mentioned gaming. While it doesn't hurt to learn web development, it's not directly relevant to your goals.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.