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've decided to teach myself a language

Options
  • 13-02-2007 2:43pm
    #1
    Registered Users Posts: 2,234 ✭✭✭


    Hi,
    I'm in college at the moment but I have a lot of free time on my hands in the eveing and have decided to teach myself a programming language. But which one?I am thinking maybe C,C++,Java or PHP. Which of these is the best or would they be too hard to begin with..also if I do teach myself a certain amount of any given language is there a way I can get certified?

    Thanks,


«1

Comments

  • Registered Users Posts: 744 ✭✭✭cold_filter


    I think Java is good to start with as its taught as the primary language in most colleges now so there is quite an anbundance of resources, I found it a good base to start learning other languages from.


  • Closed Accounts Posts: 8,478 ✭✭✭GoneShootin


    Speaking from a job perspective, PHP at the moment is not what I would call a great salary earner. If you look at any recruitment site you will see plenty of jobs for JAVA/Microsoft based languages. Personally I'm playing around with the notion of learning a Microsoft .NET language, but time is not my friend!


  • Registered Users Posts: 2,234 ✭✭✭techguy


    I'll have a look into java and some microsoft ones.. Is C/C++ microsoft aswell??
    Where should I start if I want to teach myself java?? Anybody know of any good books out there?


  • Registered Users Posts: 744 ✭✭✭cold_filter


    Any college book shop/easons, though they can be quite expensive so maybe an older edition, also you'll need an environment, i used jbuilder that was a few years ago though, just take your time read the book and as my lecturer said one day everything will just click and you might not have to look at a book again to program in that language, obviously try and put theory into practice as much as possible and practice,practice practice


  • Registered Users Posts: 2,717 ✭✭✭ARGINITE


    Start with java.
    Try this to start you off with learning java Java tutorials.
    Its not bad and its free.
    As for an IDE try eclipse. Also free.


  • Advertisement
  • Registered Users Posts: 213 ✭✭underpants


    techguy wrote:
    I'll have a look into java and some microsoft ones.. Is C/C++ microsoft aswell??
    Where should I start if I want to teach myself java?? Anybody know of any good books out there?

    The main microsoft "language" is/was Visual basic. I'd say, avoid at all cost if you really want to learn a proper programming language. VB isn't even entirely object orientated. The latest microsoft language is C#.

    C# would be another possible place to start. But I'd agree that Java is probably the best way to go. Whatever you decided, the basic concept behind both is very similiar so if you learn a few basic bits of code for java then you'll easily be able to apply that to c, c++ or c# once you check the format.


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


    underpants wrote:
    The main microsoft "language" is/was Visual basic. I'd say, avoid at all cost if you really want to learn a proper programming language. VB isn't even entirely object orientated. The latest microsoft language is C#.

    C# would be another possible place to start. But I'd agree that Java is probably the best way to go. Whatever you decided, the basic concept behind both is very similiar so if you learn a few basic bits of code for java then you'll easily be able to apply that to c, c++ or c# once you check the format.

    The current version of VB and the previous version of VB, both being VB.net, are fully object oriented languages as all .net languages are required to be.

    Classic VB did have a bad name and wasn't considered a proper programming language by some (possibly because it was made of lego and balsa wood or something ;)). The reason for this is that classic VB may have been more forgiving of bad code - but you can write bad code in any language. Sure it wasn't object oriented but neither are a number of languages out there including C, not that I'm comparing the two. It was an event driven language. When it came to developing business apps on Windows the were few languages to match it at the time.


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    If your going the c++ route try gcc, free and means your coding for linux as well. better to avoid bad habits earlier then later.


  • Closed Accounts Posts: 461 ✭✭markf909


    Java or C# would be a good way to introduce yourself and both languages seem to be in demand in the jobs market.

    C++ is far from an academic language and is probably best left until you can be confident in your core programming skills.


  • Registered Users Posts: 2,234 ✭✭✭techguy


    Java it is.. I have downloaded the developers setup file. I installed it but it got all messed up (having to type C:\program files etc) Whats the best way to set it up?
    And whats netbeans, should I leave that for another day?
    Whats and IDE ?

    Whats the best way for me to begin writing,compiling and executing code??


  • Advertisement
  • Closed Accounts Posts: 619 ✭✭✭Afuera


    techguy wrote:
    Whats the best way to set it up?
    And whats netbeans, should I leave that for another day?
    Whats and IDE ?

    Whats the best way for me to begin writing,compiling and executing code??

    You've kind of answered your own question here... An IDE is an Integrated Development Environment. It generally provides a convenient way to write, compile and test code. NetBeans is a decent IDE which Sun provide, so I would recommend you start with that.


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    NetBeans is free with Java, but you can also get eclipse www.eclipse.org. I've played with Netbeans (I'm an Eclipse fan) and I can say that it really is just a matter of what your happy with.


  • Registered Users Posts: 37,485 ✭✭✭✭Khannie


    I've been using netbeans for the last few weeks and I'm very impressed with it. It integrates a bunch of useful features and is decent for GUI creation.


  • Closed Accounts Posts: 413 ✭✭sobriquet


    Hobbes wrote:
    If your going the c++ route try gcc, free and means your coding for linux as well. better to avoid bad habits earlier then later.
    Slightly OT, but I don't quite get this. It implies that someone learning to code on linux from the get-go won't learn bad habits. In my experience it only means that they'll become less windows-centric, not better programmers.

    If I were recommending a first language I'd say Python. Very neat, flexible in the types of programming it allows, and it better allows someone to learn to write programs rather than learn a language syntax and a class library. Still, the OP has decided to learn Java so it's a moot point.


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    windows is designed to give a programmer bad habits so that they stay on windows. They tried the same with Java but failed.


  • Registered Users Posts: 2,299 ✭✭✭PixelTrawler


    Id pitch in if its not too late and recommend c# myself. Theres a hell of a lot of resources out theres plus you can get the express editions of visual studio 2005 for free from microsoft.

    Its a fairly easy language if you want to learn an object orientated language.

    Also theres a lot of jobs for c# developers - you also have the option of going into asp.net and working on the web.


  • Registered Users Posts: 15,065 ✭✭✭✭Malice


    How about MUMPS? I've just been reading an excellent article on it here. On a serious note, I would also recommend C# It seems to be the one most in demand.


  • Closed Accounts Posts: 7 tchelyzt


    Stay away from Microsoft. Learn Objective C on an Apple Macintosh. Or else, for the sheer heck of it try an elegant list-processing language like Scheme.


  • Registered Users Posts: 2,234 ✭✭✭techguy


    Seems to between C# and Java..
    Java wins this time because I have the IDE set up. Now all I need to do is learn the actual language. Are C# and java related in any way? Maybe C# will be next..:rolleyes:


  • Closed Accounts Posts: 8,478 ✭✭✭GoneShootin


    tchelyzt wrote:
    Stay away from Microsoft. Learn Objective C on an Apple Macintosh. Or else, for the sheer heck of it try an elegant list-processing language like Scheme.

    Ya because that's where the big money is at!


  • Advertisement
  • Closed Accounts Posts: 413 ✭✭sobriquet


    techguy wrote:
    Seems to between C# and Java..
    Java wins this time because I have the IDE set up. Now all I need to do is learn the actual language. Are C# and java related in any way? Maybe C# will be next..:rolleyes:
    OP, you've settled on Java, and that's a fine choice, plenty of people start learning to code with it. Ignore everything else, don't worry about C# or what'll earn you money.

    Get your development environment set up, and write your first program - hello world or whatever. Find a good introductory book, read it, and work through the exercises. Go well into the book, cover as much as possible.

    Once you're comfortable with writing reasonably complex programs, set yourself a fairly complex task (for example, writing a simple webserver is easier than you'd think, but hard enough to be a challenge for a novice; or perhaps a simple game) and break the problem down until you can solve it. I find having something like this to work towards is more rewarding, and you learn more.

    C# and Java aren't specifically related, but are semantically and syntactically quite similar. Very similar in their design goals and the design choices made to meet those goals.


  • Registered Users Posts: 2,234 ✭✭✭techguy


    Thanks sobriquet,
    You don't by any chance know any good books worth starting off on??


  • Registered Users Posts: 2,234 ✭✭✭techguy


    Thanks sobriquet,
    You don't by any chance know any good books worth starting off on??


  • Closed Accounts Posts: 413 ✭✭sobriquet


    It's been ages since I learned Java, but the titles Java For Students and Thinking In Java ring bells. No idea of quality. I'm assuming by the way that you're learning to code from scratch? No previous experience? Have a root through Amazon etc and read the reviews.

    Google should be your first port of call. There's massive amounts on coding for just about every language and topic, and beginners are well served. There should be some that even start with setting up the IDE and writing your hello world app. Google like mad, make note of good sites and read as much as possible. The answer to just about every query you could come up with is out there. Get used to hitting google when you stumble on something, chances are some other beginner has asked the same question already.


  • Registered Users Posts: 2,234 ✭✭✭techguy


    Thanks been looking on amazon but the amount of books on the topic is crazy..
    I have some experience in QBasic but I haven't got much faith in it because it so outdated and you can't do much with it..
    Im just wondering now should I stay with the basic family??


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


    I would recommend Python or Ruby, as they're easy to learn but rather nice all the same.

    Possibly Scheme.
    techguy wrote:
    I have some experience in QBasic but I haven't got much faith in it because it so outdated and you can't do much with it..
    Im just wondering now should I stay with the basic family??

    Nah, that family is now effectively dead. VB.NET is little but a dressed-up C# (which is just as well; real VB was a bit of a nightmare).

    In response to another question, Java and C# are very similar.


  • Registered Users Posts: 2,234 ✭✭✭techguy


    I would like to stick to something a little more mainstream like java or a variant of C so it will be Java for me i'm afraid..


  • Closed Accounts Posts: 413 ✭✭sobriquet


    techguy wrote:
    Thanks been looking on amazon but the amount of books on the topic is crazy..
    Google the book titles, try to find a few reviews. Don't sweat it though, if you stick with coding you won't be long leaving your beginners book behind. Just find one or two with some good reviews and plough into them. Google all the tutorials you find, read them, bookmark the good ones and come back to them. As you decide you want to learn a particular topic (say, network sockets, parsing strings, or file access), google for tutorials on them, repeat the process.
    techguy wrote:
    I have some experience in QBasic but I haven't got much faith in it because it so outdated and you can't do much with it..
    Im just wondering now should I stay with the basic family??
    Why wonder? QBasic and the basic family is, as rsynott said, all but dead. Even official MS Basic is (or was, they're diverging now) a syntax skin on the C# semantics. Java is fine. Learn Java. Get your Java IDE, books and tutorials, start the learnin'. In fact, you could start now.
    techguy wrote:
    I would like to stick to something a little more mainstream like java or a variant of C so it will be Java for me i'm afraid..
    I'd actually agree with rsynott that ruby, python or scheme are better languages for learning to code. However, Java is fine. Not because it's more mainstream, but just because... well, it'll do. If it makes you feel more comfortable that it's mainstream, grand. No working (or hobbyist, for that matter) programmer I know has stuck with the same language all the time. Different languages allow you to express solutions to problems in different ways, learning many will make you a better programmer even if you don't use them day to day. Bear in mind that to become a good programmer there's all sorts of other things to learn aside from an actual language - algorithms and data structures, design patterns, etc etc. Picking a mainstream language isn't a shortcut to absorbing all this.

    Hm, that was rather long. But, eh, in short: dig in and have fun!


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


    techguy wrote:
    I would like to stick to something a little more mainstream like java or a variant of C so it will be Java for me i'm afraid..

    Well, first of all, Python is quite mainstream. Besides, once you learn one (imperative) language, others will follow easily. I advised the languages I advised because they are easier to learn than Java in the first place, and will give you exposure to some programming concepts you'll never see in Java.


  • Advertisement
  • Registered Users Posts: 11,031 ✭✭✭✭dulpit


    techguy wrote:
    Thanks sobriquet,
    You don't by any chance know any good books worth starting off on??


    I know I'm kinda just popping up late in the game but I'm using Java: How To Program by Deitle & Deitel... If you can get a copy with the cd it's very helpful, combine it with the api's etc. and you'll be fine...

    On an aside, what is it with people and this Microsoft bashing? An earliest post mentioned how programming in windows gives you bad habits so that you will only be able to code in a Windows environment? Now am I been naive or do people seriously over-estimate Mr. Gates? Did he set out to destroy all other O.S's with things like that? I'm sick and tired of people continually telling me (including lecturers...) that Linux or Mac OS is far superior in all ways to Windows... And yet who really cares? Windows works for me and everyone else, so give it a rest! Rant over...:)


Advertisement