Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: What programming languages should I study?

  1. #1

    Default What programming languages should I study?

    I want to work for Novell some day, so which programming languages should I study up on? Probably C, C++ and Java?

  2. #2
    Join Date
    Jun 2008
    Location
    Belgi
    Posts
    174

    Default Re: What programming languages should I study?

    Good way to start, you'll also need to gain a lot of experience. The more experience the better you earn

    If you are new to programming I suggest you start with learning PHP, which is a scripting language. Learning this will give you the basic knowledge of programming.

    Later on you can switch to a real programming language such as Java, Python, C and C++

  3. #3
    Join Date
    Jul 2008
    Location
    Voorhout, Netherlands
    Posts
    262

    Default Re: What programming languages should I study?

    EarthMind wrote:
    > Good way to start, you'll also need to gain a lot of experience. The
    > more experience the better you earn
    >
    > If you are new to programming I suggest you start with learning PHP,
    > which is a scripting language. Learning this will give you the basic
    > knowledge of programming.


    Unless the Op is (going to be) a web dev programmer, PHP is definitely
    *not* a good choice for a first time experience.
    See http://www.codinghorror.com/blog/archives/001119.html why not.

    "PHP isn't so much a language as a random collection of arbitrary stuff,
    a virtual explosion at the keyword and function factory."

    > Later on you can switch to a real programming language such as Java,
    > Python, C and C++


    There's no such thing as "real" or "toy" programming languages. Every
    language has its niche, strong points and uses, even e.g. (.*)BASIC or LOGO.
    A good programmer isn't someone who knows one language inside and out,
    but someone who knows how to translate requirements for input, output
    and the stuff in between into the most efficient logic.
    This logic can than be translated in the most efficient programming
    language for that particular job. Sometimes that language is a compiled
    language like e.g. C, other times a interpreted language e.g. AWK or
    Python is more appropriate. Or something in between, like JAVA.

    I wish I had Python available 25 years ago, learning to apply efficient
    logic would have been a lot easier with Python than it was with gwbasic
    on a TRS-80 clone.

    For the OP: Python is my recommendation for a first start. It has
    - some good, free, IDEs (I use WingIDE),
    - (almost) all the libraries you'll ever need,
    - great support in usenet groups, maiinglists, IRC etc.
    - it lets you concentrate on the logic of your problem instead of
    housekeeping like variable type setting or memory allocation.
    - using more and more of Python's complicated uses comes gradually, it
    'grows' on you.
    - It's a very general language, it can be used in a broad area of
    applications.
    - it's not platform dependent, the same code (most of the times) runs on
    Unix-like, Windows or OS-X PCs without changes.

    After gaining experience, C, C++, JAVA, .NET (or MONO) etc are just
    'more of the same', with some new tricks and new gotchas.

  4. #4

    Default Re: What programming languages should I study?

    ...I suggest you start with learning PHP...
    Sorry, but that is extremely poor advice. PHP is nowadays almost only used as a web scripting language. As such, it has limited Object-Oriented support and is bundled with libraries aimed at primarily web developers. For beginnning programmers, I recommend either Python or C++. Python is the more basic of the two, and bypasses many problems associated with compilation, linking, and header files. C++ is a more realistic language used by professionals, but is correspondingly more difficult to learn and requires a bit more patience. I personally first began programming with C++, and enjoyed the extra challenge. Either way, both are great languages with large and helpful communities.

    Note: If you use both Windows and/or Linux, you might want to consider using C# as an alternative to C++ or Python. Mono has reached a high degree of stability, and the MonoDevelop IDE is very user-friendly for beginners. The downside of Mono is that it is still rather unstable, with limited support for .NET 3.x. While it might be a good idea to hold off using Mono right now, this is definitely another option worth considering in the near future.

  5. #5
    Join Date
    Jun 2008
    Location
    Albuquerque, NM, USA
    Posts
    87

    Default Re: What programming languages should I study?

    Start with C++: Learn object oriented programming from the start.

    Then learn C: Learn pointers, memory management, and data structures.

    Then learn Java: Master a full featured API and hone your object oriented skills with large programs.

    Learn scheme or lisp to understand functional programming.

    Finally learn a scripting language such as python, ruby, or scala.
    It's really that much fun!
    Geeko Samurai (cc)
    My Recent Tracks

  6. #6

    Default Re: What programming languages should I study?

    0. (optionally) do BASIC/PHP to get the basic idea of programming
    1. do Perl to get to know the basic idea of programming and the notion of pointers (Perl and Java wrongly call these references)
    2. do C to get to know of the char*-based string handling
    3. do Perl again to get an introduction to namespaces, and incidentally, objects
    4. do C++ to get the rest of OO (C++/Java-style objects, templates, polymorphism, overloading, upcasting, multiple inheritance)

    There is not really a need for Java. When done right, once you have the concepts at heart, any (non-esoteric) programming language is almost directly usable; a bit of extra time on each language may still be necessary to get used to its peculiarities.

  7. #7
    Join Date
    Jun 2008
    Location
    UTC+10
    Posts
    9,686
    Blog Entries
    4

    Default Re: What programming languages should I study?

    Quote Originally Posted by jengelh View Post
    1. do Perl to get to know the basic idea of programming and the notion of pointers (Perl and Java wrongly call these references)
    You have to blame C++ for that terminology. And indeed they are closer to C++ references (&) than to C/C++ pointers, as you cannot create a null reference.

    As for the original question, you don't so much study programming languages as practice them. After a while you'll see the similarities but also appreciate their peculiarities.

  8. #8
    Join Date
    Jun 2008
    Location
    UTC+10
    Posts
    9,686
    Blog Entries
    4

    Default Re: What programming languages should I study?

    Quote Originally Posted by ken_yap View Post
    You have to blame C++ for that terminology. And indeed they are closer to C++ references (&) than to C/C++ pointers, as you cannot create a null reference.
    Sorry, I have to correct myself here. Java does allow you to assign null to a reference, and therefore null pointer exceptions can happen. But compared to C pointers, Java references are tame.

  9. #9

    Default Re: What programming languages should I study?

    Quote Originally Posted by ken_yap View Post
    You have to blame C++ for that terminology. And indeed they are closer to C++ references (&) than to C/C++ pointers, as you cannot create a null reference.
    That is a totally bogus argument. Java references can be null. And actually, C++ references can be null too, but that is something very implementation-specific and hence not the point here now. But:

    Why do I think they are pointers? Because pointers you have to dereference, whereas references (aliases) you can just use..
    Code:
    int n = 5;
    int &r = n;
    int *p = &n;
    printf("%d %d\n", r, *p);
    The same in Perl...
    Code:
    $n = 5;
    # NOTE: You should not use *r on a daily basis, as globs can be deadly
    *r = \$n;
    $p = \$n;
    printf "%d %d\n", $r, $$p;
    See? I have to derefernce $p first before getting the value out of it.
    And for great justice, in Java too:
    Code:
    int n = 5;
    int r =
    Oh wait, Java is too inferior to even support this.

    Now you still need to explain what makes Java pointers "tame".

  10. #10
    Join Date
    Jun 2008
    Location
    UTC+10
    Posts
    9,686
    Blog Entries
    4

    Default Re: What programming languages should I study?

    Re Java "pointers": No pointer arithmetic. No correspondence of arrays with pointers. No pointers into structure elements. No pointers on primitive types. And so forth.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •