• 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

Recommended Posts

  • 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
  • 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.

  • 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.

  • 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.

  • 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#

  • 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.

  • 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.

  • 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:
  • 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:

  • 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++.

  • 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.

  • 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.

  • 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.

  • 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.

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

    • No registered users viewing this page.
  • Posts

    • Dead by Daylight, Two Point Museum, and more join Xbox Free Play Days for the weekend by Pulasthi Ariyasinghe There is a brand-new Free Play Days offer available to Xbox players, giving them a chance to try out a new selection of games over the weekend. Microsoft's latest promotion brings some high-profile titles, including the sports title PGA TOUR 2K25 and the racing sim Assetto Corsa. Almost all the games being offered this time require an Xbox Game Pass subscription, with only one title being available for all players. Starting with the fully free-to-play section, Dead by Daylight is populating it solo. This asymmetric survival horror title should be the most familiar to most gamers, considering its age. The multiplayer four-versus-one asymmetric survival horror game has you assuming the roles of survivors or the killer to see who can come out on top. This Dead by Daylight offer will be available to play until Monday, June 22, giving you an extra day of play compared to the remainder of the Free Play Days titles. Meanwhile, Xbox Game Pass Ultimate, Premium, and Essential members can now try out the well-received tycoon game Two Point Museum, the circuit racing sim Assetto Corsa, as well as 2K's golf sim experience that gives players a career to develop alongside real-world pros and courses. Here are the announced games and the platforms they are available to play on: PGA TOUR 2K25 (Xbox Series X|S) Two Point Museum (Xbox Series X|S) Assetto Corsa (Xbox Series X|S, Xbox One) Dead by Daylight (Xbox Series X|S, Xbox One) To easily find the titles on Xbox consoles, first head to the Store, and then in the sidebar, find the Home section. In there, open the Subscriptions tab. All the games from the Free Play Days collection will show up in this section for quick access. Apart from Dead by Daylight's offer, this week's Free Play Days promotions will end on Sunday, June 21, at 11:59 pm PT.
  • Recent Achievements

    • Week One Done
      Huge Trailer earned a badge
      Week One Done
    • Week One Done
      Classifyskilleducation earned a badge
      Week One Done
    • One Month Later
      eurospharma62 earned a badge
      One Month Later
    • Week One Done
      With What earned a badge
      Week One Done
    • Week One Done
      Harris Gilbert earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      593
    2. 2
      +Edouard
      170
    3. 3
      PsYcHoKiLLa
      74
    4. 4
      Michael Scrip
      66
    5. 5
      ATLien_0
      64
  • Tell a friend

    Love Neowin? Tell a friend!