Author Topic: Best language for beginners?  (Read 14131 times)

0 Members and 1 Guest are viewing this topic.

Offline flyingfisch

  • I'm 1337 now!
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1620
  • Rating: +94/-17
  • Testing, testing, 1...2...3...4...5...6...7...8..9
    • View Profile
    • Top Page Website Design
Re: Best language for beginners?
« Reply #30 on: January 24, 2012, 08:48:35 am »
English!

No, seriously, if you want to program calcs, try Casio or TI BASIC. If you want to program computers, do either BASIC256 (*flyingfisch nods to spyro) or QBASIC. Actually, Python is easy too, so maybe you could start there.

I cant really talk from experience because my first lang was PHP, then Python, then QBASIC (just for fun), then Casio-BASIC, then Lua. :D
« Last Edit: January 24, 2012, 08:49:12 am by flyingfisch »



Quote from: my dad
"welcome to the world of computers, where everything seems to be based on random number generators"



The Game V. 2.0

Offline BigBrotherNoir

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 11
  • Rating: +0/-0
    • View Profile
Re: Best language for beginners?
« Reply #31 on: February 09, 2012, 10:34:06 am »
I can see where you guys are coming from, but Visual Basic is a relatively easy language to learn. I know that there is practically no demand for it, but I learned it first, and it helps with transitioning to harder languages.
What is truth?

Offline flyingfisch

  • I'm 1337 now!
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1620
  • Rating: +94/-17
  • Testing, testing, 1...2...3...4...5...6...7...8..9
    • View Profile
    • Top Page Website Design
Re: Best language for beginners?
« Reply #32 on: February 09, 2012, 10:45:47 am »
Don't you have to pay for VB?



Quote from: my dad
"welcome to the world of computers, where everything seems to be based on random number generators"



The Game V. 2.0

Offline Blue Raven

  • LV3 Member (Next: 100)
  • ***
  • Posts: 73
  • Rating: +3/-0
  • Trust me. I'm the Doctor.
    • View Profile
Re: Best language for beginners?
« Reply #33 on: February 10, 2012, 09:56:41 am »
Don't you have to pay for VB?
Nope, the basic version of the IDE is free, and it's really enough for an non-professional.
Apprenez l'Axe ! | DropBox


Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Best language for beginners?
« Reply #34 on: February 10, 2012, 10:44:34 am »
Ouch, I would not recommend Visual Basic not any beginner or any programmer at all.

Firstly, it is not open source, and open source languages evolve much faster, besides the fact that you can tinker with them.
Secondly, it runs on the .NET Framework, which is Windows-only (yes, there's Mono, but it's not so good), and making developers start fresh with developing Windows-only programs is bad.
Thirdly, it has labels/gotos, which make it really (really, really, I know a guy who couldn't learn Python after VB because he missed Goto, he just couldn't do anything without Goto). And goto is bad because it may lead to very hard to read code.
Finally, Visual Basic is way too attached to a certain IDE (Visual Studio). You can program without it, but it is better used with it. This is really bad, because programmers should know how to program with a text editor + compiler too.
Oh, and the IDE doesn't work on other operating systems too, programmers should be taught cross-platform is cool from the start.

I recommend Python or Ruby, because they are both interpreted languages, and easy to understand for beginners.
« Last Edit: February 10, 2012, 10:45:09 am by ephan »

Offline flyingfisch

  • I'm 1337 now!
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1620
  • Rating: +94/-17
  • Testing, testing, 1...2...3...4...5...6...7...8..9
    • View Profile
    • Top Page Website Design
Re: Best language for beginners?
« Reply #35 on: February 10, 2012, 10:47:24 am »
Ouch, I would not recommend Visual Basic not any beginner or any programmer at all.

Firstly, it is not open source, and open source languages evolve much faster, besides the fact that you can tinker with them.
Secondly, it runs on the .NET Framework, which is Windows-only (yes, there's Mono, but it's not so good), and making developers start fresh with developing Windows-only programs is bad.
Thirdly, it has labels/gotos, which make it really (really, really, I know a guy who couldn't learn Python after VB because he missed Goto, he just couldn't do anything without Goto). And goto is bad because it may lead to very hard to read code.
Finally, Visual Basic is way too attached to a certain IDE (Visual Studio). You can program without it, but it is better used with it. This is really bad, because programmers should know how to program with a text editor + compiler too.
Oh, and the IDE doesn't work on other operating systems too, programmers should be taught cross-platform is cool from the start.

I recommend Python or Ruby, because they are both interpreted languages, and easy to understand for beginners.

LOL, when I first learned Lua, after programming so much in casio basic, i had the same prob. I got over it but yeah, I was like "WHY YOU HAVE NO GOTO LUA??!"

I was also amazed that I could name a variable anything i wanted to, not just a single letter XD



Quote from: my dad
"welcome to the world of computers, where everything seems to be based on random number generators"



The Game V. 2.0

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Best language for beginners?
« Reply #36 on: February 10, 2012, 10:49:50 am »
flyingfisch, I wouldn't recommend Lua, Ruby and Python are better for computers because lists/arrays start at 0, instead of starting at 1. Getting used to thinking 0, 1, 2, 3 is good for other languages and Maths in general.

Of course, though, I understand you learnt Lua for Nspire, which is our only option (no more with Ndless though!).

And yes, I'm afraid Goto creates that kind of problems :P

Offline flyingfisch

  • I'm 1337 now!
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1620
  • Rating: +94/-17
  • Testing, testing, 1...2...3...4...5...6...7...8..9
    • View Profile
    • Top Page Website Design
Re: Best language for beginners?
« Reply #37 on: February 10, 2012, 11:04:49 am »
flyingfisch, I wouldn't recommend Lua, Ruby and Python are better for computers because lists/arrays start at 0, instead of starting at 1. Getting used to thinking 0, 1, 2, 3 is good for other languages and Maths in general.

Of course, though, I understand you learnt Lua for Nspire, which is our only option (no more with Ndless though!).

And yes, I'm afraid Goto creates that kind of problems :P


Actually, I learned lua for FX-9860GII. But I should probably learn C soon. :)



Quote from: my dad
"welcome to the world of computers, where everything seems to be based on random number generators"



The Game V. 2.0

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Best language for beginners?
« Reply #38 on: February 10, 2012, 01:24:54 pm »
@Ephan:

If how quickly a language changes is relevant to a beginner, then the language is either far too new to be used by a beginner or they're in the wrong section of the tutorial book. And the problem is less that proprietary languages change less frequently and more that a good language *shouldn't* be changing much in the first place.

As for the Goto argument, it's silly to pick a language based on the fact that it chooses to restrict you by omitting the Goto statement. Python can get away with not including it because it works in a domain where it's not entirely necessary. C on the other hand can't eliminate it. The same thing applies to the argument that Goto leads to unreadable code. It's undeniably true that improper use of Goto will probably result in that. However, I've yet to see a single language where it's impossible to write bad code if you try hard enough. The key is just learning how to design good code, which solves the Goto problem as well.

Personally, I would recommend an useless language like TI-BASIC, JustBASIC, or Matlab. Why a useless language? Because you can't learn everything there is to know about programming having learned only one language. One problem I've seen is that people who learn a useful language first have a tendency to try to apply that language everywhere, even in places it doesn't belong. A useless language forces you to move outside it while making learning that second language significantly easier.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline lkj

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 485
  • Rating: +58/-1
    • View Profile
Re: Best language for beginners?
« Reply #39 on: February 10, 2012, 05:20:47 pm »
Would you guys recommend python3.2 or python2.7? It seems to me that most libs are still not compatible with python 3 yet, and that's very annoying if you can't use most scripts and other stuff you find on the internet.

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Best language for beginners?
« Reply #40 on: February 10, 2012, 05:58:24 pm »
python 2.7 just because its more compatible and most tutorials are for python 2.x also I just like 2.x more :P
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Offline cyanophycean314

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 363
  • Rating: +43/-1
  • It's You!
    • View Profile
Re: Best language for beginners?
« Reply #41 on: February 10, 2012, 08:46:30 pm »
There really much of a difference between the two, so you could learn either one and just figure out the few differences. That'll mainly depend on what tutorial you find to learn for. Some are for 2, some are for 3. If you can't decide, just go with 2 for compatibility. I started with python 3, but haven't really worked with it much lately. Getting some libraries to work was very painful.

My programming history was:
Javascript -> TI-Basic -> Python -> Lua

Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: Best language for beginners?
« Reply #42 on: February 10, 2012, 09:19:13 pm »
C# is pretty nice for a programming language.

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Best language for beginners?
« Reply #43 on: February 10, 2012, 10:33:28 pm »
For me I learned Python->C/++->Java(currently working on)
                                           ^TI-Basic was learned at the same time as C/++
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Best language for beginners?
« Reply #44 on: February 11, 2012, 06:27:44 am »
@Ephan:

If how quickly a language changes is relevant to a beginner, then the language is either far too new to be used by a beginner or they're in the wrong section of the tutorial book. And the problem is less that proprietary languages change less frequently and more that a good language *shouldn't* be changing much in the first place.

As for the Goto argument, it's silly to pick a language based on the fact that it chooses to restrict you by omitting the Goto statement. Python can get away with not including it because it works in a domain where it's not entirely necessary. C on the other hand can't eliminate it. The same thing applies to the argument that Goto leads to unreadable code. It's undeniably true that improper use of Goto will probably result in that. However, I've yet to see a single language where it's impossible to write bad code if you try hard enough. The key is just learning how to design good code, which solves the Goto problem as well.

Personally, I would recommend an useless language like TI-BASIC, JustBASIC, or Matlab. Why a useless language? Because you can't learn everything there is to know about programming having learned only one language. One problem I've seen is that people who learn a useful language first have a tendency to try to apply that language everywhere, even in places it doesn't belong. A useless language forces you to move outside it while making learning that second language significantly easier.

There are downsides on my arguments against starting with a .NET language, but I think all of them together proof that there are better alternatives, and I'm sure you agree.

I also don't recommend any language with forced classes/functions like C# or Java. When I started Java and C# (happened with both) I was confused as to why I needed so many lines to print "Hello World", and what did "class HelloWorld", and "public static void main (String[] args)" was all for.

Python and Ruby are better in this aspect because they offer one-line methods for Hello World, and very small solutions for the first problems.

Also, I do know it's possible to write good Goto code, but that is if you have a teacher. Many people just learn programming by their own, and there's nobody there to tell them "Be careful." ;) I'm trying to think about everyone.

Either way, your "useless language" point is very good, had never heard it and it seems quite good. A useless language should be good, but it can also be bad. I'm glad I learned Python first, because I can use it nowadays too, and I have lots of experience with it.