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.
 Next page →

    Which "computer language" should I learn?

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

  1. Jaycee8980

    Jaycee8980 Notebook Deity

    Reputations:
    93
    Messages:
    702
    Likes Received:
    0
    Trophy Points:
    30
    I am currently at prep school for a PG year of football. After this year I plan on majoring in computers (comp science & info tech). I am very, very knowledgable from a software and hardware aspect of computers however, I think learning a language would help me a bit in my upcoming years of college.

    In your opinion whats the most widely used "language"?
    One most worth learning?

    Java? JavaScript? HTML?

    also, if possible include some guides :)
     
  2. yehrulz

    yehrulz Notebook Consultant

    Reputations:
    97
    Messages:
    268
    Likes Received:
    0
    Trophy Points:
    30
    i'm learning java now. Yes, some guides would be helpfull :D
     
  3. ChevyNovaLN

    ChevyNovaLN Notebook Consultant

    Reputations:
    72
    Messages:
    226
    Likes Received:
    0
    Trophy Points:
    30
    It depends on what your goals are in the field. If you're going into Systems Management (Server Team, windows server support, etc...) then I highly recommend looking into PowerShell. Its a mixture of VB, java, etc... which is what Windows Server 2008 will be based on. If you're going to write programs or be a web developer, i'll have to defer to others.
     
  4. Hep!

    Hep! sees beauty in everything

    Reputations:
    1,806
    Messages:
    5,921
    Likes Received:
    1
    Trophy Points:
    206
    Java is what all the schools are teaching for the most part, as it's pretty forgiving. If you want to teach yourself a language, go with Java, C++, or Assembly (will be much more difficult, but it offers you more flexibility in the long run). I was taught programming on Java and to date, it's the only language I know (well, besides basic...). I do not consider HTML or JavaScript programming languages, as they're more just markup languages (setting locations, etc). Also if you know Java, Javascript takes about 5 minutes to learn. I think Java is an excellent choice.
    Python and perl are also pretty powerful, though I've yet to see them offered at school.
     
  5. stormgraphicdesigns

    stormgraphicdesigns Notebook Geek

    Reputations:
    0
    Messages:
    81
    Likes Received:
    0
    Trophy Points:
    15
    im taking computer classes up at the local community college, first semester im learning html, xhtml, java, and CSS.

    you could always take multiple different language classes since html and xhtml use CSS attributes and eventually you may need them all
     
  6. Evolution

    Evolution Vox Sola

    Reputations:
    413
    Messages:
    1,293
    Likes Received:
    0
    Trophy Points:
    55
    I'd say go with C or C++ it is a good foundation to start from and once you get the basics understood any other language (java for instance) comes very easy to you.

    I also agree with Hep HTML and JavaScript aren't really "languages"...
     
  7. Jaycee8980

    Jaycee8980 Notebook Deity

    Reputations:
    93
    Messages:
    702
    Likes Received:
    0
    Trophy Points:
    30
    Can you guys find me some good guides on how to get started with Java and C+++ :)
     
  8. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    As a programmer for the last 40 (yes that's right 40) years and having taught computer science and other classes, my suggestion to you is that the specific language you learn is less important, than learning how to learn.

    I know, I know that sounds like gobble-d-gook. But the point is no matter what language you learn now, a few years down the road that language will be pretty much obsolete. I can't begin to count all the languages I have learned and tossed aside. Quicktran, Fortran, Cobol, Algol, Pascal, Forth etc. etc. etc. The same goes with programming paradigms. Spaghetti code, structured programming, object oriented, mainframes, mini computers, micros, "the web is the computer", thin client, thick client. They all come and go.

    The folks who last in this industry are the ones who learned how to learn. They learned how to teach themselves a new language or new paradigm as the industry shifts. Pick a language that interests you, I'd suggest Java or C++ as the flavor of the month. In fact I would suggest you learn TWO languages at one time. That will prepare you for understanding the differences between languages that you will encounter years from now. Learn how to avail yourself of the many resources available to a fledgling (or pro) programmer, websites, newsgroups, forums, users groups, etc.

    Gary
     
  9. Minger

    Minger Notebook Consultant

    Reputations:
    28
    Messages:
    289
    Likes Received:
    3
    Trophy Points:
    31
    Java is pretty easy to learn...and one thing I found really helpful was that the compiler error tells you quite a bit about whats wrong. But...I agree with Scuderia on learning how to learn...that, and I really think that learning the first language is the most difficult.
     
  10. flipfire

    flipfire Moderately Boss

    Reputations:
    6,156
    Messages:
    11,214
    Likes Received:
    68
    Trophy Points:
    466
    qbasic... lol
     
  11. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    To start with, what does the curriculum of the school you'll be going to teach, and what do they expect all students to know? Were I you, I'd go to the school, introduce yourself to some of the teachers and ask them - you'll both get a useful answer and start building a relationship with the teachers, which in and of itself is a very useful thiing.

    Assuming that you currently have a Windows-based system, I would second the poster who mentioned powershell - it's a useful way of introducing yourself conceptually to objects and object-oriented programming/thinking, particularly since, as a shell, you can use it interactively (i.e., executing one line at a time in real-time) and not just as a compiled language, such as C++. Beyond that, I would suggest C++; assembly I would not suggest unless you have a particular desire/need to get as close to the bare hardware as possible, because assembly is very difficult to write, and difficult to grasp conceptually (although the rewards of learning it are immense precisely because it is so close to the actual hardware); and, since it is machine-specific, will not give you as portable a knowledge base as learning something like C++.
     
  12. hendra

    hendra Notebook Virtuoso

    Reputations:
    157
    Messages:
    2,020
    Likes Received:
    6
    Trophy Points:
    56
    Verilog for hardware design. VHDL is too dry and too picky.
     
  13. revvo

    revvo Notebook Geek

    Reputations:
    7
    Messages:
    83
    Likes Received:
    0
    Trophy Points:
    15
    Learn any object oriented language, but learn it well! Get a good understanding of object oriented design, how to work and design classes and then it doesn't matter what the language is, it's just a matter of syntax and learning the different features offered by the language. The concepts remain more or less the same.

    When I did computer science a few years back, we started out on Java. We started out making "Hello World" examples all the way to data structures with trees and linked lists with GUI's. When the time came to learn another language like C++, it was a piece of cake for most part, except that most of the class was lost when pointers were introduced :D

    I'd choose between Microsoft .NET C#/VB.NET, Java, or even better C++. If I were you, I'd go with C++ because it's a high level OO language that gives you the ability to work in the lower level, working directly with what's in memory. Once you'd be done learning C++, you'll quickly learn C# and Java.

    Knowing C and Assembly is for sure a strong asset to any programmer because C is not going anywhere. Languages like C# and Ruby that do all the dirty work for you come and go, but C's still out there. Well, Assembly not so much, now it's pretty narrow. If you're working on an OS or other heavy applications, writing a game or working with hardware, you'll need to master Assembly to gain every inch of performance.
     
  14. Matt is Pro

    Matt is Pro I'm a PC, so?

    Reputations:
    347
    Messages:
    2,169
    Likes Received:
    0
    Trophy Points:
    55
    C# or C++ would be a good place to start. That's what I'm doing now.

    You could learn HTML in a 3 day weekend.
     
  15. Prydeless

    Prydeless Stupid is

    Reputations:
    592
    Messages:
    1,091
    Likes Received:
    3
    Trophy Points:
    56
    I second Scuderia's advice. Although I would also suggest Lisp for something quite different (that and my prof said it was the best language, hehe).
     
  16. swarmer

    swarmer beep beep

    Reputations:
    2,071
    Messages:
    5,234
    Likes Received:
    0
    Trophy Points:
    205
    Well I'm going to disagree with most of the people here.
    Stay away from C and C++. Especially C++. And especially if you're trying to teach yourself. These languages are complex and arcane. (Same with Perl by the way.)

    Stay away from Lisp too. It is quite different... an interesting language but not a great intro to programming.

    Good places to start: Python, Pascal, Lua, Java, VB.NET, C#
     
  17. Ganesh Ranganathan

    Ganesh Ranganathan Notebook Consultant

    Reputations:
    0
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    30
    C is the best way to begin, its the best base to build on and you can learn C++ , Java and C# all of which share some common features.
     
  18. The Fire Snake

    The Fire Snake Notebook Virtuoso

    Reputations:
    426
    Messages:
    2,889
    Likes Received:
    0
    Trophy Points:
    55
    I have been a programmer for about 10+ years now and have also used various languages. Some languages make certain things easier than others. But overall I would say for learning procedural programming learn C and for object oriented programming learn Java(a little less complex than C++) or C++.

    I miss C and Java, I have to work with .NET now :(
     
  19. jisaac

    jisaac Notebook Deity

    Reputations:
    306
    Messages:
    1,141
    Likes Received:
    0
    Trophy Points:
    55
    i'm taking computing as an A-level this year.. we're learning about ascii etc... binary code.... neways i think next year we do a project with quickbasic or something, and make programs. If quickbasic is teh first language we get taught... then i suppose its a good way to begin. but yeh i'm a n00b lol so dont quote me
     
  20. dynamicnet

    dynamicnet Notebook Enthusiast

    Reputations:
    0
    Messages:
    39
    Likes Received:
    0
    Trophy Points:
    15
    Greetings:

    As one with a degree in business computer science, and being involved in the industry since 1984 (not as long as Gary), I would like to ditto what Gary stated.

    I do recommend "Code Complete" by Microsoft Press as a book any and all programmers should read; and agree that the issue is knowing the thought processes, and then the language.

    Thank you.

     
  21. Lawrence

    Lawrence Notebook Evangelist

    Reputations:
    255
    Messages:
    492
    Likes Received:
    0
    Trophy Points:
    30
    let's do it in a reverse way: Do you want to be an employee or employer?

    if employee: learn the latest trend (C#, VB.Net, Java and others)
    In some countries cobol programmer has a higher salary because it's almost dead. It exists in old banking system.

    if employer: learn them all because soon when you came up with a great idea, choose which language you prefer. and start digging!

    hope this helps :)
     
  22. talin

    talin Notebook Prophet

    Reputations:
    4,694
    Messages:
    5,343
    Likes Received:
    2
    Trophy Points:
    205
    If you're even suggesting javascript or HTML as a programming language, then you're not so savvy atleast software wise. ;) They are NOT programming languages! :rolleyes: :mad:

    I'd suggest C++ or java. Very widely used in the industry (although depending on what field exactly you wish to get into). If you learn one, the other wont be hard to pick up in case you want to learn both at some point. That's my advice. :)
     
  23. Jaycee8980

    Jaycee8980 Notebook Deity

    Reputations:
    93
    Messages:
    702
    Likes Received:
    0
    Trophy Points:
    30
    I never said they were "programing languages". I said they were languages. Look at the thread title. I really had a hard time picking out a title for this thread lol
     
  24. swarmer

    swarmer beep beep

    Reputations:
    2,071
    Messages:
    5,234
    Likes Received:
    0
    Trophy Points:
    205
    Actually, Javascript is a programming language.

    Wikipedia calls Javascript a "scripting language", but if you look up "scripting language", Wikipedia will tell you that a scripting language is a kind of programming language.

    The main reason I didn't recommend Javascript for trying to learn programming is that I've found it hard to debug, and I haven't found a great way to debug Javascript. Then again, I haven't looked too hard... maybe there is a great way, I don't know.

    An additional strike against it is incompatibilities between different Javascript execution environments... although that may not be an issue if you stick to one execution environment to run your code on.

    However, if you are particularly interested in doing web development, these negatives might be outweighed by the extra motivation that comes from doing stuff that interests you.

    HTML is a markup language... not really a programming language... but a language, yes.
     
  25. powerpack

    powerpack Notebook Prophet

    Reputations:
    7,101
    Messages:
    5,757
    Likes Received:
    0
    Trophy Points:
    0
    I have only read this page. My interjection is only the term "compiled" is missing from past to few posts. I agree with talin's post. I understand jaycee and of course understand swarmer's comment.

    Another word that is fundamental? Coding.

    I must say this whole discussion of "programing" is well, hmm, I would say is generally accepted as a compiled language. Separates scripting?

    What does OP really want to do? Makes all the difference. No one can do and know all. It is too much information.

    When you learn a language that compiles code? You will learn the next one faster and so on. Same with scripted.

    There is no answer to the question as asked.
     
  26. Apollo13

    Apollo13 100% 16:10 Screens

    Reputations:
    1,432
    Messages:
    2,578
    Likes Received:
    210
    Trophy Points:
    81
    There's no one best language. But whatever you choose, I'd recommend buying an actual physical book guide. Most of the Internet guides assume that you know a certain amount about a language that you probably don't actually know starting out - a book will explain in adequate detail that you'll really understand what it is saying. The cost of buying a good book will be worth the expense relative to poring over the Internet looking for a decent guide.

    Not that the Internet isn't useful - Java for example has very good reference online. But I've only encountered one Internet guide that I'd consider adequate for learning a language (in this case Prolog) from the beginning thus far. And I doubt it's as good as the books. Granted, I haven't looked for guides to that many languages. But Visual Basic, Java, C++, MIPS assembly, x86 Assembly - all of those I've yet to find a really adequate guide online.
     
  27. swarmer

    swarmer beep beep

    Reputations:
    2,071
    Messages:
    5,234
    Likes Received:
    0
    Trophy Points:
    205
    That's just nonsense. Programming is certainly not "generally accepted as a compiled language". The whole distinction between compiled and interpreted is pretty blurry (not to mention silly), and plenty of languages can be either interpreted or compiled.

    You want a Javascript compiler? There's one in Google Chrome.
     
  28. powerpack

    powerpack Notebook Prophet

    Reputations:
    7,101
    Messages:
    5,757
    Likes Received:
    0
    Trophy Points:
    0
    Wow Swarm? Sorry but it is. That is the difference between "programming" and scripting? My brother "programs" I don't. I like your opinion. I am just telling you reality.

    Also I have no interest in fighting with you about "Java script"? I don't know?

    Did I argue with you? I said compiled? If not 3'rd generation I might have issues. I am not going to research at this point. Any way read my first post, I in no way wanted to disparage you. I do not know a lot about these things. But I do have major common sense.
     
  29. Prydeless

    Prydeless Stupid is

    Reputations:
    592
    Messages:
    1,091
    Likes Received:
    3
    Trophy Points:
    56
    I'm sorry, but that's not reality. That's just the opinion of a different group of individuals.
     
  30. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    Gotta go with Swarmer on this one. A computer program is nothing more, nor less, than a set of instructions to be processed by a cpu, and how those instructions eventually get to the cpu, either via a compiled executable or an interpreted script, is irrelevant. In point of fact, because HTML is a set of markings to be added to a text document to instruct the computer how to display the text document, HTML is, itself, a programming language (because it's a set of syntax rules for providing the computer with a set of instructions) and an html document is, itself, a program. Just so, a Word document is also, in point of fact, a program and not just a mere passive text document.
     
  31. synic

    synic Notebook Deity

    Reputations:
    131
    Messages:
    849
    Likes Received:
    0
    Trophy Points:
    30
    I'm a senior in college and I've taken 2 C++ classes, a Java class, a SQL class, and a couple of classes involving C and Assembly language. However, I hate my teachers, so it wasn't that much fun sitting in class, but it was fun programming, especially Java. I go to a small school where every CS course isn't offered every semester/year, so I haven't had the chance to take everything I have wanted to (and I'm a **** senior already).

    HTML/PHP/SQL are good to know too.

    Newer languages are also nice to know, like C#, .NET, etc.
     
  32. descendency

    descendency Notebook Consultant

    Reputations:
    23
    Messages:
    230
    Likes Received:
    0
    Trophy Points:
    30
    If you are serious about going to college for CS, then I advise you start reading some material online to figure out what language you want to learn. (A good place to start is your colleges of choice's websites about what they expect. It'll give you a starting point.)

    If you can't figure out what language you should be learning, then you probably should consider an easier field, like Psychology.

    Reading, Research, and exploration are KEY to being successful in Computer Science. If you can't solve a task, the first step isn't to sit down and code 5000 lines. The first step is to research.

    Read up and pick one. If you pick wrong, then pick another one.

    If you want a job in the industry, they will expect that you will have experience in many languages. So if you learn 3-4 "wrong" ones, maybe they'll be applicable later.
     
  33. synic

    synic Notebook Deity

    Reputations:
    131
    Messages:
    849
    Likes Received:
    0
    Trophy Points:
    30
    You really don't need to do any research on all these different programming languages before you go to college.

    In highschool, I had a basic C++ class. Before that, I taught myself the basics of HTML (yes, totally different from C++, but it was my starting point for coding). This is all I really knew before college. I mean, I knew of other languages, but I never really tried learning new ones. I just went to school and figured things out as I went along. I never touched Java before my Java course and I found it to be pretty straightforward.

    Don't worry about it. You'll learn things as you go along. You'll probably want to know more than your school can teach you anyway. This is when you can do some research and learn some more on whatever you're currently learning or some new languages. Have fun.

    EDIT: And about industry... I had an internship over the summer and had the task of customizing web forms for automation purposes. They were written in HTML and classic ASP. However, I've never done anything in ASP before. It did remind me of Java though. So, I said sure I could do it. Ended up doing everything just fine. Researched some things that weren't completely obvious about ASP, and everything worked fine.

    Really, don't worry.
     
  34. glennz

    glennz Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Hi Firesnake, this is completely random. I was wondering where you got the picture for your avatar of the snake?
    I was looking to refer to it for some artwork I'm working on.
    Would be great if you could let me know.
     
  35. synic

    synic Notebook Deity

    Reputations:
    131
    Messages:
    849
    Likes Received:
    0
    Trophy Points:
    30
    You should probably send him a PM instead of trying to get his attention in a random thread :)
     
  36. AKAJohnDoe

    AKAJohnDoe Mime with Tourette's

    Reputations:
    1,163
    Messages:
    3,017
    Likes Received:
    0
    Trophy Points:
    105
    The more languages you know, biological or computer-based (the lines will blur in the next decade or so), the better.
     
  37. irock292

    irock292 Notebook Enthusiast

    Reputations:
    0
    Messages:
    28
    Likes Received:
    0
    Trophy Points:
    5
    Python ----> Nuff said!
     
  38. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    I recomend Java or Python, C# is also a good language.
    For Python, I recomend picking up/downloading these:
    Dive into Python(free)
    Core Python Programming, 2nd Edition

    Both MIT and Stanford. They teach both Java and Python.

    I suggest starting out with Python. It's a great language for starters. Java is also good for beginners, so try that second. C# might be your next choice.
    Take it day by day, go slow, make sure to create clean code.

    P.S. Keep it opensource :D(GPL, LGPL, AGPL, BSD License)
    Just to give you some reason why many are saying python, compare a python "Hello, World" file with a similar program written in C++.

    Python(does not require compiling)
    Code:
    #!/usr/bin/env python # Traditional unix start up line, unneeded in Windows.
    print "Hello World!"
    
    C++(requires compilation like C# and Java)
    Code:
    #include <iostream>
    
    int main() {
    std::cout << "Hello, World!" ;
    return 0;
    }
    You can see the 1 line vs 5 lines for Python and C++ respectively.
    You can see why Python is good for beginners.
    Python.org
     
  39. AKAJohnDoe

    AKAJohnDoe Mime with Tourette's

    Reputations:
    1,163
    Messages:
    3,017
    Likes Received:
    0
    Trophy Points:
    105
    And all those absolutely superfluous brackets and colons that C insists upon
     
  40. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    Actually, the fact that Python does in 1 line what C++ does in 5 is, to my mind, more of an argument for Python being mainly for the experienced programmer who needs efficiency and minimal typing time, and knows enough about all of the different steps hidden under that one line to know when/where it should be used and when not, whereas C++ is better for a beginning programmer because it doesn't put so much under the covers and forces the new programmer to work through the various steps that are elided into one step in Python, thereby forcing the new programmer to actually get a better conceptual understanding of what's going on with a program.
     
  41. AKAJohnDoe

    AKAJohnDoe Mime with Tourette's

    Reputations:
    1,163
    Messages:
    3,017
    Likes Received:
    0
    Trophy Points:
    105
    I actually write pre-compilers for inefficient languages (like the various C) so I can write real code and have it automatically translated into the obscure dialect required by the compiler of those archaic langages.
     
  42. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    :notworthy:
     
  43. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    Well, yes, but face it, C++ is not very easy to learn.
    It takes much longer to learn anything in C++ then in Python.
    But agreed, the programmer needs to know how those statements happen.
     
  44. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    Indeed, I do face it - that's the whole virtue of it in the first place. :D The only reason why I wouldn't say the same thing as regards Assembly is because that requires too much of a narrow focus on having to tell the computer each and every step to take, and would result in the student losing sight of the forest for sake of having to inspect the bark on every tree. C++ occupies a middle ground between the extreme level of detail of Assembly, and the extreme gloss of something like Python.
     
  45. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    Screw it, switch to unix and go with Bash :D
    j/k
    Ya, I think Python is rock solid and awesome though.
     
  46. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    Ok. :D :D

    I haven't worked in Python directly, but I've no doubt that it's a good programming language, probably in large part because it was written by experienced programmers who just got tired of going through the same dog-and-pony show each time they wanted to write something quick and dirty to get a chore done. Once you understand what's going on under the hood conceptually, there's no real reason to keep repeating the rote lessons you used to gain that understanding in the first place. Sounds like Python is the sort of language that a programming newbie should graduate to once s/he is no longer a newbie.
     
  47. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    A major thing is compilation, it can take hours, in Python, its all immediate.
     
  48. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    I very much agree with that point. One of the reasons why I started myself off again with Powershell is, precisely, that I didn't feel like going back to "Hello World!" in C++ and having to recompile every time I added something just to see what would happen.
     
  49. Thomas

    Thomas McLovin

    Reputations:
    1,988
    Messages:
    5,253
    Likes Received:
    0
    Trophy Points:
    205
    Ya, in Python its still fast like compiled languages, without the compiling.
     
  50. swarmer

    swarmer beep beep

    Reputations:
    2,071
    Messages:
    5,234
    Likes Received:
    0
    Trophy Points:
    205
    I like Python, but it's not really as fast as something like C++ or even Java.
    Still, performance should be fine for most purposes.
     
 Next page →