I am 21 years of age, with absolutely zero knowledge of Coding/Programming. HELP!

Started by
28 comments, last by iedoc 9 years ago

I fully agree, but I am living in Denmark where software developers are either outsourced from Poland or from much further East, or employed only while having a relevant college degree. There is no way to get into the industry without that, except being part of a startup.

That is all due to fierce competition.

Slightly OT: If this is following the same pattern as the UK it won't take long before people start realising that when you outsource software development you always get a lower quality end result than doing it in-house.

This is because the level of communication required opens up more chance of misinterpreted specifications etc, and if they're doing it cheaper, they probably aren't putting the same level of effort in.

They did this where i worked and outsourced development of a system to a group in bulgaria that proceeded to make a complete pigs ear of it. You get what you pay for.

Advertisement

C++ is one of those languages that has much subtle complexity, it is a great language with much power BUT all the responsibility is on the developer to know the ramifications of their actions. I think it was Bjarne Stroustrup that said "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off." :)

To get a good grasp on the subtle parts of C++ you really need to read "The Design and Evolution of C++" by Stroustrup. You will end up with a far better understanding of what the language is and why it is that way. (Pre generics etc but still very relevant)

If you want to play with C like languages then C# might be a better starting point as it has garbage collection so most of the resource management issue that trip up noobs are taken away. It does not have multiple inheritance like C++ but many agree that is a bad thing anyway due to the subtle issues it can create unless you are careful. I also has list comprehensions via linq. Linq also supports other monadic comprehensions but that takes some setup or 3rd party libraries.

If you are on windows grab Visual Studio 2013 Community edition... Its free and full blow VS so you get C#, C++, F# and many languages plug into it including Python variants I believe. Great IDE.

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off."


You try to shoot yourself in the foot with C++. You load a bullet object into the gun object and call the fire method, but you can't be sure if you took aim at your foot, a pointer to your foot,.or just a reference to your foot, or a reference to a pointer to an array of two feet, shouting "hey! That's your foot! Over there!!!" :lol:

I think HTML5 offers the path of least resistance. You basically just need a text editor and a web browser to get started. There's a multitude of tutorials available online for free so it won't cost you anything either.

It can be a practical way to target several platforms at once [1], but the trouble with HTML5 is it isn't beginner-friendly. As well as working on the actual programming language (Javascript) you have to make it work together with HTML and CSS in separate files (you can mix them all together, but that's not really a good idea). You'd still want a decent programmers' editor or IDE anyway, so being able to get started straight away with no more than Notepad and a browser isn't a significant advantage.

Javascript has a different OOP model from the other mainstream languages (C++, Java, C# and python too) which I find harder to learn, especially as there are at least two or three ways to define objects without it being terribly clear what the pros and cons of each are.

[1] But for performance you'll probably have to use WebGL. Whether you write it yourself or use something like Three.js, support for WebGL is a bit iffy in MSIE, Android and iOS.

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off."

You try to shoot yourself in the foot with C++. You load a bullet object into the gun object and call the fire method, but you can't be sure if you took aim at your foot, a pointer to your foot,.or just a reference to your foot, or a reference to a pointer to an array of two feet, shouting "hey! That's your foot! Over there!!!" laugh.png

rotf sooo true.

Also because you forgot to dealloc the mess you have just caused you have ghost feet all over the place haunting you


I started with C++ as well... and honestly I can't see why it's not recommended. It's fairly easy. I found Python annoying for the way it handles it's classes. C# for the way it takes away an amount of control I was comfortable with. And Java for being a strange little thing.

A language being easy is subjective to the person learning it. I've seen several beginners declare they hate C++ because they don't get pointers or templaes and proclaim their love for Java or Python for what it does for them under the hood. I've also seen beginners love how much control C++ gives them and, like you, not care for Java or Python for the amount of control they lose. Programmers have their preferences and usually will promote that language without taking into account that there are languages that are better suited for easing beginners into programming. It is because everyone learns differently and may find one language easier to understand than the other that programmers recommend different languages to let the beginner pick whichever language clicks for them.

It is the complexity of C++ that makes most not recommend it for beginners. If a person is going to do C++ as their first language, then I always recommend Bjarne Stroustrup's Programming: Principles and Practice Using C++ 2nd Edition. I actually have a list of books I recommend, but don't have the list on my new laptop at the moment.

Learn to program some really simple stuff in any language before you bother trying to use a game framework or work on a game.

I recommend codecademy.com, python, and later - pygame.

C++, C#, or Java are also fine. You will spend more time learning the basics of how to program in them, but it will pay off in the end because you will better understand programming.

However, i recommend against trying to use C++ frameworks before you have done an entire programming book of exercises - because the things you wont yet understand will bury you (and it sounds like this already happened).

If you want some more personal help and mentorship, email me.. Davidj (at) gmail. I can get you unstuck when you get stuck.

I have began the arduous task of trying to figure out how to get some traction in learning Game Development. I have fallen in love with the idea of making programs and games of my own from the ground up, my own "baby" if you will. I bought Sam's Teach Yourself C++ by Siddhartha Rao as a sort of stepping stone into it all, but as I soon found out C++ is not so complete noob friendly and I very quickly was underwater.

After reading a few threads on gamedev.net's forums and I believe I've landed on Python as the language I would like to get started with. My main question I suppose is now what? College is not really an option, could anyone suggest an online site to begin with or perhaps even a really good textbook? Or any advice from people who have been in my shoes or anything really would be greatly appreciated.

The best way to go about doing this now is teaching yourself. Get books, make practice games, get your code checked by other forum members.

What will you make?

If you like to see results quickly to keep you motivated, you can also try frameworks like Unity or Unreal Engine. They both have a free/personal license and have very easy to follow beginner tutorials that let you create a small game in a few hours to break down a few mental walls.

But keep in mind, while they both do a lot of work for you "under the hood", you will still need to learn how to program. If you have never really programmed before, doing smaller learning programs might help you more than starting out with a game as your first project.

On "which language to pick" - find the one that suits YOU the best. Learn the basics in any one - the basic logical concepts are similar in most programming languages -, then try a few (C++, Python, C#, Java, to name a few) and find your favourite. If you get annoyed by the language you are using, you are using the wrong one.

about the needing college to get into the programming industry... not true at all. i never finished college and have been a professional software developer for almost 10 years now. You'll notice most job requirements say something along the lines of "bachelors degree or equivalent". high profile programming positions at places like oracle and Intel are often filled by 16 year olds that have in some way displayed their knowledge and skillset, possibly by having their code contributions put into the latest releases of open source software. The open source community is a great place to build up reputation and your resume. I got my first programming job when i was 17, and probably the only reason i was able to get an interview was because of my site which teaches about directx and game programming, even though i had no college at all at the time.

I'm a c++ guy myself, but i think python is a good start for anybody trying to wrap their heads around programming logic.

just read what braindigitalis wrote, and expanding on that, I don't think c++ is a great language to start out programming with because you'll spend so much time trying to track bugs because of bad pointers on top of trying to understand programming logic at the same time. learning programming logic is really the first step, so starting with an easier and more forgiving language like python will most likely speed up the learning process. But then again, i always did like just jumping right in to the difficult things

This topic is closed to new replies.

Advertisement