Programming in general....

Associate
Joined
28 Dec 2002
Posts
2,400
Location
Northern Ireland
Hi Guys,
I am new to programming, i have very little experience but i really want to learn more about it.

MY Experience....
Made small programs in visual basic years ago, mostly forgot everything
Working with macro's in MS Excel

What i would like....
Your advice on where to start
Is there maybe a book or website i could use, any of which must be for beginners.
Where to start? (With visual basic, html etc)

I really want to do this to try and use my computer more but i need your advice.

thanks guys
ace
 
I suppose the absolute first question is what programming language!

Are you interested in web development? (X)HTML/CSS/Javasript/Ajax etc....
Or server side stuff... php/asp....

Or non web stuff..... with a gui: C++/C#/Java/VB.... or without.... Ruby/Perl etc.....

Most a little more about what you'd like to do and I'm sure someone could point you in the right direction. 90% of the time you'd struggle to find a better resource than the web to be honest.
 
ace2109 said:
what do you guys think is the web the best way to go
Like I said your first question is to choose a language and format.

What do you want to do? I.e. an example project such as a web browser, hangman, address book etc...
 
it depends if you want to learn to code for everything. if you do i'd say learn java. this then will lead you into c and c++ and also javascript which will lead to ajax and php.

a language like haskell is not well documented but it does provide a good example of recursion and elegent code.

so in summary, if you just want to mess about with 1 thing then:

web: javascript & php -> ajax
desktop programs: java -> c++

background knowledge and practise: haskell, prolog.
 
*Totally* depends on what you want to do.

You need to google a lot, asking big questions like that can't work on a forum unless people have hours to spare!
 
Online web apps -> look at client side stuff ("programming" html templates, javascript, css)
Online web apps -> look at server side stuff (PHP, MySQL)

These things do not require a compiler, do not require using Window APIs (such as GNOME or Win32/GLUT) and can do *most* types of applications, and are easy to demonstrate as long as you stick to web standards (any modern browser can view the results).

If you try to go "rich client" (as in programming things like this web browser) you are going to be inundated with different options, it will be difficult to demonstrate your work except on an identical setup without mastering difficult stuff like autotools.

(All open source of course, I'd also highly recommend getting Eclipse if you fancied messing about with Java/C++). But textpad/notepad/GEdit should be enough for most things.
 
WOW :D

Thanks for all the replies guys, i have been speaking to my brother who is a software engineer and he has suggested sticking with the web and learning from there.

He learnt himself and also through school but i remember him starting by making small VB programs.

I think i will start with the web and go from there.

So what next then??????
 
ace2109 said:
So what next then??????

I think learning one entire side of programming is enough to start with :eek:

Webprogramming will teach you a lot of good programming techniques which is of course crucial for safe and usable code.

When/if you move onto more application based programming you will create easy to read effective code.
 
Writing (X)HTML isn't programming by any stretch, but if you go down the web route then it would be silly not to learn it first (it'll be hard to follow any example code otherwise).

PHP probably isn't the best language to learn programming basics, it's far too relaxed when it comes to structure (for teaching purposes) IMO, and I'm a PHP developer...

If you want to learn to program in general then start with Java or C# and you won't go far wrong.
 
LazyManc said:
Writing (X)HTML isn't programming by any stretch, but if you go down the web route then it would be silly not to learn it first (it'll be hard to follow any example code otherwise).

PHP probably isn't the best language to learn programming basics, it's far too relaxed when it comes to structure (for teaching purposes) IMO, and I'm a PHP developer...

If you want to learn to program in general then start with Java or C# and you won't go far wrong.

I didn't say XHTML was programming, I said it was "programming". It doesn't have things like variables, mathematics, program control (loops etc), object oriented stuff, but it does have some basics such as correct syntax, simple document structure etc.

You could take some of that further, for example, by embedding short amounts of php into an xhtml template to generate content. But it avoids 99% of the gumpf concerning using an entire environment etc.
 
When you understand systems and you've been coding for some time the obvious question to fire back is 'well what is it you want to do?' because we know that the tool fits the job generally but if I think back to the point where I discovered I had a real interest in coding, for the sake of coding, I probably just wanted to work on stuff that would make me buzz more than anything.

