The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.
← Previous page

    Which "computer language" should I learn?

    Discussion in 'Windows OS and Software' started by Jaycee8980, Sep 23, 2008.

  1. AKAJohnDoe

    AKAJohnDoe Mime with Tourette's

    Reputations:
    1,163
    Messages:
    3,017
    Likes Received:
    0
    Trophy Points:
    105
    Interpretive execution is good for tools, personal use, and prototyping, but not for business use. It may not seem like there is all that much overhead, but over the course of a day, a compiled program that executes, say 33.5 million times, will be more efficient than an interpretive one. Compilation can mean millions saved in avoiding processor upgrades.

    For our little PCs here it is of course mostly academic.
     
  2. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    Ya, but if you do need the speed, you can compile it using py2exe(Windows) or freeze(linux).
     
  3. FusiveResonance

    FusiveResonance Notebook Evangelist

    Reputations:
    143
    Messages:
    421
    Likes Received:
    0
    Trophy Points:
    30
    I'd suggest C/C++ only if you plan on "in the future" working with hardware. If you were in engineering as compared to comp sci, this would be my suggestion.

    Because you're in comp-sci, java gets my vote.

    Eitherways you'd be learning a language, which will teach you programming concepts/logic. This will help you in later years when you will learnl additional languages. But you might as well start with java, as this is what you'll be using the most.
     
  4. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    C? Why C? C++ for sure.
    But I say Python for starters.
     
  5. f4ding

    f4ding Laptop Owner

    Reputations:
    261
    Messages:
    2,085
    Likes Received:
    0
    Trophy Points:
    55
    I'd say he can't go wrong with C, C++, Java, Python, or VB.NET. Especially if he's already using Windows, VB.NET can be really fun. Instant GUI programs in like 5 minutes. Same case for Java, but not C++ or C or Python.

    It will keep things fun, in case he's not as motivated. As I was when I was getting my Comp. Sc. degree.
     
  6. EneergE

    EneergE Notebook Enthusiast

    Reputations:
    0
    Messages:
    31
    Likes Received:
    0
    Trophy Points:
    15
    I personally think everyone should learn an assembly language (there's more than one). It will help with understanding a lot more about how everything works.

    Other than assembly, some higher languages to learn would be Java and C/C++. If you want to go into web development (probably a good idea to head in this direction now), PHP, javascript, html/xhtml, and flash would be extremely beneficial.

    Once you learn JAVA or C++ the other will be much easier to learn. Likewise with web development langauges. They all tend to somewhat overlap, but have certain differences you have to remember when programming in that particular language. If you learn one, you're preparing yourself to learn the next much easier.

    Good luck.
     
  7. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    I really can't justify learning Assembly, its just way to much work.
     
  8. ElectRo`

    ElectRo` Notebook Enthusiast

    Reputations:
    0
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    5
    join the dark side

    delphi FTW
    or ASM
     
  9. FusiveResonance

    FusiveResonance Notebook Evangelist

    Reputations:
    143
    Messages:
    421
    Likes Received:
    0
    Trophy Points:
    30
    I agree with all the assembly comments. Don't learn an assembly language first, it's not necessarily going to make learning a high level language easier.
     
  10. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205

    I too agree with swarmer. Just look at the .Net languages. These all blur the lines between complied and interpreted. They are complied into what used to be called "P-Code" and and at run time this P-code is interpreted by the runtime environment.

    Gary
     
  11. revvo

    revvo Notebook Geek

    Reputations:
    7
    Messages:
    83
    Likes Received:
    0
    Trophy Points:
    15
    Indeed. I certainly wouldn't suggest it to someone who's still learning basic programming concepts, but eventually taking on ASM will give you a solid understanding of memory management and what's happening exactly in that lower level that we can't interact with through Java or C#.

    If you need a job though, knowing assembly pretty well with C and/or C++ alongside it will give you access to very specific job positions since .NET is sort of spreading everywhere now.
     
  12. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    Definitely; once you've got a conceptual framework for "programming," learning assembly will take you to the next level - even if you don't use it regularly in your work-a-day programming - because it will help you to fill in the blank spots that get taken care of for you by the compiler/interpreter for a higher-level language, and you will almost certainly gain a very direct appreciation of things like the memory management techniques that, when first taught in a higher-level language, might seem like pointless frivolity or academic niceties.

    It will also give you the ability to fine-tune your high-level language programming by allowing you to interstitially insert assembly code (e.g., C/C++ allow for the use of some inline assembly code), or to even rework the executable produced by the compiler (via a good disassembler/assembler such as IDA Pro), in order to either remove some of the additional baggage the compiler adds in, or to do certain steps that the compiler cannot set up.

    That ability will carry you far beyond just C/C++; for example, it would enable you to write and fine-tune custom assemblies for use in a .NET environment, which will certainly make you a more valuable .NET programmer than the guy/gal who just learned how to read the .NET documentation and manipulate the pre-existing .NET libraries and assemblies.
     
  13. Matt is Pro

    Matt is Pro I'm a PC, so?

    Reputations:
    347
    Messages:
    2,169
    Likes Received:
    0
    Trophy Points:
    55
    .NET is a great platform to start with.
     
← Previous page