Jump to content

  • Log In with Google      Sign In   
  • Create Account


Am I slow at developing?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 Xanather   Members   -  Reputation: 703

Like
1Likes
Like

Posted 27 October 2012 - 03:09 AM

I really feel like it takes me too long to accomplish things.

Just now I wrote a chat window for my game, not including the inherited window class, but like programming up a textbox (to input text) etc... Writing up this chat window took me 2-3 hours (that includes textbox graphics, but not the actual window graphics due to the inheritance available). I haven't even handled server/client chat messages yet.

Chat Window:
Posted Image
Will I ever get faster/better at writing algorithms? Ive been programming on and off ever since I was 12/13, I am now 17.

This is probably a very vague question, but yeah, what do other programmers think?

Sponsor:

#2 Bacterius   Crossbones+   -  Reputation: 8523

Like
7Likes
Like

Posted 27 October 2012 - 03:22 AM

If it's finished on time, you're going fast enough. Different developers apply varying levels of polish and do so in varying amounts of time. Comparison is meaningless.

Though one thing that drastically increases productivity is correctly identifying and using the right tool for the job. Many developers seem to be stuck in some sort of NIH syndrome rut and want to implement absolutely everything themselves, which, while undoubtedly educational, is significantly less productive than using ready-made tools.

GUI development interestingly generally takes more time than anything else, I think this is because there are many interdependencies, where moving an item might require you to rethink the layout of everything else, etc... it also has to look good since the player will be looking at it 100% of the time, so any self-respecting developer will probably try and make it look as good as possible before moving on, which takes a lot of time (at least these are my thoughts).

Edited by Bacterius, 27 October 2012 - 03:24 AM.

The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#3 radioteeth   Prime Members   -  Reputation: 994

Like
5Likes
Like

Posted 27 October 2012 - 03:53 AM

There is no real way to gauge performance concretely. Progress on a project cannot be measured by the number of lines of code, for instance, because that same project could be written any number of ways with completely varying code. SImilarly I believe it is a fallacy to assume anything about one's performance based on the end-user experience provided by a program, and the amount of time it took to write.. Because, again, it could be written in any number of ways (in any of the many languages, using any number of the many available development libraries and their APIs, etc).

Maybe someone could re-create what you have in 10 minutes? 20 minutes? But would it be as thorough and/or thought out? Sure, the more experience, the more efficient one (probably) becomes. My advice is to not worry about your performance, but instead program because you enjoy it. If you want to become a better coder, then simply keep in mind that there is always room for improvement in the way you go about designing software, and learn what you can at you own pace. Do it because you want to, not because you feel like you have to. Enjoy your experience.

Personally, my current struggle is being content with what I produce - I am unrelentingly second (triple, quadruple, etc) guessing everything I write, and it only stifles my productivity and enjoyment. Good luck.

#4 Xanather   Members   -  Reputation: 703

Like
0Likes
Like

Posted 27 October 2012 - 04:17 AM

Both posts make sense. Thanks for the replies Bacterius and radioteeth. I probably am going fast enough after reading your two posts, and of course I program for fun :D

Thanks again,
Xanather.

#5 froop   Members   -  Reputation: 636

Like
3Likes
Like

Posted 27 October 2012 - 10:22 AM

What did you spend the most time on?

Sometimes I spend like 90% reading through some docs or googling examples or finding silly mistakes. And only 10% actually coding.

Edited by froop, 27 October 2012 - 10:22 AM.


#6 Xanather   Members   -  Reputation: 703

Like
0Likes
Like

Posted 27 October 2012 - 11:40 PM

Probably 2/3 coding and 1/3 making the textbox in paint.net, I don't think I looked on the web at all for this.

#7 Exodus111   Members   -  Reputation: 148

Like
0Likes
Like

Posted 28 October 2012 - 06:13 AM

I'm also pretty slow, at least I feel that way, but I think of it like this. Quality vs Speed, and if I spend too long at any part of the process it must have been for a good reason.

-Exo

#8 Cromulent   Members   -  Reputation: 353

Like
0Likes
Like

Posted 28 October 2012 - 06:15 AM

Most of the time speed of development is based more on personal motivation than actual ability. I find that sometimes I work at a crawl because I am doing something boring (like implementing a web service client) and I can't be bothered. Other times I get into the "zone" and will work for hours non-stop until I run out of steam (high caffeine content drinks help with this :)). So just go with the flow.

#9 richardjdare   Members   -  Reputation: 322

Like
0Likes
Like

Posted 28 October 2012 - 06:44 AM

When I was younger I was a pretty slow programmer. I used to obsess over the smallest details, reading all the docs even for little things like opening a window or doing a file requester. I used to love dwelling on the *feeling* of programming, if that doesn't sound too strange. It was just time and experience that made me speed up.

Working in web app development certainly helped me; the turnaround time for a site is so fast. Also, before I was in work, I found that doing little projects for other people helped, as I felt obliged to them to get the job done quickly.

Also, a lot of very fast people are doing things that are variants of what they've done before. In game coding in particular there's a lot of experimentation going on, a lot of groping in the dark. But that experimentation leads to new techniques, which you can then apply quickly.

In my current project, it took me absolutely ages to figure out how to do the graphics. Now I have a technique down that lets me produce new stuff in the same style in no time at all.

Like Cromulent, I find boring stuff slows me down. My boss once complained to me about some dull project taking ages. He said he couldn't understand it as it was so easy. I told him, "If it was difficult I would have done it in an afternoon".

I'm sure you'll get quicker with time and practice, just keep coding!

Just finished work on Antigen for iPhone and iPod Touch - www.richardjdare.com


#10 Lightness1024   Members   -  Reputation: 736

Like
1Likes
Like

Posted 30 October 2012 - 11:11 AM

I read somewhere that Bill Gates is known to have said that there can be as much as a 10000 factor between a slow developer and a quick developer. (he was probably talking about value : e.g. return on "investment". investment being salary here.)
My experience is that speed is roughly close between programmers, maybe a factor of 5 maximum between somebody fast and somebody slow. However, there are other factors that count for the final result. it is not only sheer speed, but for a given wanted result, the choice of the path to that result. for a given path, everybody will take around the same time. But let's take the example of your chat window. You didn't have to customize completely this window, you wanted it that way, but you could get a basic working result in a few minutes with C#, VB.net or Qt Designer.

#11 hit   Members   -  Reputation: 113

Like
1Likes
Like

Posted 30 October 2012 - 10:21 PM

depends. what was it written in? c, assembly? win32, or some other low level API?

C# & Java are on higher levels, but their problem is that the layers cause you to learn
less and remember more, imo

#12 Kyall   Members   -  Reputation: 287

Like
0Likes
Like

Posted 31 October 2012 - 01:36 AM

As other people have said programming speed depends upon experience with a certain module, and the code you have laying around. Keeping a code base speeds things up drastically, so does using whatever code base you can that you know you can rely on, example: stl.

How long does it take to code something? Between 15 minutes and 2 days. Depending upon past experience with concepts the same as or similar to what is being done. Researching a new topic is very, very time expensive. Researching stuff in your off time, with attempted randomness or some measure of foresight; will save you hours when you're on the clock facing deadlines.
I say Code! You say Build! Code! Build! Code! Build! Can I get a woop-woop? Woop! Woop!

#13 Xanather   Members   -  Reputation: 703

Like
0Likes
Like

Posted 31 October 2012 - 11:01 PM

depends. what was it written in? c, assembly? win32, or some other low level API?

C# & Java are on higher levels, but their problem is that the layers cause you to learn
less and remember more, imo


C# with XNA. So its quite "high-level".




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS