[Kc] May Meeting

Garrett Goebel ggoebel at goebel.ws
Wed May 7 07:26:35 PDT 2008


For an open source IDE which competes in the neighborhood with Visual 
Studio check out Eclipse: http://www.eclipse.org

My personal opinion is that 98% of developers using Microsoft and Visual 
Studio are doing mostly production line work. You can take fairly 
inexperienced and ignorant programmers and quickly put them to work 
snapping together reusable components to provide adequate if inflexible 
solutions. Microsoft tries hard to make such work require little 
underlying knowledge of the reusable components and how they fit 
together. So unless said programmer has the motivation to dig deeper, 
the slope of their learning curve and knowledge accrued from experience 
is fairly flat.

That said, there are plenty of really smart programmers out there using 
Visual Studio. The intellectually stagnant description of working with 
Microsoft stuff is probably more to do with the maturity of their 
product than anything else. My main gripe is the inflexibility and 
reliability problems when you go off the beaten path. But I haven't 
jumped on the .Net bandwagon... so perhaps even that is improving.

I guess what I'm driving at, is that if you are looking for tools to 
help you quickly snap together demos, and make solutions that only work 
well on the beaten path of Microsoft's "One True Way" (TM). Then look no 
further than Visual Studio, .Net, etc. On the other hand, there's no 
short cut to developing the knowledge, experience, and good habits which 
will make you a good programmer.

I too would like to hear advice and tips from the gray beards on how to 
improve productivity, efficiency and quality. ...Sounds like the old 
joke about optimization. Cheap, fast, good. Pick two. For large values 
of cheap and fast... pick one.

 From my limited experience, I've had good experiences with:
o  turn your bondage and discipline knob to the highest setting you can 
o  write your tests first, then implement the functionality to make them 
o  programming in pairs (rarely supported by management in my experience)
o  write your code for readability
o  early optimization is the root of all evil
o  make a habit of learning and doing

All except perhaps the last are about writing maintainable code. All of 
which initially seem to really slow you down. But the time you waste 
trying to figure out how to patch, extend, or explain old code to 
whoever's stuck maintaining it drops much more significantly.

The last, making a habit of learning and doing, is probably the most 
important. Choosing a good enough approach to solving the problem at 
hand takes knowledge and experience. And IMHO how good the "good enough" 
choice is explains the orders of magnitude difference in the 
productivity of really great programmers and the rest of us. The general 
advice you hear here is to learn multiple programming languages and 
styles of programming. Find and read good code. Actively work in 
projects where you're able to participate on different levels. As a 
newbie, a part of the crew, and in a leadership capacity.

Whether your new to Perl or an old has been, I highly recommend picking 
up a copy of Perl Best Practices by Damian Conway. It boils down and 
rationalizes Conway's idea of his and the Perl Community's best 
programming practices. It is much easier to pick up good habits while 
your still learning Perl. But even guys like me can slowly whittle away 
at re-habiting ourselves.



James Carman wrote:
> Hey All,
> I would like to know how to speed up project development time. Anyone have some good rapid development tips specific to Perl?
> Things like IDE's, Frameworks, MVC's all sound nice, but it seems like I have to learn them to know if they are worth using. I would rather pick your brains. :-D
> I am constantly hearing about Visual Studio from other developers I know. Yesterday I attended the Microsoft Hero's event in St. Louis, and watched a demo of their newest IDE/Framework. It is very nice. It is very integrated. I don't know of a current Linux IDE that can compete. On that note I would love to hear more about that subject. Also if there is no awesome IDE available, is anyone interested in collaborating to write one?

More information about the kc mailing list