Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Macmadant

macrumors 6502a
Original poster
Jun 4, 2005
851
0
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

macrumors 603
Dec 20, 2002
5,316
0
sunny los angeles
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

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
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

macrumors 603
Dec 20, 2002
5,316
0
sunny los angeles
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

macrumors 68020
Mar 21, 2006
2,360
0
Hoosiertown
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

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
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

macrumors 68040
Jun 14, 2006
3,859
7
Antony that's the most blatantly obvious thread title I've ever seen... :eek: :eek:
 

janey

macrumors 603
Dec 20, 2002
5,316
0
sunny los angeles
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

macrumors G4
Nov 3, 2005
10,434
12,250
UK
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 (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

macrumors 6502a
Original poster
Jun 4, 2005
851
0
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

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
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

macrumors 6502a
Original poster
Jun 4, 2005
851
0
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

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
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

macrumors G4
Nov 3, 2005
10,434
12,250
UK
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

macrumors 6502a
Original poster
Jun 4, 2005
851
0
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

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
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:

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

macrumors G4
Nov 3, 2005
10,434
12,250
UK
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

macrumors 6502a
Dec 12, 2005
576
18
Adelaide
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

macrumors 603
Dec 20, 2002
5,316
0
sunny los angeles
*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

macrumors 604
Oct 2, 2006
6,810
1,100
The Land of Hope and Glory
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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.