- The two rules
- Never be afraid to ask for a better explanation
- Continue the conversation
- Learn how to research
- Search first
- Ask Second
- Share third: the internet is a participatory communication device
- Use the #bvmake Twitter hashtag ( #batsignal for speedier service)
- StackOverflow.com is your friend
- Learn how to research
- Goals
- You should be able to do the following after the presentation:
- Experiment with C# in more than one scratchpad/testbed
- Write small C# programs
- Compile C# programs
- You should be able to do the following after the presentation:
- Download CSharpRepl (comes with Mono)
- Download LinqPad
- Expression
1 + 1
- Statement
"Hello World".Dump();
- Statements
var i = 1; i++; i.Dump();
- Program
void Main() { for(var i = 1; i <= 10; i++) { i.Dump(); } }
- Using Namespaces and References
- Expression
-
Download Notepad++
- Count to ten from the command line.
- Word of the day
- Word of the day via web request
- Debugging
- WinDbg
- OllyDbg
- Values
- Write code for humans. Write programs for machines.
- Readability first. Brevity Second.
- What does dictionary.ContainsKey(s) mean?
- Tell them in English (in code)
- Abhor magic
- Seek to understand
- Magic degrades understanding. People unfamiliar with spells are powerless to undo them.
- Advice
- Know thy toolset (within reason)
- Know (some) keyboard shortcuts Ctrl + L and Ctrl + K, Ctrl + C are the same between LinqPad and VS.
- Don't fall victim to the paradox of becoming inefficient by trying to be overly efficient.
- Return on effort should always outweigh cost of learning/implementation.
- Don't bother trying learn all the keyboard shortcuts, because you probably will never use them all.
- Do learn basic things that are portable across editor like keyboard text selection
- Go through the notes from this presentation again tomorrow.
- . See if you still understand all that was said. Ask questions if you don't.
- Avoid the buzzword bingo types
- If it seems like someone is trying to sell you something, they probably are.
- People who purchase software licenses (i.e. MSDN subscriptions) will try to justify the expense by trying to get everyone to use their purchase all the time on everything.
- With great power comes great responsibility.
- Know what a piece of code is going to do before you execute it (see #3 from values)
- Don't be lazy.
- You chose to use this language, so do everyone a favor and continue to learn it.
- When working in another language, learn the native tongue
- Code in idiomatic (insert programming language here). It makes life better for those around you.
- Know thy toolset (within reason)
- Resources