pacman9090 Posted January 22, 2023 Posted January 22, 2023 I know C and C++ are two fast, efficient, and mature computer languages that can be used to create operating systems, applications, and games. Are Go and Rust, two fast and efficient computer languages, that are also less mature than C and C++, good, if not better, alternatives, when it comes to speed and efficiency, for programming operating systems, applications, and games? I also know C++, Go, and Rust are considered modern computer languages, while C is not.
rathlin Posted January 23, 2023 Posted January 23, 2023 If your goal is to be "that" guy... The one that software engineers fear and gossip about when you arrive at the office, you'll want to go with C to start. You'll also want to learn x86/64 Assembly and LOAD your C applications up with unnecessary functions written in Assembly for the purpose of speed. When you create your GitHub account, you'll want to create things in Lisp, Cobol, and Fortran (mention that its for fun). You'll want to post random rants on your twitter about how C++ is TRASH, treating it like a disease that needs to be eradicated. Go and C# are fun and pretty cool too. At some point you'll realize its ALL bullshit and doesn't even matter any more what you're using. 1
Sensei Posted January 23, 2023 Posted January 23, 2023 (edited) Use the right tool for the right type of work you intend to do. If you want to write end-client Windows applications (freeware,shareware,commercial, sold to individuals or companies) then you should consider using C/C++/C#/C++ Managed If you want to develop front-end web-server applications (installed on a virtual hosting service) then you should consider using PHP (it will generate HTML, eventually CSS, eventually JavaScript, eventually other file-formats). PHP is installed on all/most virtual hosting services (other technologies are not) If you want to develop back-end web-server applications (installed on a dedicated server) then you should consider using Bash, Python, Perl, CGI (obsolete, it's compiled C/C++), jNode (server-side JavaScript) and endless list of new technologies. Actually, you can use any language to generate HTML/CSS/JS for users (visiting WWW), because you own the dedicated server and can install anything (unlike virtual hosting, where you are limited to the software installed by the IT company where you bought the hosting). If you want to develop applications for smartphones then you should learn (Android) Java, Kotlin, (iPhone) Swift. To start, install Visual Studio Community https://visualstudio.microsoft.com/pl/vs/community/ and use one of many template projects. 1 hour ago, rathlin said: You'll also want to learn x86/64 Assembly and LOAD your C applications up with unnecessary functions written in Assembly for the purpose of speed. Nowadays, people use GPUs (OpenCL,CUDA) to accelerate applications. Edited January 23, 2023 by Sensei 2
pacman9090 Posted January 24, 2023 Author Posted January 24, 2023 Thanks, rathlin and Sensei. I was leaning more towards C and C++ to start because they are fast, efficient, and mature, meaning they are well documented and supported across platforms, which would make them perfect languages for creating games. Rust and Go both seemed like more modern choices, C++ is also modern, but C is not, but I was afraid all those modern features would slow down C++, Rust, and Go. I also have an interest in learning about technologies like Raylib, SDL2, OpenGL, Vulkan, and DirectX 12. C is an easier language to learn than C++, so I would normally prefer beginning with C, over C++, but C++ is considered better for game development, while C is better for OS kernel development than game development. There is just so much to consider.
Sensei Posted January 24, 2023 Posted January 24, 2023 (edited) 1 hour ago, pacman9090 said: Thanks, rathlin and Sensei. I was leaning more towards C and C++ to start because they are fast, efficient, and mature, meaning they are well documented and supported across platforms, which would make them perfect languages for creating games. People use Unity and Unreal engines to develop games. They are indeed written in C/C++. But do you ("beginner") really want to make your own game engine? I don't think so.. Having such heavy projects at the beginning of the journey would most likely put you down.. Scripts that extend game engines are usually written in C# and Python. These days, to make a game you need 3D assets and/or 3D gfx artists, and almost no programming skills. 1 hour ago, pacman9090 said: Rust and Go both seemed like more modern choices, C++ is also modern, but C is not, but I was afraid all those modern features would slow down C++, Rust, and Go. I also have an interest in learning about technologies like Raylib, SDL2, OpenGL, Vulkan, and DirectX 12. C is an easier language to learn than C++, so I would normally prefer beginning with C, over C++, but C++ is considered better for game development, while C is better for OS kernel development than game development. There is just so much to consider. C/C++/C#/Java is 75-90% the same stuff. Unless by "learning language" you meant "learning built-in and 3rd party libraries/modules/extensions". Really, you find out what libraries are available when you create a project. For example, you need to open a file, you search the web for "how to open a file in [the language you are writing the project in today].". You can't learn all the methods/functions from all the libraries in advance, because programmers (counted in the tens of thousands) create these libraries faster than you can read them. Really, start writing program, instead of talking about it. For example, follow this tutorial ("how to create a calculator in C#"): There are many such tutorials: https://www.youtube.com/results?search_query=how+to+create+a+calculator+in+C%23 The difference between this C# code and C++ Managed (C++ which uses .NET Framework) is marginal (99% the same). Edited January 24, 2023 by Sensei
Sensei Posted January 24, 2023 Posted January 24, 2023 2 hours ago, Sensei said: Scripts that extend game engines are usually written in C# and Python. ..are used to simulate bots/AI.. not for rendering graphics or anything like that (extensive processor)..
pacman9090 Posted January 30, 2023 Author Posted January 30, 2023 Thanks for the info, and C# calculator coding tutorial, Sensei. Unreal and Unity are great game engines, but they are not completely free. Godot would be better for me. I was interested in coding a game engine and games in C, C++, and Raylib. C and C++ are fast and efficient, so they are perfect for coding games. JavaScript, Python, Java, and C# are slower and less efficient than C and C++, but they are easier to work with when coding games. I was also interested in eventually creating my own game engine and games in C, C++, OpenGL, and Vulkan, but that goal is a bit ambitious for me, at this stage in my coding development.
gulshan212 Posted February 1, 2023 Posted February 1, 2023 Hi this is Gulshan Negi Well, I will recommend you to start with C, then move to C++, Go, or Rust depending on the type of development you want to do and your specific interests. Thanks
pacman9090 Posted February 12, 2023 Author Posted February 12, 2023 On 2/1/2023 at 9:50 AM, gulshan212 said: Hi this is Gulshan Negi Well, I will recommend you to start with C, then move to C++, Go, or Rust depending on the type of development you want to do and your specific interests. Thanks Thanks. I know C is quicker and easier to learn than C++, but I am unsure if C is quicker or easier to learn than Rust or Go. C is a popular computer language for systems programmers, but I it is great for application development too. C++, Rust, and Go can be used for systems programming, if I am correct, but they are more popular for application development. I am interested in game programming so I believe either C, C++, Rust, or Go would be perfect for that because they are high-performance. JavaScript, Python, Java, and C# are not as high-performance as C, C++, Rust, or Go but they are great computer languages that are great for developing applications and games quickly and easily.
Wanderlust12 Posted February 15, 2023 Posted February 15, 2023 On 1/22/2023 at 4:02 AM, pacman9090 said: I know C and C++ are two fast, efficient, and mature computer languages that can be used to create operating systems, applications, and games. Are Go and Rust, two fast and efficient computer languages, that are also less mature than C and C++, good, if not better, alternatives, when it comes to speed and efficiency, for programming operating systems, applications, and games? I also know C++, Go, and Rust are considered modern computer languages, while C is not. Assuming equal proficiency in both C++ and Rust, it would seem to be simpler to build multithreaded/concurrent code in Rust than it is in C++ that is valid and causes no undefined behaviour. It is "easier" in that regard. No, trying to learn it is considerably harder than you might think. In other words, Rust is simpler because it is more challenging to introduce certain classes of dreadful errors into it. Therefore, it's simpler because making mistakes is more difficult. It's tougher because it's harder to do anything at all, particularly if you bring preconceived beliefs with you and try to impose them on how you operate in Rust.
JohnathanSpike Posted March 3, 2023 Posted March 3, 2023 I think C would be the best one to start with. But then maybe it would be cooler to continue with Rust. 1
pacman9090 Posted March 12, 2023 Author Posted March 12, 2023 On 3/3/2023 at 6:05 AM, JohnathanSpike said: I think C would be the best one to start with. But then maybe it would be cooler to continue with Rust. C, C++, Rust, and Go are all high-performance middle-level languages. JavaScript, Python, Java, and C# are high-level languages. C and C++ are more mature than Rust and Go. C++, Rust, and Go are more modern than C. C is probably easier and quicker to learn than C++, Rust, and Go. C++, Rust, and Go have more modern features than C. Because C lacks these features it may be higher-performance and lower-level than C++, Rust, and Go.
Bunty12 Posted March 24, 2023 Posted March 24, 2023 Yes, Go and Rust are good, if not better, alternatives to C and C++ for programming operating systems, applications, and games. Go and Rust are fast, efficient, and modern computer languages and offer advantages over C and C++, such as better memory management, improved garbage collection, faster compilation times, and more flexibility. However, they are still less mature than C and C++, so they may require more debugging and may lack features and libraries. Ultimately, it depends on the type of project and the programmer's experience and preferences.
Sensei Posted March 24, 2023 Posted March 24, 2023 13 minutes ago, Bunty12 said: such as better memory management, improved garbage collection, ..which means that the programmer will not learn how to do it correctly so as not to lose memory and how to reduce memory consumption..
Bunty12 Posted March 28, 2023 Posted March 28, 2023 On 3/24/2023 at 2:33 PM, Sensei said: ..which means that the programmer will not learn how to do it correctly so as not to lose memory and how to reduce memory consumption.. If a programmer does not learn how to manage memory properly, it can lead to several problems such as memory leaks, inefficient memory usage, and poor application performance. Therefore, it is essential for a programmer to have a good understanding of memory management concepts and techniques to optimize memory usage and reduce memory consumption.
Genady Posted March 28, 2023 Posted March 28, 2023 53 minutes ago, Bunty12 said: to optimize memory usage and reduce memory consumption. What do you mean, optimize? Minimize? If so, it is a very narrow programmer's perspective.
Sensei Posted March 28, 2023 Posted March 28, 2023 33 minutes ago, Genady said: What do you mean, optimize? Minimize? If so, it is a very narrow programmer's perspective. If it is used for customers, it is just such wordplay i.e. marketing bullshit.
pacman9090 Posted April 19, 2023 Author Posted April 19, 2023 I had done some research and discovered using a game engine like Unreal Engine, Unity, GameMaker, or Godot is a great way for a beginner to learn how to make a game because you do not have to waste time programming your own game engine.
noobinmath Posted June 13, 2023 Posted June 13, 2023 Go for C if you want to become an electrical engineer, to learn basics or create operating systems. C++ is best for game development. C# is best for enterprise applications. My advice is to don't develop games in unreal engine, gamemaker or godot, instead use a rpg maker when making a game, it is more rewarding and more fun. 1
pacman9090 Posted August 25, 2023 Author Posted August 25, 2023 On 6/13/2023 at 5:14 PM, noobinmath said: Go for C if you want to become an electrical engineer, to learn basics or create operating systems. C++ is best for game development. C# is best for enterprise applications. My advice is to don't develop games in unreal engine, gamemaker or godot, instead use a rpg maker when making a game, it is more rewarding and more fun. C and C++ are well established in the game development community. Many game development frameworks are compatible with C and C++. Rust and Go are newer languages but are also well supported for game development and have memory safety features that make them better choices for beginner game developers than C or C++. Go Is also considered high-level while C, C++, and Rust are considered low-level. Game engines will save you time in building a game, because you can focus on the game and not the game engine, but building a game engine from scratch will give you full control over your game engine and game.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now