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

absolute beginner

Options
  • 18-04-2009 8:29pm
    #1
    Registered Users Posts: 435 ✭✭


    hi, im completely new to programming and have no idea where to start or what language to try. Could anyone point me in the right direction. Apologies if this has been covered already


«1

Comments

  • Registered Users Posts: 32,417 ✭✭✭✭watty


    It's been covered a lot since 1965

    If you want Multiplatform download free Sun Java and Netbeans. Or buy lego Mindstorms or whatever they call it these days.


    But it is like saying you want to keep pets. We need to know your interests, experience and goals.

    Learning a language is quite different to learning to program.


  • Closed Accounts Posts: 532 ✭✭✭Pub07


    The easiest language to get started with prob is html, so id recommend to start there. Go here - http://www.w3schools.com/htmL/html_intro.asp
    This site is great for all web languages but you'll want to start with html.


  • Registered Users Posts: 1,148 ✭✭✭punk_one82


    Html isn't a programming language though..


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    punk_one82 wrote: »
    Html isn't a programming language though..
    Exactly, it is far from a programming language. It is just tag based.

    Try PHP, Perl or Phyton, then move to C to Java, C++.


  • Registered Users Posts: 354 ✭✭AndrewMc


    Webmonkey wrote: »
    Exactly, it is far from a programming language. It is just tag based.

    Try PHP, Perl or Phyton, then move to C to Java, C++.

    Of those, I'd recommend starting with Python. Apart from its very tidy syntax, it has an interactive mode that makes experimenting and learning very easy. There's a pretty good tutorial available that should get you going.


  • Advertisement
  • Registered Users Posts: 32,417 ✭✭✭✭watty


    PHP, Perl and Python are not full, clean programming languages. They are Scripting languages. IMO unless you are only ever going to do WebSites, not a good place to start.

    HTML and SQL are not programming languages at all.

    Avoid C++ till you learn to program, and only learn C after C++ and all else, or you will learn bad habits. It's possible to write C++ entirely in classic C style, even if using objects/classes. Which is a very bad idea.

    It's preferable to do Java (not Javascript) and/or C# before C++, before C.

    A good free IDE is SharpDevelop.

    Whatever you do get decent tutorials. You can't ever learn to program properly from having the tools and a language reference.


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    watty wrote: »
    PHP, Perl and Python are not full, clean programming languages. They are Scripting languages. IMO unless you are only ever going to do WebSites, not a good place to start.

    HTML and SQL are not programming languages at all.

    Avoid C++ till you learn to program, and only learn C after C++ and all else, or you will learn bad habits. It's possible to write C++ entirely in classic C style, even if using objects/classes. Which is a very bad idea.

    It's preferable to do Java (not Javascript) and/or C# before C++, before C.

    A good free IDE is SharpDevelop.

    Whatever you do get decent tutorials. You can't ever learn to program properly from having the tools and a language reference.
    Yep they are only scripting languages but they can be handy at first to demonstrate basic statements like conditional blocks, methods/functions etc without having the new programmer getting bogged down in things like object oriented programming, pointers etc. Obviously they compare nothing to real programming but nevertheless they are a starting point, an easy way to get a quick introduction of basics. Be careful however, they allow you to do a lot and could make you program badly but this is unlikely to happen when you are just starting as you aren't molded into any technique yet.

    If you are good, I would start with C, but no harm messing with Python or another scripting language for a month or so to get comfortable and get the idea behind programming, something HTML can never do.

    Everyone has a different opinion where you start, search the forums. However, in my opinion, starting with something like Java can to some be a little confusing with the whole object oriented setup. Course some say you should start object oriented, but in my opinion it is better to learn basics first, and then start building objects and learn all the object oriented mechanisms such as polymorphism, inheritance etc.

    But as I said, everyone has a different opinion and that is just mine. Have fun, programming can be very rewarding but like everything very annoying at times too.

    I would strongly suggest you not start with C++, especially using it the object oriented way. It can be a very unforgiving language.


  • Registered Users Posts: 32,417 ✭✭✭✭watty


    You don't have to use objects & classes in C++

    The whole point of learning to program (or even experienced programming) is that the language should be TOTALLY unforgiving. That is why C is the worst choice for learning, as you will "get away" with sloppy techniques or even code that can't work.

    Java has no pointers.

    Obviously on ANY language you learn assignment, tests, loops, conditional loops and then more complex data structures.

    Since Java, C++ and C# are all available and free and multiplatform there is no reason to use C. C programming language can be learnt later in a few days if you know how to program.


  • Registered Users Posts: 354 ✭✭AndrewMc


    watty wrote: »
    PHP, Perl and Python are not full, clean programming languages.

    Can you explain why? What do they not have?


  • Closed Accounts Posts: 5,096 ✭✭✭--amadeus--


    If you are a TOTAL novice to it then a good place to start might actually be VBA.

    Assuming you are ok at Excel open a spreadsheet and record a macro (Tools / macro / record new macro in all versions to 2003). Follow teh box to get going. Once recording do some stuff - type a formula, change formats or whatever. Press teh blue square to stop recording.

    Then go back to tools / macro but this time choose macros. Click on teh macro you created then click on Edit (on teh right). The VBA IDE will open and there is some code - this is the code that performs the actions that you recorded. Any word you don't understand click into it and press F1 on teh keyboard. Hack about and edit it and google for VBA tutorials.

    It's pretty easy to get your head around and VBA is really just a sawn off version of VB (you can't create .exe files but you can leverage off teh application). VBA to VB is a shortish jump and VB to C# isn't too much further and from there you're away. If you run Open Office you can do broadly the same thing in there as well.

    (you will get howls of outrage from "proper" programmers about this but if what you want to do is knock up working solutions to real life problems rather than earn a BSc in Computer Science it's hard to beat)


  • Advertisement
  • Registered Users Posts: 2,534 ✭✭✭FruitLover


    What language you should start with depends on whether you:

    1) Want to be able to quickly get some programs up and running and aren't too concerned with how they work (VB, python, etc)

    2) Want to understand what's happening under the bonnet and want to become a good programmer in the long run (assembly, C, C++, etc).
    AndrewMc wrote: »
    Can you explain why? What do they not have?

    I'd imagine he's talking about the fact that these are interpreted languages, whereas the likes of C and C++ programs are run directly by the CPU, can directly access memory, etc. This was traditionally the watershed between 'programming' and 'scripting' languages. The likes of Java kind of blurs things a bit.


  • Registered Users Posts: 2,164 ✭✭✭hobochris


    If you are a TOTAL novice to it then a good place to start might actually be VBA.

    Assuming you are ok at Excel open a spreadsheet and record a macro (Tools / macro / record new macro in all versions to 2003). Follow teh box to get going. Once recording do some stuff - type a formula, change formats or whatever. Press teh blue square to stop recording.

    Then go back to tools / macro but this time choose macros. Click on teh macro you created then click on Edit (on teh right). The VBA IDE will open and there is some code - this is the code that performs the actions that you recorded. Any word you don't understand click into it and press F1 on teh keyboard. Hack about and edit it and google for VBA tutorials.

    It's pretty easy to get your head around and VBA is really just a sawn off version of VB (you can't create .exe files but you can leverage off teh application). VBA to VB is a shortish jump and VB to C# isn't too much further and from there you're away. If you run Open Office you can do broadly the same thing in there as well.

    (you will get howls of outrage from "proper" programmers about this but if what you want to do is knock up working solutions to real life problems rather than earn a BSc in Computer Science it's hard to beat)

    Vb is a good place to start as it will give you a feel for things... even though it wont teach you to program half as well as using another language as you are not required to go to deep into programing to get results with it. Also Its not great for learning OO (object orientated practices) as it doesn't really use them that much.

    Personally though Id start with Java, that way you'll learn Syntax and OO concepts from there its easy to move to a lot of other languages as they have similar syntax. Java has tones of support online, plenty of IDE's and the compilers not bad for pointing out where you've gone wrong either..


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    I would strongly recommend either Java or C#. They are the two most modern and complete languages. They will let you learn the basics of programming in a simple neutral way, and to quickly and easily progress on to modern programming techniques and standards. While my own preference is for C# (having learned Java in college but worked with C#/VB.net since), there really isn't much to choose between them other than your own personal inclinations and circumstances.


  • Registered Users Posts: 291 ✭✭Biffo The Bare


    watty wrote: »
    PHP, Perl and Python are not full, clean programming languages.
    Misleading comment. PHP and Perl are gererously featured interpreted programming languages, while Python is a fully featured compiled language. Each has its uses and has its slot in the grand scheme of things.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    "PHP and Perl are gererously featured interpreted programming languages"

    Dunno about python, but the fact that Perl and PHP are not strongly typed puts them in the cant be taken seriously category for me.


  • Registered Users Posts: 435 ✭✭son-of-plunder


    i got a book a while ago about learnin python but im confused by everything mentioned in it. So thats why i thought id bring my question here and im in the same prediciment. I dont really have any aims or anything, would just be interested in knowing how to do it. Thanks for all the help!


  • Closed Accounts Posts: 1,015 ✭✭✭Epic Tissue


    I'd say Java with Eclipse IDE .


  • Registered Users Posts: 197 ✭✭pauldiv


    Son of plunder about the Python book...

    You said you were confused by everything in the book.
    Do you mean literally everything?

    Most programming books mention variables, loops and and logic.
    These are the basics that all programmers have to learn.

    Forget most of what you read above because it is a just a flame war that will not help you in any way. Everyone has to be seen to be right ;-(

    Giving someone Visual Studio or Eclipse and telling a novice to start programming in Java or C# is a waste of time. It's way too heavy.

    You want to dip your toes in the water and learn nice and easy.
    If I was you I would just use the w3schools web site and follow the tutorials on html first and then javascript. Javascript is fun and you just need a browser and a text editor to get going.

    It is a great site and it explains how javascript works by using the basic building block that ALL languages use.

    Have fun.


  • Registered Users Posts: 163 ✭✭stephenlane80


    or if vba is a bit heavy for you, you can try scratch: http://info.scratch.mit.edu/About_Scratch !!


  • Registered Users Posts: 5,618 ✭✭✭Civilian_Target


    Frankly I would start with PHP or Ruby on Rails. They're not complicated and you can see your results fast, and you can learn all the basic constructs and see the results

    This is encouraging, and will make you want to program more, and then you can worry about heavy stuff like Java, C, Scheme or whatever :)


  • Advertisement
  • Closed Accounts Posts: 196 ✭✭dreamlogic


    hi, im completely new to programming and have no idea where to start or what language to try. Could anyone point me in the right direction.
    If you like a challenge and are strong mathematically - usually an indication that you have a good aptitude for programming - I would advise diving straight in to C++ (I haven't tried its successor C# so I cannot comment on this one way or the other).

    Otherwise, or if you are thinking more along the lines of web design, then learn web markup(XHTML, CSS). And from there learn javascript, then PHP.


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    watty wrote: »
    PHP, Perl and Python are not full, clean programming languages. They are Scripting languages. IMO unless you are only ever going to do WebSites, not a good place to start.

    Python is very easy to learn, and is used for far more than websites. I'm curious as to why it would be considered unfull or unclean...


  • Registered Users Posts: 3,945 ✭✭✭Anima


    A lot of people will tell you to learn this, that and the other to make sure you have a good knowledge of everything. In reality, you don't need to know everything, thats impossible. So you really have to focus on what you want to end up doing.

    If you're going to be doing performance stuff, I'd suggest C or something similarly low level.

    If its web based stuff, well I'm not particulary sure because I don't do much of that, but I'd say Java is pretty good. I've done JSPs, Servlets etc and Vodafone use them so it must be worth something.


  • Registered Users Posts: 32,417 ✭✭✭✭watty


    That's a myth. If you have good program design and compiler you don't need C or Assembler.

    You can write a video game in VB if you use Windows BitBlt APIs. You can write BitBlt routines in C++ or Modula-2 and have them run as fast as Assembler or C.

    Java is a good starting point.


  • Registered Users Posts: 435 ✭✭son-of-plunder


    pauldiv wrote: »
    Son of plunder about the Python book...

    You said you were confused by everything in the book.
    Do you mean literally everything?

    Most programming books mention variables, loops and and logic.
    These are the basics that all programmers have to learn.

    Forget most of what you read above because it is a just a flame war that will not help you in any way. Everyone has to be seen to be right ;-(

    Giving someone Visual Studio or Eclipse and telling a novice to start programming in Java or C# is a waste of time. It's way too heavy.

    You want to dip your toes in the water and learn nice and easy.
    If I was you I would just use the w3schools web site and follow the tutorials on html first and then javascript. Javascript is fun and you just need a browser and a text editor to get going.

    It is a great site and it explains how javascript works by using the basic building block that ALL languages use.

    Have fun.
    I meant all the mentions of loops, variables etc. Im pretty bad at maths too :)


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    I meant all the mentions of loops, variables etc. Im pretty bad at maths too :)
    Well you will have to sort these things out first before you go into the big guys like Java/C/C++ - hence why I think a scripting language or intepreted language would be easier to get started with. You've enough to worry about without having to get familiar with IDEs and concepts that are involved in the likes of Java


  • Closed Accounts Posts: 2,349 ✭✭✭nobodythere


    PHP is a great starting point. PERL might be overkill as it would let you get into a lot of bad habits. I'd say PHP straight to Java. However if you REALLY want to understand programming, C and Assembly are where it's at.


  • Registered Users Posts: 32,417 ✭✭✭✭watty


    Lego Mindstorms. Pick up an original RIS 1.0 to RIS 2.0 cheap on eBay (need serial port on PC) or the current super NXT system. The original Mindstorms let you click together program compnents on screen. These then sent to the Lego Robot brick via serial & IR connection.

    Scratch http://scratch.mit.edu/


    You absoultely have to understand loops, tests, variables or you can't progam at all.

    Mathematics (not arithmetic) is essential to be a good programmer.

    Netbeans maybe be a little slow but it's free and very very simple to get started on Java. It is also the official IDE. Eclipse is way to complicated for a beginner.


  • Registered Users Posts: 197 ✭✭pauldiv


    "I meant all the mentions of loops, variables etc. Im pretty bad at maths too."

    OP - I was very average at maths too but I persevered because I liked playing with puzzles that require logical thinking for solving them. Maths is only essential if you are are going to write programs for solving financial, scientific and engineering problems.

    Most programs are based on simple arithmetic and blocks of conditional logic when you break them down to their essentials. That is where all your variables and loops come into play.

    When I first learned to program I used to write flowcharts on paper that outlined the flow and logic of my programs before I wrote up my code in the Pascal language. Using flow charts to guide you in coding what is called a top down program is an excellent way to learn. It is intuitive and in step with how our minds work.

    I recommend you go to the w3c site and do some of the HTML and Javascript tutorials to get a feel for things. Some of the guys are voting for Java so maybe you could take a look at the BlueJ website as they have a Java editor developed especially for students with some great examples and tutorials to get you started.

    I assume you are using a windows machine?.


  • Advertisement
  • Registered Users Posts: 435 ✭✭son-of-plunder


    wel i mainly have windows bt i have a load of linux distros that i could use


Advertisement