This doesn't fit into any category...But...

What programming language is best for N00Bs?

  • (2 Pages)
  • +
  • 1
  • 2

29 Replies - 5453 Views - Last Post: 19 September 2011 - 09:47 AM

#16 olibenu  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 45
  • View blog
  • Posts: 537
  • Joined: 31-December 08

Re: This doesn't fit into any category...But...

Posted 09 September 2009 - 04:58 AM

i think the easiest way to learn the basics like variables, loops and functions is using BASIC (in whatever form QBASIC, Visual BASIC etc)

i don't think a newbie would grasp pointers, inheritance and stuff like that without understanding x=x+1
Was This Post Helpful? 0
  • +
  • -

#17 xclite  Icon User is offline

  • LIKE A BOSS
  • member icon


Reputation: 911
  • Posts: 3,178
  • Joined: 12-May 09

Re: This doesn't fit into any category...But...

Posted 09 September 2009 - 05:36 AM

While Dijkstra considered teaching BASIC a criminal offense, it's not a bad first language. Just don't forget to learn others afterwords.

This post has been edited by xclite: 09 September 2009 - 05:36 AM

Was This Post Helpful? 0
  • +
  • -

#18 SixOfEleven  Icon User is offline

  • using Caffeine;
  • member icon

Reputation: 945
  • View blog
  • Posts: 6,342
  • Joined: 18-October 08

Re: This doesn't fit into any category...But...

Posted 10 September 2009 - 05:24 PM

BASIC was what I started with. For along time it was used as an OS on many home computers, TSR-80, Commodore 64, VIC-20 and many others. It was also easily available on early personal computers in one flavor or another. GW-BASIC on the early XTs for example in MS-DOS. Don't forget that the B in BASIC stands for Beginners. It has many items that a programmer needs to understand: decisions, looping, arrays. With the use of GOTOs it made for what one of my teachers called "spaghetti logic."

Today though the emphasis is on object-oriented programming. That is why I originally suggested either Java or C#. Plus knowing either Java or C# makes learning the other a relatively painless process. Either one will also give you a good start up on C/C++.

Quote

There's a widely held belief that one should learn how to be a straight C programmer before doing OOP with C++. that is certainly up for debate, but good ol' procedural programming has its place among side fancy OOP.


Procedural programming is still important. Knowing how to separate your code into methods/functions/procedures whatever you want to call them is a big part of programming. I would think of OOP as a super set of procedural programming. Much like C++ is a super-set of C. It added in the OOP concepts to original C: Encapsulation, Inheritance and Polymorphism.
Was This Post Helpful? 0
  • +
  • -

#19 Guest_Neumann*


Reputation:

Re: This doesn't fit into any category...But...

Posted 10 September 2009 - 07:48 PM

Learning OOP before becoming familiar with variables, control structures, procedures, and the overall concept of breaking a program down into small steps and independent modules is a complete absurd. Claiming that procedural programming is bad for beginners is as much of an absurd as claiming that language's popularity plays any role.
Was This Post Helpful? 0

#20 Yaroslav94  Icon User is offline

  • D.I.C Regular

Reputation: 5
  • View blog
  • Posts: 294
  • Joined: 15-July 09

Re: This doesn't fit into any category...But...

Posted 11 September 2009 - 02:12 PM

DEFINITELY Small Basic
IT WAS DESIGNED FOR THAT PURPOSE
Was This Post Helpful? 0
  • +
  • -

#21 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: This doesn't fit into any category...But...

Posted 11 September 2009 - 03:15 PM

Neumann said:

Learning OOP before becoming familiar with variables, control structures, procedures, and the overall concept of breaking a program down into small steps and independent modules is a complete absurd.
I strongly agree with Neumann on this point. In particular, I emphasize learning to decompose problems, exploring possible solutions, and fixing mistakes. These are essential skills independent of programming language, actually, but the beginner choice of programming language should be about the most conducive environment for focusing on those utterly basic skills.

