• Post Reply Bookmark Topic Watch Topic
  • New Topic

how much time it took you to gain control over programming ?  RSS feed

 
Dan D'amico
Ranch Hand
Posts: 94
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
how much time it took you to gain control over programing ? from the first time you encoutered java.
there's always something to learn, but when you really became confident and felt that you are in controll.
and i'm talking about stacks, recursion, complexity. making an algorithm more efficient etc...
i want this feeling already..
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66307
152
IntelliJ IDE Java jQuery Mac Mac OS X
  • Likes 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Still working on it after 37 years...
 
fred rosenberger
lowercase baba
Bartender
Posts: 12565
49
Chrome Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've been doing this for 16.5 years. i'll let you know when i get to that level.
 
Dan D'amico
Ranch Hand
Posts: 94
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i see..
i know there's always something new to learn. there's no limit to knowledge ofcourse.
but this moment when you think of an idea and says "yea i can do that"
or when you see a really large set of code that someone else wrote and you can figure the code in a glimsp. (maybe not in a glismp, but thats just an idea)


 
Robert D. Smith
Ranch Hand
Posts: 221
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was gonna make the comment that I started in 1976, but the others already covered that.

Not to be flippant, but what you are asking cannot be answered definitively. Each person learns and discovers differently. I took an advanced C programming course in the early 90s, I guess. The instructor handed out this sample program that used an array of pointers to functions. At the time, it was one of the slickest pieces of code I had ever seen. The rest of the class was still struggling with copying strings (covered in the basic class, which I was exempted from taking).

On the other hand, my Java skills are pathetic, at best. My advantage over a new programmer is that I can use the knowledge I have gained from other languages. An integer is an integer, if statements generally work the same way, although one language might close an if block with endif while another using fi.

The answers you are seeking cannot be quantified. I still recall my first cobol program that didn't use a goto. It was a small program, between four and five thousand lines of code. But I had been working on cobol for several years. That program just 'clicked'. Yeah, I know, this doesn't help you at all.

Regards,
Robert
 
Theodar Amaladass
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello. I have been doing it for 6 years. But still there is a lot to read. But i believe i could reach that "CONTROL" one day.
 
Derik Davenport
Ranch Hand
Posts: 92
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am not quite so pessimistic as the others.

Even if Java is your first language, if you work at it regularly with some modest instruction then it won't be long before you are creating projects that are hundreds of lines long. Writing these things is a fairly low hurdle and if you are doing it only in your spare time you might be there in a few hundred hours of work. But just making them or understanding them should not be your goal. There is more to programming than that (my opinion).

I would say that you need to break your "gaining control of programming" into individual parts that you master in parallel.

1) the Syntax (e.g Java is a strongly typed language with C-like syntax and classes)
2) Language peculiarities (For example: implements generics by erasure, doesn't support multiple inheritance, uses primitives as well as boxed types, early java didn't have enum at all, modern enum "constants" are full blown classes)
3) the "standard" libraries (that come with the JDK)
4) interlanguage commonalities (design patterns, thread safety, testing strategies, documentation habits, agile development)
5) Black Magic (learning how API's evolve over time, how your own code might change later)


So with this framework, I want to try to answer your question. If you want to write a stack or some simple recursion, then you can probably do that with just #1 and #2. That is all you need to write a LOT of great programs in Java. But if your program must work under heavy load, be scalable to multiple processors, and takes 3000 lines of implementation, then you are going to need some of #4, and you will make your load lighter if you know some of #3. Finally, if you are going to write programs that write programs, or write optimized compilers for a scripting language, then I think you need some of that #5.

when you see a really large set of code that someone else wrote and you can figure the code in a glimsp.
I have spent about half of my career doing this. I have learned that it usually has more to do with the skill of the person that wrote the code than your own. Some people write easy to follow code with documentation to help you through the rough parts. Others write spaghetti code that is really hard to figure out. I call this latter group the KIA programmers.

Your stated goal was to be good enough to say "Yeah, I can do that" on just about any project. Lots of programmers get to that point and just stop. But I would say that there is a lot more to computer programming than that just that. There is a lot of things you need to know before I look at you code and say "this guy is certainly not a KIA".




 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66307
152
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Who's pessimistic? My point is that it is a continual process.
 
Carey Brown
Saloon Keeper
Posts: 3329
46
Eclipse IDE Firefox Browser Java MySQL Database VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
20 years .... Yes!... Nailed it! .... Oh...what's this lambda thing ... dang
 
Ivan Jozsef Balazs
Rancher
Posts: 999
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Robert D. Smith wrote:
An integer is an integer


Well, this is not quite true any longer since autoboxing found its way into Java.
 
Dave Tolls
Ranch Foreman
Posts: 3068
37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Carey Brown wrote:20 years .... Yes!... Nailed it! .... Oh...what's this lambda thing ... dang


The swines keep changing things!
Can we not encase it in aspic?
Is that too much to ask?
 
Winston Gutkowski
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:Still working on it after 37 years...

Me too; and I guess we must have started about the same time (Autumn '76 for me).

@Dan: Peter Norvig reckons 10's about the norm for most people; but I'd say that you could probably become reasonably competent in Java in about 2 if you work hard at it.

Winston
 
Winston Gutkowski
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dan D'amico wrote:how much time it took you to gain control over programing ? from the first time you encoutered java.

More precisely for Java: it took me about 2 years to get the basics down, but 7 before I had my MomentOfClarity.

One of the problems of coming from a procedural background.

Winston
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!