PDA

View Full Version : How hard is it ?




Macmadant
Jun 24, 2007, 05:28 PM
Hey,
Just wondering a few things,
1. How hard is it to learn programming from scratch ?
2. is being good at maths a necessity
3. how long did it take you to learn ?
4. once you've learnt the basics, is it easy to program for any language, eg Java, C++, cocoa ect.
Your answers will be valuable to me;)
Thanks



janey
Jun 24, 2007, 05:37 PM
1. How hard is it to learn programming from scratch ?
Pretty simple.
2. is being good at maths a necessity
Not for the basics. If you can do simple algebra, it should be fine.
3. how long did it take you to learn ?
I'm constantly learning ;)
However, to get the very basics down it only takes a couple hours and some actual coding with a good tutorial/book.
4. once you've learnt the basics, is it easy to program for any language, eg Java, C++, cocoa ect.
depends on the language (imo), but if you get the basics and the foundations down (in a broad sense), it shouldn't be hard to apply that to any other language you choose to learn.

I've run into some issues where something in one language that was very familiar to me meant something totally different in the new language I was trying to learn, but other than that it's really not much of a big deal.

robbieduncan
Jun 24, 2007, 05:38 PM
1. Quite hard. Some people take to it naturally. In my opinion all others fail
2. Yes. If you are not good at maths it is very unlikely you will be able to think in code
3. Did it take? You never stop learning. The basics, well I learnt when I was young so few weeks of my spare time. But to get good. Years
4. Perhaps. Once you have become proficient in a few languages it all tends to snap into place and you can learn others quickly. But occasionally you still encounter new language features or concepts...

janey
Jun 24, 2007, 05:44 PM
1. Quite hard. Some people take to it naturally. In my opinion all others fail
2. Yes. If you are not good at maths it is very unlikely you will be able to think in code
I don't know about #1. A lot of people can code really basic things provided it's simple enough and the language is easy. Like perhaps, HTML (i know, not a programming language...) - it's simple enough that when taught some of the basics anyone could whip up a simple page with bold text and whatnot.

There's also languages like Logo that make it sort of...interesting.

As for #2, although in the end it's important to have a strong foundation in math, nobody said you needed calculus to learn the basics. :p I was barely doing algebra in school when I started with Java..

Fearless Leader
Jun 24, 2007, 05:45 PM
1. Not really, just taking it slow and learning the basics, was the main time consumer.

2. Not really, basic algebra at most should be all you need, unless you're working with 3D games and are working on the engine, or physics systems. Then you need higher level of maths.

3.6 months of on and off learning and relearning, though I could have done it in one or two If i didn't have that damn WoW on my HD. That was for the basics, I'm always learning and relearning stuff.

4. Once you learn programming basics, the syntax become a nominal problem. I started with c++, and went to a book store read the book on ruby, object oriented scripting language, and walked out an hour later with a pretty solid foundation on ruby.

1. Quite hard. Some people take to it naturally. In my opinion all others fail


Agreed. I know some very smart and intelligent people but I'm almost certain they couldn't wrap there heads around programmin.

robbieduncan
Jun 24, 2007, 05:48 PM
I don't know about #1. A lot of people can code really basic things provided it's simple enough and the language is easy. Like perhaps, HTML (i know, not a programming language...) - it's simple enough that when taught some of the basics anyone could whip up a simple page with bold text and whatnot.

There's also languages like Logo that make it sort of...interesting.

As for #2, although in the end it's important to have a strong foundation in math, nobody said you needed calculus to learn the basics. :p I was barely doing algebra in school when I started with Java..

Well that's the rub isn't it. Yes HTML is easy. But it's not programming. It's a document markup language. Now setting a page by hand is Postscript, that's programming.

My answers were based on what I thought the OP was intending to do. I did not get the impression that this was about learning the basics then giving up. My understanding that this was to get to the stage of mastery of at least 1 or 2 languages to the ability to produce professional quality code. In which case I stand by my answer to #1. I've seen far to many people who thought it would be quite easy only to fall at one hurdle or another...

Edit to add: it all depends on what you consider to be "enough". I write code for a living. My code has to perform at a very high level in a banking environment. What I consider to mean you've "learnt" a language may be very different to others.

