Jump to content

  • Log In with Google      Sign In   
  • Create Account

Re-starting?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
17 replies to this topic

#1 superman3275   Crossbones+   -  Reputation: 2061

Like
0Likes
Like

Posted 31 March 2013 - 02:15 PM

I've been making numerous posts on my blog about not knowing the C++ language very well. And I don't. The problem is, I know it pretty well. I just don't know it correctly. I learned wrong things from a ten-year old book. I've been trying to learn Java (Head First Java, Second Edition), and it's all fine, however I'm wondering: Should I learn Python.

 

I really want to learn so many things, and I can't decide between starting over with Python or Java (I quite literally mean starting over). I'm starting over so that I can learn programming the correct way, without learning things that aren't true. Should I abandon the java I know and start with Python, or should I continue with Java? I'm torn.

 

(I'm still working on finishing my projects in C++, however after I finish my current projects I will either be full-time Java or Python)


Edited by superman3275, 31 March 2013 - 02:15 PM.

I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!


Sponsor:

#2 ultramailman   Prime Members   -  Reputation: 1585

Like
2Likes
Like

Posted 31 March 2013 - 02:20 PM

I think python is great, if you want to learn more about programming, and less about syntax of a language. I think you should continue with c++ though, it's a waste if you leave half way. And those articles, would be nice if you finish them.



#3 ApochPiQ   Moderators   -  Reputation: 16391

Like
8Likes
Like

Posted 31 March 2013 - 03:02 PM

Why all this one-or-the-other thinking?

 

Pick up both and learn them side by side.



#4 AllEightUp   Moderators   -  Reputation: 4267

Like
3Likes
Like

Posted 31 March 2013 - 05:18 PM

As with Apoch, why one or none?  I diverge a bit though, you know C++ already, the only thing you gain by going to a new language is well it is another language.  If you are having issues with writing solid code, the language is unlikely to be at fault and you are probably going to just do the same things in the other languages also.  I believe you would be better suited asking 'why' what you are writing is incorrect, broken etc than changing languages as some way to "fix" the problem.  I learned by being beaten about the head and neck with my keyboard by senior programmers "DON'T DO THAT".  If you don't mind constructive criticism, it is the best way to learn any language and more importantly "how to program" beyond the language specifics.

 

GD should probably add a new forum group: "Codereview" with beginner, to advanced levels for just that sort of posting.  I know I would hang out there a fair amount as I also learn by helping to correct things and many folks looking at something often comes up with a really kick ass solution everyone can learn from.



#5 EddieV223   Members   -  Reputation: 1407

Like
0Likes
Like

Posted 31 March 2013 - 05:24 PM

IMO, no need to start over, just correct what you are doing wrong and keep moving forward.


Edited by EddieV223, 31 March 2013 - 05:25 PM.

If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#6 superman3275   Crossbones+   -  Reputation: 2061

Like
0Likes
Like

Posted 31 March 2013 - 06:29 PM

It's not that I know C++. I really don't know the language. I learned it wrong (Basically, the book I learned it from explained everything wrong and had many, many errors). I want to start over with a new language and learn it correctly.


I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!


#7 ultramailman   Prime Members   -  Reputation: 1585

Like
2Likes
Like

Posted 31 March 2013 - 07:03 PM

You don't know c++? Not even a little bit? Then how do you explain your breakout game, written in c++?



#8 stitchs   Crossbones+   -  Reputation: 1309

Like
2Likes
Like

Posted 31 March 2013 - 07:03 PM

Let me present you with a different way to look at it.

 

You say you don't know, or don't have a clear understanding however, by learning Java (in my opinion) it seems you are now able to see the (potential) flaws in what you were doing, pre-Java. This is a GREAT thing! You now have a new insight in order to identify where you have been going wrong. Use that knowledge to push through with C++. You can look at your current projects and identify areas which you might say "What the heck was I trying to do there, it would be much better this way!". You then note these down so that, if you come across a similar problem in a new project, you can avoid tackling it in the old way, and implement a cleaner, more concise solution.

 

If you do go the way of, "I'll learn a new language instead" then you have this great insight, and whilst you can apply it to correctly learning said language, you will actually be holding yourself back a bit. The best way anyone learns is by making mistakes. It's how we treat these mistakes that makes us more knowledgeable. You can either give-in (I'm not saying you are, it's more of a general statement) or, you reflect and build on how to you are going to correct these.

 

Keep learning Java, keep learning C++, maybe learn Python (only if you have time, or you might burn yourself out too quickly).

 

I hope this is of some help,

 

Stitchs.



#9 AllEightUp   Moderators   -  Reputation: 4267

Like
0Likes
Like

Posted 31 March 2013 - 07:41 PM

It's not that I know C++. I really don't know the language. I learned it wrong (Basically, the book I learned it from explained everything wrong and had many, many errors). I want to start over with a new language and learn it correctly.

You are talking about two separate things.  You can't "learn C++" incorrectly in reality, you just were taught to *use* it in an incorrect manner.  Using the language "properly" is in effect learning to program.  If you move to Python or Java, you are only changing the context of the problem, not removing the fundamental issue.  I don't mean to question your abilities but basically if you don't push through and realize the fundamental problems as "usage" instead of knowledge of the language, no one can really help you.  Switching languages just gives you new things to learn for a bit but eventually you end up in the same exact place.



#10 superman3275   Crossbones+   -  Reputation: 2061

Like
0Likes
Like

Posted 31 March 2013 - 08:35 PM

The point is that I want to understand a language very deeply. And currently, I really don't want to go through C++ again. I'm learning Java right now. It's not like I'm shunning and completely forgetting C++. I still use it daily for certain problems I want to code. The point is that I'm learning java so that I can learn more about programming, and have a language which I deeply understand.

 

Thanks for the help :)!


I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!


#11 superman3275   Crossbones+   -  Reputation: 2061

Like
0Likes
Like

Posted 31 March 2013 - 08:36 PM

It's not that I know C++. I really don't know the language. I learned it wrong (Basically, the book I learned it from explained everything wrong and had many, many errors). I want to start over with a new language and learn it correctly.

You are talking about two separate things.  You can't "learn C++" incorrectly in reality, you just were taught to *use* it in an incorrect manner.  Using the language "properly" is in effect learning to program.  If you move to Python or Java, you are only changing the context of the problem, not removing the fundamental issue.  I don't mean to question your abilities but basically if you don't push through and realize the fundamental problems as "usage" instead of knowledge of the language, no one can really help you.  Switching languages just gives you new things to learn for a bit but eventually you end up in the same exact place.

You don't understand what I mean: I don't actually understand how the language works. I didn't learn pointers, arrays, variables, classes, or almost anything correctly. I essentially learned how to use them, however how I was taught was wrong (and has led to me having many errors when I talk about C++). I'm going through Java using a good book so that I can understand the languages fundamentals correctly from the beginning.

 

(That and I want to learn a new language, I've spent almost three years with C++ :))


Edited by superman3275, 31 March 2013 - 08:37 PM.

I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!


#12 EddieV223   Members   -  Reputation: 1407

Like
2Likes
Like

Posted 31 March 2013 - 08:50 PM

I'd like to know what you think you learned so wrong, and what book you read.


If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#13 AllEightUp   Moderators   -  Reputation: 4267

Like
0Likes
Like

Posted 31 March 2013 - 09:36 PM

 

It's not that I know C++. I really don't know the language. I learned it wrong (Basically, the book I learned it from explained everything wrong and had many, many errors). I want to start over with a new language and learn it correctly.

You are talking about two separate things.  You can't "learn C++" incorrectly in reality, you just were taught to *use* it in an incorrect manner.  Using the language "properly" is in effect learning to program.  If you move to Python or Java, you are only changing the context of the problem, not removing the fundamental issue.  I don't mean to question your abilities but basically if you don't push through and realize the fundamental problems as "usage" instead of knowledge of the language, no one can really help you.  Switching languages just gives you new things to learn for a bit but eventually you end up in the same exact place.

You don't understand what I mean: I don't actually understand how the language works. I didn't learn pointers, arrays, variables, classes, or almost anything correctly. I essentially learned how to use them, however how I was taught was wrong (and has led to me having many errors when I talk about C++). I'm going through Java using a good book so that I can understand the languages fundamentals correctly from the beginning.

 

(That and I want to learn a new language, I've spent almost three years with C++ smile.png)

Put this in perspective then.  You need a change of pace.  I can understand that.. :)

 

I don't mean to be an ass, you will do what you want to do.  I get up in arms when folks say learning something "wrong" in any language prevents figuring out how to progress forward.  I simply don't believe in that no matter the language.  So, I wish you the best but arguing reasons, I'll stop.. :)



#14 ISDCaptain01   Members   -  Reputation: 1443

Like
3Likes
Like

Posted 01 April 2013 - 12:48 AM

I wouldn't restart, cause you really cant "restart" because you obviously know the basics. Just fix what is broken and move forward. You cant always go back cause you wont ever move forward. Grab a good modern book on C++ and see what is wrong. Then fix your wrong code into the right code. That way you'll get practice and learn more things.



#15 landagen   Members   -  Reputation: 376

Like
1Likes
Like

Posted 01 April 2013 - 04:07 PM

I don't think the OP was asking for advice on whether or not to start over (he seems to have already decided on that), but rather which language to start over in.  To me, languages are like print versus cursive writing.  They are the same thing, they just look different.  Pick whichever one you want.  Java is going to be closer to the syntax of c++.  If that is a plus for you, then pick Java, otherwise if you fancy the syntax of Python then go for it.  Programming principles for most languages are going to be the same types of challenges in any language.  That is where programming gets hard so eventually you are probably going to run into the same problems you are running into in another language as you are currently running into in c++, it is just going to take you longer to get there.  Although, I will say the syntax of c++ is more complicated than most languages because it has so much more flexibility.





#16 minibutmany   Members   -  Reputation: 1676

Like
0Likes
Like

Posted 02 April 2013 - 02:12 PM

Why do you feel like you need to start over for a third time with Python?

Was there a certain part of Java that stuck out to you as disappointing? 

Making all these changes can be stressful, so I would try not to move over to Python unless you see some glimmering reason why you want to use it so much more.


Stay gold, Pony Boy.

#17 Paradigm Shifter   Crossbones+   -  Reputation: 5433

Like
0Likes
Like

Posted 02 April 2013 - 02:17 PM

His C++ seems ok I just think he needs to get more familiar with things for example posting examples of how he has learnt arrays wrong or whatevs and ask for clarification.

 

I don't think even Bjarne knows C++ inside out ;)


"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

#18 matrisking   Members   -  Reputation: 282

Like
0Likes
Like

Posted 02 April 2013 - 03:15 PM

No offense to the OP, but the premise of this thread seems a little strange to me.  As someone already mentioned, if you're just looking for a change of pace or if you're not enjoying C++, then by all means start fresh with something else.

 

However, don't discount the lessons that you learned by going through learning something the "wrong" way (however you define it) and then starting to correct the course.  You probably learned more than you realized and if you know enough to realize that there was a better way of doing things,  then you probably gained some valuable insights in making those discoveries.

 

I think statements like "I really don't want to go through C++ again." are a little off.  It's not like anyone "goes through" a language and then is "done."  With whatever language(s) you decide on, just remember to approach learning as an ongoing process and not something you "finish" with.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS