Welcome to Gaia! ::


Noob

where should I start?

I was thinking C but I'm not sure, I'm pretty sure there isn't that much of a difference but still...

this is mainly for fun, so its not for something really important like a job or anything.
There are vast differences. I don't know a lot about Javascript, but out of C and C++ the former is definitely easier to learn.

Here's something to read: http://sitwon.github.io/learnproglang/Home.html

Seeker

Javascript is a client-side scripting language. It's for web design and applications used in web browsers.

C++ is object-oriented and pretty industry standard, so there's a lot of whatnots you get to do with it. Also, in learning C++, you'll inevitably end up learning something about C. There's even some C syntax that works in C++ and you'll probably be able to read a C source without much trouble if you go with C++.


tl;dr C++
I took a college course on C and I'm taking another course on C++ in the fall. I would say either start with C or start with Java. C is kind of intimidating to start with. Java sort of "babysits" you, in that the compiler will stop you from doing something it perceives as risky. C will let you do nearly anything, even if it's not what you want at all. Mind you, because C doesn't "babysit you", advanced programmers often prefer the language because if you're clever then you can use it's behaviour to your advantage.

I haven't done anything with C++ yet, but as I understand it, it's easier to learn C first.

I don't really have any helpful sites for you, but the compiler we used for programming was called eclipse . It was good, but the nature of programming made me have a love/hate relationship with it. It's helpful in that it points out errors, but it's not always clear what or where the error is.

Good luck!

8,950 Points
  • Gaian 50
  • Member 100
  • Contributor 150
If you're learning "for fun" then don't bother with C++. There's nothing fun about it, just frustrating.

There are plenty of fun languages out there, but C++ is not really one of them.

C and JavaScript are both good choices for a first language. And despite the common misconception, C is a very different language than C++.

Why have you limited the selection down to these particular languages? Are these the only three languages you have heard of, or was there something in particular about these three that you found interesting?

For new programmers, especially casual programmers, I always recommend learning a language that you can immediately use in your day-to-day life. Whether that's writing tools to automate boring tasks, fixing problems you face, or writing games and toys to entertain you. Of the languages you've selected here, JavaScript fits those criteria the best (for most people).

JavaScript will allow you to build interactive web pages (even games), to automate your browsing sessions (using UserScripts or GreaseMonkey scripts), and even write command-line utilities and applications to automate system administration tasks (using Node.js).

C and C++ are both powerful languages, but they're also very old. They are relatively low-level. A good modern language (like JavaScript or Python or Ruby) will allow you to focus on the Big Picture and write programs to solve problems at a high level. But using C or C++ you will be forced to delve into the nitty-gritty of low-level programming even for simple programs. These diversions into the details of the implementation are typically just speed-bumps to actually getting things done and rarely relevant to the problem you're actually trying to solve.

In short, learn a modern, high-level programming language which gives you as much abstraction as possible so you can focus on the interesting parts of the programs you're writing, rather than the boring parts (which are often full of pitfalls and traps).

Timid Bunny

javascript is more beginner friendly among these if you are just interested in learning programming, all you need is a notepad and a browser window, as well as good documentation sites, i often use mdn to look up various stuff =w=

python might also be considered to be a rather straightforward language ^_-
If you're looking for an introduction to coding, I wouldn't recommend you start with C programming. It's important to build a foundation with the basics. For your first language, start with Python. It's a beginner language and also has capabilities to make small games. It will introduce you to the world of coding.

Once you've spent a good amount of time playing around with Python, you can move on to C# and Visual Basic. C# is a programming language designed by Microsoft to be simple and straight-forward. You will need to download Visual Basic (try VB 2010) in order to get started. Check out TheNewBoston, he has a series with 200 tutorial videos on using C# that show you every aspect of the code.

Not only will you learn to code, Visual Basic allows you to interact with windows, buttons, and forms. You can create calculators, email programs, games (text-based or actual games), anything you can think of. I believe a lot of Xbox Indie Games run off of C#.

Of course, this will require many years and dedication to the code. But even in your spare time, you can code mods for games, run servers, or make small programs. Text-based adventure games would be a fantastic way to start coding your own games. They're simple to make, but the complexity will build if you keep with it.

