Best (programming) language to learn

Discussion in 'Science & Technology' started by Rev, Jun 18, 2012.

  1. Rev

    Rev
    Expand Collapse
    EDF Elite

    Joined:
    Nov 16, 2011
    Messages:
    3,219
    Occupation:
    First name Jim, last name Bob
    Because it's summer and I now have unlimited time to do whatever the hell I want, I plan on learning a programming language. I've had half a dozen recommended to me already, but I have no idea which to learn. I'm looking for a basic language (not basic as in simple) that offers knowledge that can be built upon when learning other languages. Preferably a lower level language rather than a scripting one.

    Post your recommendation and reasons as to why it's worth learning, pl0x.
     
  2. Beefcake

    Beefcake
    Expand Collapse
    Best-selling author

    Joined:
    Jul 15, 2011
    Messages:
    2,302
    Assembly or C depending on how low level you want to go.
     
  3. Rev

    Rev
    Expand Collapse
    EDF Elite

    Joined:
    Nov 16, 2011
    Messages:
    3,219
    Occupation:
    First name Jim, last name Bob
    I'd rather not learn MASM yet; I've been told it's a pain in the ass and not actually that useful
     
  4. Beefcake

    Beefcake
    Expand Collapse
    Best-selling author

    Joined:
    Jul 15, 2011
    Messages:
    2,302
    It teaches you how the computer actually works, which will be helpful later on.
     
  5. Rev

    Rev
    Expand Collapse
    EDF Elite

    Joined:
    Nov 16, 2011
    Messages:
    3,219
    Occupation:
    First name Jim, last name Bob
    How difficult is it to learn?

    EDIT: And doesn't assembly vary by machine?
     
  6. MrGask

    MrGask
    Expand Collapse
    #FreeGask

    Joined:
    Nov 28, 2011
    Messages:
    12,133
    Occupation:
    Bastard child of Jigsaw and Kayako
    Home Page:
    C is always a good place to start.
     
  7. Fraud Based Economy

    Fraud Based Economy
    Expand Collapse
    Disinherited Nigerian Prince

    Joined:
    Aug 22, 2011
    Messages:
    2,867
    High level languages (general programming)

    C++ is where I started, but Java is more universal. It's because C is a compiled language, while Java is an interpreted (and theoretically platform independent) language.

    Don't bother with low level languages unless you're planning to major in computer science or electrical engineering. If you are though, I'd recommend the x86 processor language since that will give you the most bang for your buck in the long run.

    Truth be told, once you learn one language others are much easier, since it's usually just down to syntax changes. I know about 7 of them myself.
     
  8. Beefcake

    Beefcake
    Expand Collapse
    Best-selling author

    Joined:
    Jul 15, 2011
    Messages:
    2,302
    It's not exactly difficult to learn, but you'll have to understand some rather abstract computing concepts for everything to make sense.

    I learned Assembly on AVR, PIC and ARM micro-controllers and yes, they all differ in their instruction set. You'd probably want to check x86 Assembly Language instead of one of those though, which is supported by all regular x86 PC cpu's.
     
  9. scumhook

    scumhook
    Expand Collapse
    Managing account details

    Joined:
    Jul 16, 2011
    Messages:
    20,067
    Occupation:
    Fellator of the homeless
    Home Page:
    Assembly is (IMO) fucking hard and while it's good to know conceptually, it's not of much practical value. Moving shit to registers etc provides excellent first-principles, but if your time is limited, then maybe you should look to a 3rd gen language.

    Raw C (on Linux or some other CLI environment) would be very good. Anything MSDE related is a bit too nanny state for my liking.

    C++ provides OOP, but that's kind of like driving your car with ESP turned on. If time is short,or the mental road is covered in ice, this may be a good option.

    Get hard.

    Get Raw.

    Write C under Unix.


    Or maybe go waaay into left field, and study the nuances of SQL... A nicely written nested query (not that I could write one to save my fucking life) is a thing of beauty to behold.
     
  10. Beefcake

    Beefcake
    Expand Collapse
    Best-selling author

    Joined:
    Jul 15, 2011
    Messages:
    2,302
    Well assembly still has its uses when performance is important. Afaik part of the scanning engine of NOD32 is written in assembly for example.
     
  11. scumhook

    scumhook
    Expand Collapse
    Managing account details

    Joined:
    Jul 16, 2011
    Messages:
    20,067
    Occupation:
    Fellator of the homeless
    Home Page:
    Fucking true.

    Like a finely tuned car, or a razor sharp knife, assembler is an unparallelled tool in the hands of a trained user...

    I just don't know if OP has the time or the skills to learn it.

    I sure as shit couldn't learn it properly.
     
  12. Beefcake

    Beefcake
    Expand Collapse
    Best-selling author

    Joined:
    Jul 15, 2011
    Messages:
    2,302
    Even just learning the basics will have a positive effect on any coding he does in a language like C. I think it's worth it.
     
  13. Ronny

    Ronny
    Expand Collapse
    Girlvinyl

    Joined:
    Nov 23, 2011
    Messages:
    2,466
    Occupation:
    dago
    Whatever language you may choose it'll take you way longer than 3 months to master it.
     
  14. Fraud Based Economy

    Fraud Based Economy
    Expand Collapse
    Disinherited Nigerian Prince

    Joined:
    Aug 22, 2011
    Messages:
    2,867
    Most college courses last 3-4 months. In that time, you can certainly become proficient in a language. Some might argue that the term mastery itself is relative. What is/are Rev Junco's learning objectives? Is it just how to get programs to compile and execute, and then go through the kinds of textbook algorithms that have been done to death in every introductory computer science programming course under the sun?

    If that's the case then it's do-able with a little discipline.
     
  15. Rev

    Rev
    Expand Collapse
    EDF Elite

    Joined:
    Nov 16, 2011
    Messages:
    3,219
    Occupation:
    First name Jim, last name Bob
    Pretty much I seek to just expand my knowledge of computers n stuff. I'd like to learn additional languages after this, which is why I'd like to find one that would make learning others easier. I'll probably go with C
     
  16. Ronny

    Ronny
    Expand Collapse
    Girlvinyl

    Joined:
    Nov 23, 2011
    Messages:
    2,466
    Occupation:
    dago
    By learning a language I don't mean being able to do the "hello world" shit, that's just lame.
    Truth is that learning a language is an hell of a job and it's sure as fuck that 3 months ain't enough. College courses mean nothing.
     
  17. Fraud Based Economy

    Fraud Based Economy
    Expand Collapse
    Disinherited Nigerian Prince

    Joined:
    Aug 22, 2011
    Messages:
    2,867
    It's long enough to build a solid foundation from which further learning can occur.
     
  18. CuzICan

    CuzICan
    Expand Collapse
    Ediot

    Joined:
    May 9, 2012
    Messages:
    17
    I'd say C or Java. Maybe Python if you're feeling REALLY adventurous.
     
  19. CallMeMaggot

    CallMeMaggot
    Expand Collapse
    Girlvinyl

    Joined:
    Jul 16, 2011
    Messages:
    14,480
    Home Page:
    Learning to get any pussy

    Also, I loved playing a bit with Core Wars in my day, good introduction to assembler
     
  20. Tom

    Tom
    Expand Collapse
    Ultra Furry

    Joined:
    Jul 15, 2011
    Messages:
    2,326
    Dont fuck around with assembly, I would recommend C++, C#, Java, Visual Basic, or Brainfuck.
     
  21. Beefcake

    Beefcake
    Expand Collapse
    Best-selling author

    Joined:
    Jul 15, 2011
    Messages:
    2,302
    And doing this, you will understand none of the important underlying programming principles.
     
  22. Ronny

    Ronny
    Expand Collapse
    Girlvinyl

    Joined:
    Nov 23, 2011
    Messages:
    2,466
    Occupation:
    dago
    Just learn both C and Assembly. All the others are for fags.
     
  23. Fraud Based Economy

    Fraud Based Economy
    Expand Collapse
    Disinherited Nigerian Prince

    Joined:
    Aug 22, 2011
    Messages:
    2,867
    Ok, I'm going to throw out another question here. Rev Junco, what do you want out of these programming languages? As you have just found out asking a question like which programming language is best is the equivalent of starting a religious war among the people who use them. If you ask 10 programmers the same question, odds are you're going to get 10 different answers based on their own experiences and what they use them for. So I guess the real answer is that it depends.

    I recommended Java, because of it's ubiquitous nature (which is the language's biggest advantage in application development). Also Java has the ability to make self-generated API's if you insert the proper tags into your code, which can make function commenting easier (and you will need function comments). It's an object oriented programming language (everything in java is actually an object, which is not the case in C/C++). It's a good first (yet powerful) language for beginners. Again C/C++ is also good too, but it's not as platform-independent as Java. C/C++ has value though because many other languages are similar to it in their syntax. If you know C/C++ picking up others is easier. These are the best places to start.

    Assembly languages are for advanced users only (not suited for beginners). You can write programs that are tiny as fuck and blazing fast, but each one is tied and wedded to whatever instruction set the underlying architecture uses. And there are a metric fuckton of them, PIC, MIPS, ARM, and x86 are the ones that I can think of off the top of my head, but there are many others. With the exception of x86, you probably also don't have the hardware to make use of them either.

    Others like VHDL, Verilog, SPICE, and SKILL are used for hardware prototyping. The reason that I'd caution against them at this phase is because only academic universities and companies have the FPGA boards and industrial tools (i.e. Quartus, Xilinx, and CADENCE) to make use of them. They are suited for electrical engineers only.

    Then there are scientific languages like Mathematica, and MATLAB. Both are good for the modeling of mathematical equations. Again though it's useful for advanced users only.

    I'm in the dark as far as web-based programming languages go (HTML, PHP, SQL, etc.). Other users are probably more knowledgeable about them. If you're interested in programming websites these might be the way to go.
     
  24. scumhook

    scumhook
    Expand Collapse
    Managing account details

    Joined:
    Jul 16, 2011
    Messages:
    20,067
    Occupation:
    Fellator of the homeless
    Home Page:
    You asked him what he wanted to achieve, and then went on to recommend Java.

    It's this sort of attitude by the people who write (and write in) Java that makes Java a shit language, and the reason why nothing written in Java is any good.

    I don't care what Revvo wants to achieve. Fucking learn C.
     
  25. MrGask

    MrGask
    Expand Collapse
    #FreeGask

    Joined:
    Nov 28, 2011
    Messages:
    12,133
    Occupation:
    Bastard child of Jigsaw and Kayako
    Home Page:
     
  26. Fraud Based Economy

    Fraud Based Economy
    Expand Collapse
    Disinherited Nigerian Prince

    Joined:
    Aug 22, 2011
    Messages:
    2,867
    I actually recommended that he pick out either of them (C++ or Java). Java is more portable, but many others are C-like in their syntax. It's a tradeoff. Both options are a good first choice. My first programming language was C++. My actual recommendation is that he learn both. It's not hard to pick up either one once you know the other. But since he only has 3 months here, he needs to make a hard choice which one to go with and stick to it.

    Actually, the languages that I use most often now are MATLAB and VHDL, which are suited to the tasks of my job, but I also realize that both are shit languages for a beginner.

    He could always toss a coin and let fate decide. I can also see that the ghost of Dennis Ritchie shall always live on in your heart, scumhook.
     
  27. scumhook

    scumhook
    Expand Collapse
    Managing account details

    Joined:
    Jul 16, 2011
    Messages:
    20,067
    Occupation:
    Fellator of the homeless
    Home Page:
    A Book on C was my bible.

    Nice Ritchie reference mate :) He now lives in the machine.
     
  28. Fraud Based Economy

    Fraud Based Economy
    Expand Collapse
    Disinherited Nigerian Prince

    Joined:
    Aug 22, 2011
    Messages:
    2,867
    Dennis Ritchie > Steve Jobs (most people just don't realize it though)
     
  29. scumhook

    scumhook
    Expand Collapse
    Managing account details

    Joined:
    Jul 16, 2011
    Messages:
    20,067
    Occupation:
    Fellator of the homeless
    Home Page:
    Yeah, I think there was some quote about Jobs standing on Richie's shoulders. Bloody true.

    I hope Richie's ghost is making Job's ghost suck his transparent cock.
     
  30. ge5undhe17

    ge5undhe17
    Expand Collapse
    Girlvinyl

    Joined:
    Jul 15, 2011
    Messages:
    7,019
    Occupation:
    Lab Tech
    [​IMG]