CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 12 of 12
  1. #1
    Join Date
    Jan 2010
    Posts
    4

    Help choosing a programming language

    I'm looking to start learning to program, and I would like some help choosing the best programming language for me.

    While I would love to start with C++, for the speed and power, I think it's a little too complicated for me to comfortably stick with in the beginning. So, I'm looking for a higher level language that ideally is not managed or dependant on anything. In other words, I want to be able to compile an application that can run completely on its own without needing .NET or any other components seperately installed on the O/S. If there's no way to get around that, so be it, but I would prefer a language that didn't need this.

    I'm interested in programming apps for Windows, so speed, power, and flexibility is important - as is 64 bit support.


    From what little I know, Visual Basic (not VB.NET) would have been perfect, except Microsoft is no longer supporting it, and it doesn't natively support 64 bit apps.


    So, what would be the best choice given the remaining options?

  2. #2
    Join Date
    Mar 2007
    Posts
    155

    Re: Help choosing a programming language

    If you combine C++ and MFC, it's complex and probably not the wisest place to start for now when MS is pushing .NET upfront.

    So, Qt . It's C++, but way easy. You can build commercial application for free (under LGPL) that targets Windows, Linux and Mac.

    Never skip C++ as your start up language of learning. It's always good for your programming career to have some level of understanding in low level programming. High level languages does all the stuff under the hood without letting you know what it had done. That said, if you have a project that can be easily done with a higher level language, then that's the way to go.

  3. #3
    Join Date
    May 2002
    Posts
    10,943

    Re: Help choosing a programming language

    First off, why even consider Visual Basic non .NET? It's a deprecated language. VB.NET would be a great place to start if you wanted to only develop basic apps for Windows only. Anything C based will give you doors to other operating systems. The only difficulty is that you will need to learn memory management. Not difficult once you get used to it. In fact, once you get that down other languages are a breeze.

    However, determining what language to learn really should be based off of your future intent. What do you plan to develop? Start with that...then choose the language that best fits your first need. Some people try to learn a language and then implement it. This is all wrong...it's like trying to create a need when needs already exist.
    If the post was helpful...Rate it! Remember to use [code] or [php] tags.

  4. #4
    Join Date
    Jan 2010
    Posts
    4

    Re: Help choosing a programming language

    Quote Originally Posted by thomus07 View Post

    If you combine C++ and MFC, it's complex and probably not the wisest place to start for now when MS is pushing .NET upfront.

    So, Qt . It's C++, but way easy. You can build commercial application for free (under LGPL) that targets Windows, Linux and Mac.

    I have to say, I'm not thrilled with being limited by Nokia. I'd rather something less risky (Nokia has made some abrupt and nasty changes in the past).


    Quote Originally Posted by thomus07 View Post

    Never skip C++ as your start up language of learning. It's always good for your programming career to have some level of understanding in low level programming. High level languages does all the stuff under the hood without letting you know what it had done. That said, if you have a project that can be easily done with a higher level language, then that's the way to go.

    Oh, I know that C++ is definitely valuable. But better to learn another language well than to not learn anything at all (if C++ is too complicated for me to stick with at first).

  5. #5
    Join Date
    Jan 2010
    Posts
    4

    Re: Help choosing a programming language

    Quote Originally Posted by PeejAvery View Post

    First off, why even consider Visual Basic non .NET? It's a deprecated language. VB.NET would be a great place to start if you wanted to only develop basic apps for Windows only. Anything C based will give you doors to other operating systems. The only difficulty is that you will need to learn memory management. Not difficult once you get used to it. In fact, once you get that down other languages are a breeze.

    However, determining what language to learn really should be based off of your future intent. What do you plan to develop? Start with that...then choose the language that best fits your first need. Some people try to learn a language and then implement it. This is all wrong...it's like trying to create a need when needs already exist.

    It's not always easy to know at the very beginning what path you might end up on later down the line. I want to be able to develop apps for Windows - that being said, I want maximum flexibility insofar as type of apps. I don't want something limited to internet apps, or anything like that.

    C++ is flexible enough to be the closest thing to universal in scope at the moment - you can use it to program anything from operating systems and hardware drivers to games. Are there no high level languages with a similar level of flexibility? (I know you'd never use a high level language to program an O/S, but everything else?)

  6. #6
    Join Date
    May 2002
    Posts
    10,943

    Re: Help choosing a programming language

    Quote Originally Posted by Bevel View Post
    Are there no high level languages with a similar level of flexibility? (I know you'd never use a high level language to program an O/S, but everything else?)
    That's like asking for a glue that will hold parts together firmly yet bend for flexibility. It just doesn't work. Sorry,but if you want extreme flexibility in your developing, you better just dive in and start swimming in some C/C++/C# derivative.
    If the post was helpful...Rate it! Remember to use [code] or [php] tags.

  7. #7
    Join Date
    Jan 2010
    Posts
    4

    Re: Help choosing a programming language

    Quote Originally Posted by PeejAvery View Post

    That's like asking for a glue that will hold parts together firmly yet bend for flexibility. It just doesn't work. Sorry,but if you want extreme flexibility in your developing, you better just dive in and start swimming in some C/C++/C# derivative.

    I know that nothing is going to come close to C++, but are all higher level languages *that* far behind it? Is there no such thing as a flexible high level language? Are they all that narrowly focused?

  8. #8
    Join Date
    May 2002
    Posts
    10,943

    Re: Help choosing a programming language

    C#
    If the post was helpful...Rate it! Remember to use [code] or [php] tags.

  9. #9
    Join Date
    May 2009
    Posts
    2,413

    Re: Help choosing a programming language

    Quote Originally Posted by Bevel View Post
    I know that nothing is going to come close to C++, but are all higher level languages *that* far behind it? Is there no such thing as a flexible high level language? Are they all that narrowly focused?
    I think your best option is to go for either Java or C#. They're both modern easy to use widespread languages.

    Out of these I would pick Java, not because it's better than C# but because it's more widely used in education. I suggest you download Java Technology and NetBeans IDE here,

    http://developers.sun.com/students/free_software.jsp

    Or both together (JDK 6 Update 17 with NetBeans 6.8) here,

    http://java.sun.com/javase/downloads/index.jsp

    Both languages need a runtime environment on the computer to run programs. I don't know about C# but for Java there exists a so called native compiler which allows you to compile a Java program to run alone. The drawback is that you got to pay for it,

    http://www.excelsior-usa.com/

    These are the platforms supported by Sun for Java,

    http://java.sun.com/javase/6/webnote...gurations.html

    There are more platforms available but then you need to check the specific platform owner like IBM or HP. Java is platform independent which means a Java program can run on all of the supported platforms without recompilation, at least in theory.
    Last edited by nuzzle; January 19th, 2010 at 05:27 PM.

  10. #10
    Join Date
    May 2009
    Posts
    2,413

    Re: Help choosing a programming language

    Quote Originally Posted by Bevel View Post
    While I would love to start with C++, for the speed and power, I think it's a little too complicated for me to comfortably stick with in the beginning.
    I've suggested Java in a previous post and that's a good choise for many reasons but if you feel for C++ I don't think you should drop it too easily. C++ simply is the best language (in my humble view) and not very hard to learn if you approach it in the right way. It's actually easier in many ways than both Java and C#. And there's evidence to boot that people who learn C++ first become better programmers (and I'm not joking here, tests have shown that).

    If I were you I would get Programming, Principles and Practice Using C++, by Bjarne Stroustrup (the inventor of C++). Then I would get the free Visual C++ product from Microsoft and work myself through the book from cover to cover. Make sure Visual C++ compiles in native mode because then your programs become stand-alone and don't need any fancy .NET environment to run.
    Last edited by nuzzle; January 21st, 2010 at 04:34 AM.

  11. #11
    Arjay's Avatar
    Arjay is offline Moderator / EX MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    13,490

    Re: Help choosing a programming language

    @Nuzzle, I'm wondering what your thoughts are with regard to the tool/environment support in Java vs. C#.

    I don't have much experience coding with Java (about 8 months experience 5 years ago), but at the time, it seemed that the environment I used (Ecllipse) lagged Visual Studio. Tools such as proxy generators didn't seem to be on par with the .net tools either.

    Since I haven't coded in Java in quite a while, I'm wondering if this has changed.

  12. #12
    Join Date
    May 2009
    Posts
    2,413

    Re: Help choosing a programming language

    Quote Originally Posted by Arjay View Post
    @Nuzzle, I'm wondering what your thoughts are with regard to the tool/environment support in Java vs. C#.

    I don't have much experience coding with Java (about 8 months experience 5 years ago), but at the time, it seemed that the environment I used (Ecllipse) lagged Visual Studio. Tools such as proxy generators didn't seem to be on par with the .net tools either.

    Since I haven't coded in Java in quite a while, I'm wondering if this has changed.
    I have only used Visual C++ and Eclipse for Java extensively. But if I compare those I'd say Eclipse is ahead. These are the Eclipse features I value the most. They make programming so very much simpler. I wouldn't mind having them in Visual C++.

    1. Meta-compiler checks.

    In addition to ordinary language errors you can tell Eclipse to check for about 50 additional potentially dangerous constructs for you. This makes it easier to enforce good style.

    2. Refactoring.

    You can change the name of a symbol or move things around and the whole application is updated to reflect the change. All implications of the change is taken care of automatically.

    3. Instant error checks.

    Eclipse checks for errors and indicates them as you type so you instantly know if and where something is wrong and can correct it immediately.

    4. Automatic error fixing.

    When there's an error Eclipse shows you a list of possible fixes. When you select a suggestion it gets done for you automatically.

    5. Automatic import management.

    Eclipse tells you exactly what imports (include files) you need.
    Last edited by nuzzle; February 5th, 2010 at 03:48 AM.

Posting Permissions

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





Click Here to Expand Forum to Full Width

Featured