Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Learning to program 
Author Message
I haven't seen my friends in so long
User avatar

Joined: Fri Apr 24, 2009 7:55 am
Posts: 7935
Location: Manchester.
Reply with quote
Hi all,

I thought I would start a new thread to coincide with my attempt to teach my 10 year old daughter to program!

I've started her off with Microsoft Small Basic, with a view to moving up to Visual Basic, (maybe Studio) when she gets good enough which, after two days of tuition, might be sooner than I thought.

So, why did I start this thread? I'm not entirely sure, but since it's 21:10 and I am exhausted, I thought in my sleep deprived state of mind that you guys might want to talk about programming and if you do any, how you got into it, what languages you use, etc...

I'll keep you updated on Brooke's progress, if you're interested, and I'll write something about my programming history when I'm not so tired, but for now let the conversation begin...

:D

_________________
okenobi wrote:
John's hot. No denying it. But he's hardly Karen now, is he ;)

John Vella BSc (Hons), PGCE - Still the official forum prankster and crude remarker :P
Sorry :roll:
I'll behave now.
Promise ;)


Mon Jul 02, 2012 8:12 pm
Profile WWW
I haven't seen my friends in so long
User avatar

Joined: Thu Apr 23, 2009 6:36 pm
Posts: 5150
Location: /dev/tty0
Reply with quote
I wanted to be a sound tech, so did music tech in 6th form, but needed other courses. I took AVCE ICT form because it had a programming module and I wanted to learn how to program objects to use in The Sims.
A year later I bunked music tech. Eight years later I've graduated with a computer science degree :D

We started off learning VB.NET, then I learnt Java in uni with a little PHP and a very little C. During uni I taught myself some shell scripting with the likes of awk, sed, etc. After uni I taught myself Perl which was very fun.

Nowadays I don't write much. I've built a defects loggin system based on PHP for work which has some Perl bits on the backend. I still write the odd shell/perl script for every day stuff. I now have a Win XP machine on my desk so I've gone back to writing occasional macros and VBScripts...

I wish Brooke all the best!


Mon Jul 02, 2012 8:24 pm
Profile WWW
I haven't seen my friends in so long
User avatar

Joined: Thu Apr 23, 2009 7:35 pm
Posts: 6580
Location: Getting there
Reply with quote
I learned to program in Java first at university as part of a maths course and then as part of a computing course.

It was the second time round that I really got into it. I started learning everything I could. Bought (and still have) about 15 books on programming. I think what really got me into it was Head First Design Patterns. Learning design patterns is essentially learning the grammar of programming without a tally learning to program.

After learning in uni I started to use it to create useful little programs for my own use (and a couple of games). A couple of jobs I had required some (very basic) visual basic hacking so kept in the programming thing a bit.

I then managed to move from a tech support role into a programming role off the back of my Java.

For me though it all started when I got an iPhone and started to write apps for it. Now I'm working as lead iPhone developer in the company I work at :D

_________________
Oliver Foggin - iPhone Dev

JJW009 wrote:
The count will go up until they stop counting. That's the way counting works.


Doodle Sub!
Game Of Life

Image Image


Mon Jul 02, 2012 9:12 pm
Profile WWW
Doesn't have much of a life
User avatar

Joined: Tue May 05, 2009 5:52 pm
Posts: 1899
Reply with quote
I've just done an Introduction to Java evening course. It is designed to introduce Object Orientated Programming. The teacher said the best way is to download open source projects and make a contribution.

Is the Head First book good for beginners?

_________________
Image

My Flickr Page

Now with added ball and chain.


Tue Jul 03, 2012 9:28 am
Profile
I haven't seen my friends in so long
User avatar

Joined: Thu Apr 23, 2009 6:36 pm
Posts: 5150
Location: /dev/tty0
Reply with quote
Head First design patterns is. Some of the other Head first books I've read have been a bit rubbish.


Tue Jul 03, 2012 9:58 am
Profile WWW
I haven't seen my friends in so long
User avatar

Joined: Thu Apr 23, 2009 7:35 pm
Posts: 6580
Location: Getting there
Reply with quote
I have Head First Java and Head First Design Patterns and they were both great.

Both for learning as a beginner and as a reference.

_________________
Oliver Foggin - iPhone Dev

JJW009 wrote:
The count will go up until they stop counting. That's the way counting works.


Doodle Sub!
Game Of Life

Image Image


Tue Jul 03, 2012 10:15 am
Profile WWW
I haven't seen my friends in so long
User avatar

Joined: Fri Apr 24, 2009 7:55 am
Posts: 7935
Location: Manchester.
Reply with quote
OK, I promised an update and some more information about my programming history, so here goes.

