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

SouthpawFencer

New member
Jul 5, 2010
127
0
0
It really depends on what you're planning on doing with the programming skills.

Basic is a good start to simple programming, however.

If you have any interest in programming video games, C++ is apparently still pretty common, at least according to Wikipedia's article [http://en.wikipedia.org/wiki/Game_programming#Programming_languages] on the subject.

Java is also good for simpler video games, and for web design.

These days, the programming language I tend to use the most often is Perl. Perl and shell scripting are incredibly useful if you're going to look for a job as a network administrator (I'm NOT a net admin, but I work closely with one). My use of Perl is primarily for manipulating data.

Tip for aspiring computer/network admins: automate as much of your job as you can with CAREFULLY TESTED scripts. Even if it takes eight hours to make a script for a task that takes ten minutes of your time each week, you'll regain that time in under a year if you continue using the script. Plus, automated executions are less prone to error than a human attempting the task.

Example 1: I had a list of computer serial numbers, which I compared to a text export of the output of a computer auditing program; the script compared the serial numbers on the list to the export file, filled in information about the computers into a tab-delimitated output file, and then I fed the file into a spread sheet, and was able to list, in order, the performance level of each workstation. It took about five hours to create the script from scratch, which is a fraction of the time it would have taken to compile the list by hand. Plus, the automated nature makes user-error less likely.

Example 2: I had to pare down a list of voters, since the County sent the School District I work in thousands of voter names/addresses who weren't actually in the District (and, thus, weren't eligible to vote on the School Budget). I acquired a list of addresses for the tax rolls, and wrote a Perl script to compare the addresses on the voter list to the address on the tax roll list. It took 16 hours or so of work to create the script. It would have taken over 40 hours to examine the list by hand. Plus, the script can be reused, and will take about ten seconds on subsequent executions.

Learning about Regular Expressions will also be incredibly valuable to you in any tech-based career. I'm just beginning to grasp the surface of Regex). Being able to save your bosses secretary eight hours of monotonous work and turn that task into a script that takes five seconds to execute is a good way to stay employed. Just document your code thoroughly, so that you'll know what the heck it does when you come back to it two years later...
 

chuketek

New member
Sep 28, 2009
70
0
0
I realize that so far you've had just about every coding language thrown at you.
I'd definitely recommend only sticking with one until you're sure of what you're doing, then moving onto another, preferably more complicated, language once you have it more or less down.
This way, you'll hopefully learn how computers function, rather than than becoming too caught up on what one particular language can do and that can be invaluable for larger projects.

I realise that microsoft is the devil, but I would personally recommend c# to start with. The .net suite makes learning all the commands almost as easy as visual basic, but the syntax is much more grown up. It's also similar enough to c++ that you shouldn't feel completely unfamiliar with it when you (inevitably) need to use it.

Quick question though, what do you want to program?
Different languages are used in, for instance, internet programming and general application programing.
 

Buzz Killington_v1legacy

Likes Good Stories About Bridges
Aug 8, 2009
771
0
0
Jordi said:
I see a lot of recommendations for Visual Basic here. I personally have no experience with it, but I've always kind of stayed away from it because of this Edsger Dijkstra: "the teaching of BASIC should be rated as a criminal offence: it mutilates the mind beyond recovery."
To be fair, he said that in 1984, when BASIC still had line numbers and depended on GOTO for most of its control flow. And really, it was true--I was around back then (because I'm older than dirt), and I had a lot of bad habits to unlearn when I got around to learning C and Pascal.
 

Esotera

New member
May 5, 2011
3,400
0
0
Definitely not Visual Basic.

And it depends what you want your programs to do. If you're thinking of desktop applications, start off with something like C++ or Python. If you're thinking light use/web apps, try something like PHP. The trick to learning successfully is reading through the tutorials constantly, and referring to the documentation a lot. Reading forums also helps.

And most importantly, write your own code regularly.

Linkage:
http://cplusplus.com/
http://www.cprogramming.com/
http://docs.python.org/
https://duckduckgo.com/l/?u=http%3A%2F%2Fwww.colorado.edu%2Fgeography%2Fclass_homepages%2Fgeog_4303_f08%2Freadings%2FSwaroop.CH--A_byte_of_python_115.pdf
 

DanDanikov

New member
Dec 28, 2008
185
0
0
I'd say Python is a fantastic starting place- it lets you do many things with minimal effort and a fair amount of clarity- you may never need to learn another programming language again.

Sadly, if you do get into programming, many software houses/projects will use other languages for various reasons. I'd pop c++, Prolog and COBOL onto the list as languages that will make you think in different ways and help you learn the most- having learnt those thoroughly (and, honestly, just python and c++ would do, prolog and cobol are just there as bastard examples of doing this rather differently) you should be able to pick up anything you need as and when it is needed.
 

Tharwen

Ep. VI: Return of the turret
May 7, 2009
9,145
0
0
Here's my opinion on the three that I know:

VB: Probably the simplest to learn, but for the same reasons that make it a pretty awful language. It has the advantage of being in Visual Studio, a very good (free) IDE for making software quickly. However...

C#: ...so does C#. You can download Microsoft's Visual Studio for C# too, which offers as much as VB does while having 'proper' syntax that will be better for moving on to other languages afterwards, such as...

Java: ...Java. I'd stay away from it for your first language, because it doesn't have Microsoft making things easy for you. Installing the JDK is easily the hardest part, and much of the help you can find on the internet is outdated and sketchy.

My choice for you: C#

Go and get Visual C# Express now!
 

silasbufu

New member
Aug 5, 2009
1,095
0
0
If you want girls, you found yourself the wrong occupation .

I'm not bashing programming by any means, just what you said.

Anyway C++ might be a good start. Or Java I dunno
 

SeanSeanston

New member
Dec 22, 2010
143
0
0
I started with C++ on account of it being seen as the most "proper" language in widespread use.

TBQH though... on mature reflection... I'd say avoid C++ at first. Messing around with pointers and things is annoying and Java does an awful lot of stuff for you and has a much easier standard library to work with. It's a lot more forgiving. Mind you, I'm yet to make a game with Java.

Just... there's a lot of crap you have to deal with no matter what, trying to get your head around all kinds of ideas and trying to practice thinking in certain ways etc., and maybe honestly C++ did kind of demotivate me at times. Might've been better to use something easier like Java that didn't require so much messing around with the more technical aspects so much and let you concentrate more on the logic of what I was coding.

Focusing on games here mostly...
 

mew4ever23

New member
Mar 21, 2008
818
0
0
I'd recommend a flavor of C, probably C#.

Of course, it all depends what you're interested in.
 

Araksardet

New member
Jun 5, 2011
273
0
0
I started with Python, because it's quite intuitive for a non-programmer and someone who has never studied computer science. When I made the transition to C++ (which is probably the most popular language in game design, among other fields), I found a lot of the learning was already done by my experience with Python, and most of the new stuff was the computer science stuff I hadn't ever formally learned, so I was able to learn programming first and then learn more CS-stuff as an expansion of my programming knowledge.

I'm not sure how things would have looked if I had learned C++ first - maybe better, maybe I would have given up. Who knows?
 

intheweeds

New member
Apr 6, 2011
817
0
0
dillinger88 said:
Qitz said:
Lots of great advice. Just to add my own advice, bookmark the website http://w3schools.com/ it comes in handy A LOT when you need to remember what the hell that function was, or what it did. Specially when you get into the fun shit like PHP and MySQL. Nothing like having PHP tell you the errors 6 lines below the actually one because that Semi-colon DIDN'T WANT TO BE ON THAT SPOT!
Semi-colons are the bane of new programmers until you learn that "Compiler found OVER9000 errors" basically means, "you missed a colon somewhere, I'm not telling you where though. trolololol!"
This is hilarious! I imagined trying to compile and having a little troll face pop up in the window over top of a wall of red text.
 

intheweeds

New member
Apr 6, 2011
817
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 agree to a point. I don';t think he needs a whole university degree, but i do think it would be more helpful to take some online courses from an accredited school, rather than try and learn on your own. I had been self teaching before i started school and i would never have known what i didn't know.

Online courses are easy to get into compared to a whole degree or even a diploma at the same school. You don;t have to go through any admissions. They didn't even ask me if i graduated high school! It was "what's your credit card number?" ...then - "thanks, course starts on X-date. see ya.".

(P.S. this is a proper college in my area. Not a 'fake' online bullshit college.)
 

Gustavo S. Buschle

New member
Feb 23, 2011
238
0
0
I started learning Java because I was interested in modding minecraft, but I kinda lost interest in minecraft;
Now I know a little bit of Java, what do you guys suggest me to do now? Keep learning Java or learn some other language? Keep in mind that I have no prior coding knowledge.
EDIT: I actually remembered I started learning python too, but I don't remember much.
By the way, I'm on a Ubuntu.
 

Xaio30

New member
Nov 24, 2010
1,120
0
0
I recommend you to start with C# in Microsoft's Visual Studio (Do not confuse with Visual Basic). It has a simple syntax, is object-oriented and can still be used for more advanced tasks.

Not to mention that Visual Studio points out your errors, shows you available commands and compiles your program in a blink for testing. No need to navigate a Command Prompt every time you need something compiled.

When you feel confident in C#, move to C++ as almost all "better and greater" programs and games are written in it.
 

Geamo

New member
Aug 27, 2008
801
0
0
In my Computing class in Post-16, we learnt mainly through C#, which I found to be useful and relativley versatile, especially for Form programming. We also went through some Prolog and C++.

I'm currently teaching myself Python and a bit of Java to start with before my course next year.

So my initial reccomendation would be C#, but that's because it's what i'm most comfortable with.
 

JoJo

and the Amazing Technicolour Dream Goat šŸ
Moderator
Legacy
Mar 31, 2010
7,160
125
68
Country
šŸ‡¬šŸ‡§
Gender
ā™‚
RAKtheUndead said:
Annoying Turd said:
I want to learn programming so I can be useful someday, and maybe girls might finally like me.
Ha. Ha ha ha ha ha ha ha ha ha ha ha.

Being able to program might make you useful, but it sure as hell isn't going to get women attracted to you. If anything, it's one of those common subjects that turns women off.

Start with Python. It's more versatile and more platform agnostic than Visual Basic.
Talking about programming would certainly be a turn off for most people, I'm a guy and it would turn me off, but if programming means this guy can get a better paid job than he otherwise could of, then his chances with the fairer sex are only increased. I mean who, male or female, doesn't like money?
 

Xaio30

New member
Nov 24, 2010
1,120
0
0
dillinger88 said:
Semi-colons are the bane of new programmers until you learn that "Compiler found OVER9000 errors" basically means, "you missed a colon somewhere, I'm not telling you where though. trolololol!"
Unless you write in Visual Studio where it gives you one error message with exactly where you missed the semi-colon.
 

Rafael Dera

New member
Aug 24, 2010
68
0
0
Annoying Turd said:
I'm such a beginner at coding I can't write a webpage. I want to learn programming so I can be useful someday, and maybe girls might finally like me.

What programming language is best to start learning with? Why? How am I supposed to begin earning the skills to become an expert programmer?

What should I keep in mind while programming? Anything I must know? Programming tips?
I think you're best off with python. It allows you to get experience with a number of programming styles (imperative, functional, object oriented). Plus you don't need visual studio, just a python package and a decent text editor (or use the built-in one). The language has a decent gui tool via Tkinter (in implementation of tcl), there are some excellent packages like scipy (for scientific work, also includes numeric optimisation tools), django (web-framework). It is inherently web-savvy (look at this example here http://99-bottles-of-beer.net/language-python-931.html) and you'll be writing awesome programs before you can say 'floccinaucinihilipilification'. I'd been reading about it, downloaded it, and wrote my first (functional, text based) program that same day (autoclave-cipher program) It can export exe's via cxfreeze or any other similar tool.
 

Zyntoxic

New member
May 9, 2011
215
0
0
when I started programming in highschool we started with python, and I think it was a great first language to get a grip on the basics, and I've heard it's a really good first language if you wanna get into webprogrammin too, but I wouldn't know I don't do webprogramming =P

and this made me laugh, because it is so true ^_^: http://xkcd.com/353/