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 ?

Choosing Your First Programming Language: A Beginner’s Guide

Understanding Your Goals

Given your interests in video game development, mobile app development, and web development, here’s a breakdown of potential language choices:

1. Python:

  • Why: Python is a versatile language, known for its readability and ease of learning. It’s a great starting point for beginners and can be used for web development, data science, and even game development (though not the most common choice for complex games).
  • How: You can start with basic Python syntax, data structures, and control flow. Then, explore libraries like Pygame for game development or Django/Flask for web development.

2. JavaScript:

  • Why: JavaScript is the language of the web, used for both front-end (user interface) and back-end (server-side) development. It’s also used for game development with frameworks like Phaser or PixiJS.
  • How: Start with JavaScript fundamentals, HTML, and CSS. Then, dive into frameworks like React or Angular for web development or game engines like Phaser or PixiJS for game development.

3. C#:

  • Why: C# is a powerful language used for game development with Unity, a popular game engine. It’s also used for Windows applications and web development.
  • How: Start with C# basics, object-oriented programming concepts, and then explore Unity for game development.

Recommendations:

Considering your interests and the current industry trends, I’d recommend starting with Python or JavaScript.

  • Python: A great starting point for beginners, allowing you to explore various domains like web development, data science, and game development.
  • JavaScript: Essential for web development and a good choice for game development, especially for web-based games.

Remember:

  • Start Small: Break down your learning into smaller, achievable goals.
  • Practice Regularly: Consistent practice is key to mastering any skill.
  • Don’t Be Afraid to Ask for Help: Join online communities, forums, or coding bootcamps to get assistance.
  • Experiment and Have Fun: The best way to learn is by doing and creating projects.

Don’t get discouraged by the initial challenges. Many successful programmers faced similar hurdles. The most important thing is to keep learning and experimenting. By starting with a solid foundation in a language like Python or JavaScript, you’ll be well-equipped to explore more advanced topics and achieve your programming goals.