Firstly a quick update: So far, we have looked at outputting to the screen, (yes, I know, "hello world" might seem a bit cliched, but it's all about building confidence at this stage) and we've covered inputting data, and variables. We also started on numerical variables and mathematical functions, and will go into more depth on this in the next session.

So, my programming history. I started programming when I got my computer, a Dragon 32, back in 1983, using whatever version of Basic was built into that, and then moved onto various 8 and 16 bit computers including the Acorn Atom, Sinclair QL, Commodore Amiga, (500 and 1200) amongst others, which I can't remember at the moment.

I did a lot of GW-Basic programming for a company I worked for in the late eighties, and got a job as a systems programmer using a language called BITS Basic on a Unix platform in the late nineties. We switched to a language called UniBasic during this time, which was very similar to the version of basic supplied with the ZX Spectrum. I've also done a lot of C++, but that was so long ago that I've probably forgotten most of it, and also some Java and obviously HTML/PHP.

I've also used Visual Basic and Visual C++ and while I wouldn't say I'm a particularly good programmer, I can usually get the PC to do what I need it to.

I'm sure that there's more to add, but I need coffee, so has anyone out there got any similar history that they'd like to share?

_________________
okenobi wrote:
John's hot. No denying it. But he's hardly Karen now, is he ;)

John Vella BSc (Hons), PGCE - Still the official forum prankster and crude remarker :P
Sorry :roll:
I'll behave now.
Promise ;)


Wed Jul 04, 2012 10:00 am
Profile WWW
Doesn't have much of a life
User avatar

Joined: Tue May 05, 2009 5:52 pm
Posts: 1899
Reply with quote
I learned on BBC BASIC as a child with those books that teach you how to make your own games. At secondary school we had Acorns so we learned BASIC on those.
When I went on to do computing A level, we were taught Pascal. The teaching was so awful it put me off for years!

On my recent Java course we used BlueJ for coding.

_________________
Image

My Flickr Page

Now with added ball and chain.


Wed Jul 04, 2012 11:11 am
Profile
Spends far too much time on here

Joined: Thu Apr 23, 2009 6:12 pm
Posts: 2020
Location: Mute City
Reply with quote
i suppose the first piece of programming i did would have been aged 6 or so: we had an educational computer game where you had to direct a mouse through a maze full of traps using arrows, and if the mouse got caught you went back and changed the arrows to avoid the trap, then re-ran it. not real programming, but definitely a good start :D

second bit would have been during my GCSE ICT course, we did a little bit of Flash animating which included some ActionScript, which i enjoyed more than the other Excel or PowerPoint based modules of the course >.<

now im about to go on to the third year of a CompSci Degree, where ive learnt quite a bit of C#. im also trying to teach myself C++ so i can write stuff for my Raspberry Pi :)

and, of course, Minecraft. ive modified my redstone computer to include looping and branching now, which means it can run do a lot of complex stuff, albeit a lot slower than a real computer :D


Wed Jul 04, 2012 11:34 am
Profile
I haven't seen my friends in so long
User avatar

Joined: Fri Apr 24, 2009 7:55 am
Posts: 7935
Location: Manchester.
Reply with quote
soddit112 wrote:
also trying to teach myself C++ so i can write stuff for my Raspberry Pi :)


In which case I would avoid using Visual Studio, as I'm not convinced that their code is fully compliant.

Another Forum wrote:
Dev C++ is an IDE, it comes with MingW's port of GCC compiler. Great Compiler by the way and its ***free***.
http://www.bloodshed.net/download.html
You will notice they have a Pascal IDE too, with the Free pascal compiler.

That's what I'll be using, when my Pi arrives :D

_________________
okenobi wrote:
John's hot. No denying it. But he's hardly Karen now, is he ;)

John Vella BSc (Hons), PGCE - Still the official forum prankster and crude remarker :P
Sorry :roll:
I'll behave now.
Promise ;)


Wed Jul 04, 2012 6:39 pm
Profile WWW
Occasionally has a life
User avatar

Joined: Thu Apr 30, 2009 6:34 pm
Posts: 309
Reply with quote
im doing network computing degree
first year we have had to do intro to java, object oriented java (making pictures basically..) and C

I hate programming, I just cant do it! out of java and C I much prefere C because it makes logical sense.

_________________
iam_bored_ok on cpc
panda's are awesome


Wed Jul 04, 2012 7:06 pm
Profile
Spends far too much time on here
User avatar

Joined: Fri Apr 24, 2009 8:38 am
Posts: 2967
Location: Dorchester, Dorset
Reply with quote
I always wanted to try programming when I was a kid, but I had the wrong computer for it. I had a spectrum and I just wanted to type the stuff in, but you had to do all these silly key combinations. It was such a faff, I always gave up after a bit. Still, it was great for games.