There are many languages, some fit many roles. I work with C# and because it's effectively a wrapper for a much larger set of low-level instructions I can use it for just about anything round the .NET framework. I love the language so naturally I'd advocate it.

But if you're starting out, I am still of the mind that learning an old-style procedural language like Pascal up to the point where you can write small programs easily and understand the paradigm is a good step before moving to OO. You'll appreciate the benefits and see how different paradigms work. Plus languages like that are actually fun, it's a different way of solving problems.

Just start out with some books, tutorials, read the help files that come with the language. Start from there.

Oh, and start drinking lots of coffee.
 
My 2p...

I would suggest Java for a first programming language because the documentation Sun provides is first class and its all free online.

This makes learning Java from scratch much easier than learning pretty much anything else I've worked with (C++, C#, PHP, Perl).

Also the Object Oriented ideas (the design fundamentals of Java, C# and C++) will carry across well into just about any other language.
 
ace2109 said:
So java is the way to go then guys

Java is a nice language but the results are horrible IMO, RAM hugging laggy java. I would only use the language as a learning exercise rather than actually producing programs using it.
 
daven1986 said:
it depends if you want to learn to code for everything. if you do i'd say learn java. this then will lead you into c and c++ and also javascript which will lead to ajax and php.

a language like haskell is not well documented but it does provide a good example of recursion and elegent code.

so in summary, if you just want to mess about with 1 thing then:

web: javascript & php -> ajax
desktop programs: java -> c++

background knowledge and practise: haskell, prolog.
Haskell as a beginner's language? :(

ace2109 said:
So java is the way to go then guys
Personally I wouldn't recommend Java or any its ilk as a beginner's language; OOP (object-oriented programming) is quite a tough paradigm to get your head around as a complete beginner.

I'd recommend something simple like Python probably, as it's less strict and nit-picky.

Of course, when you move on to OOP, you'll want to go with C# rather than Java ;)
 
Last edited:
I would say good old "C" is a good language to learn first. It's syntax has been copied by so many other languages... C++, Java, PHP and more.

It's a procedural language so you don't have to worry about what the hell "objects" are... believe me, as a beginner, you don't want to!

It's syntax is pretty strict so it'll teach you good practice unlike PHP which let's you get away with murder!

Don't feel you have to learn the ins and outs of C, just spend a few weeks playing with it. Then i would advocate moving to Java. It has similar syntax to C but is object orientated. Once you get to that point you can find out exactly what that OO means and have all the fun that comes with it.

If you don't fancy Java then try C#. Personally, i wouldn't bother with C++.

HTH
 
Last edited:
Wimnat said:
I would say good old "C" is a good language to learn first. It's syntax has been copied by so many other languages... C++, Java, PHP and more.

It's a procedural language so you don't have to worry about what the hell "objects" are... believe me, as a beginner, you don't want to!

It's syntax is pretty strict so it'll teach you good practice unlike PHP which let's you get away with murder!

Don't feel you have to learn the ins and outs of C, just spend a few weeks playing with it. Then i would advocate moving to Java. It has similar syntax to C but is object orientated. Once you get to that point you can find out exactly what that OO means and have all the fun that comes with it.

If you don't fancy Java then try C#. Personally, i wouldn't bother with C++.

HTH

Most of the people I know started either with Perl/C --> Java/C++/C# and then upwards. I didn't really 'get' perl.... didn't click with me.
 
Wimnat said:
I would say good old "C" is a good language to learn first. It's syntax has been copied by so many other languages... C++, Java, PHP and more.

It's a procedural language so you don't have to worry about what the hell "objects" are... believe me, as a beginner, you don't want to!

It's syntax is pretty strict so it'll teach you good practice unlike PHP which let's you get away with murder!

Don't feel you have to learn the ins and outs of C, just spend a few weeks playing with it. Then i would advocate moving to Java. It has similar syntax to C but is object orientated. Once you get to that point you can find out exactly what that OO means and have all the fun that comes with it.

If you don't fancy Java then try C#. Personally, i wouldn't bother with C++.

HTH
C is a little too low level for a beginner in my opinion. As a beginner you don't really want to be worrying about the intricacies of memory management, so a managed language would probably be the best bet.
 
Back
Top Bottom