- The Research Institute for Symbolic Computing (Christoph Koutschan)
- Hacker News
- Daniel Lemire
- Faruk Akgul
Some have suggested that you should know all those algorithms to be an effective software developer.
Now, if you're just going to be a code monkey working on business (or "enterprise") software for a lame consulting firm, here's all you'll need to know:
- Iterate over the elements in a collection and do something with each one:
for(String name : names) { System.out.println("Person's name: " + name); } - Find an item in a list that satisfies some criteria and process it:
Criteria someCriteria = buildCriteria(); for(Object item : items) { if(someCriteria.isSatisfiedBy(item)) { process(item); } } - Look up items in a Map:
Map<Integer,String> numberMap = new HashMap<Integer,String>(); numberMap.put(1, "one"); numberMap.put(2, "two"); numberMap.put(3, "three"); System.out.println("You are person number: " + numberMap.get(personNumber));
Yes, that is the sad reality for many software engineers. You won't be implementing sweet algorithms. If you care to do so, you can not write crap and actually structure your code well and create sweet APIs based on data structures and algorithms implemented by other people.
No comments:
Post a Comment