Jump to content


Photo
* * * * * 1 votes

How long does it take to be good at programming?


  • Please log in to reply
33 replies to this topic

#1 bcrscahh198987

bcrscahh198987

    Mack Daddy 31337

  • Members
  • 211 posts
  • Location:Ur rektumm

Posted 23 June 2007 - 07:25 AM

Like php, pearl, c, C++ , javascript, css???

I've only learned how to read financial data (like from EDGAR, the sec filing and stuff), but I'm thinking on programing so I can make a program to help me calculate stuff(like Chaikin Oscillator, Moving Average Convergence Divergence, Sharpe Ratio). I want to program my graphic calculator to help me get the numbers right.

So.... how long or how much effort does it take?

Edited by bcrscahh198987, 23 June 2007 - 07:54 PM.


#2 Ohm

Ohm

    I could have written a book with all of these posts

  • Members
  • 3,209 posts
  • Gender:Male
  • Location:Maine, USA

Posted 23 June 2007 - 07:41 AM

There are so many factors, I think it's nearly impossible to answer this question. You might be able to learn how to program your calculator in BASIC and write the programs you need in a day or so. It might take you a week. If you've never done any programming, it might take you a month to grok it fully. Then again, you might sit down and read the docs, everything will be clear to you and you're finished in an hour. Everyone is different, everyone's definition of "good" is different, etc.

#3 bcrscahh198987

bcrscahh198987

    Mack Daddy 31337

  • Members
  • 211 posts
  • Location:Ur rektumm

Posted 23 June 2007 - 07:55 AM

There are so many factors, I think it's nearly impossible to answer this question. You might be able to learn how to program your calculator in BASIC and write the programs you need in a day or so. It might take you a week. If you've never done any programming, it might take you a month to grok it fully. Then again, you might sit down and read the docs, everything will be clear to you and you're finished in an hour. Everyone is different, everyone's definition of "good" is different, etc.



When did you first program?

#4 Ohm

Ohm

    I could have written a book with all of these posts

  • Members
  • 3,209 posts
  • Gender:Male
  • Location:Maine, USA

Posted 23 June 2007 - 08:23 AM

When did you first program?


Before I could read, I'm a bad example if you want to know how long it took me.

#5 WhatChout

WhatChout

    Dangerous free thinker

  • Members
  • 814 posts

Posted 23 June 2007 - 09:26 AM

It took me over a year to get some basics of C++. But I was 11 then, so maybe it will be faster for you.

#6 bcrscahh198987

bcrscahh198987

    Mack Daddy 31337

  • Members
  • 211 posts
  • Location:Ur rektumm

Posted 23 June 2007 - 09:55 AM

It took me over a year to get some basics of C++. But I was 11 then, so maybe it will be faster for you.



Is that you holding all the disk in the picture?

#7 WhatChout

WhatChout

    Dangerous free thinker

  • Members
  • 814 posts

Posted 23 June 2007 - 10:28 AM

It took me over a year to get some basics of C++. But I was 11 then, so maybe it will be faster for you.



Is that you holding all the disk in the picture?

Yes.

#8 n3xg3n

n3xg3n

    "I Hack, therefore, I am"

  • Members
  • 960 posts
  • Country:
  • Gender:Male
  • Location:(703)

Posted 23 June 2007 - 10:46 AM

What I find helps is to get into a community oriented project, where everyone is working and improving on one base source code to achieve there own ends and follow posted tutorials (not copy+paste, but actually try to understand them) then one day gradually it should click... From personal experience... (Its how I learned Visual Basic, by working on Mirage Source and Elysium Source [ORPG Engines])

#9 feverdream

feverdream

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 341 posts
  • Location:Here.

Posted 23 June 2007 - 06:55 PM

It really depends on the time and effort you put into it. The more you work at it, the sooner it will be. Focus your energy on one language at a time to avoid spreading yourself too thin.

I am sure that is not what you want to hear, but it is the truth just the same.

#10 bcrscahh198987

bcrscahh198987

    Mack Daddy 31337

  • Members
  • 211 posts
  • Location:Ur rektumm

Posted 23 June 2007 - 07:51 PM

It really depends on the time and effort you put into it. The more you work at it, the sooner it will be. Focus your energy on one language at a time to avoid spreading yourself too thin.

