# Which Computer language to learn first?



## GuitarDave (2 Aug 2011)

I'm interested in trying to learn Computer Programming but I'm not sure about what language to try and attempt first...every site I've looked up has conflicting answers...Can anyone here advise or give any help on the issue and also after deciding on what language to try learn what the best way to go about it would be?


----------



## sustanon (2 Aug 2011)

It depends what you want to get out of it, I learned BASIC on a Sinclair ZX81 as a kid and never really got into anything more after that, did a bit of C++, but BASIC gave me a great foundation for my current profession in machine automation.

what's your end goal? others may better direct you then...


----------



## alexandra123 (2 Aug 2011)

You should learn C first as that gives you the foundation of what you will use in most of the other languages when doing loops and if else statements etc.


----------



## Jim2007 (2 Aug 2011)

Well for an introduction you could try MS Small Basic.  It should give you a feel for what it is all about.

Jim


----------



## AlbacoreA (3 Aug 2011)

Hard to answer you don't really say what your goal is here. 

If you want to learn the fundamentals of programming the C or C++, if you want to get a job or do a project, then the answer might be completely different. 

Otherwise I'd say do a course.


----------



## GuitarDave (3 Aug 2011)

Jim2007 said:


> Well for an introduction you could try MS Small BASIC.  It should give you a feel for what it is all about.
> 
> Jim



I suppose I don't really know enough about each area of direction but the idea of being able to write some sort of a program greatly interests me. I've no programming experience at all so I might take a look at the above just to see what it's all about.


----------



## PaddyBloggit (3 Aug 2011)

Might be worth a read:

http://www.eweek.com/c/a/IT-Management/10-Programming-Languages-You-Should-Learn-Right-Now/10 Programming Languages You Should Learn Right Now


----------



## SparkRite (3 Aug 2011)

If it just as a hobby, well be prepared to spend many hours of your "leisure" time driving yourself up the wall trying to de-bug a simple 50 line coded prg.

As you progress this becomes de-bugging 500+ lines of code with a similar rise in time. If you like this then overall it will be satisfying.
I would advise learning an object orientated programming (OOP) language such as C# (derivative of  C and C++) and similar to Java.

Many years ago I taught myself Basic, then Assembly (6502,6510) and then pure machine code. I called a halt when a screenful of numbers whether in decimal, binary or hex made sense to me!!


----------



## fionasara (15 Aug 2011)

I think it depends on the usage of the language you are going to learn and I want to mote you that the programming language learning is a gradually process. In my mind basic> C#


----------



## GuitarDave (15 Aug 2011)

Since posting this question I've downloaded a C64 emulator & a C++ compiler & IDE. I'm going to try get somewhat proficient at BASIC just to get used to programming then move onto C++. From what I've read on the topic C++ is a good place to start.


----------



## JoeB (15 Aug 2011)

BASIC can be very powerful,.. but Microsoft discontinued Visual Basic 6, which was dissapointing. I could write nearly anything in that, including a scrolling shoot em up game! (Using the Windows API)

C will give you much greater control than BASIC, but it requires you to write more complex code. In other words, BASIC will hide some of the finer details, which makes it easy but that means you don't have fine control. C will reveal all the fine details, but the disadvantage is that you must then fine tune all of this extra info, .. which is a lot of extra work, and C is very unforgiving, whereas BASIC is exceptionally easy, in terms of debugging. BASIC does stand for Beginners All purpose Symbolic Instruction Code after all.


I think C++ will be difficult to start on.


----------



## GuitarDave (15 Aug 2011)

OK so rethinking my last post perhaps I'll stick with BASIC until fully proficient at it before moving on.


----------



## SparkRite (15 Aug 2011)

GuitarDave said:


> OK so rethinking my last post perhaps I'll stick with BASIC until fully proficient at it before moving on.



CBM BASIC was a cut down version of BASIC and lacked a lot of the commands that Visual BASIC had.


----------



## dtlyn (15 Aug 2011)

GuitarDave said:


> OK so rethinking my last post perhaps I'll stick with BASIC until fully proficient at it before moving on.



I'd recommend Ruby as a modern programming language that is simple to get started with and nice to get advanced with when you're ready. 

There's plenty of library support, and lots of documentation on the web. 

Try it here - http://www.ruby-lang.org/en/
Read about it here - http://www.amazon.com/Ruby-Programm...6177/ref=sr_1_1?ie=UTF8&qid=1313412324&sr=8-1


----------



## bob_bob (17 Aug 2011)

I'd recommend trying Groovy on Grails.  I found it really intuitive and picked it up in a few weeks.  I have a background in IT and know java which Grails builds on so I'm not sure how someone new to programming would find it.

It really impressed me how far along languages have come since the ones I learnt in college.  I'm not allowed to post urls but if you google grails and quick start you will see the grails guides.  They are a good place to start if you are interested.


----------



## bogle (17 Aug 2011)

dtlyn said:


> I'd recommend Ruby as a modern programming language that is simple to get started with and nice to get advanced with when you're ready.
> 
> There's plenty of library support, and lots of documentation on the web.
> 
> ...




Ruby or perhaps Python would be my recommendation too. Both are easy to get started.


----------



## gearoid (17 Aug 2011)

*learning computer languages*

It depends on what you are hoping to do.

Are you a hobbyist who wants to put up websites, or are you hoping to learn the fundamentals of programming?

If you want to learn the fundamentals of programming then I think Java would be your best alternative. It was invented to get around many of the then complexities of C++ e.g. managing memory is much easier, though this will be addressed in the forthcoming release of C++.

I have worked in IT since the early 1990s and started off in C and C++. I wouldn't advise either. I will have my head bitten off by some for saying this. My view is that C doesn't teach some aspects of current programming practice, and C++ is too powerful and complex. Java has a massive user base and masses of online tutorials and sample code and teaches many of the fundamentals. This is why it is a mainstay of many academic courses. For the record, I am not a java programmer, though I have been for two or three years in the past.

Good luck.


----------



## nai (17 Aug 2011)

i'm with gearoid here - i've also been in IT since the early 90's and while i don't and never have worked as a programmer i have had cause to use almost every language in some form or other from assembler to fortran to c to vbasic to java to tsql/pl-sql and so on.

OP - give us a better understanding of what you want to do ... eg vbscript is a useful language to know if you have to do any type of windows administration


----------



## GuitarDave (18 Aug 2011)

I've no history or experience in programming so its very hard to know exactly what it is I could do with a particular language. If for example I wanted to write a program like a registry cleaner or a temp file cleaner what would be the language of choice there? I would have an interest in learning the ins and outs of a language that would be best to perform those sort of tasks but have no real knowledge about the subject. I appreciate it may take quite a long time to be able to write such a program but if that was what I was aiming towards where should I start?


----------



## nai (18 Aug 2011)

GuitarDave said:


> I've no history or experience in programming so its very hard to know exactly what it is I could do with a particular language. If for example I wanted to write a program like a registry cleaner or a temp file cleaner what would be the language of choice there? I would have an interest in learning the ins and outs of a language that would be best to perform those sort of tasks but have no real knowledge about the subject. I appreciate it may take quite a long time to be able to write such a program but if that was what I was aiming towards where should I start?


 
for something like these two examples either vbscript or windows powershell are your best bet.

be aware that these scripting engines are quite powerful and generally are executed as an adminstrator user so you can remove the wrong files quite easily - best to configure a sandbox virtual machine that you can play with and destroy to your hearts content.


----------



## gearoid (18 Aug 2011)

*learning programming*



> If for example I wanted to write a program like a registry cleaner or a temp file cleaner what would be the language of choice there?



Ah I see. You just want to clean a poorly performing windows home PC!! 

Would you consider downloading Ubuntu Linux as a dual boot operating system? You could set up a small partition to see whether it works better than Windows, but still be able to boot up your Windows if you wanted. Linux is fast, highly secure, free, has thousands of resources, and has MS Office equivalents. It would enable you to learn an operating system, linux, and any number of useful resources such as PHP which is a web scripting language, MySQL, a database, Apache a web server, as well as HTTP and Javascript etc. Look up LAMP development.


----------



## GuitarDave (18 Aug 2011)

gearoid said:


> Ah I see. You just want to clean a poorly performing windows home PC!!


 
Not exactly...Im aware of the numerous reg cleaners and washers out there and how aggressive some can be over others. It's more an interest in being able to develop a program that would be capable of those tasks. I know enough about running a computer to be able to maintain it.

I have a few partitions set up already and had considered running Linux on one of them alright. Just downloaded http://www.microsoft.com/visualstudi...-basic-express.

As I've said before with so many different answers and tips and also me not knowing enough about the subject of programming its hard to know where to start from.


----------



## GuitarDave (18 Aug 2011)

Now on a different matter....how do I delete a post? 

The above was done twice as initially I hadn't quoted properly...Im still new to AAM..


----------



## SparkRite (18 Aug 2011)

GuitarDave said:


> Now on a different matter....how do I delete a post?
> 
> The above was done twice as initially I hadn't quoted properly...Im still new to AAM..




I don't think you can.


FYI  I think Gearoid was just poking fun here.


----------



## GuitarDave (18 Aug 2011)

SparkRite said:


> I don't think you can.


Ah right because when you hover over the edit button up comes "edit/delete".





SparkRite said:


> FYI I think Gearoid was just poking fun here.


 
I did figure as much and didn't mean my reply to sound otherwise. Apologies Gearoid.


----------



## Leo (19 Aug 2011)

GuitarDave said:


> Now on a different matter....how do I delete a post?


 
You can't delete, but you can edit a post to correct it within 24 hours of submitting it. I've deleted that one for you.
Leo


----------



## gearoid (19 Aug 2011)

*pc cleaning*

Hi, 

The orginal point was that to comment I would need to know what your motivation was for learning programming. 

The examples given were of automating windows admin tasks to improve the performance of the PC, so I hope I didn't come across as too flippant.

My windows XP machine started taking about 10 minutes to boot three years ago. I had no install disks to re-install, so I was stuck with numerous awful reg cleaners etc. 

That's why the Indian PC phone scam is so successful. Lots of fed up people with poorly performing windows machines.

Fast forward, two years and the same 6 year old PC is whizzing along with Ubuntu Linux. I have numerous heavy applications installed on a 1MB machine, including some where the documentation states it isn't possible. I don't have any virus worries and it is all completely free.

To me it's a no-brainer.


----------



## SparkRite (20 Aug 2011)

gearoid said:


> Fast forward, two years and the same 6 year old PC is whizzing along with Ubuntu Linux. I have numerous heavy applications installed on a 1MB machine, including some where the documentation states it isn't possible. I don't have any virus worries and it is all completely free.
> 
> To me it's a no-brainer.



Not wishing to hijack this thread but Gearoid am I to understand that you have a PC with an OS of "Ubuntu Linux"? If so what runs on this platform?
Is it a stand alone OS or does it depend on a duel platform?


----------



## AlbacoreA (20 Aug 2011)

Reg cleaners are a bad idea. Even more so as a first programming project. 

Personally I've never had problems with Windows even on very old machines. Or with Viruses. Bit of a storm in a teacup IMO. 

Just buy a book with some projects and work through them. Its probably useful to do something like Java then something else to see how they differ.


----------



## SparkRite (20 Aug 2011)

AlbacoreA said:


> Reg cleaners are a bad idea. Even more so as a first programming project.



I think the OP was just giving "reg cleaners" et al as an example of what he/she may gain if they were to get into programming and not as an end to a means as such.

If that makes sense??


----------



## AlbacoreA (20 Aug 2011)

Maybe. I thought it was too specific to be a random example though. 

[broken link removed])

http://en.wikipedia.org/wiki/Linux_desktop

http://en.wikipedia.org/wiki/Linux


----------



## SparkRite (20 Aug 2011)

AlbacoreA said:


> Maybe. I thought it was too specific to be a random example though.
> 
> [broken link removed])
> 
> ...




Cheers, AlbacoreA, thanks for the links.

End of hijack!!


----------



## GuitarDave (24 Aug 2011)

AlbacoreA said:


> Reg cleaners are a bad idea. Even more so as a first programming project.
> 
> Personally I've never had problems with Windows even on very old machines. Or with Viruses. Bit of a storm in a teacup IMO.
> 
> Just buy a book with some projects and work through them. Its probably useful to do something like Java then something else to see how they differ.


 
Yes as sparkrite said developing a reg cleaner was just an example purely to find out what language would be best to learn if it WAS something like that I wanted to write.

So far I'm trying to get to grips with VB.net and cannot see myself programming a reg cleaner anytime soon anyway...


----------

