Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Assuming the language provides it, what are some things to do or libs to use that every programmer should know?

My list would be

  • Regular Expressions
  • Named Pipes
  • standard IO (std in/out/error)
  • Executing outside executables (like imagemagik and your own scripts)
  • How to grab an http page as a string (mostly for updates and grabbing configs from servers)

I have a similar questions about tools. Also i am looking for specific answers. i dont want answers that can be done in different ways (such as learn how to synchronize threads).

I know how to do the above in 3+ languages. There always seems to be things programmers dont know how to do which can make their lives easier. For the longest time i didnt know what regular expression was (although i did hear of it) and I was surprised how many people who tried to make a toolchain or complex app and did not know how to (or that you could) get the stdout from an exe they launched (they checked for errors in a very weird way or just didnt and hope it produce the expected results).

What do you think useful, not well known and should be something every senior (or starting out) programmer should know?

share|improve this question

closed as not constructive by ChrisF Feb 8 '12 at 17:08

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Handling date calculations, date formating and localization issues dealing with dates.

share|improve this answer
+1 as i had a problem recently with dates and localization. – acidzombie24 Oct 14 '10 at 0:23

Data structures and algorithms. No matter what language you're using, chances are good you will have a hash table, vector, etc. And algorithms can be translated from language to language.

share|improve this answer

how about basic graphics operations? DrawLine, DrawRectangle, DrawPixel?

share|improve this answer

XML/INI parsing for configuration of your app. Once you know how to do this, changing based on the installation becomes so much easier, and you don't have to write your own.

share|improve this answer
Definitely. I use json personally. Serialization is so easy when the language has reflection. – acidzombie24 Sep 22 '10 at 22:18
  • File system manipulation: open,read,write,append,close,delete,rename,make directory,change directory,remove directory,modify permissions,modify ownership (stdio was already mentioned but this goes beyond that)
  • Date and time handling
share|improve this answer
touch FTW. I did notice this was important when writing scripts for backups and how to not download files that havent been modified or clobber older (or newer) data. – acidzombie24 Sep 22 '10 at 22:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.