Skip to content

Latest commit

 

History

History
143 lines (143 loc) · 6.13 KB

outline.md

File metadata and controls

143 lines (143 loc) · 6.13 KB

Learn C# the Hard Easy Way

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