Need help choosing a language

Started by
29 comments, last by jacmoe 9 years ago

There's no sensible reason to "start with C# and gradually move to C++". Just pick a language and learn it. All the choices will be valuable learning experiences.

Advertisement

C# is what happened when Microsoft hired Delphi's chief architect Anders Hejlsberg (before Delphi (Object Pascal) he created Turbo Pascal) to create a new language C#.

((He left Borland and worked at MS for 4 years prior to that, though))

To me, it means that C# has many of the things that I personally really liked (read: loved) about Delphi.

You can view C# as an increment to C++ (C++++ - hence the star).

Too many projects; too much time

There's no sensible reason to "start with C# and gradually move to C++". Just pick a language and learn it. All the choices will be valuable learning experiences.

I'm not quite sure how to read this myself.

If you're saying "just pick C++ now since that's where you want to get to." then I disagree.

If you're saying "Whatever you choose now will be the first of 10 or 20 languages you'll learn eventually" then I agree, but still think C++ is a poor first choice unless you have someone to mentor and guide your progress.

throw table_exception("(? ???)? ? ???");

Hey, I'm 17 and about to enter College, I took a Computer Science Course and I'm really interested in it.

I've been interested in learning how to create games but I'm not sure which program is best. Some say Unity is best but some say C# is too difficult to learn and C++ is the way to go. I've touched on Python earlier this year and it was easy to grasp but I heard you can't do much there. I heard too that for Android App making it would be Java, and I wish to do that too but probably after I learn C++/C#/Python or whichever is best.

Which programming language would be the best to pursue?

Thank you smile.png

You can make games with Python using PyGame (http://pygame.org/news.html). As for Unity, yes you would use C#, but it isn't difficult to learn. Python, C#, and Java are the three languages recommended for beginners. In fact C++ is the most difficult one to learn just due to the complexity of the language. My college degree actually started me out by learning the basics with C# and then moved to C++ for the advanced programming concepts. Some colleges start with Java then move to C++. Still others touch on several languages throughout the degree (think Stanford touches several languages). It's true that C++ is a widely used language and considered the industry standard language, but that doesn't mean you have to start with C++. If you don't want to stick with Python then Java and C# should be the next step. All the languages mentioned here can be used to make games. If you learn C# it will make learning C++ easier. Even if you just learn C# and C++ you have already gave yourself a large platform to develop for because most game engines and libraries use either C#, C, or C++. So I would say to either learn pygame and stick with python, learn C# to start using Unity, or learn C++ and pick up the Unreal Engine to make games. Ultimately any language you pick will open up several avenues for you to be able to start learning to make games. Just pick one and dig in.

I actually used Turbo C in one of my Computer Classes back in first year I think.

When did you do your first year, 1993? :lol:

I used to use turbo C, in dos in the late 90s...

There are thousands of reasons why C++ can be considered the game industry standard language, not only on the game industry, but in the computer science field too.

I would like to reiterate:

C++ is a language for scientists.

Most of the mathematics/computer graphics/real-time physics simulations softwares uses C++. Game development is math by nature, so it fits inside the category.

I believe most universities out there starts with C and jump to C++ at some point (maybe start with languages such Python) to implement basics data structures algorithms or explain computer architetures, operational systems design, etc.

In my unv., for example, the sequence is C-->C++-->Java. The reason is that Java approaches to a web-development environment, such database transactions, etc. that has a lot of existing libraries that makes the life of the programmer easy in comparison to C++. Java is made for administrative companies. It has a lot of good specifications. Unfortunately you can't really "see how it works" internally. I'm not saying that Java is only-for high-level systems such the ones I've mentioned, but you just can't implement something on it knowing every part of the application transparently. Minecraft is on Java, I believe.

C++ being a very used language doesn't means that has the best libraries to make your life easier. Java, being a high-level language, means that people can learn without much trouble, which means that they can invest their time in libraries to make the work easier.

I wouldn't say: "pick the language you like". For most that looks a logical advice, it is a broad term to use.

I would say "review your needs".

best thing you can do is just program dont worry about languages pick one.... C++ aint bad has its issues. Normally memory management and C with classes as long as you ignore the C with classes its good if you dont use C, python is alot easier to get a grasp of. C# i havent a clue! There are alot of languages new and old! I have one thing to say and that is they all use the same basic structure variables, loops and types once you have them down youll get most languages quickly

C and C++ will teach you a great deal about processing data/logic/structure basics (actually make you do it - needed to properly learn...), which then can apply to other languages where more is done for you. For games, you will (most likely) be dependant on what libraries are available and the languages they are written in/for. They often WONT do everything you need, so you then can apply your programming skill to make what YOU need to code to get the game to do what you want. Making use of library routines/systems of data and logic will also be easier (to do right) when you understand what they are doing as compared to what your game needs to do.

The above has utility for just about any kind of modern programming - not just games.

Libraries are building blocks which then its up to YOU to stitch together effectively and fill in any missing bits when required.

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

I've been interested in learning how to create games but I'm not sure which program is best. Some say Unity is best but some say C# is too difficult to learn and C++ is the way to go. I've touched on Python earlier this year and it was easy to grasp but I heard you can't do much there. I heard too that for Android App making it would be Java, and I wish to do that too but probably after I learn C++/C#/Python or whichever is best.

Pick one of those. I'd recommend against C++, personally, as it is a language steeped in a culture of "expecting you to know what you're doing already," which makes it a poor first choice. I'd further suggest that you continue with whatever language you've already started learning and already know the most of. It sounds like that's Python. What you "heard" about not being able "to do much" with Python is almost certainly wrong, and whatever small bits of truth might lie buried in that generalization aren't applicable to you because, as a beginner, the limiting factor on your ability to "do much" is you, not the language.

At this point your primary aim is to learn programming fundamentals, and as long as you're selecting a language that will let you do that and not get in your way too much, you'll be fine, and you'll have a much easier time learning other languages later on (should you decide to) once you've gotten a basic handle on those concepts.

The other important thing is to actually practice making things with the language -- beyond just the assignments from your course, if you're still taking it. Make little games on the side in your spare time, starting with simple text-based things like "guess the number" or Hangman or Blackjack and moving on to more complex things like a text-based adventure game and finally to things like windowing and graphics.

^^Listen to Josh, he's been doing this for a while

Honestly, language doesn't matter much (So long as it's not Scratch or something for little kids) as you can do whatever you want with it. Each language is like a different kind of kitchen knife. Sure, they might look and be shaped differently, but in the end you use them for the same thing. With my extremely limited knowledge of coding history, I'd think C++ won't be standard in a decade or so. That's just me thinking about stuff, as I look at C++ as a little primitive, even though it has a ton of features. It's not a very good idea to pursue it unless you specifically study game development, in which case C++ is the industry standard. If you're gonna mess with coding and just make games for fun, C# is the way to go. Even then, C# can still be used for big projects. Not many engines use it (But C# is coming to them! Like with Unreal!).

What will you make?

Irlan: no. C++ is not really a language for scientists. They would be using R, Prolog and Python with scientific extensions like SciPy, SciLab, etc.

Do you really think scientists have the patience to watch C++ compile? They would very much prefer explorative, iterative programming in an interpreted language.

Python has every goddamn data structure that C++ can have, and probably more (due to there being so many batteries included with Python).

Runtime critical code can be (and often is) done in C++ and exposed to Python via a module.

Too many projects; too much time

This topic is closed to new replies.

Advertisement