The annoying thing is though, now I'm doing a bit of php stuff, I can see I've got the right brain for it, so might have really done something with it if I'd learnt from a young age.

_________________
I've finally invented something that works!

A Mac User.


Wed Jul 04, 2012 7:32 pm
Profile
I haven't seen my friends in so long
User avatar

Joined: Thu Apr 23, 2009 6:58 pm
Posts: 8767
Location: behind the sofa
Reply with quote
Started in the 80s with Basic on a Sharp MZ80K, and then the much better BBC Basic on an electron. Had to learn Z80 machine code and 6502 assembly to get anything done at a good speed.

Did some odd bits of work programming in Microsoft C running on a floppy in DOS. I had no hard disk, but 1.44MB seemed like a lot of space at the time. Most of my projects were probably under 50K including source. I had to learn 8086 assembly to get the real time stuff done on an 8MHz processor.

Did some serious work using Microsoft Quick Basic, which was fantastic for banging out results quickly for a one-off. Got a job writing an accounts package in it, but turned it down.

My first full time programming job was on an embedded device running BBC Basic. That was in the 1990s when it was already retro!

Moved to VB 3.1 which I still have on a stack of floppies somewhere, and then bought Visual Studio Professional 6 which was a hell of a personal investment for me.

Done some fun stuff in Java, mostly little games. Surprising how much serious work is done in Java; for example the Avaya IPO diagnostic software.

Now mostly VB.net because that's what my new employer standardised on.

_________________
jonbwfc's law: "In any forum thread someone will, no matter what the subject, mention Firefly."

When you're feeling too silly for x404, youRwired.net


Wed Jul 04, 2012 8:21 pm
Profile WWW
Spends far too much time on here

Joined: Thu Apr 23, 2009 6:12 pm
Posts: 2020
Location: Mute City
Reply with quote
John_Vella wrote:
soddit112 wrote:
also trying to teach myself C++ so i can write stuff for my Raspberry Pi :)


In which case I would avoid using Visual Studio, as I'm not convinced that their code is fully compliant.


dont worry im not, i had Netbeans installed from website dev work i had done during my second year, so decided to give that a whirl. its going pretty well so far, but the output terminal doesnt seem to be working (wont accept my keyboard input) :?


Wed Jul 04, 2012 8:24 pm
Profile
What's a life?
User avatar

Joined: Thu Apr 23, 2009 8:25 pm
Posts: 10691
Location: Bramsche
Reply with quote
I started with machine code and BASIC. The former taught me a lot more about programming than any course or book I ever read.

With 1KB RAM and a slow processor, you soon learn about optimisation! Then learning COBOL and FORTRAN on minis and mainframes was helpful as well, especially things like McDonnell Douglas and Data General machines, which had 4KB and 64KB pages, you had to design you code and the length of data sets to fit within the those boundaries. If the data set went outside of those boundaries, you would cause page faults and slow the system to a crawl - and serving 250 users on a 128KB machine, that doesn't just make your program slow, it gets irate calls coming in from all affected users! :lol:

The techniques I learnt back then are still valid today, if less noticeable on a single user machine, but the optimisation and data sizing techniques still make a huge difference today.

On one website I worked on, the devs hadn't done any optimisation and most of the techniques I used to redesign the internal structure of the site were unknown to them. The 4 load balanced servers would crash and the database server in the background would die if they got more than 250 visitors at the site, with the queries to build the menu structure slowing down to nearly a minute to execute.

Optimising the flow of the code (PHP based) to check for positives instead of negatives, reducing functions down to a manageable size and splitting out commonly used code into sub-functions saved a lot of time and more importantly processing power. Then redesigning the queries and optimising the joins, without needing to build any additional indexes, sped up the menu query, so that it ran in around 0.2 seconds, even under load. The next PayPal newsletter was the first one where the admin didn't need to kill and restart the MySQL server every 2 minutes! The system handled over 250 users per server without being overloaded.

Once you have learned the basics, learning about how a processor works and how to optimise for it can be a lot of fun and is invaluable - it also opens your eyes to how to code and why portable code is such a nightmare to optimise, as different processor structures need different optimisations.

But at the end of the day, have fun, if it isn't fun, you are doing it wrong, or it isn't for you.

_________________
"Do you know what this is? Hmm? No, I can see you do not. You have that vacant look in your eyes, which says hold my head to your ear, you will hear the sea!" - Londo Molari

Executive Producer No Agenda Show 246


Thu Jul 05, 2012 4:08 am
Profile ICQ
Display posts from previous:  Sort by  
Reply to topic   [ 16 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 36 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.