Learning my first programming language :-D what should I learn?

Ickorus

New member
Mar 9, 2009
2,887
0
0
Visual Basic is a nice starting point to get the hang of the Syntax of most programming languages as they all have fairly similar structures, just remember that Visual Basic really isn't very useful in the real world.

Also don't expect this:



It's boring as hell.
 

KouThan

New member
Jan 3, 2011
30
0
0
I suggest that you start with C or C++.
I know C is a little confusing at the beginning but if you understand pointers in C then C++ and Java will appear a lot easier.
That is of course if you are genuinely interested in programming and not just trying to show of.
 

martin's a madman

New member
Aug 20, 2008
2,319
0
0
I have to learn programming next year at university. Because I'm doing physical sciences and everything is done on computers.

I'm sort of looking forward to it.
 

Necator15

New member
Jan 1, 2010
511
0
0
I would say start with C or C++. Sure pointers are annoying as hell when you first start out, but they do get better and you'll most likely end up a better programmer for the experience. I started with C++ and I feel as though it made learning other languages significantly easier. In my mind it's like going from Latin to one of the Romance languages, except in this case Latin is still widely used.
 

Anti Nudist Cupcake

New member
Mar 23, 2010
1,054
0
0
Okay, listen to me. For a person completely new to programming and for a person who needs to learn the basics, you typically learn to start with DELPHI because it's very easy to learn and it's sole purpose in life is to teach people the foundations of programming.

That's what I learned to start with and it didn't give ME any trouble at all.

Seriously, Delphi is for the BEGINNERS, and that's what you are, a beginner.

With it, you can write basic programs such as a program that calculates how many packets of sherbet you owe someone for $8.00 if Sherbet costs $3.50

Just a basic one, but again delphi is DESIGNED for teaching programming to beginners. That's the PURPOSE and that's what most programmers start with and has been for years.

But then again, why listen to me? Why not listen to one of the other hundreds of replies? What do I know about programming?

Hmmmmph.
 

doodger

New member
May 19, 2010
166
0
0
hmm, you could start with HTML, which is super easy (IMO), and then start to learn php. Sure, php, is quite complex when you get better at it, but it's super useful because you can do tons of stuff with it.
 

Arluza

New member
Jan 24, 2011
244
0
0
At college, we start on Python. Another language we use first year is C, so we can get into C++ easier.
 

EternalFacepalm

New member
Feb 1, 2011
809
0
0
Brainfuck [http://4mhz.de/bfdev.html] is an amazing programming language to start with! It has everything you'll ever need, namely text!

Seriously, though, I'd go with Java. This guy [thenewboston.com] has a bunch of free tutorials on the subject, so I'd recommend them.
 

BNSNightshade

New member
Jun 4, 2011
46
0
0
start with pascal! it works really well and is similar to many other languages... or if you're going down the visual basic path, at least try learning to QBASIC first!
 

Griffolion

Elite Member
Aug 18, 2009
2,207
0
41
I would personally recommend C# and C++, the two are practically interchangeable, are widely used in the industry and will show results quickly using Visual Studio. You can then move into Java which really isn't so different. I'm learning C++ at the moment, going through it slowly in preparation for the course I'm going on in September. If it's for games (I say this because we're on a games forum) then C++ for definite, that's the staple of the industry. If you're going into app development for mobile platforms then Java and XML for Android & C# for iPhone.

PS - Girls won't like you for how leet you are at coding, only the awesome ones do, and they're usually taken by guys who aren't sad enough to post on the Escapist forums. Harsh, but true.
 

Weaver

Overcaffeinated
Apr 28, 2008
8,977
0
0
The_root_of_all_evil said:
AC10 said:
If you want to become an expert programmer you should start off with a degree in computer science or software engineering and go from there.
Having done a Software Engineering degree, I'd advise the opposite. Most of the really good programmers I know are self-taught, who just happen to go along with the degree. The degree itself attempts to teach you stuff you will never need, because the syllabus is always playing catch up.

Seriously, for my first six months we never used a computer once.

Get some work experience using SAGE or some such while learning in your spare time. The degree is a piece of paper you can easily get from a distance course.
I won't deny some self-taught programmers are excellent, I also won't deny that I had to teach myself a vast amount of things in the course of my degree.

However, there is a strong and hard difference between someone who undersatnds Big-O notation and how to write efficient algorithms and someone who doesn't. Most of the self-taught people I see know little of algorithms and generally write inefficient code. There is a difference between someone who knows when a problem is NP-Complete and how to prove it is and someone who can't. There is a difference between someone who has written their own context switching simulator to understand what happens in a context switch and someone who just uses monitors for haphazard threading because a tutorial told them to.

They are programmers in that they know how to make a program work but they are not computer scientists because they seem to care so little for the actual theory of programming. Hell, there are people at my work who have been programming for 20 years and have no fucking idea what i'm talking about when I mention stack vs. heap memory allocation in C++; all they know is if you use a new use a delete. What they don't understand is how and when is the best time to use this and what using those keywords actually does at a hardware level.
 

Koroviev

New member
Oct 3, 2010
1,599
0
0
martin said:
I have to learn programming next year at university. Because I'm doing physical sciences and everything is done on computers.

I'm sort of looking forward to it.
Programming is fun if you enjoy troubleshooting. I enjoy it, but some people really struggle to get the hang of it.
 

Smooth Operator

New member
Oct 5, 2010
8,162
0
0
Actually yes start with Visual Basic, not those fancy built up versions, just the basic language, I was going to suggest something that is far easier to use(Ruby) but that language is so flexible you may be too confused with others.

Some tips:
- really learn to understand the basic things (variables, types, functions, classes,...)
- more tutorials are always better, everyone takes things a different route and usually doesn't cover everything
- always reinforce what you learned right away, write some useful code of your own to see how things work, then change and combine it a little to see how things react
- put a couple of reliable tutorials in your bookmarks (you wont remember everything first time around)
- programming skill sadly does not impress girls, maybe the money you make off it will, but not the skill itself
 

Arafiro

New member
Mar 26, 2010
272
0
0
I'd start with Visual Basic, as many have mentioned, as it teaches the logic of programming without having ridiculously complex syntax.
From there, move on to your language of choice (Java, C++, etc).
 

Sgt. Dante

New member
Jul 30, 2008
702
0
0
If you want an easy introduction, start out with either Visual Basic, or Lingo. Both will basically do anything if you ask them nicely enough.

When you have a little more confidence Java is generally accepted to be one of the more useful languages to learn...

However if you wanna use this to pick up chicks, might i suggest learning the Guitar insted?

Captcha: oratorical dintiou
 

Koroviev

New member
Oct 3, 2010
1,599
0
0
As many others have already said, the C-based languages are commonly used and often required for higher-level comp-sci classes.

Here is a nice tutorial for C Sharp: http://www.csharp-station.com/Tutorial.aspx

Once you've downloaded an integrated development environment (Microsoft's free express version can be found here: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express), you're ready to start experimenting with code. That's the real beauty of computer science: the lab is your computer. Don't be afraid to comment out lines or add new ones. As a matter of fact, do so often to gain an understanding of what you are saying to the compiler.

Other tips:

1. Don't gloss over "boring" information in a tutorial. If it's included, then it is probably important.

2. Don't opt for the easy way out. Sure, vectors are nice, but you ought to be able to use arrays (essentially vectors with restrictions) as well.

3. Challenge yourself. You'll likely find that you learn the most from what you struggle to do. Always picking easy projects will set you up for failure when you are tasked with anything even mildly outside your artificial boundaries.

4. Become a part of the community. Need help? There's more than likely a forum for that. And once you've learned how to do something, share that knowledge, however limited, with others who seek it. You'll retain the information better.

5. Study consistently. As with anything, practice is essential. Failure to work with and build upon information will make progress slow and difficult at best.

6. Don't forget the semicolon...okay, you're going to forget the semicolon and you're going to hate yourself for spending hours trying to "fix" functional code. It's painful, but we all learn eventually.

Cheers!
 

Danzaivar

New member
Jul 13, 2004
1,967
0
0
Python -> Java -> C++ (Or C)

Following that progression would gradually expose you to more and more programming features. Ones to the left take care of more stuff for you so you can focus on the basics. Plus you don't tear your hair out due to accidental segfaults.
 

Smooth Operator

New member
Oct 5, 2010
8,162
0
0
CyberSkull said:
For programming, start with C. Despite what Microsoft would have your believe, C is the foundation that pretty much every OS and device is built on. With C you will learn not only the basics of programming but also a good foundation in how computers work.
C really is not advisable for a complete newbie trying to learn on his own, if he does we may find him hanging from the ceiling in a couple of days.

Once someone firmly understand programing concepts C is a must as is Assembler, but until then he needs an easy entry point.