Programming
Reply
I'd like to learn a programming language. I have no eventual aim, I'd just like to learn a language. I'm completely new and I don't really know what to do.

What language should I learn? I'd like to learn one that would allow me to easily learn any other language I might want to use. I've been advised by some people at work to learn C# because once I understand that, I'd be able to learn pretty much anything.

What are most companies looking for when they recruit programmers? I'm not really looking to become a programmer or anything, but I'd just like to understand what the chuff everyone is going on about all of the time.
Nothing wrong with C#. Plenty of work about for that and ASP.net. From a website point of view, PHP is great for beginners.
PHP is probably a good place to start if you're looking to do web facing stuff. Dunno what the jobs scene is like for it though. I do perl, which is a bit harder to get started with, but a bit more flexible.
All languages have very common themes and ways of doing stuff. A lot of the time it comes down to syntax, imo. Although I never was too keen on java classes :)
Squirt wrote:
I do perl, which is a bit harder to get started with, but a bit more flexible.

Perl has it's place, but I'm not sure it's a good one for a beginner.
Thanks so far guys. I'm not sure about php because I'm not arsed about programming specifically for the web or anything like that. Basically, I want to learn, from scratch, how to program. And I'd just like to know which language would give me the best base to learn others.
Okay, so C#.

Anybody know any good books? It seems most books are aimed at people who already know how to code other languages. Will I need a programming for dummies book and a C# book?
With us, we're c#. But what we actually look for is brains and enthusiasm. We can teach programming, we can't teach personality and inteligence. Our interview process revolces around making people reason stuff out from first principles.

C# is a good language if you want to make windowsy things. Get yourself Visual c# 2005 Express free from MS, get yourself the following book.

That'll give you a really superb grounding in the basics.

http://www.amazon.co.uk/Wroxs-Visual-20 ... 588&sr=8-1

Total outlay, about £15.

Edit : This book assumes no programming knowledge yes.
Actionscript :nerd:

It's quite nice, really. AS3 is, anyway. You get to perfectly tie in code with graphics with no trouble whatsoever.
AYe, c# is excellent, so long as you want to program for windows (or the 360). (XNA - essentially the c# games library - is generally nice, if a bit pooly documented)

Not the speediest thing ever, but that doesn't matter to 99.9% of people.
If you just want to "learn to program" there are a fair few others you could try - Ruby or Python. Ruby is very, very object oriented, so might not be a bad start to learn that.
Dudley wrote:
With us, we're c#. But what we actually look for is brains and enthusiasm. We can teach programming, we can't teach personality and inteligence. Our interview process revolces around making people reason stuff out from first principles.

C# is a good language if you want to make windowsy things. Get yourself Visual c# 2005 Express free from MS, get yourself the following book.

That'll give you a really superb grounding in the basics.

http://www.amazon.co.uk/Wroxs-Visual-20 ... 588&sr=8-1

Total outlay, about £15.

Edit : This book assumes no programming knowledge yes.


Oooh, that looks like the ticket! Yes, I have no programming knowledge whatsoever. Although I did do an A level in Computing, managing to get a C in the end. Fuck knows how.
Dudley wrote:
With us, we're c#. But what we actually look for is brains and enthusiasm. We can teach programming, we can't teach personality and inteligence. Our interview process revolces around making people reason stuff out from first principles.

C# is a good language if you want to make windowsy things. Get yourself Visual c# 2005 Express free from MS, get yourself the following book.

That'll give you a really superb grounding in the basics.

http://www.amazon.co.uk/Wroxs-Visual-20 ... 588&sr=8-1

Total outlay, about £15.

Edit : This book assumes no programming knowledge yes.


Also, I have personality and intelligence. Gizajob.
Echoing what's already been said, I'd actually suggest that you download XAMPP, install it on your home PC, and start off by learning how to make basic web pages. All you need then is a browser and a text editor, and you can use PHP to learn basic programming.

C# is probably the best general language to learn, however, you may find it too much, as it is a 'full' language. If this should happen, I'd recommend trying Visual Basic .NET, instead of C# .NET as it's easier. Whilst then very different to most other languages, it does at least allow you to learn the concepts and ideals, without getting bogged down in scary grammar.

Important note: don't start off by deciding "I'm gonna make a game!!!" and downloading the XNA kit. It'll totally overwhelm you and break your spirit. Is there anything specific you fancy trying to program, by the way?
CUS wrote:
Echoing what's already been said, I'd actually suggest that you download XAMPP, install it on your home PC, and start off by learning how to make basic web pages. All you need then is a browser and a text editor, and you can use PHP to learn basic programming.

C# is probably the best general language to learn, however, you may find it too much, as it is a 'full' language. If this should happen, I'd recommend trying Visual Basic .NET, instead of C# .NET as it's easier. Whilst then very different to most other languages, it does at least allow you to learn the concepts and ideals, without getting bogged down in scary grammar.

Important note: don't start off by deciding "I'm gonna make a game!!!" and downloading the XNA kit. It'll totally overwhelm you and break your spirit. Is there anything specific you fancy trying to program, by the way?


So you reckon buying that book and starting with C# would be too difficult? Or would it be possible with effort?
Oh, it's more than possible, and there are plenty of web resources (including us) if you need them. What CUS is saying is that C# isn't the easiest langauge ever invented (but it's not, by any means, a complicated one), and to learn to walk before you can run.
I agree with CUS. Even the simplest move-a-blob-about the-screen game is a pretty substantial project. You'll be able to do something cool and useful with the web or other internet bits long before a decent game came out. Something that, for instance, checked the front page of your favourite sites for updates, or scraped the stock prices of any shares you own and made a graph or something like that.
I see what you're saying certainly, but I'm not really interested in a quick product. I want to know a good, useful language that will set me up to understand any of the others I may want to learn.
a friend of mine told my that if i took COBOL lessons i would find easly a well paid job in a bank. I dunno if he's just full of shit, or if its actually true. My programming skills are limited to non-existent (only Visual Basic really).
MrD wrote:
Image

I wrote a game in AMOS Pro once. It was not very good.

EDIT: Cripes, it's listed on this French page. Nothing ever dies in the world of computers, does it?
RuySan wrote:
a friend of mine told my that if i took COBOL lessons i would find easly a well paid job in a bank. I dunno if he's just full of shit, or if its actually true. My programming skills are limited to non-existent (only Visual Basic really).


what is the game?
VB.Net is lovely. As an old school ASP/VBA/HTML programmer, both it and ASP.NET took a while to click but when it works, it really works. I wouldn't think that you hit those hurdles if you start off from scratch.

As mentioned, the VS.NET Express series of free products are a good intro.
PHP is an excellent 'my first C-style language' choice. There are no bizarre PHP-only concepts (at least, none I can think of), data types, no stupid limitations. Also, no compilers, and no danger of jonarob fucking anything up (no insult intended mate).

Plus, it's a good thing to know if you decide to have your own home page, since most open source web stuff these days tends to be PHP (such as this forum) - very useful.

When jonarob is ready to run, C# would most definitely be the right choice. Not so long ago I'd have said Java probably, but now C# is a definite necessity.

With that said, I now present jonarob with his first example PHP script. Jon, I'd hope that 99% of what this does is really obvious:

Code:
function multiplyByFive($num) {
    return $num * 5;
}

echo "<p>Welcome to my amazing PHP script!</p>";
echo "<p>I am now going to multiple some numbers.  Woo!  WOOOO!</p>";
$oldNumber = 3;
$newNumber = multiplyByFive($oldNumber);
echo "<p>For example, did you know that $oldNumber times five is $newNumber hmm?  Yes!  very exciting.</p>";
Image

PHP IS FOR ME!
RuySan wrote:
what is the game?

"Killjoy". Sorry, should have mentioned that...
RuySan wrote:
a friend of mine told my that if i took COBOL lessons i would find easly a well paid job in a bank. I dunno if he's just full of shit, or if its actually true. My programming skills are limited to non-existent (only Visual Basic really).


When we learnt COBOL at college (pre-2000) my tutor was constantly saying about how if you knew COBOL you could command your own price fixing legacy systems for 2000-compliance.

Which is why he was earning shit money as a tutor, obviously.
Stuart Ashen wrote:
EDIT: Cripes, it's listed on this French page. Nothing ever dies in the world of computers, does it?


Is it this: Kak 0.901?
So does everyone here know how to fucking code? This is why I want to learn. I feel like a right spack for not knowing something that everyone else seems to.
jonarob wrote:
So does everyone here know how to fucking code?

Yeah, but I'm best ;)
Grim... wrote:
jonarob wrote:
So does everyone here know how to fucking code?

Yeah, but I'm best ;)


For a given value of best....
Code:
SELECT username FROM programmers ORDER BY skill DESC LIMIT 1;

----------
|username|
+--------+
|Grim... |
----------
There's only one way to settle this - a good, old fashioned code-off!
i never felt that i was the least nerdy guy like i'm feeling now
Ruby is nice and has the most beautiful tutorial of any language :)

http://poignantguide.net/ruby/
VB.NET is good for knocking things together quickly. C# is probably more useful, since it's essentially the same thing as VB.NET (only the syntax is different), and if you know C# you'll be able to pick up PHP, ActionScript, C, C++, Javascript, Java and indeed any other C-style language without a great deal of effort.

PHP works as a starting point since it's incredibly easy to get things working. It also teaches some fantastically bad habits - as do a lot of scripting languages - so although you get the satisfaction of making things work, you're not necessarily learning the best way to do things.

Java is another good starting point. There's not a great deal of difference between that and C#, except that Java is obviously a better choice if you don't use Windows. The last time I used Java (just before the release of 1.5, I think) I found it did have its problems though, mainly because of the iterative way it's been developed (retaining backwards compatibility between versions equals cruft).

Only a mentalist starts learning to program with C or C++.

Have you considered something like Blitz BASIC? You can get stuck into writing interesting games pretty much straight away. The problem with Java/VB.NET/C# is that they're, well, boring. Same with PHP - you can make text appear in a web browser. Not as entertaining as a game. Also, if you write a game, we can demand that you fit it with joystick controls.
gravy wrote:
Ruby is nice and has the most beautiful tutorial of any language :)

http://poignantguide.net/ruby/

If that's the one about programming whilst eating a pizza I will laugh and point at you, sir.

[edit]Phew.
Ruby is a glorious language. Not done anything really with it yet, but it's lovely to learn and tinker with. Not least because that guide is so amusing and unusual, yet still right and good.

However, I can't think of anything that jonarob would ever want to do with Ruby, and it's completely unlike most 'big' languages, alas. Or I'd have recommended Python already.
CUS wrote:
Ruby is a glorious language. Not done anything really with it yet, but it's lovely to learn and tinker with. Not least because that guide is so amusing and unusual, yet still right and good.

However, I can't think of anything that jonarob would ever want to do with Ruby, and it's completely unlike most 'big' languages, alas. Or I'd have recommended Python already.


I dunno, I've found Ruby coupled with Rails to be fantastic for web development :)

Python does seem nice too
Plissken wrote:
VB.Net is lovely. As an old school ASP/VBA/HTML programmer, both it and ASP.NET took a while to click but when it works, it really works. I wouldn't think that you hit those hurdles if you start off from scratch.

As mentioned, the VS.NET Express series of free products are a good intro.


I'm an old school asp/vba/html programmer, and I just don't get on with ASP.NET at the moment. It doesn't seem to give you the control of the outputted html that classic asp does, what with the server controls for form input etc. it seems you have to go through a lot of hoops and control properties to do something that would take 5 seconds in classic asp.