Killyp
Jun 24, 2007, 05:50 PM
Antony that's the most blatantly obvious thread title I've ever seen... :eek: :eek:

janey
Jun 24, 2007, 05:51 PM
Well that's the rub isn't it....My answers were based on what I thought the OP was intending to do...

You do have a point. But some languages just don't have as hard of a learning curve as others, and some are designed for educational purposes.

Just saying though. If that is what the OP is intending to do your answers are pretty much correct.

Eraserhead
Jun 24, 2007, 05:52 PM
2. Not really, basic algebra at most should be all you need, unless you're working with 3D games and are working on the engine, or physics systems. Then you need higher level of maths.

Personally in my program (http://www.erasersoft.com/) (with Core Data) I find knowledge of sets (union/intersection) is fairly useful, but that is probably the limit of mathematics that you need, though I suspect that having a mathematical brain makes getting your head round programming easier.

Macmadant
Jun 24, 2007, 05:55 PM
Well thanks for information so far, it's been interesting to read:D

robbieduncan
Jun 24, 2007, 06:01 PM
Well thanks for information so far, it's been interesting to read:D

So are you going to give us any clue as to how we should be targeting our answers? Are you looking to write web pages say or get into enterprise level programming as a career?

Macmadant
Jun 24, 2007, 06:04 PM
So are you going to give us any clue as to how we should be targeting our answers? Are you looking to write web pages say or get into enterprise level programming as a career?

Well i was thinking of pursuing it as a career, as in probably learning the basics or more in the next 2 years and then doing perhaps a computer science course at university. so i would like to learn more than just the basics

robbieduncan
Jun 24, 2007, 06:05 PM
If you're going to do a proper CS course you will need maths. I did AI&CS at Edinburgh and we had to take 1/3 maths for the first 2 years. We needed this to get to the stage that we could do all the other courses in years 3&4.

Macmadant
Jun 24, 2007, 06:12 PM
If you're going to do a proper CS course you will need maths. I did AI&CS at Edinburgh and we had to take 1/3 maths for the first 2 years. We needed this to get to the stage that we could do all the other courses in years 3&4.
Or i was toying with the idea of Hardware engineering, but i definitely won't be taking maths at A level, i really don't enjoy the subject, and if if you don't enjoy something you won't succeed in it, the the major subjects i plan on taking at A level is Biology and chemistry

robbieduncan
Jun 24, 2007, 06:15 PM
Or i was toying with the idea of Hardware engineering

Well it's not something I did much of at Uni (I'm really a software kind of person) but the bits I did see appeared to be heavily Maths based. I'd be surprised if any decent Uni would take you onto any CS course without A level maths.

I'll now wait for the posts proving me wrong :p

Eraserhead
Jun 24, 2007, 06:16 PM
but i definitely won't be taking maths at A level, i really don't enjoy the subject,

You will find A level Maths extremely useful for any Science, including Chemistry, you really should stick with it, though it is very hard to concentrate when you have no passion for a subject.

To be perfectly honest I think A level Maths should probably be compulsory for science course at University, those without it are disadvantaged.

(I did Further Maths, Maths, Physics and Chemistry at A-level, the maths really helped, and I do a maths degree now, so I'm probably a little biased, though it is very helpful ;) )

Macmadant
Jun 24, 2007, 06:19 PM
Well it's not something I did much of at Uni (I'm really a software kind of person) but the bits I did see appeared to be heavily Maths based. I'd be surprised if any decent Uni would take you onto any CS course without A level maths.

I'll now wait for the posts proving me wrong :p

Ah well i guess thats the end of that then :rolleyes:, but i wouldn't do A level maths if i was paid, maybe i should go in pursuit of a scientific career as i love biology and chemistry, i'm also taking Product Design and accounting

robbieduncan
Jun 24, 2007, 06:22 PM
Just checked the current requirements for the course I did (it was 11 years ago that I entered Uni so the requirements might have changed). You need Maths:

