pragmatic-programming

Is being Pragmatic agile?

I just re-read The Pragmatic Programmer (my third time reading it...I get something new every time, too). It seems like the tips that they mention are related to many of the various Agile methodologies. Is Pragmatic Programming just another form of Agile Development? ...

Are the days of the stored procedure numbered?

In Scott Hanselman's interview of the stack overflow guys, Scott and Jeff make mention that they may be seen as heretics for declaring that the days of the stored procedure are dead. Why might they say this? Is it because many of the new DAL techniques of dynamic data and Linq to SQL use T-SQL to communicate with the SQL server (SQL 20...

What do you think of "Programming is Gardening, not Engineering"?

In one of the best programming books I've ever read, The Pragmatic Programmer, it is written: Programming is Gardening, not Engineering. What are your thoughts on the "Gardening" metaphor? Do you agree with this metaphor? If yes, why do you think, it's not used more often? (I've never heard it used anywhere else, except the book...

How to approach structuring functions / procedures for a newbie

I am a hobbyist programmer and am trying to improve my skills. To that end, I have been reading 'The Pragmatic Programmer' and 'Code Complete' as recommended by some in this forum and I have to say that it has improved my approach and skills. That said, one aspect of programming I am struggling with is the 'Don't Repeat Yourself' (DRY) m...

Should I keep reading the pragmatic programmer?

I have heard from many sources that this is one of the best books for programmers, I am currently about 50 pages into it, and so far I have only been understanding about 35% of what the authors are talking about. I am thinking maybe I am just not ready, So my question is, should I continue to read this book "now" or read it later when I ...

Is this a leaky abstraction?

Is specifying a field name on middle-tier a leaky abstraction? I feel it is too cumbersome to create a separate function just for each field, even if it is code-generated. public bool Assortment_IsValueExistingOnOtherRecord( Dictionary<string, object> exceptPkColumns, string field, object value ...

Is there a Perl script to implement C++ Class get/set member functions?

Hi, I was reading this morning the book The Pragmatic Programmer Chapter 3 on Basic Tools every programmer should have and they mentioned Code Generation Tools. They mentioned one Perl script for C++ programs which helped automate the process of implementing the get/set() member functions for private data members. Does anyone know abou...

Your criteria in using a new technology or programming language

What are your criteria or things that you consider when you are an early adopter of a programming language or technology? Two of the most common explanations I've heard are: It should be "fun" (what I've heard from technical people). It should be capable of solving our problem (what I've heard from business people). So what's yours?...

How to ask programming questions "correctly"

I would like to know what is your style when you want to get quality answers from experts. Normally, my stumbling blocks are the following: My co-workers are either being sarcastic in giving their answers and their body language and vibe shows that the answer is pretty obvious or trivial to them. (This happens when I ask for their opi...

"Proper" way to give clients or managers a reality check on software estimates

Looking back at my past projects I often encounter this one: A client or a manager presents a task to me and asks for an estimate. I give an estimate say 24 hours. They also ask a business analyst and from what I've heard their experience is mostly non-technical. They give an estimate say 16 hours. In the end, they would consider th...

Handling client or manager who is always unappreciative and always blames

I'm doing an analysis of one of my previous projects. This one is really painful. I've worked in a software house. During my stay, we were ranked #1 out of 5-7 competitors. Although it may sound good at first, a meeting with the client shows that we are not up to their "standards" and want to raise the bar even higher (yes, and we we...

Maintaining code that is close to software rot

Let's say you're the lucky programmer who inherited a code that is close to software rot. Software rot as defined in Pragmatic Programmer is code that is too ugly (in this case, unrefactored code) it is compared to a broken window that no one wants to fix it and in turn can damage a house and can cause criminals to thrive in that city....

How to convince team other parts of software development are important?

Sometimes, when I present a part of the software development process to certain people, say the supervisor or the manager that they don't have experience say Automated unit tests and integration tests vs. their manual functional testing. Using code generators, and scripts for repetitive tasks. I sometimes met with resistance. Some o...

Consequences of doing "good enough" software

Does doing "good enough" software take anything from you being a programmer? Here are my thoughts on this: Well Joel Spolsky from JoelOnSoftware says that programmers gets bored because they do "good enough" (software that satisfies the requirements even though they are not that optimized). I agree, because people like to do things th...

Reusable C#, Java and/or Flex components

I am looking for reusable open source components. The level of depth, breadth and hopefully quality that I'm looking for is similar to this. Although I need them in programming languages C#, Java and Flex (which I often use in my projects), other languages such as PHP, Perl, Python, Ruby etc. are welcome. I see this as a big help for ...

C# Database abstraction for Microsoft SQL Server, Oracle, MySQL and DB2

I need an example C# source code that abstracts databases (easy to change from one database to another with minimal code modification). Do you know some sample sites or tutorials with good quality? Specific target databases are as follows: 1. Microsoft SQL Server 2. Oracle 3. MySQL 3. DB2 My specific requirements and encountered issue...

Looking for good .Net interviewee/candidate test or questionaire

Hi there, I'm trying round up some materials to be used during interviewing. I have different levels of jobs (junior, senior) that I am trying to fill. One thing I would like to assess is a candidate's ability to write "Clean Code", things like: Do they normally think along the lines of DRY, YAGNI Are they familiar with Pattern conce...

Good link or book for basics and theory of version control

Good link or book for basics and theory of version control Would like to really understand all of the fundamentals and theory of version control. Probably implementation agnostic but if book or resource uses something to practice with that is fine. Was looking at the pragmatic series. Is there something better or open source? ...

What were the most profound differences in your thought process from learning a new language?

According to the Pragmatic Programmer anyone who strives to become a better programmer should learn a new language every year. The basis behind this is to develop your thought process and to challenge you to think about your programming techniques in different ways. What programming language made you change your thought process the most...

Top pragmatic tips

I guess most of you have read The Pragmatic Programmer. What are the most important tips for you? They all are good, but what are the most actual for you, that you use every day. ...