Could you recommend any tutorial sites that are aimed at going from classic asp to ASP.NET?
gravy wrote:
I dunno, I've found Ruby coupled with Rails to be fantastic for web development :)

Heh. Well, yes. But jonarob doesn't want to do webby stuff - I only recommended PHP because it's the simplest, least troublesome C-style language I can think of.
Well I ordered that book and I'm gonna have a go at C# - if it is a bit too much then I'll take CUS' advice and start with PHP because it does look pretty straightforward. Thanks guys! I'll let you all know how I get on :)
mrbogus wrote:
Only a mentalist starts learning to program with C or C++.


Hello! I don't actually see why people have any problems with it. It's lovely.
jonarob wrote:
I'll take CUS' advice and start with PHP

/clears throat loudly
andyb wrote:
I'm an old school asp/vba/html programmer, and I just don't get on with ASP.NET at the moment. It doesn't seem to give you the control of the outputted html that classic asp does, what with the server controls for form input etc. it seems you have to go through a lot of hoops and control properties to do something that would take 5 seconds in classic asp.


*smiles* Yes, that is the thing, you have to unlearn all that stuff. Or rather, forget it. Completely, utterly. If you try to understand the generated HTML output, you will get very, very confused. Well, assuming you could even work it out.

You have to think of the page as a compiled form, similar to a VB program or user interface in Access, click here to do X, click here to do Y. The page "remembers" variable settings and so on - I am not quite sure how, but I vote witchcraft. Instead a client/server relationship, the browser is acting like a terminal window, merely rendering HTML output while all the complicated gubbins happens deep within IIS.

I still haven't got the hang of large bits of it - persisting objects across Postback is well beyond me right now (as indeed is understanding of exactly what happens on Postback and during page build) but when it does click, by God you can do some good stuff with it. Light years ahead of many other things, IMO.

OTOH, setting up a paging, sortable Gridview from a SQL database can be done in a minute in ASP.NET and well, never in ASP.

Quote:
Could you recommend any tutorial sites that are aimed at going from classic asp to ASP.NET?


I started with this book.
gravy wrote:
Ruby is nice and has the most beautiful tutorial of any language :)

http://poignantguide.net/ruby/



At no point did someone say "Nice idea. Now do it properly."
Grim... wrote:
jonarob wrote:
I'll take CUS' advice and start with PHP

/clears throat loudly


Or was it Grim...'s advice?

I'll take it from anyone.
Plissken wrote:
You have to think of the page as a compiled form, similar to a VB program or user interface in Access, click here to do X, click here to do Y. The page "remembers" variable settings and so on - I am not quite sure how, but I vote witchcraft. Instead a client/server relationship, the browser is acting like a terminal window, merely rendering HTML output while all the complicated gubbins happens deep within IIS.


By default in the viewstate - A hidden field in the page. Although you can change this (And often want to, as the viewstate can get horrifically big) to work in different ways.

But yes, completely different from any other kind of web programming. It's designed to have the same code mechanisms as windows forms and similar.
Mr Dave wrote:
mrbogus wrote:
Only a mentalist starts learning to program with C or C++.


Hello! I don't actually see why people have any problems with it. It's lovely.


I should have added, "when there are far easier language to start with". They're my current favourite languages, but I wouldn't start out with either as a beginner.
jonarob wrote:
I'll take it from anyone.

/me clears throat loudly.

And that's not why Grim... was clearing his, jonny boy.
Mr Dave wrote:
Hello! I don't actually see why people have any problems with it. It's lovely.

C? As a first programming language, in this exciting future we live in? It doesn't even do strings!
I rather like C++ and I even wrote the beginnings of a shitty Scramble clone in it (libSDL is lovely for cross-platform gammy stuff). As Mr. jonny's first programming language to see what it's like? 8)
Page 1 of 3 [ 127 posts ]