2008 Entry AI&CS at Edinburgh (http://www.ed.ac.uk/studying/undergraduate/finder/degree.html?id=0,9,GG47):

SQA Highers: BBBB (or more if two sittings). To include Maths. Sixth-year work in Maths is recommended.

GCE A Levels: ABB (or more if two sittings). To include Maths; or AS level Maths at grade A plus at least one A level science subject at grade B.

Eraserhead
Jun 24, 2007, 06:55 PM
maybe i should go in pursuit of a scientific career as i love biology and chemistry,

Read my above post, you will have to do lots of Maths at Uni for any of these subjects.

Macmadant
Jun 24, 2007, 06:58 PM
Well the university i would be attending is Birmingham, http://www.undergraduate.bham.ac.uk/coursefinder/science/ai-comp-sci.shtml
the requirements here are GCSE grade B, which i plan of achieving, i wouldn't go to any other as i'm not moving away from home and doing my own washing, cooking cleaning:eek:
Although there is Coventry, but i think that's a bit of a Mickey mouse university, although i may be wrong.

Macmadant
Jun 24, 2007, 07:03 PM
Read my above post, you will have to do lots of Maths at Uni for any of these subjects.

Most of the science courses i have looked at will accept GCSE grade B for maths, so I'm ok there.

Eraserhead
Jun 24, 2007, 07:07 PM
Most of the science courses i have looked at will accept GCSE grade B for maths, so I'm ok there.

Well that may be the case for the requirements, but when I talk to other students it seems that Maths is a critical part of any science degree.

semaja2
Jun 24, 2007, 08:44 PM
Hey,
Just wondering a few things,
1. How hard is it to learn programming from scratch ?
2. is being good at maths a necessity
3. how long did it take you to learn ?
4. once you've learnt the basics, is it easy to program for any language, eg Java, C++, cocoa ect.
Your answers will be valuable to me;)
Thanks

1. I learned by a fellow programmer basically guiding me on making my first application, WiFiScriptor and since i designed the orginal plans and GUI it was something i quickly loved doing so i learnt it quickly and was able to ask the programmer why i was doing something *a book may try to explain everything but not everything*

2. My apps basically just use 1 + 1 and 1 =1 kind of maths, it really depends on the app, but people still think you need a degree in maths to be something in IT

3. Ive been only in the mac world for about 1.5 years now and i started on Apple Script with MultiAlarm so 1.5 years to learn ASS to Cocoa

4. Knowing concepts really helps as when you dable your feet in other languages they often have similar approaches to a problem and such

janey
Jun 24, 2007, 09:35 PM
*a book may try to explain everything but not everything*
Agreed, but there are certain books that actually do explain a lot more than the rest, like Code Complete by McConnell, worth its weight in gold. Although it uses a small number of languages and some pseudocode to explain a lot of the stuff he talks about, it's easily understandable and generally language-agnostic - I hardly know Ada and haven't touched VB in years, but if I look at it, i can understand it easily. All the concepts and suggestions mentioned are extremely useful. And he goes over everything, from designing to development to testing and refactoring and documentation.
2. My apps basically just use 1 + 1 and 1 =1 kind of maths, it really depends on the app, but people still think you need a degree in maths to be something in IT
in higher ed you need higher level math and science courses to complete even an undergrad degree in CS - i have yet to come across any (in the US) that doesn't. although in some cases it might not look like you need much more than trivial 1+1, a lot of the classes you encounter, particularly the more advanced they get, will use something or another that you were expected to learn in math classes prior. to top that off, one of my algorithms books read so much like a math text that my mother thought it was one.

so it's not so much that people think you need a degree in maths to be something in IT, you can't get a CS related degree without math..

Cromulent
Jun 24, 2007, 10:11 PM
Learning a programming language is almost exactly like learning a foreign language. The basics can be picked up in a couple of weeks or so but it takes years to become fluent.

Maths is pretty important depending on what you want to do. But it is essential if you are planning on getting into 3D stuff or physics engines etc.

P.S Cocoa is not a programming language.

kainjow
Jun 24, 2007, 11:29 PM
Learning a programming language is almost exactly like learning a foreign language. The basics can be picked up in a couple of weeks or so but it takes years to become fluent.

Sums it up perfectly.