Good luck with your programming, I wish you well.
PurpleScarz
I wouldn't recommend you start with C programming. It's important to build a foundation with the basics.
You can't get much more basic than C. Unless you learn Assembler perhaps.

PurpleScarz
Once you've spent a good amount of time playing around with Python, you can move on to C# and Visual Basic.
There is no need in this day and age to learn Visual Basic.
The20
PurpleScarz
I wouldn't recommend you start with C programming. It's important to build a foundation with the basics.
You can't get much more basic than C. Unless you learn Assembler perhaps.

There are many different C languages and they certainly aren't going to be easy to understand without any coding knowledge. Is it possible for him to jump right in to C++ and start coding? Sure. Will he understand most of it? Probably not.

PurpleScarz
Once you've spent a good amount of time playing around with Python, you can move on to C# and Visual Basic.
There is no need in this day and age to learn Visual Basic.


I would have to disagree, Microsoft is going to be around for quite some time. Visual Basic is great to give new users an interface to work with. Not that it's useful for anything beyond that, of course. Just gives people a way to give their starting code some interaction and input-output.

But we all have different ways of learning. There is no wrong answer.
PurpleScarz
The20
PurpleScarz
I wouldn't recommend you start with C programming. It's important to build a foundation with the basics.
You can't get much more basic than C. Unless you learn Assembler perhaps.


There are many different C languages and they certainly aren't going to be easy to understand without any coding knowledge. Is it possible for him to jump right in to C++ and start coding? Sure. Will he understand most of it? Probably not.
There are not many different C languages. There is one language named C. C++ is a completely different language and C# has more in common with Java than with C. Now, Objective C is more or less C with classes, but hat's about it.
C is a relatively simple language that teaches you the very basics of how programming works and more importantly how computers work.

PurpleScarz
The20
PurpleScarz
Once you've spent a good amount of time playing around with Python, you can move on to C# and Visual Basic.
There is no need in this day and age to learn Visual Basic.


I would have to disagree, Microsoft is going to be around for quite some time. Visual Basic is great to give new users an interface to work with. Not that it's useful for anything beyond that, of course. Just gives people a way to give their starting code some interaction and input-output.

But we all have different ways of learning. There is no wrong ******** definitely IS a wrong answer. And so is Visual Basic. You can build simple GUIs with C# if you use Visual Studio.
The20
PurpleScarz
The20
PurpleScarz
I wouldn't recommend you start with C programming. It's important to build a foundation with the basics.
You can't get much more basic than C. Unless you learn Assembler perhaps.


There are many different C languages and they certainly aren't going to be easy to understand without any coding knowledge. Is it possible for him to jump right in to C++ and start coding? Sure. Will he understand most of it? Probably not.
There are not many different C languages. There is one language named C. C++ is a completely different language and C# has more in common with Java than with C. Now, Objective C is more or less C with classes, but hat's about it.
C is a relatively simple language that teaches you the very basics of how programming works and more importantly how computers work.

PurpleScarz
The20
PurpleScarz
Once you've spent a good amount of time playing around with Python, you can move on to C# and Visual Basic.
There is no need in this day and age to learn Visual Basic.


I would have to disagree, Microsoft is going to be around for quite some time. Visual Basic is great to give new users an interface to work with. Not that it's useful for anything beyond that, of course. Just gives people a way to give their starting code some interaction and input-output.

But we all have different ways of learning. There is no wrong ******** definitely IS a wrong answer. And so is Visual Basic. You can build simple GUIs with C# if you use Visual Studio.


Again, I disagree. You may not see any use for VB, but that doesn't mean new programmers can't fool around with the interface to help with their C# coding (if that's what they choose). I'm sticking by my guns when I say that C is not a beginner language. Python is as simple as it gets, far easier than C. C# has many built in functions and coupled with Visual Basic, is also fairly easy to pick up. A step up from Python, but easier.

Generous Giver

Demonic Hellraiser

8,400 Points
  • Demonic Associate 100
  • Hellraiser 500
  • Novice Healer 150
