The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Technology or implementation

What is important..learning case of,windows forms,c#..which is constantly evoloving..or learning to do better implementation while coding, can one balance the time one gives to both..i always seems to spending time on technology..its so vast..and takes time to learn..while i feel i am not learning better coding/designing methods like unit tests,tdd,crc..etc..
vishal sodani Send private email
Thursday, April 27, 2006
Well, i don't quite get it. You learn technology by implementing it. You must learn any technology in both depth and breadth. In case of .NET, draggin and dropping controls is not all you need to know. You gotta be a hard-core .net geek and for that; first take a take a look at "Applied .net framework programmer" by Richter and try to understand IL ( i couldn't recall the IL book name, i guess it is "Inside .net IL" or something).
If you understand this, rest is peanuts.
0xff Send private email
Thursday, April 27, 2006
One is something you learn.  The other is something you do.
example Send private email
Thursday, April 27, 2006
Implementation is fundamental. However, what you refer to as "implementation" I would call it "method".

Methods are technology-,language-,environment- independant. A good programmer is fine with any languages because s/he uses good methods.

If one has no knowledge of good prgramming method or practice, well, one stays a code monkey whatever the "technology": if you write spaghetti code in C, why would you change when switching to Java, .Net, whatever?
Friday, April 28, 2006
To a large degree technology limits implementation.  For a long time new methods of implementation (test driven development, etc.) were very hard and time-intensive on the Windows platform because it was so C/C++/VB dominated, and those technologies aren't friendly to the new implementation methods.  .NET is arguably more condusive than even Java to new implementation methods, so if you're moving to .NET that's the time to ramp up your implementation skills.  These things go hand in hand and all the new implementation in the world isn't going to improve your C++ code all that much: there will always be too many details to manage in that language.

I always try to take the path of least resistance, because bleeding edge implementation can hurt as much as bleeding edge technology.  For example, it's as easy to create disastrous code through over-use of patterns as it is by overuse of XML.
Chris Send private email
Saturday, April 29, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz