Skip to content

Aspiring programmer looking for advice.

So I've dabbled in code for a couple of years and recently decided to go back to school for it.  Chances are the curriculum will consist of Java and/or Python, but I'm really interested in learning C/C++.  My question is where to start.  I've got two books, "Professional C++" and "Beginning C++ Through Game Programming."  I've been bouncing back and forth between both.  I've got no experience programming in a group, so Github is new to me.  I'm being told I should find a project there I can chip in on - that or start my own.   I'm just a little flustered over where to begin.  Any ideas?

Comments

  • It really depends on what you want to do.

    I'm not totally convinced that C++ is needed in the professional world all that much anymore, unless you plan on going into the financial sector.
  • MadrigalMadrigal Missouri, US
    Where I live, there aren't many programming jobs available.  The few I've seen listed require a background in C++.  I'd prefer not working anywhere near a financial sector, but I definitely wouldn't pass on the opportunity.

    I love Python.  Java, not so much.  I guess what I'm wanting most is just to make myself more marketable for when I earn my degree.
  • If you ever need help with C Im here to give you a few free ... wait for it ... pointers.

    I crack myself up.

    But really, making yourself marketable requires an outgoing personality and great communication skills. Those are givens in any field but tech more than any due to the large amount of really socially awkward college grads coming out looking for work.

    Stay away from the gimmicks, don't do Web design, attack the degree with a mind towards engineering, and don't pick a "favorite" language yet. There are a lot to explore.

    Look for this year's stack overflow number crunch and polling to learn what languages are "hot" for this year. But ignore the bloated swift ranking. It's important but will drop to a normal slot soon
  • MadrigalMadrigal Missouri, US
    Thank you!  Stroustrup just released a few videos on "proper" modern C++ programming.  Turns out I need more up-to-date material, but I'm intrigued.  As for pointers, I may just hit you up.  I've got the gist of them but eh.  Someone mentioned avoiding "dangling pointers" the other day and I had to google it.  Seems like everything  I learn today is debunked tomorrow but I know it's all part of the process.
  • edited October 2015
    I would suggest learning a strong foundation on OOP from something like java or python as your first language.

    Focus on the functionality and base ideas more than syntax. Then move to something like C

    Edit: OOP = object oriented programming
  • C is a great language to learn early on, even if you don't specialize in it, because C really drives home exactly how you're using memory. Java hides most of that, which makes it easy to grab huge chunks of memory without realizing exactly how much memory you're actually using. C, on the other hand, will make you ask yourself things like "do I really need a 500*500 double array?"

    "On the battlefield I am a god. I love war. The steel, the smell, the corpses. I wish there were more. On the first day I drove the Northmen back alone at the ford. Alone! On the second I carried the bridge! Me! Yesterday I climbed the Heroes! I love war! I… I wish it wasn’t over."

  • Are python's "tables" really that easy to use/make?  My next semester I might take my school's intro to programming class, which will be in Python.  The prof teaching it is my current calc prof, and while he sometimes words questions on tests in sort of vague ways that have occasionally led some of us to miss very easy questions (in contrast to the physics prof, who writes very clear, but simply hard problems), overall he's a good prof who explains things well, and will probably not turn the class into a horrible slog designed for people who have actually been programing since they were 15.  For a course like that, it really can be key who is teaching it - for example, there is a certain notorious math prof who probably would turn it into a "yeah, this is intro to programming, but I assume you already know programming and we're going to do a bunch of really tricky projects" kind of class.  So, this is probably a great chance to take the class, learn things, and not be totally crushed if I am going to do it.  

    But... yes, we will be doing python's equivalent of my bane, tables... So, keeping in mind that I will also have the next portion of basic calc-based physics, and calc ii going, on, plus one more course of some kind (which I will very specifically try to make something that won't kill me), I want to make sure I won't be drowning in a tricky concept - which of course happens at the end of the course (no way around that really, because I can see that it uses concepts you learn earlier).  Keeping in mind that I am NOT a programmer, and do NOT learn this stuff by osmosis, what are your thoughts on someone like me learning the python language, and learning its arrays and lists in particular?
  • Don't be afraid of Intro to Programming. The work you have done on your system in Imperian has already advanced you past any Intro to Programming class you are likely to take. It will be easy. 

    Python is easy and awesome and readable. You've mananged LUA with Mudlet, you'll have no trouble getting your head around Python. 

    And, hey, if everything goes wrong and you just absolutely cannot get it, you can always guilt Septus into walking you through it. :D

    "On the battlefield I am a god. I love war. The steel, the smell, the corpses. I wish there were more. On the first day I drove the Northmen back alone at the ford. Alone! On the second I carried the bridge! Me! Yesterday I climbed the Heroes! I love war! I… I wish it wasn’t over."

  • Python is roughtly 340% easier than lua. 

    To give you an idea of how much I prefer one to the other, I chose to find an open source python mud client, rewrite large portions of it to fit my needs, and then write my system in python over just using mudlet and writing my system in lua.

    Unlike lua tables, python tables (dictionaries) are SHOCKINGLY easy.

    Feel free to ask me questions.  I python to newbies at work all the time.
  • Python is far, far more intuitive than lua. One of the initial language aims was that it should be easy for non programmers to pick up.

    Python dictionaries are very focussed on solving the specific task you need dictionaries for (storing key/value pairs). Frankly, lua tables are not focussed on solving a single specific task (far from it), and it shows when comparing the two. Python dictionary code also tends to be much more concise (opinion, I'm sure someone I've never met writes amazingly elegant lua).

    You will pick it up very quickly.

  • You are going to benefit a lot from your school using python to teach an intro to programming class over something like java. Only so much carol the robot you can stay awake for.
Sign In or Register to comment.