I'd go javascript. Look at 'thenewboston' on youtube to find some fairly good tutorials, not just for javascript, but for various other forms.

Here's a link to one of the playlists.

8,950 Points
  • Gaian 50
  • Member 100
  • Contributor 150
PurpleScarz
Again, I disagree. You may not see any use for VB, but that doesn't mean new programmers can't fool around with the interface to help with their C# coding (if that's what they choose). I'm sticking by my guns when I say that C is not a beginner language. Python is as simple as it gets, far easier than C. C# has many built in functions and coupled with Visual Basic, is also fairly easy to pick up. A step up from Python, but easier.


First and foremost, you must divorce in your mind Visual Studio from the Basic language. It's actually the Visual Studio IDE that is useful for rapidly prototyping GUI applications, not the Basic language.

While you're right that there's no such thing as a bad first language, you're wrong to extend that logic to the misguided notion that there's no wrong language to teach a first-time programmer. There are absolutely some terrible languages to inflict upon the impressionable mind of a first-time programmer, and Basic is one of them.

As a language, Basic has absolutely no value in the modern world. None. Not even for "beginners". At best, it's a nostalgic toy for old hats. However recommending Basic as language for beginners is not only out-dated by more than two decades, it should be considered criminal negligence at this point.

BASIC, even Visual Basic, deserves to be a dead language. It has long outlived it's usefulness. At this point, it only serves to perpetuate the same antiquated patterns, styles, and vocabulary that every other modern language abandoned long ago. You might as well recommend they learn COBOL. Considering how far the industry has progressed past those Cold War-era notions, such languages would only serve to pollute their brain with the ugly artifacts of a long forgotten past.


Furthermore, C is absolutely an appropriate language for beginners. It is a 20th century fallacy to proclaim that BASIC is a better language for beginners than C. The reality is that unless you eschew imperative languages all together (the alternative being declarative languages in the lineage of LISP), you need to become intimately familiar with the concept of pointers and memory management in order to become proficient as a programmer. There is no better language for learning these concepts than C. Nearly every other imperative language goes out of its way to obfuscate pointers from the user, and in so doing deprives them of the opportunity to easily learn about them.

The only other languages of note that do not try to hide the pointers from the user are Objective-C and C++. Objective-C is close enough to C that there is functionally little difference between learning one versus the other. C++, on the other hand, is a convoluted beast that does more to ensnare the user in their own mistakes than it does to help them. Stay as far away as you possibly can.


I have no problem with your suggestion of Python. In fact, I often prefer to use Python for teaching first-time programmers. However I only teach it as part of a broader course on the fundamentals of computer science, which includes learning about pointers and memory management through building a compiler for a high-level language.


Volixia669
Please don't recommend thenewboston on here. Those videos are terrible and don't actually teach users anything. We've made drinking games of the mistakes, errors, and bad advice perpetuated by those videos. There are many superior video series out there for learning programming, such as these by Richard Buckland.


Edit: I'm not posting this to attack either one of you. I'm posting this solely in the interest of protecting the OP, and anyone else that is reading this thread, from potentially harmful advice. I hope you both take this as constructive criticism and continue to contribute in C&T/TT.

Demonic Hellraiser

8,400 Points
  • Demonic Associate 100
  • Hellraiser 500
  • Novice Healer 150
Volixia669
Please don't recommend thenewboston on here. Those videos are terrible and don't actually teach users anything. We've made drinking games of the mistakes, errors, and bad advice perpetuated by those videos. There are many superior video series out there for learning programming, such as these by Richard Buckland.


Edit: I'm not posting this to attack either one of you. I'm posting this solely in the interest of protecting the OP, and anyone else that is reading this thread, from potentially harmful advice. I hope you both take this as constructive criticism and continue to contribute in C&T/TT.

Ah, I didn't know. (My AP Computer Science teacher is using their videos so I assumed they were decent.) Guess that assumption was wrong.

Quick Reply

Submit
Manage Your Items
Other Stuff
Get GCash
Offers
Get Items
More Items
Where Everyone Hangs Out
Other Community Areas
Virtual Spaces
Fun Stuff
Gaia's Games
Mini-Games
Play with GCash
Play with Platinum