• 0

What is (are) the best programming language(s) for beginners?


  

465 members have voted

  1. 1. What is (are) the best programming language(s) for beginners?

    • Pascal
      13
    • Java
      68
    • Python
      36
    • Vb.net
      50
    • Basic
      23
    • Delphi
      6
    • C
      37
    • C++
      37
    • C#
      100
    • Smalltalk
      0
    • Lisp
      1
    • A++
      0
    • Curry
      1
    • Haskell
      2
    • Ruby
      12
    • Perl
      8
    • Other (refer)
      9
    • PHP
      62


Question

In your personal opinion which is (are) the best programming language(s) for beginners? There's always some discordance generated but it's interesting to debate and promote new ideas.

Link to comment
Share on other sites

Recommended Posts

  • 0

Suggesting to start on a harder, heavier language? Really?

I am keen to understand your thoughts further?

Rudy doesn't believe a person should enjoy learning to program. Don't mind him.

Link to comment
Share on other sites

  • 0

Let's say someone's starting off with a background (from 10+ years ago) in Visual Basic. Going back into programming without all that much knowledge. Would eventually like to make little 2D games and helpful little apps, maybe contribute to open source projects. C#, C++? I'm leaning C++ right now with a later transition into C# and maybe some Objective C for ipod app development in the future.

I'm starting off quaint, but would like to turn it into a profession.

  • Like 1
Link to comment
Share on other sites

  • 0

Depends what kind of open-source projects. I'd say open-source projects use C++ more than any other language, although often they have no reason for using C++ other than making their lives more miserable than need be (and ensuring the project fails). Still, a lot of them use C#, Python and others.

C++ is great for learning how computers and operating systems work, while getting acquainted with principles of OOP. It's not so great for making desktop applications, in general. What bugs me is how C++ is selected sort of "by default" for many projects when there are a lot of better choices out there, choices that would lead to a faster and less frustrating development experience, and probably to a better product in the end. C++ is held in way too high esteem. Sure, you need it to develop for PS3. But for Windows? Maybe, but probably not.

Link to comment
Share on other sites

  • 0

I learned C++ first, then Java, C#, Perl, then C for system programing, and sone other stuff that I forgot like smalltalk, scheme, and prolog for my Programing languages course. Oh also FuzzyCLIPS for my Intelligent Systems course.

Link to comment
Share on other sites

  • 0

I'd say Java is easier than c#, but I like c# better, especially for asp.net.

One thing is sure, learn a full OO language, and make sure you got the idea of what the features of object oriented are before moving on.

Link to comment
Share on other sites

  • 0

I learned Visual Basic (back when it was VB6) and then learned Java. I'd say Java is the more powerful of the two, but VB may help you get your head around programming concepts a tad easier (this IMO is the absolute greatest barrier to learning programming in any language - it's a total paradigm shift in thinking patterns). After learning Java and VB I eventually moved onto C++, which is also a great programming language (but definitely not for beginners IMO). You can learn C#, it's okay, but once you've learned VB, Java and C++ learning C# is well, up to you. At the moment I'm re-learning Java (it's easy enough to forget after 3 years of constant C++) but definitely going to be moving onto PHP and Objective-C because I'm one of those weird people that just love to learn it for fun - PHP more specifically will become useful for me as it'll help me make improvements to the forum I'm an admin on, but that's another story altogether.

So, tl;dr, just go for Java. It's easy enough to begin with and it'll help you pick up common programming concepts fairly easy too.

EDIT: Also, what revvo said.

Link to comment
Share on other sites

  • 0

Suggesting to start on a harder, heavier language? Really?

I am keen to understand your thoughts further?

Once you learn C and C++ going to higher level languages like Java, C# and Objective-C is a piece of cake. I also believe some of the concepts you learn with a lower language like C are very valuable in understanding how programming work...something that will be harder to learn in a higher level language

If he just wants to code for fun and he doesn't really care about programming, going straight to C# or Java is a pretty good idea

Rudy doesn't believe a person should enjoy learning to program. Don't mind him.

No, I just believe there are valuable lessons to be learned from C and C++

If he just wants to program as a hobby and isn't very serious about it then by all mean go straight to a higher level language like C#

Link to comment
Share on other sites

  • 0

I learned C++ first, then Java, C#, Perl, then C for system programing, and sone other stuff that I forgot like smalltalk, scheme, and prolog for my Programing languages course. Oh also FuzzyCLIPS for my Intelligent Systems course.

Forgot Assembly (hate it, hate it, HATE IT), Verilog, VHDL. I think out of all the languages I learned I really like Verilog. I had to simulate a CPU with it and I felt it was my only class where I was doing real work. Java and Assembly were just create games classes and I learned a lot about Object-oriented programming with Java so I agree with people who are saying to take that first. Java almost does everything plus the kitchen sink and the Java API Docs are some of the best (along with .NET's) documentation I have seen.

Link to comment
Share on other sites

  • 0

There is no reason why C or C++ can't be enjoyable to learn. It all comes down to whether you have a real interest in learning how things work, or if you just want to push a few buttons in a wizard and be instantly rewarded on a massive scale. Pick whatever suits your style.

Link to comment
Share on other sites

  • 0
No, I just believe there are valuable lessons to be learned from C and C++

If he just wants to program as a hobby and isn't very serious about it then by all mean go straight to a higher level language like C#

While I agree that learning C++ should be part of the curriculum of any serious programmer, it's questionable whether it should be chosen as a first programming language. One can very well learn memory management and the low-level APIs like Win32 after having learned variables, loops, classes, encapsulation, etc., in a higher-level language. As a path it presents less resistance and more gratification. I was exposed to a variety of programming languages before C++, some old and cruddy, some very good, as a result I already had a critical look at it when I started. I remember asking my teacher why were header files needed (unlike in any other language, save for C, but I didn't know C)... he said it was because it was cleaner to have the declaration separate. :laugh:
Link to comment
Share on other sites

  • 0

There is no reason why C or C++ can't be enjoyable to learn. It all comes down to whether you have a real interest in learning how things work, or if you just want to push a few buttons in a wizard and be instantly rewarded on a massive scale. Pick whatever suits your style.

Name one programming language where you can "push a few buttons in a wizard" and magically have a program that can do everything.

Go ahead. I'm waiting. :rolleyes:

Link to comment
Share on other sites

  • 0

Runtime Revolution in my opinion is by far the easiest to learn and the same code can be deployed to Windows, OSX, Linux, Web, and more. It's like an all-in-one

Link to comment
Share on other sites

  • 0

I'm a believer of C then C++ and THEN move to something like C#, Java or Objective-C. But I know lots of people disagree

I completely agree.

I'm currently a big fan of LabVIEW.

Link to comment
Share on other sites

  • 0
One can very well learn memory management and the low-level APIs like Win32 after having learned variables, loops, classes, encapsulation, etc., in a higher-level language.

You can learn all about variables, loops, classes, encapsulation, etc in C++ without having to worry about advanced memory management and low-level APIs. All that complicated stuff can be done whenever the person feels ready. It's very easy to make a simple app in C++.

Link to comment
Share on other sites

  • 0

I've found Java and C# are good because they take something from a bunch of languages, which makes learning other things easier. PHP is a good in-between for scripting and programming, but I've found that my PHP habits create some re-familiarization time when switching to Java. Python and VB, don't like the syntax, and it's very different from other languages so transitioning would be a bit more difficult.

Link to comment
Share on other sites

  • 0
As a technical lead I am begging you to stop suggesting C# as a beginners language. I ve seen it all.

Start with VB and when you realise whats going on in the .NET Framework start looking into C#. VB gives you lots of bad habbits though...

Care to explain why C# wouldn't be a good choice? And why do you recommend VB instead if it teaches bad habits?
You can learn all about variables, loops, classes, encapsulation, etc in C++ without having to worry about advanced memory management and low-level APIs. All that complicated stuff can be done whenever the person feels ready. It's very easy to make a simple app in C++.
It's not so much the memory management that's the problem, it's the confusing syntax, the complicated compilation model (you can't get away without understanding the concept of translation unit and the real purpose of header files for long), the poor libraries, the duplicated features (is a string const char* or std::string? C or C++ libraries? etc.), and the relatively unhelpful IDE support, that all combine to produce a remarquably painful experience before you learn your way around all that stuff. Which gets in the way of learning basic concepts such as variables, loops etc.

Example: in C#, to be able to use a class, I just have to write that code somewhere in the project. In C++, I have to ensure the declaration will be accessible in any translation unit in which I want to use the class, that the declaration is guarded from multiple inclusion using include guards, and that the code corresponding to the declaration is available at link time otherwise I will get an error with mangled names that doesn't reference any particular line of code. Oh, and what was that thing about forward declarations?

It gets messy real quick.

Link to comment
Share on other sites

  • 0

Name one programming language where you can "push a few buttons in a wizard" and magically have a program that can do everything.

Go ahead. I'm waiting. :rolleyes:

Since this is your claim, why don't you answer?

Link to comment
Share on other sites

  • 0

As pointed out before in this thread, C/C++ forces you to learn lots of things that you probably won't see again in languages like C#, Visual Basic and Java. So for a nice start and learning the basics, I'd recomend anyone to use a high level programming language.

My personal journey started in C/C++, then moved on to VB where I really learned the programmers way of thinking. Then I moved back to C++ again quickly followed by Java. All of those where in a professional environment except for the very first C/C++ teachings. Looking back at those experiences I dont think it makes much difference if I had learned Visual Basic or Java before C++, but I know that first strugle with C/C++ was often about problems not related to any simple programming in itself.

In terms of C#, it was a walkover to learn after Java, and I feel that you can master that basics of any of those and easily enough go into the other.

Because I have something of a softspot for C# with WPF/XAML and LINQ I voted for this.

Link to comment
Share on other sites

  • 0

There is no reason why C or C++ can't be enjoyable to learn. It all comes down to whether you have a real interest in learning how things work, or if you just want to push a few buttons in a wizard and be instantly rewarded on a massive scale. Pick whatever suits your style.

Since this is your claim, why don't you answer?

You said it, not me. Therefore, YOU should be the one answering. And if you're complaining about how I didn't quote the phrase verbatim, well get a grip and don't be such a hardass.

Link to comment
Share on other sites

  • 0

Definitely BASIC or VB.NET if you want GUI. Others may argue for C++ or C# if you want more of a challenge in the beginners level.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.