I am sure that is not what you want to hear, but it is the truth just the same.



Well, I might not want to hear that, but I think it is exactly what I needed to hear. Anyway, I'll have to take some time off to learn some programming skills,computer skill.

#11 j4mes

j4mes

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 485 posts
  • Location:World Tour 2008

Posted 23 June 2007 - 08:13 PM

It took me over a year to get some basics of C++. But I was 11 then, so maybe it will be faster for you.



Is that you holding all the disk in the picture?

Yes.


I thought they were credit cards =\

And to answer the OP's question, mastery is not easily obtained. I've been doing this stuff for almost 10 years, and I still can't say I've achieved any kind of mastery, though I could probably land a sweet job if I had the credentials and do some stellar work.

#12 tehbizz

tehbizz

    Progenitor of noob slaying

  • Members
  • 2,039 posts
  • Gender:Male

Posted 24 June 2007 - 12:29 AM

It takes no time at all to learn to program, but it takes years to become "good" at it. Once you know a language such as C, you can pretty much pick up any other language without issues, syntax and semantics aside. If you know the fundamentals of programming logic, picking up any language is simple.

There's an old saying about programming that I heard a while ago: It takes weeks to learn and a lifetime to master.

#13 WhatChout

WhatChout

    Dangerous free thinker

  • Members
  • 814 posts

Posted 24 June 2007 - 03:28 AM

I thought they were credit cards =\

Cause they are.

#14 Tricore

Tricore

    I broke 10 posts and all I got was this lousy title!

  • Members
  • 11 posts

Posted 24 June 2007 - 04:52 AM

Teach Yourself Programming in 10 years

#15 MrGreggie

MrGreggie

    HACK THE PLANET!

  • Members
  • 60 posts
  • Country:
  • Gender:Male
  • Location:PA

Posted 24 June 2007 - 07:15 PM

^^^The link above is an awesome read^^^

One thing to keep in mind is that being "good" doesn't just involve the language itself. For example, I think you'd find that someone with a strong grasp of the concept of object oriented programming (lets say, somebody that's been working in C++ for years) will have an easier time picking up Java than somebody new to programming in general. Pick a language, read up on the basics, code as much as you can, and you'll be good in no time.

I should take my own advice, my mad 1337 coding skills have atrophied. :(

#16 bcrscahh198987

bcrscahh198987

    Mack Daddy 31337

  • Members
  • 211 posts
  • Location:Ur rektumm

Posted 24 June 2007 - 10:00 PM

Teach Yourself Programming in 10 years




Oh man.... I understand. I like the link alot.

#17 sys_c0der

sys_c0der

    Will I break 10 posts?

  • Members
  • 4 posts

Posted 29 June 2007 - 12:17 PM

personally I started programming when I was 11 years old. I started with PHP :)
I think you can get basics of C++, C or something similar in about 5 days :)
if you choose Visual C++, C# or other language created by M$, MSDN is your friend ;)

#18 Abhayaa

Abhayaa

    SUP3R 31337 P1MP

  • Members
  • 296 posts
  • Location:Too many handles, too many places.

Posted 22 July 2007 - 04:18 PM

I've been coding for a long time. Sometimes I've programmed. From time to time, I've even actually developed... ;P

My suggestions are these:

1) "Code" by Chuck Petzold (Microsoft Press) -- make it your new bible for a few weeks. Read it, reread it, memorize it. Somehow this book never got the following it deserved, and that's a shame. Everything you need to build on is in it. And you can get a used copy on Amazon for a few bucks (even IF the publisher is Microsoft Press, hah).

2a) Decide what platform you want to start on. Basically, unix-based or win32-based. This'll probably heavily impact (2b).

2b) Decide if you want to start learning based on procedural languages or object-oriented languages. Procedural would be, for instance, C -- and there are benefits to learning procedural over OOP to start at, as well as disadvantages. A lot of scripting languages are combinations of procedural and object-oriented, to varying degrees. Bear that in mind too.

2c) Do a bit of looking around and decide what language you want to work on. From there you can decide what specific OS you want to learn on (some tools work better on some OSes than others, and some languages only have ports to some OSes, though this is probably less a concern now than it would have been, say, ten or fifteen years ago).

