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
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

absolute beginner

  • 18-04-2009 7:29pm
    #1
    Registered Users, Registered Users 2 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


Comments

  • Registered Users, Registered Users 2 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, Registered Users 2 Posts: 1,148 ✭✭✭punk_one82


    Html isn't a programming language though..


  • Registered Users, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 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, Registered Users 2 Posts: 435 ✭✭son-of-plunder


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


  • Registered Users, Registered Users 2 Posts: 316 ✭✭laurence997


    Sorry if this is butting in but I am also wondering what programming language to learn. I'm not really interested in designing websites and would rather learn how to control hardware(motors etc.) from a computer.
    thanks.


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


    C would be the best language for that.


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


    Sorry if this is butting in but I am also wondering what programming language to learn. I'm not really interested in designing websites and would rather learn how to control hardware(motors etc.) from a computer.
    thanks.

    C would be good for this, it allows low-level hardware control through dos or unix.

    If you want to do it on microchips, I suggest you get a PIC programmer and some PIC chips (16F84 is the most used one) and try to program them to do a few things.

    Also you might be interested in dutchforce the electronics forum: dutchforce.com


  • Registered Users, Registered Users 2 Posts: 316 ✭✭laurence997


    Thanks for the help. Just one question. . . Is C programmaing the same as C++?

    I will see about getting the PIC programmer and PIC chips from maplain.


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


    C++ is a subset of C, which means it can do everything C can do plus a few more things. If you learn C, it won't take much to move to C++.


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


    Anima wrote: »
    C++ is a subset of C, which means it can do everything C can do plus a few more things. If you learn C, it won't take much to move to C++.
    C a subset of C++ :) - Yep, once you learn C, C++ should be fine. Big difference is C++ can be done both OOP and Procedural, and C just procedural.


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


    Heh oops :P

    I should of said superset.


  • Registered Users, Registered Users 2 Posts: 316 ✭✭laurence997


    Webmonkey wrote: »
    Big difference is C++ can be done both OOP and Procedural, and C just procedural.
    May I ask the difference between OOP and Procedural.


  • Registered Users, Registered Users 2 Posts: 197 ✭✭pauldiv


    May I ask the difference between OOP and Procedural.

    You could start here: http://en.wikipedia.org/wiki/Procedural_programming

    Re - C/C++ for electronic circuits.
    I prefer Linux myself and found that there are plenty of good free electonics packages in the software repositories. There are emulators for many PIC Microcontrollers and all the tools you need for starting to learn about embedded development. Linux is perfect for this type of work.
    There are also good books on Embedded Linux.

    Have fun.


  • Registered Users, Registered Users 2 Posts: 360 ✭✭eddyc


    Sorry to butt in on the thread but I was wondering does anyone have experience with objective-C, would this be a decent language to start with, I'm on the Mac and the dev tools you get with it seem pretty good, I was wondering because I wasn't sure if I should start with something more standard like Java, C++ etc..


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 316 ✭✭laurence997


    Can I ask what a programmable logic controller (PLC) is then? I notice that it has only a few commands in its language.
    This is a link to a site that shows how to use one to control Hallowe'en attractions. I presume that they cannot be used as effectively as something with hundreds of commands in its language.
    http://www.thebells.net/Halloween/PLCC/PLCC.doc

    Any help telling me how effective or uneffective these are would be greatly appreciated.


  • Registered Users, Registered Users 2 Posts: 377 ✭✭CarefulNow


    Sorry if this is butting in but I am also wondering what programming language to learn. I'm not really interested in designing websites and would rather learn how to control hardware(motors etc.) from a computer.
    thanks.

    I just finished my Leaving Cert and I did the new subject 'Technology'. For the project we used a PICAXE board. They can control lots of different things e.g. motors. We used software called PIC Logicator to program the PIC. It is very easy to use and you don't need to have any knowledge of a programming language. The PIC can also be programmed using the BASIC programming language.


  • Registered Users, Registered Users 2 Posts: 913 ✭✭✭raher1


    Is Phyton the best? Over java?


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


    Sonye wrote: »
    Is Phyton the best? Over java?

    Neither is better, just different.

    Python is known to be more friendly to beginners, Java is more widely used.


  • Registered Users, Registered Users 2 Posts: 913 ✭✭✭raher1


    What's the best Conor?


  • Registered Users, Registered Users 2 Posts: 7,157 ✭✭✭srsly78


    eddyc wrote: »
    Sorry to butt in on the thread but I was wondering does anyone have experience with objective-C, would this be a decent language to start with, I'm on the Mac and the dev tools you get with it seem pretty good, I was wondering because I wasn't sure if I should start with something more standard like Java, C++ etc..

    Obj-C is only used for mac and the iphone. Better off learning a mainstream language like java or c++ if you don't want to be limited to a single type of job.


  • Registered Users, Registered Users 2 Posts: 1,922 ✭✭✭fergalr


    srsly78 wrote: »
    Obj-C is only used for mac and the iphone. Better off learning a mainstream language like java or c++ if you don't want to be limited to a single type of job.

    ...in case he is still deciding 2.5 years later - whats with this thread necro? :)

    Neither is better, just different.

    Python is known to be more friendly to beginners, Java is more widely used.

    http://www.youtube.com/watch?v=d8Oe9SteE3M&t=18s

    Its an impossible question to answer, absent a particular context.

    I'd say that, all other things being equal, python is probably 'better', in that its more productive, cleaner, elegant, unless the project is large, or many person, and you need better tool support, in which case probably java has an edge.

    I'd probably pick python for most projects I'd set out to do.


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


    Exactly, not better just different.
    But for a beginner I would favor Python (or Ruby possibly) over Java.


Advertisement