There is no checklist. But you notice many factors that help in producing such an environment. One is strong, easy to setup, and highly recognized toolchains. For example, in Java, it comes down to the JDK, which is the same for everyone, and often an IDE like Eclipse, which is very popular. Beginners can get started without worrying about setups like in C++. You say it's simple, but for a beginner, choice means trouble.

Language resources should be easily accessible and as free as possible. C++ is terrible in this regard. Most online materials are written by well meaning beginners who actually have a lot to learn themselves. Idioms are generally poorly taught. Ask someone to read a file of integers robustly, and see how many get it right. There are idioms for doing this well. Most tutorials don't teach them correctly. Finding information on the C++ standard library is harder. There's maybe two online resources that are decent, and they still don't explain finer details or get things wrong (see istream.sync()). Python on the other hand has a consistent official reference. Ok, some things are scattered around, like new style classes, but in general, there are a number of books and official materials in one easy to find place.

When it comes to actual programming, the language should encourage quick feedback loops. No one should be writing code like a novel. But in fact, a common problem is that one posts with 30 errors or the like, where there's actually multiple mistakes. Why was it not caught earlier? Because the poster never bothered to check ever before. Learn to get feedback. Check the results of each line of code. Does it do what you expect?

Along those lines, debugging is an important skill. There are so many questions, but how many of them document their debugging efforts? Even basic things like throwing out print statements to check variables and verify them?

So while everyone is debating about things like OOP and procedural and what not, what's actually important to learn is completely different.
Was This Post Helpful? 0
  • +
  • -

#22 carltech  Icon User is offline

  • What did you call me?
  • member icon

Reputation: 28
  • View blog
  • Posts: 997
  • Joined: 19-October 07

Re: This doesn't fit into any category...But...

Posted 12 September 2009 - 02:42 AM

TiBASIC wasn't bad it was just retarded yet it does have some neat benefits like learning the basics or i/o and it can come in handy when you need something for your calc to do that it wasn't designed for.

BASIC was a damn fine lang yet as said a trillion times on this site, it is all a matter of personal preference.

C++ is my favorite and first programming language and that is fine to me.

I think that if you look at a good clean copy of any code then you can tell if you would like the language or not. Some people like COBOL some like FROTRAN and some just like Java exclusively... it all depends on the way you want to be able to code with whatever out comes you want.

PS I said COBOL and FORTRAN in their with Java just to show that they are still used almost as much or even more so than Java even if people don't program as much in those two anymore.

This post has been edited by carltech: 12 September 2009 - 02:45 AM

Was This Post Helpful? 0
  • +
  • -

#23 BenAthar  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 9
  • Joined: 22-April 11

Re: This doesn't fit into any category...But...

Posted 23 April 2011 - 12:21 PM

I agree that BASIC was good to learn and still relatively simple to master. I learned to use it from all the books in school and magazines with the free lines of code. Commodore64 and Atari 400 were available back then!
As for the OOP languages I would guess that either Java or C# would be a good choice. Both are used in so many things and parts of pages and apps that it's one to try to learn.
That's why I am learning both of them while in school for web/game programming.
Was This Post Helpful? 0
  • +
  • -

#24 gareth.nic  Icon User is offline

  • D.I.C Head

Reputation: 23
  • View blog
  • Posts: 102
  • Joined: 22-October 10

Re: This doesn't fit into any category...But...

Posted 23 April 2011 - 04:02 PM

My lecturer did compare BASIC to a horse driven cart and lets say C# as a modern car. Which one should the student learn to drive...

I really hate BASIC, I first started out on Basic4GL and then VB.NET. I can handle VB.NET, but I'll never code anything with it!

C# is really easy, given the right resources a noob can be just as proficient or better off as someone starting with any form of BASIC in the same space of time.

This post has been edited by gareth.nic: 23 April 2011 - 04:03 PM

Was This Post Helpful? 0
  • +
  • -

#25 xclite  Icon User is offline

  • LIKE A BOSS
  • member icon


Reputation: 911
  • Posts: 3,178
  • Joined: 12-May 09

