• 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

    • 47% profit margin? Wtf!! I know companies are in business to make money but come on man. I know for a fact I'll never own one of these.
    • Most AI-powered mainframe migration vendors expected to fail by 2030, Gartner warns by Paul Hill Credit: Pexels You may have read that many companies still run code written in ancient programming languages like COBOL and pay a handsome sum for those who can maintain that code. Well, it looks like this area of the tech world could be the scene of an AI bubble. It turns out that there are mainframe exit vendors, helping companies move their legacy mainframe systems to modern cloud environments or servers such as Microsoft Azure and AWS, using generative AI tooling. Unfortunately, 75% of these vendors are now expected to pivot or cease operations as market realities take hold by 2030. Alessandro Galimberti from Gartner said: Some of the companies in the mainframe exit market are IBM, 21CS, BMC, Broadcom, Rocket Software, DXC, GTSG, and Kyndryl. The reasons some of these firms are expected to quit the market are a reset of market expectations and a decline in demand for one-size-fits-all migration solutions. The reset in expectations is likely to be driven by cost overruns and threats to business, and the potential occurrence of critical failures within businesses as a result of bad transition implementations. These insights from Gartner are pretty interesting because it’s a specific area of the market where doubt is being cast on generative AI. Many people have cast doubt on whether AI companies will successfully justify the massive amounts spent on GenAI to date, and this data from Gartner suggests the road could be rocky for GenAI.
    • Heaven forbid they lose pennies from their Trillions! Like always, the consumer pays the most. Why is Tim Cooks even talking.....shouldn't he be packing up his office??
    • If you have the budget...! Some solo or indies just want to either learn or start their game and aren't in a capacity to pay salaries or to contractors... Get real.
    • Source and more 35 years old?! And if my maths is mathing, that means she was around 10 when The Ring came out?! Damn...scariest 10 year old I think I've ever seen. 
  • Recent Achievements

    • 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
    • One Month Later
      Vincian earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      538
    2. 2
      +Edouard
      168
    3. 3
      PsYcHoKiLLa
      76
    4. 4
      neufuse
      64
    5. 5
      ATLien_0
      63
  • Tell a friend

    Love Neowin? Tell a friend!