Where to Start?

Hey all I stumbled upon this site while looking for what programming language to start learning and have probably 9000 tabs open with every different one saying something different. I want to learn but I don’t know where to start can I have some suggestions on which to choose and why? I’m interested by so many things but I don’t want to bite off more than I can chew and I want to actually understand everything not get lost half way through and not understand anything. That being said. My interests are making video games, mobile app development and websites so what do you all think is my best route for just getting into programming?

I have done my research and a lot of sites say start with Python, Ruby, or PHP because they are easy to read and understand. But I know video games are made with C++ or C# depending on what engine you can use but apparently they are extremely hard to learn for a beginner. Also Android uses Java and iOS uses Objective C and Swift and both are not beginner friendly. I have also been told by other forums that I will never understand programming if I start with a language like Java. It just seems that every turn I take there is something telling me I am going about this all wrong :confused:

Sorry if this has been posted a million times but I’m just sick of getting discouraged by reading other peoples forum posts and just want a little push. No actually a kick in the right direction.

Don’t worry about it. People who say that you will never understand programming if you start with language x, probably only know language y and want to feel superior. For example, C# and Java are essentially the same.

I think Java is a good place to start. The most pragmatic reason for a beginner, in comparison to C++, are the better error messages. To put it in simple words. If you have a dictionary with 100 words and try to look up word number 101, your C++ program will tell you the first word from the next book, whatever that is. Your Java program will tell you “you made an error, that dictionary only has 100 words”.

Also I would suggest you get a good book. That might be the commitment you need.

Maybe someone else can recommend a good Java book.

I think a site like this is a really good place to start, Why start with one language when you can get a feel for a lot of different ones, the easy practice problems are simple enough that you can solve them in a language you don’t even know with a couple of stack overflow searches, you will then start to get a feel for the similarities between most languages, and hopefully find one or two that most suit you. Most people will tell you that the way to learn to program is by programming, this site lets you do that easily in a lot of different languages with nicely graded problems.

1 Like

Thanks guys I think Im going to go with Java since mobile design really interests me and I have a few app ideas that I think I can pull off alone if I just start to code. Now is this site going to teach me like all the programming parts of java like I know what variables and strings, loops etc are but someone started talking to me about Lambda’s or something like that and garbage collectors and I got beyond confused. Just want to know if I will be able to get a good foundation here. I have other resources book marked as well like the Git hubs resource for free programming books.

Codingame doesn’t try to teach anything. It only offers an opportunity to practice what you have learned elsewhere. But like everybody says, you learn programming by doing it.

You can either work through the puzzles and google when you get stuck, or you can work through a book and do the puzzles as practice. Again, I recommend a good book. Because as a beginner you often don’t know what to google.

With Java you don’t need to worry about lambdas or the garbage collector.

1 Like

What about with C# though I have some like online classes that I bought on sale at udemy that will teach the basics of programming and I do know what variables, strings, loops, for/for each, constants, and switch cases are to name a few. I was also recommended getting a good book by someone else on another forum as well I asked him if he though the head first books are good for a beginner? I found some on thriftbooks that are relatively cheap like 16$ for Java and 5$ for the C# book. Not sure though on whats a good book to buy.

You worry too much. Just pick something and commit to it. C# doesn’t matter if you want to learn Java.

You can probably already do the easy puzzles on Codingame with what you know. Maybe you should try that.

1 Like

I rather prefer C# over Java, but it’s a personal preference.
C# it’s a good language to learn structured programming (strongly typed, Object Oriented, tons of modules, multiplatform…).
With C# you can have the Game Development and Mobile Game Development covered (if using Unity Engine).
And with C# you also have some options for web back-end development (ASP.NET Core), although the main language on web devel right now is Javascript.

Don’t worry about garbage collector, it’s only a problem on very corner cases (high performance computing).

First, learn how to program, then worry about the language itself, It’s easy to jump from C# to Java and vice-versa once you know the basics.

In the end, you’ll have to learn at least 3 languages.

  • One fast, low level but hard to code language for performances when you need it : C and C++ are the best.
  • One very easy and fast to code. Interpreted languages really kicks in this category : Javascript, Ruby, Python, Perl, Php …
  • One language for big architectures, big frameworks or portability : Java or C#

But at the moment, you only need to learn how to program. You have to earn reflexes of coding. The choice is your. Personnaly is think it’s better to learn with a low level language like C. But Ada is very fine too (but not available on this site). You learn the basic. You learn what is the stack, what is the heap, learn how to make a loop, learn why and how the memory work. Avoid the “blackbox effect”. Python is a good language, but if you don’t know how everything work, it’s like a blackbox.

But don’t focus too much on your first language. You see the 3 categories of language i mentioned above ? If you know how to code in Java, you’ll learn very quickly how to code in C#. Because they work the same way. If you know how to code in python, you’ll learn ruby very fast. The syntax is not the same, functions are not in the same place, but they still work the same way.

2 Likes

Hi everyone. I have a question, I want to program iOS applications, so I have a question, how to do this, by learning Swift, or by learning objective C ?