Re: This doesn't fit into any category...But...

Posted 24 April 2011 - 08:59 AM

Which is easier to explain and understand - a horse cart or a modern automobile? </poking holes in analogy|playing devil's advocate>

This post has been edited by xclite: 24 April 2011 - 09:00 AM

Was This Post Helpful? 0
  • +
  • -

#26 zem107  Icon User is offline

  • D.I.C Head

Reputation: 7
  • View blog
  • Posts: 84
  • Joined: 10-April 11

Re: This doesn't fit into any category...But...

Posted 16 September 2011 - 03:51 PM

View Postcarltech, on 08 September 2009 - 05:42 PM, said:

This same question has been posted about a million times on this site.

I started with C++ but Java, C#, python, and even PHP could be a nice start. In the end it really depends on what you wanna do and what you want to make.

Game: Python (PyGame), Java, C# with XNA, DarkBasic GDK for C++, Flash, Actionscript

GUI Apps: Java, C#, Python(PythonCard), VB.NET(very easy but not always the best)

Command line stuffs: C++, Java, Python, C#

It really doesn't matter what language you go with since pretty much any of them can do anything you want but Java and C# are very versatile and easy to learn--for the most part

This is completely irrelevant from the original post but, Java itself is not good for Game programming, it is too slow.

Now back on topic, for a text editor you can C#, that's how I made my first one. But if you really want to learn good skills and practice a lot, do Pascal. Pascal was originally created to teach programming and that's why it is so good for you start with. Of course it's not so popular anymore but you will really learn your stuff.

Now, if you want an easier language, go with Python. That was my first language and although it's interpreted, I think it's something really good to start off with.

But if you still have trouble deciding, go with Pascal.
Was This Post Helpful? -1
  • +
  • -

#27 xclite  Icon User is offline

  • LIKE A BOSS
  • member icon


Reputation: 911
  • Posts: 3,178
  • Joined: 12-May 09

Re: This doesn't fit into any category...But...

Posted 16 September 2011 - 04:05 PM

View Postzem107, on 16 September 2011 - 06:51 PM, said:

This is completely irrelevant from the original post but, Java itself is not good for Game programming, it is too slow.

This has been proven time and time again to be incorrect.
Was This Post Helpful? 0
  • +
  • -

#28 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10646
  • View blog
  • Posts: 39,539
  • Joined: 27-December 08

Re: This doesn't fit into any category...But...

Posted 16 September 2011 - 04:09 PM

Quote

This is completely irrelevant from the original post but, Java itself is not good for Game programming, it is too slow.

I hate to point out the obvious, but...
Java Game Programming Thread
Minecraft
Was This Post Helpful? 0
  • +
  • -

#29 fromTheSprawl  Icon User is offline

  • Monomania
  • member icon

Reputation: 513
  • View blog
  • Posts: 2,056
  • Joined: 28-December 10

Re: This doesn't fit into any category...But...

Posted 18 September 2011 - 09:49 PM

But I can't get Minecraft to run fast... must be because I downloaded it illegaly so I stopped. I just play the free version. :P

You should definitely start out with C. Just try out the basics such as conditional operators, variables, data types, arrays, then move on to an OO language such as Java. Take that C# fanatics!

I KID!

Actually you could go C# too. Either way, from C you could do well on both languages.

Or try Javascript! No need to download compilers, and it has the basics enough so you can feel what this programming thing is all about. Plus, you might be able to learn HTML while you're at it. ^^
Was This Post Helpful? 0
  • +
  • -

#30 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4525
  • View blog
  • Posts: 7,893
  • Joined: 08-June 10

Re: This doesn't fit into any category...But...

Posted 19 September 2011 - 09:47 AM

When it comes to this topic, opinions are like assholes: everyone's got one, and they all stink.

View Postxclite, on 24 April 2011 - 10:59 AM, said:

Which is easier to explain and understand - a horse cart or a modern automobile?


Depends on whether or not you have to understand the horse.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2