Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 1st, 2012  |  syntax: None  |  size: 3.44 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. *Current in **bold**. Completed in ~~strikethrough~~.*
  2.  
  3. Learn a variety of commonly-used programming languages:
  4.  
  5. * ~~Write a program in Ruby~~
  6. * ~~Write a program in Python~~
  7. * ~~Write a program in C~~
  8. * ~~Write a program in C++~~
  9. * ~~Write a program in Java~~
  10. * Write a program in Objective-C
  11. * Write a program in C#
  12. * ~~Write a program in PHP 5~~
  13. * Write a program in Perl
  14. * Write a stand-alone program in Javascript
  15.  
  16. Learn a variety of not commonly-used programming languages:
  17.  
  18. * Write a non-trivial program in Brainfuck
  19. * Write a non-trivial program in Lua
  20. * Write a non-trivial program in Haskell
  21. * Write a non-trivial program in Scheme
  22.  
  23. Learn a variety of frameworks:
  24.  
  25. * Write a web application with Rails
  26. * Write a web application with Django
  27. * Write a program with .Net
  28. * Write a program with OpenGL
  29. * Write a program with DirectX
  30. * Write a program with Cocoa
  31.  
  32. Learn a variety of editors/IDEs:
  33.  
  34. * Use vim exclusively for a month
  35. * Use TextMate exclusively for a month
  36. * ~~Use emacs exclusively for a month~~
  37. * Use netbeans exclusively for a month
  38. * Use Visual Studio exclusively for a month
  39. * Use XCode exclusively for a month
  40.  
  41. Learn a variety of programming paradigms:
  42.  
  43. * ~~Write a program in assembly language~~
  44. * Write an application in a functional language
  45. * ~~Write an application in an object-oriented language~~
  46. * Write an application in a prototype-based language
  47. * Write an application in a logic programming language
  48. * Write an application using the Actor model
  49. * Write an application in Forth
  50. * Write an application in a concatenative language (e.g. Joy)
  51. * Write an application in a strict design-by-contract language (e.g. Eiffel)
  52.  
  53. Get comfortable in multiple operating systems:
  54.  
  55. * Use OSX exclusively for development for a month
  56. * ~~Use Linux exclusively for development for a month~~
  57. * Use Windows exclusively for development for a month
  58.  
  59. Experience the ins and outs of programming in multiple fields:
  60.  
  61. * Write a nontrivial web app
  62. * ~~Write a nontrivial desktop app~~
  63. * Write a nontrivial mobile app
  64. * ~~Write a nontrivial game~~
  65. * ~~Write an embedded app~~
  66. * Write a realtime system
  67.  
  68. Enhance my understanding of the building blocks that we use as developers:
  69.  
  70. * Write a networking client (e.g., HTTP, FTP)
  71. * Write a device driver
  72. * Write a B-tree database
  73. * Wrap an existing library to provide a better (more pleasant) user experience
  74. * Write an application or framework that provides a plugin model
  75. * Write a testing framework
  76. * Write a programming language
  77. * Write an operating system
  78.  
  79. Enlighten myself with koans, katas, and the wisdom of ages:
  80.  
  81. * Complete five [code katas](http://en.wikipedia.org/wiki/Kata_\(programming\) "Kata (programming) - Wikipedia")
  82. * Complete the [programming koans](http://sett.ociweb.com/sett/settJan2011.html "Learning Programming Languages with Koans - Object Computing, Inc.") for a language that you want to learn
  83. * **Read [SICP](http://mitpress.mit.edu/sicp/ "SICP web site") and complete all the exercises**
  84.  
  85. Program in the open:
  86.  
  87. * Contribute to an open source project
  88. * Have a patch accepted
  89. * Earn commit rights on a significant open source project
  90. * Publish an open source project
  91. * Perform a [Refactotum](http://thinkrelevance.com/blog/2007/04/03/twir.html "Refactotum") of on open source project
  92.  
  93. Learn by teaching others:
  94.  
  95. * Present a lightning talk
  96. * Present at a local user group
  97. * ~~Present at a conference~~
  98. * Deliver a training course
  99. * Publish a tutorial
  100. * Publish a constructive code review of an open source project
  101. * Write a programming book