Am I slow at developing?
Members - Reputation: 703
Posted 27 October 2012 - 03:09 AM
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.
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?
Crossbones+ - Reputation: 8315
Posted 27 October 2012 - 03:22 AM
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
Prime Members - Reputation: 961
Posted 27 October 2012 - 03:53 AM
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.
Members - Reputation: 349
Posted 28 October 2012 - 06:15 AM
Members - Reputation: 319
Posted 28 October 2012 - 06:44 AM
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!
Members - Reputation: 702
Posted 30 October 2012 - 11:11 AM
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.
Members - Reputation: 287
Posted 31 October 2012 - 01:36 AM
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.
Members - Reputation: 703
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".