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

recommend a language

Options
2»

Comments

  • Registered Users Posts: 950 ✭✭✭jessy


    It’s not a good idea to start learning a language that has lots of built in functionality when your learning how to program, if you use a language that automatically solves problems for you (that other languages would not), like perl which would automatically manage memory allocation/deletion for you where as C would not then your understanding of programming will not be as good. My advice in choosing a language is as I said above, I also believe that you need to start at lower level languages like C even spend a bit of time on Assembly. So your working your way from the bottom up, it a long process in learning how to program but it will pay off,(you will have a much better understanding of how to program in general i.e. not language specific).


  • Closed Accounts Posts: 5,857 ✭✭✭professore


    MrPinK wrote:
    Unless it's changed since I was learning it, the free edition of VB won't let you create executables. It can be pretty frustrating spending a lot of time writing something, and then not being able to run it outside of an IDE.

    Use VBA that's built into Excel - it's pretty much standard VB and it's free (assuming you have Excel).

    IMHO I would recommend starting with C - I think it's madness to first learn C++ and then Java - Java is castrated C++.


  • Subscribers Posts: 9,716 ✭✭✭CuLT


    katrien_ie wrote:
    Use VBA that's built into Excel - it's pretty much standard VB and it's free (assuming you have Excel).

    IMHO I would recommend starting with C - I think it's madness to first learn C++ and then Java - Java is castrated C++.


    Would it not make sense to move from Java/C++ back then? It's easier to learn than to unlearn.


  • Registered Users Posts: 1,391 ✭✭✭fatherdougalmag


    God be with the days that every programmer worth his salt (now aged between 30 and 35) cut their teeth on BASIC (Beginners All-purpose Symbolic Instruction Code). The worst you'd get was a syntax error. Nothing too frightening. The funny thing is that BASIC was interpreted. It was built in to Commodore 64's, Speccy's and Amstrad CPC 464's (bless 'em). And now Java's the de facto interpreted language.

    Learning a programming language isn't what it used to be. Spending days typing seemingly random (hex) numbers into your little computer just to play stick golf or cricket. I remember doing something like that for a lawn-mower simulator; a pre-cursor to worms if you will.

    Now you just go to a website of your choosing and copy-n-paste all the sample code and you're a wizard (or so you might fool yourself!)

    Before/while you learn a particular language, you've to train your brain. Problem solving I guess. To be able to break something down into it's constituent parts. That's half the battle. Once you can do that, you can take any language and implement the solution in whatever way the rules of that language dictate. Much like the spoken word. You want to ask someone where the nearest jax is in Japanese. You think, right, the concept of the toilet, the concept of wanting to go, how do I express that in Japanese? The last part (how do I express) might differ from language to language but the ideas behind it are language-independent. They could apply to any language.

    So my advice is learn LOGO. Tell the turtle where to go. Don't assume anything. You'll begin to learn the discrete instructions that computers require and appreciate how stupd they really are. Then do BASIC. It's forgiving enough to tell you what's wrong but not chock full of all kinds of whacky errors that C compilers might throw up. The bridge, for me, was Pascal. Again, it wasn't too scary after coming from a BASIC background but it did enforce certain rigours on how you did things (like declaring variables). There's isn't a huge jump from Pascal to C and once you're at C level you're pretty good. C++ is nothing more than C with personality. At an elementary level anyway. Standard Template Library's can be mind-bending at times.

    Think like a computer and you'll get on grand with them. You can always threaten them with a FORMAT C: or a mk2efs.

    Now, I've finished downloading Fockers so I'm off.

    shutdown -h now.


  • Closed Accounts Posts: 4,842 ✭✭✭steveland?


    Yah I remember as a kiddie someone showing me QBasic and I used to make all these little text adventures... them were the days....

    I never figured out anything other than text games though...


  • Advertisement
  • Registered Users Posts: 885 ✭✭✭clearz


    01011001 01101111 01110101 00100000 01110011 01101000 01101111 01110101 01101100
    01100100 00100000 01101100 01100101 01100001 01110010 01101110 00100000 0111010
    0 01101111 00100000 01110000 01110010 01101111 01100111 01110010 01100001 011011
    01 00100000 01101001 01101110 00100000 01101101 01100001 01100011 01101000 01101
    001 01101110 01100101 00100000 01100011 01101111 01100100 01100101 00100000 0110
    0110 01101001 01110010 01110011 01110100 00101110 00100000 01011001 01101111 011
    10101 00100000 01110111 01101001 01101100 01101100 00100000 01100110 01101001 01
    101110 01100100 00100000 01110100 01101000 01101001 01110011 00100000 01110100 0
    1101111 00100000 01100010 01100101 00100000 01110100 01101000 01100101 00100000
    01101101 01101111 01110011 01110100 00100000 01110010 01100101 01110111 01100001
    01110010 01100100 01101001 01101110 01100111 00100000 01101100 01100001 0110111
    0 01100111 01110101 01100001 01100111 01100101 00100000 01110100 01101111 001000
    00 01101011 01101110 01101111 01110111 00101110


  • Closed Accounts Posts: 17,208 ✭✭✭✭aidan_walsh


    clearz wrote:
    01011001 01101111 01110101 00100000 01110011 01101000 01101111 01110101 01101100
    01100100 00100000 01101100 01100101 01100001 01110010 01101110 00100000 0111010
    0 01101111 00100000 01110000 01110010 01101111 01100111 01110010 01100001 011011
    01 00100000 01101001 01101110 00100000 01101101 01100001 01100011 01101000 01101
    001 01101110 01100101 00100000 01100011 01101111 01100100 01100101 00100000 0110
    0110 01101001 01110010 01110011 01110100 00101110 00100000 01011001 01101111 011
    10101 00100000 01110111 01101001 01101100 01101100 00100000 01100110 01101001 01
    101110 01100100 00100000 01110100 01101000 01101001 01110011 00100000 01110100 0
    1101111 00100000 01100010 01100101 00100000 01110100 01101000 01100101 00100000
    01101101 01101111 01110011 01110100 00100000 01110010 01100101 01110111 01100001
    01110010 01100100 01101001 01101110 01100111 00100000 01101100 01100001 0110111
    0 01100111 01110101 01100001 01100111 01100101 00100000 01110100 01101111 001000
    00 01101011 01101110 01101111 01110111 00101110
    :D Or the most irritating...


  • Closed Accounts Posts: 402 ✭✭AlisonB


    Syth wrote:
    Your obviously talking about Larry Wall, the creater of Perl. However I know a guy called Larry who likes Perl and I though that you were talking about him. It freaked me out because I didn't know how you knew it was me, why larry would be talking about me & perl to some women.

    It makes a lot more sense now.
    yep indeed :) ya never know .... maybe he was ----> !


  • Registered Users Posts: 1,391 ✭✭✭fatherdougalmag


    clearz wrote:
    01011001 01101111 01110101 00100000 01110011 01101000 01101111 01110101 01101100
    01100100 00100000 01101100 01100101 01100001 01110010 01101110 00100000 0111010
    0 01101111 00100000 01110000 01110010 01101111 01100111 01110010 01100001 011011
    01 00100000 01101001 01101110 00100000 01101101 01100001 01100011 01101000 01101
    001 01101110 01100101 00100000 01100011 01101111 01100100 01100101 00100000 0110
    0110 01101001 01110010 01110011 01110100 00101110 00100000 01011001 01101111 011
    10101 00100000 01110111 01101001 01101100 01101100 00100000 01100110 01101001 01
    101110 01100100 00100000 01110100 01101000 01101001 01110011 00100000 01110100 0
    1101111 00100000 01100010 01100101 00100000 01110100 01101000 01100101 00100000
    01101101 01101111 01110011 01110100 00100000 01110010 01100101 01110111 01100001
    01110010 01100100 01101001 01101110 01100111 00100000 01101100 01100001 0110111
    0 01100111 01110101 01100001 01100111 01100101 00100000 01110100 01101111 001000
    00 01101011 01101110 01101111 01110111 00101110

    00111010 00101001


  • Closed Accounts Posts: 139 ✭✭utopian


    jessy wrote:
    if you use a language that automatically solves problems for you (that other languages would not), like perl which would automatically manage memory allocation/deletion for you where as C would not then your understanding of programming will not be as good... even spend a bit of time on Assembly...

    Don't bother learning a language with manual memory management if you can avoid it.

    It's useful to learn the syntax of C, as it will make it easier to read Perl/Java/C#. I would use Python to learn basic programming, and then move on to whatever language(s) are used in your target domain. That's if you need to - ignore all the stuff about "less powerful interpreted languages" - Python is certainly powerful enough for general use, and the interpreted/compiled distinction is increasing meaningless (if it was ever meaningful) with bytecode and VMs and CLRs etc.


  • Advertisement
  • Closed Accounts Posts: 1,575 ✭✭✭elivsvonchiaing


    utopian wrote:
    Don't bother learning a language with manual memory management if you can avoid it...
    Absolutely do not call yourself a real programmer if you start with VB etc. C but moreso assembly gives you an understanding of what's going on... think if you do this you'll know every power of 2 to 2^32. This can have its uses in my experience - even when you are beyond programming- and can explain a revenue anomaly of €655.36!

    Knowing assembly will tune your mind to the binary world. If someone told you they would give you a file of credit card transactions as follows: product id - int(4 bytes), card no - int (8 bytes), expiry (1 byte), Transaction amount (4 bytes). Read the file, generate the report!

    If you started with VB you might not think of asking are these values little endian or big endian - big difference! With a background in assembly - this would probably be the first question you'd ask!

    You are unlikely to be faced with such a task nowadays - but if you can appreciate the binary world in this way - you will be able to debug code more quickly, write better code; just so long as the binary thing isn't a trip for you - and you end up writing code that would take an army of nerds to understand!

    The dharma here is: "Learn assembly (at least two) and C", after that Perl, Java, C#, Python (never used it) etc. etc. are your oyster.

    ps. would recommend - Z80 - and MC68000 tbh - any microcontroller language will do though :rolleyes:


  • Registered Users Posts: 1,391 ✭✭✭fatherdougalmag


    Knowing assembly will tune your mind to the binary world

    Absolutely. Just like living with wimin. To know the computer, is to become the computer. It really does give you a better understandin; even at higher levels. I work with device drivers on Windows and Linux and knowing how the OS interacts with drivers really gives you a greater appreciation for what goes on when you, for example, attach a USB device or put your machine into standby. For one thing, it gives you a better ability to diagnose and resolve problems because you can usually determine, by the nature of the problem, what level the issue might be at.

    And as I say, the same goes for women.


  • Closed Accounts Posts: 346 ✭✭coolio_64


    thanks for all the replies

    its hard to no what to do


  • Closed Accounts Posts: 267 ✭✭C Fodder


    I'm not a programmer but learned BASIC in school and college and assembly language(various), machine code(mnenomics?) for plc's and C basics in college and first few jobs. I have had to diagnose problems in progs written in different languages on a few ocassions and was able to do so with this background.

    Learn something easy (java vb) first then something like assembler and if you find you have the ability and patience ( I don't) to write good code, learn whatever you think will make you the most money.


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


    coolio_64 wrote:
    thanks for all the replies

    its hard to no what to do
    To get some better answers it might be helpfull if you mention why you want to learn to program. Is there a particular type of application you want to create ? Is it just for personal use or a potential career move ? Or are you just curious and want a rough idea of what it's like ? How much time are you willing to put into it ?


  • Registered Users Posts: 950 ✭✭✭jessy


    clearz wrote:
    01011001 01101111 01110101 00100000 01110011 01101000 01101111 01110101 01101100
    01100100 00100000 01101100 01100101 01100001 01110010 01101110 00100000 0111010
    0 01101111 00100000 01110000 01110010 01101111 01100111 01110010 01100001 011011
    01 00100000 01101001 01101110 00100000 01101101 01100001 01100011 01101000 01101
    001 01101110 01100101 00100000 01100011 01101111 01100100 01100101 00100000 0110
    0110 01101001 01110010 01110011 01110100 00101110 00100000 01011001 01101111 011
    10101 00100000 01110111 01101001 01101100 01101100 00100000 01100110 01101001 01
    101110 01100100 00100000 01110100 01101000 01101001 01110011 00100000 01110100 0
    1101111 00100000 01100010 01100101 00100000 01110100 01101000 01100101 00100000
    01101101 01101111 01110011 01110100 00100000 01110010 01100101 01110111 01100001
    01110010 01100100 01101001 01101110 01100111 00100000 01101100 01100001 0110111
    0 01100111 01110101 01100001 01100111 01100101 00100000 01110100 01101111 001000
    00 01101011 01101110 01101111 01110111 00101110

    good answer but it's not true:)
    010000010101001101001101001000000100001100100000001001100010000001010000
    011000010111001101100011011000010110110000100000011000010111001001100101
    001000000111010001101000011001010010000001110111011000010111100100100000
    011101000110111100100000011011000110010101100001011100100110111000100000
    011010000110111101110111001000000111010001101111001000000111000001110010
    0110111101100111011100100110000101101101


Advertisement