3) Set up your platform and pick a good set of development tools, including probably an IDE, although I suggest you just start off with a good code editor (with plugins if you prefer). You're *probably* better off staying away from Visual Studio and the Borland Delphi/Builder IDEs until you have toyed with the basics of the languages in question -- largely because they throw extra code in there that can be very confusing unless you know the language(s) in question. 'Hello World' can be a few lines in C and a hundred lines (plus) in a microsoft ide-coded app. If it applies you might want to consider something like komodo (for the more script-oriented languages, especially). Get some good debugging stuff. IDA Pro, SoftIce, OllyDebugger, the sysinternals tools -- all good places to start. If you *do* wind up going with Visual Studio, I've got to say, the debugger in it is actually pretty darned good -- but then you have to worry about learning how to use the debugger! :D

[Have I mentioned how much I believe that any new programmer should really start with one language and platform instead of spreading him/herself... ? Otherwise you'll be like an English-speaker learning Russian, Swahili, Mandarin, Spanish, Arabic, Italian, Portuguese, Czech, Cantonese and so on, all at once: Some languages are more akin to other languages than others, and it can be hella confusing -- and you'll almost definitely find yourself trying to mix and match them with occasionally disastrous results. Even C & C++ can be confusing to learn at the same time (even the simplest things, like printf & sprintf vs cout -- and oh yeah, perl has a version of printf of its own, too. See what I mean?)]

4) Pick a few books. Obviously my suggestions are going to vary based on the language(s) you choose and the platform(s) you want to work on. Let me know what you decide on and I'm sure I can make some good suggestions -- as I am sure other people on here can as well. Generally, you could do worse than the 'by Example' series and the 'for Dummies' books. [Slap a bookcover on em if their titles embarass you. Some of the best coders I know screwed around with C for Dummies -- its coverage of sorts, arrays, hashes and the like may be some of the most clearly explained I've seen.]

5) Don't overextend yourself, when you're starting out. Yes, it's *great* to have a project in mind, but as Lincoln wrote, if you only have an hour to chop down a tree, spend the first 45 minutes sharpening the axe.

The important thing, once you have some programming done, is to learn how to pick the right languages for the application you want to develop --- or even the simple 5-line script. But that comes next :).

I'm sure I've left out a lot of things, but this seems like a good place to end my posting. Let me know how it comes along.

You seem sharp enough (if, from what I've seen, occasionally impatient -- and be careful, impatience can be a bitch when you're debugging :)). I'm sure you'll learn fairly fast. But everybody's timeline is *quite* different. With the books and tools out there these days you will no doubt have an advantage, time and resource-wise, over those of us who learned 2-3 decades (and more) ago. When we were your age, we had to walk 25 miles to school in blizzards, uphills both ways, and all that.

Good luck!

/ab

Edited by Abhayaa, 22 July 2007 - 04:23 PM.


#19 bcrscahh198987

bcrscahh198987

    Mack Daddy 31337

  • Members
  • 211 posts
  • Location:Ur rektumm

Posted 22 July 2007 - 08:22 PM

I've been coding for a long time. Sometimes I've programmed. From time to time, I've even actually developed... ;P

My suggestions are these:

1) "Code" by Chuck Petzold (Microsoft Press) -- make it your new bible for a few weeks. Read it, reread it, memorize it. Somehow this book never got the following it deserved, and that's a shame. Everything you need to build on is in it. And you can get a used copy on Amazon for a few bucks (even IF the publisher is Microsoft Press, hah).

2a) Decide what platform you want to start on. Basically, unix-based or win32-based. This'll probably heavily impact (2b).

2b) Decide if you want to start learning based on procedural languages or object-oriented languages. Procedural would be, for instance, C -- and there are benefits to learning procedural over OOP to start at, as well as disadvantages. A lot of scripting languages are combinations of procedural and object-oriented, to varying degrees. Bear that in mind too.

2c) Do a bit of looking around and decide what language you want to work on. From there you can decide what specific OS you want to learn on (some tools work better on some OSes than others, and some languages only have ports to some OSes, though this is probably less a concern now than it would have been, say, ten or fifteen years ago).

3) Set up your platform and pick a good set of development tools, including probably an IDE, although I suggest you just start off with a good code editor (with plugins if you prefer). You're *probably* better off staying away from Visual Studio and the Borland Delphi/Builder IDEs until you have toyed with the basics of the languages in question -- largely because they throw extra code in there that can be very confusing unless you know the language(s) in question. 'Hello World' can be a few lines in C and a hundred lines (plus) in a microsoft ide-coded app. If it applies you might want to consider something like komodo (for the more script-oriented languages, especially). Get some good debugging stuff. IDA Pro, SoftIce, OllyDebugger, the sysinternals tools -- all good places to start. If you *do* wind up going with Visual Studio, I've got to say, the debugger in it is actually pretty darned good -- but then you have to worry about learning how to use the debugger! :D

[Have I mentioned how much I believe that any new programmer should really start with one language and platform instead of spreading him/herself... ? Otherwise you'll be like an English-speaker learning Russian, Swahili, Mandarin, Spanish, Arabic, Italian, Portuguese, Czech, Cantonese and so on, all at once: Some languages are more akin to other languages than others, and it can be hella confusing -- and you'll almost definitely find yourself trying to mix and match them with occasionally disastrous results. Even C & C++ can be confusing to learn at the same time (even the simplest things, like printf & sprintf vs cout -- and oh yeah, perl has a version of printf of its own, too. See what I mean?)]

4) Pick a few books. Obviously my suggestions are going to vary based on the language(s) you choose and the platform(s) you want to work on. Let me know what you decide on and I'm sure I can make some good suggestions -- as I am sure other people on here can as well. Generally, you could do worse than the 'by Example' series and the 'for Dummies' books. [Slap a bookcover on em if their titles embarass you. Some of the best coders I know screwed around with C for Dummies -- its coverage of sorts, arrays, hashes and the like may be some of the most clearly explained I've seen.]

5) Don't overextend yourself, when you're starting out. Yes, it's *great* to have a project in mind, but as Lincoln wrote, if you only have an hour to chop down a tree, spend the first 45 minutes sharpening the axe.

The important thing, once you have some programming done, is to learn how to pick the right languages for the application you want to develop --- or even the simple 5-line script. But that comes next :).

I'm sure I've left out a lot of things, but this seems like a good place to end my posting. Let me know how it comes along.

You seem sharp enough (if, from what I've seen, occasionally impatient -- and be careful, impatience can be a bitch when you're debugging :)). I'm sure you'll learn fairly fast. But everybody's timeline is *quite* different. With the books and tools out there these days you will no doubt have an advantage, time and resource-wise, over those of us who learned 2-3 decades (and more) ago. When we were your age, we had to walk 25 miles to school in blizzards, uphills both ways, and all that.

Good luck!

/ab




It seems being a programmer takes years.

#20 Abhayaa

Abhayaa

    SUP3R 31337 P1MP

  • Members
  • 296 posts
  • Location:Too many handles, too many places.

Posted 22 July 2007 - 10:29 PM

It seems being a programmer takes years.


Becoming an excellent programmer *can* take years. But *being* a programmer starts when you start programming. Like that old joke: "But that'd take ten years!" "Sure, but those ten years'll pass whether you do it or not!"

Anyway, all of the steps I laid out to get started won't take you more than a couple of weeks, even if you're pressed for time; in fact the only really lengthy thing I mentioned was reading Petzold's book - but even then I'm not suggesting that you don't play around and look at other peoples' code and so on, beforehand. It's only by looking at code that you can really learn how code works, after all.

And that starts when you do.

Programming is more of a mindset than anything else. I've known people who learned how to program computers from jail cells, with no computer access whatsoever. It's all about being able to break things down into manageable and logical components, breaking those components down into steps, and breaking those steps down into statements. That's really all there is to it. You can do it with your own to-do lists, your writing (in fact, laugh if you want to, but you probably learned to program first when you learned how to write an essay in grade school), and everything else that can be drilled down into. It's a mindframe. Get the mindframe down and the rest is just memorization and improvement.

Life takes years. Doesn't mean you should kill yourself, and it doesn't mean you're not living during those years, either.

Quid ergo est.

/ab




BinRev is hosted by the great people at Lunarpages!