• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
Bartenders:
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

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

 
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..
 
Marshal
Posts: 67451
173
Mac Mac OS X IntelliJ IDE jQuery Java
  • Likes 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Still working on it after 37 years...
 
lowercase baba
Posts: 12893
63
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)


 
Ranch Hand
Posts: 235
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
 
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.
 
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
Marshal
Posts: 67451
173
Mac Mac OS X IntelliJ IDE jQuery Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Who's pessimistic? My point is that it is a continual process.
 
Bartender
Posts: 7306
65
Eclipse IDE Firefox Browser MySQL Database VI Editor Java Windows
 
Rancher
Posts: 1041
6
  • 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.
 
Master Rancher
Posts: 4668
49
  • 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?
 
Bartender
Posts: 10777
71
Hibernate Eclipse IDE 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: 10777
71
Hibernate Eclipse IDE 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
 
Get me the mayor's office! I need to tell her about this tiny ad:
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
    Bookmark Topic Watch Topic
  • New Topic