Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

So I wanna start programming...

Options
  • 28-01-2012 12:37am
    #1
    Registered Users Posts: 1,958 ✭✭✭


    Hello everyone, I am a n00b to the forum and a n00b to programming too.

    To put it short, I'm in 5th year in secondary school and hoping to learn a bit about programming before I go to college (hoping to study CS in possibly NUIG).

    Tbh, I'm a bit overwhelmed by it all. There seems to be so much information on the web about the subject, but I don't know where to start.

    So I'm asking for a little help off ye lads in regards to typical beginner questions like where to start, what language should I learn first, what websites/books are the most helpful for beginners etc.

    Thanks in advance.


Comments

  • Registered Users Posts: 2,345 ✭✭✭Kavrocks


    Hi

    Every time one of these threads pop up you regularly see arguments between people about which programming language is the best to learn or which to start with and there are so many differing opinions.

    I will not get into that argument and tell you which one is best to learn. What I would advise you to do is to try and contact somebody from the Computing Faculty in NUIG and see if they can tell you what programming languages are taught on the course or point you to somebody who can tell you. If you say you are thinking of applying for the course I am more then sure that they will be glad to help you out.

    You could also ask them if they could recommend any resources for you to use or you could then come back here and see what resources others would recommend.


  • Registered Users Posts: 14,336 ✭✭✭✭jimmycrackcorm


    Op, I would recommend starting development in the mobile area. It is the greatest area of growth and also is somewhat simpler because the constraints of portable devices make it much more easier to develop acceptable user functionality.

    The future is html5, so learn that.


  • Registered Users Posts: 33 frezzabelle


    I'd say this thread shouldn't be a long debate on what to learn from everyone(as Kavrocks said). Just do some industry research, talk to some lectures/careers people.

    But in terms of programming(yes the debate begins) I think it has to be C++ or maybe Java(I started at Java) but if I was to start again it would be back to the memory management basics. HTML, I think it depends what you want to get involved in, you can go down the line of design and UI or core backend system development(or much more!).

    Good luck!


  • Registered Users Posts: 20 lowlifer


    jimmycrackcorm: development "in the mobile area" is different from other areas how, exactly? it's still 95% the same process. If he gets a good grasp of "normal" programming, he will have 0 trouble developing software for mobile platforms. I think someone who has a good grasp of algorithms and has dealt with C, C++, java, whatever, can be more productive than someone who knows crap about anything else other than the Android SDK.

    I'd say start with C, data structures and algorithms. You don't have to panic thinking you need to memorize and master all algorithms, just know what the most important ones and what problems you can solve with them.

    Yes, it's a little vague.. but this is such a wide field. Your best bet would be to go through a couple of software engineering courses/labwork/project work. Maybe someone here has some.

    Going through *one* book will just turn you into a code monkey.


  • Registered Users Posts: 47 bundaegi


    If you're completely new to coding you could try http://www.codecademy.com. It's a simple way to 'dip your toe' into JavaScript coding.

    Also, check out http://codingbat.com/. It provides lots of Java and Python exercises along with help.

    The best way to learn to code is to write code!


  • Advertisement
  • Registered Users Posts: 7,231 ✭✭✭Fad


    I've heard good things about this http://learnpythonthehardway.org/

    There's no right answer to what language you should learn, dont listen to anyone who claims the language they're proclaiming is the right way to do things.

    You'll be studying things formally in a few years, you may as well wait until then to start on the serious and difficult stuff, right now you just need to learn how to code and enjoy doing it.


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    http://www.nuigalway.ie/courses/undergraduate-courses/computer-science-and-information-technology.html will give you details of the course. There's contact details too so they'll tell you about what language they'll be teaching. (I'm guessing Java).

    Are you near Galway? There's a coder dojo in Galway. Even if you can't make it you should contact them - they're very focused on people in your situation and would be in a position to give some very good advice.

    TBH I used to tell people to learn C first, but what ever course you're doing will teach you how to program in the language of their choice. The skills you learn at the beginning are pretty much language agnostic anyway - you'll only get into the specifics for a language once you're at the intermediate level. I would suggest, for now, Java or C because you can code for the command prompt to begin with and get the basics. JavaScript would also teach you the basics and all you need is a browser and a good free text editor like Notepad++, so you could start with that too.

    And you can ask loads of questions here.


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    I agree with Fad - learn and enjoy it now and take it easy enough until you go to college to learn it in more depth.


  • Registered Users Posts: 1,216 ✭✭✭carveone


    Fad wrote: »
    I've heard good things about this http://learnpythonthehardway.org/

    Zed Shaw freaks me out! He post comments like "Hey, I think this might be a good idea...." and then 24 hours later has a domain registered, a website up and people cooing at it.

    That's a cool way to buy a book too! Especially as I have an ereader :)
    There's no right answer to what language you should learn, dont listen to anyone who claims the language they're proclaiming is the right way to do things.

    I used to get involved in that, but you're right. Do whatever you think is interesting. These days, anyone can download compilers and get started. But I think it's still harder now than when I was in school using a BBC micro where you typed:

    10 print "hello"
    20 goto 10

    (or something) and got instant results. Nothing like instant gratification :p


  • Registered Users Posts: 6,321 ✭✭✭Jackobyte


    I'm also in 5th Year and am interested in potentially studying CS in UCD. Over the last two weeks, I've been going to CoderDojo in Limerick. They have dojo's set up all around the country and you can find more info here. It's a free service and while it is open to children, from what I've seen in the Limerick one, each of the age groups tend to keep to themselves. The Limerick one has a group of ~8 around the 16/17 mark so I can only presume the rest are similar. Pace may be a bit slow at times, but when they are working with a group of 30 so problems will arise. Over the two weeks I have been there, we did a little bit of Python with inventwithpython.com and some Java through robocode.

    Just thought it might be worth a try.


  • Advertisement
  • Registered Users Posts: 20 lowlifer


    Fad wrote: »
    I've heard good things about this http://learnpythonthehardway.org/

    I would reconsider recommending that book. As I was randomly reading paragraphs, I came across this:
    Tips For Debugging
    1. Do not use a “debugger”. A debugger is like doing a full-body scan on a sick person. You don’t get any specific useful information, and you find a whole lot of information that doesn’t help and is just confusing.
    2. The best way to debug a program is to use print to print out the values of variables at points in the program to see where they go wrong.

    Also:
    Mary had a little lamb.
    It's fleece was white as snow.

    A starting book should be impartial, concise and should IMO cover a strongly typed language. Sure I love writer comments and personal style now, but I don't think it would have helped me when I was starting programming.


  • Registered Users Posts: 7,231 ✭✭✭Fad


    lowlifer wrote: »
    I would reconsider recommending that book. As I was randomly reading paragraphs, I came across this:



    Also:


    A starting book should be impartial, concise and should IMO cover a strongly typed language. Sure I love writer comments and personal style now, but I don't think it would have helped me when I was starting programming.

    I've been programming for 3 years, admittedly I haven't built much of much use, but I am yet to use a debugger, I think I used one in Ruby once, in a practical exam, because I was bored....

    Using a debugger when you're starting out probably isn't brilliant advice anyway, you'll just get bogged down with the tool you're using rather than actually coding, and frankly, just using print statements to debug works when you're starting out.

    If Python is good enough for MIT's* intro to programming type course, I'm not sure why you should insist on a strongly typed language, dynamic is increasing in popularity all the time and is just easier to learn....

    *I dont believe the world revolves around MIT, it's just a convenient example.


  • Registered Users Posts: 11,979 ✭✭✭✭Giblet


    If you aren't using a debugger, it's because you haven't written a large scale app yet. It's like telling an electrician not to use a circuit tester


  • Registered Users Posts: 7,231 ✭✭✭Fad


    Giblet wrote: »
    If you aren't using a debugger, it's because you haven't written a large scale app yet. It's like telling an electrician not to use a circuit tester

    My point is that it's not an overtly useful tool for someone starting out, which is I assume why the book advises against their usage.


  • Registered Users Posts: 37 corman007


    Hey fj forget all the replies as everybody will have their own ideas of what is the best language/ way to learn, i would suggest having a look at the following book - "Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages" http://www.amazon.co.uk/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X/ref=sr_1_1?ie=UTF8&qid=1327889185&sr=8-1
    Whilst the languages are not prominent in use it does teach you the foundations you'll need in the future + different paradigms ie imperative/declarative/functional.


  • Registered Users Posts: 851 ✭✭✭TonyStark


    bundaegi wrote: »
    If you're completely new to coding you could try http://www.codecademy.com. It's a simple way to 'dip your toe' into JavaScript coding.

    Also, check out http://codingbat.com/. It provides lots of Java and Python exercises along with help.

    The best way to learn to code is to write code!

    Agreed, When you become more comfortable with the basics there is a site called: http://projecteuler.net/ where they have a list of math problems that can be solved using whatever language you like.


  • Closed Accounts Posts: 2,616 ✭✭✭8k2q1gfcz9s5d4


    fjsanchez wrote: »
    Hello everyone, I am a n00b to the forum and a n00b to programming too.

    To put it short, I'm in 5th year in secondary school and hoping to learn a bit about programming before I go to college (hoping to study CS in possibly NUIG).

    Tbh, I'm a bit overwhelmed by it all. There seems to be so much information on the web about the subject, but I don't know where to start.

    So I'm asking for a little help off ye lads in regards to typical beginner questions like where to start, what language should I learn first, what websites/books are the most helpful for beginners etc.

    Thanks in advance.

    Kavrocks hit the nail on the head. I found some posts funny here, if you are a total novice, then it doesnt matter what language you use at all, as the core concepts are common to all languages. If you have never coded before then jumping straight into a language like java/C#/C++ will be very tough and frustrating. My advice would be to get in contact with the appropiate people in NUIG and seek advice from them.

    One piece of advice about this forum, never ask which language you should use/ is better.......it results in to school yard arguements!


  • Closed Accounts Posts: 2,616 ✭✭✭8k2q1gfcz9s5d4


    Fad wrote: »
    My point is that it's not an overtly useful tool for someone starting out, which is I assume why the book advises against their usage.

    lol, the OP has never written a line of code and your talking about a debugger already?


  • Registered Users Posts: 452 ✭✭AwayWithFaries


    Evil Phil wrote: »
    http://www.nuigalway.ie/courses/undergraduate-courses/computer-science-and-information-technology.html will give you details of the course. There's contact details too so they'll tell you about what language they'll be teaching. (I'm guessing Java).

    Are you near Galway? There's a coder dojo in Galway. Even if you can't make it you should contact them - they're very focused on people in your situation and would be in a position to give some very good advice.

    TBH I used to tell people to learn C first, but what ever course you're doing will teach you how to program in the language of their choice. The skills you learn at the beginning are pretty much language agnostic anyway - you'll only get into the specifics for a language once you're at the intermediate level. I would suggest, for now, Java or C because you can code for the command prompt to begin with and get the basics. JavaScript would also teach you the basics and all you need is a browser and a good free text editor like Notepad++, so you could start with that too.

    And you can ask loads of questions here.

    Going along to one of these sessions, if you can, is definitely the best place to start. Nothing like being able to ask a question when stuck rather than spending hours looking up the (sometimes wrong)answer on the internet.

    If only they had this sort of thing when I was starting out.


  • Registered Users Posts: 7,231 ✭✭✭Fad


    corman007 wrote: »
    Hey fj forget all the replies as everybody will have their own ideas of what is the best language/ way to learn, i would suggest having a look at the following book - "Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages" http://www.amazon.co.uk/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X/ref=sr_1_1?ie=UTF8&qid=1327889185&sr=8-1
    Whilst the languages are not prominent in use it does teach you the foundations you'll need in the future + different paradigms ie imperative/declarative/functional.

    I've read through a bit of that book, it is not an intro to programming book. If I was given it when starting out, I'd have found it exceptionally unhelpful :/

    (I'm not trying to push Python, it's merely a suggestion, I dont use the language at all).


    lol, the OP has never written a line of code and your talking about a debugger already?


    .......Did you read any of the posts before that? >_<


  • Advertisement
  • Registered Users Posts: 1,815 ✭✭✭imitation


    As a vb programmer my advice for getting started would be as follows

    Once you have a grasp of the basics try and setup mini projects for yourself, it will give you something to work towards.

    Pick a good development environment (imo Visual Studio), and figure out debugging, breaks, stepping through code and watches. Once you can do this you will be able to look through examples and figure them out much quicker.

    Try not to get overwhelmed, you don't need to know absolutely everything to code.

    When you are coding and what you are writing seems clunky or too big , do a bit of googling and see if there is a smarter way to do it, there usually is.

    Try to be disciplined, if you start with one of the easier languages and work your way up you can find your self getting slowed down by bad habits you may have built up with capitalizations, braces etc.


  • Registered Users Posts: 1,958 ✭✭✭Mr. Rager


    Cheers for the replies, didn't want to start a war about the best language :p
    Tbh I just wanna mess around with coding so that I'll get a feel for it and so I can decide if it's something I wanna do in 3rd level (I know coding doesn't take up all of CS but still).

    That Code Academy website is brilliant however, really easy to use and great for a beginner like me.


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    Rails for Zombies (online course with videos and then interactive code assignments - free with signup) would have been something I would have used if I was still in school.
    You don't need to know Ruby, but it does help.

    I would not recommend jumping straight into rails, I would look at it in a few months unless you really want to get into web development.


  • Registered Users Posts: 1,645 ✭✭✭k.p.h


    I recommend Java because it's the best, I'm sure it is.. :p

    Just joking. It dose not really matter but if you are looking for a good comprehensive set of videos tutorials look no further than here

    Be sure to google and reference often and whenever you lean something new make sure and implement it yourself.


  • Registered Users Posts: 5,246 ✭✭✭conor.hogan.2


    Agreed on The New Boston especially for getting started in a topic.


Advertisement