factory/v2011/howiwork.html
author Eugen Sawin <sawine@me73.com>
Thu, 24 Feb 2011 14:57:15 +0100
changeset 50 dca94c7a3ff2
parent 39 c0c882124ee5
child 55 a0a90e9ae77a
permissions -rw-r--r--
Improved resume.
     1 <h2>Programming Languages</h2>
     2 <p><img src="images/binary.png" alt="binary" class="float-right" height="100" width="100" />
     3 During my studies and personal work, I've used a variety of programming
     4 languages. Here is an overview in chronologic order with some comments:</p>
     5 <ul>
     6 <li>
     7 <h4>QBasic. *</h4>
     8 It was the first language that I've learned. I've enjoyed hacking
     9 around in it a little, but never got far with it due to lack of
    10 learning resources.</li>
    11 <li>
    12 <h4>C++. *****</h4>
    13 My first contact was at the age of 15, though I hadn't used it
    14 extensively until I started studying. In the past years, I've been
    15 developing most of my personal and professional work in C++. It's a beast and should be only handled with care.</li>
    16 <li>
    17 <h4>Java. ***</h4>
    18 My first contact with Java was at the university. 
    19 </li>
    20 <li>
    21 <h4>Haskell. *</h4>
    22 This language was a love-hate relationship for me. I hated it for being
    23 so difficult to grasp for the first time and loved it for inspiring me
    24 to approach problem solving from a differnt angle, even when working
    25 with non-functional languages.</li>
    26 <li>
    27 <h4>Prolog. **</h4>
    28 Nice iterative language especially for the field of artificial
    29 intelligence.</li>
    30 <li>
    31 <h4>C. *****</h4>
    32 C is clean and flat. It is still the most successful structured language and will most probably still be in use for many years to come, even if it's just "under the hood".</li>
    33 <li>
    34 <h4>Assembler. **</h4>
    35 Been there, done that.</li>
    36 <li>
    37 <h4>C#. ***</h4>
    38 It feels like the more mature language based on a managed architecture, especially in combination with Visual Studio, developing
    39 in it is a breeze. The .Net framework is mostly a well structured and
    40 complete environment to work in.</li>
    41 <li>
    42 <h4>Python. *****</h4> 
    43 It's my personal favourite language for many fields. It's best suited
    44 for rapid prototyping, which fits perfectly into my method of working.</li>
    45 <li>
    46 <h4>Go. *</h4>
    47 The goal of Go was to provide a general purpose programming language including a garbage collector and efficient methods for concurrency handling. The language shows some interesting concepts including a more dynamic approach on object orientation. The lack of generics and the ideology of not giving the programmer the same tools as the language designer have, made me abandon it for the time being.</li>
    48 <li>
    49 <h4>Common Lisp. **</h4>
    50 I'm having fun on my path to enlightenment, mostly hacking in the dark.
    51 </li>
    52 <li>
    53 <br />* show my level of expertise in the language
    54 </li>
    55 </ul>
    56 <h2>Operating Systems</h2>
    57 <ul>
    58 <li><h4>GNU/Linux</h4>
    59 Ubuntu, openSUSE, Red Hat and CentOS.</li>
    60 <li><h4>Microsoft Windows</h4>
    61 Windows 95/98/2000/XP/Vista/7.</li>
    62 <li><h4>AmigaOS</h4>
    63 Been a while...</li>
    64 </ul>
    65 <h2>Environments</h2>
    66 <ul>
    67 <li>
    68 <h4>Emacs, GVim &amp; gedit</h4>
    69 These are my general purpose editors for quick editing on all platforms
    70 and have become my prefered editors when working in an IDE-free environment.</li>
    71 <li>
    72 <h4>Visual Studio</h4>
    73 It's my first choice IDE for C#, C++ and C programming on Windows. It has
    74 proven to be a feature-rich, reliable and customisable IDE with great debugger integration.</li>
    75 <li>
    76 <h4>Eclipse</h4>
    77 It's what I prefer when developing in Java (but I prefer not to) and, to some extent, when working in C++ on Linux. It has a great plugin system and is therefore extendable to be used with a big variety of languages and tools.</li>
    78 </ul>
    79 <h2>Tools</h2>
    80 <ul>
    81 <li>
    82 <h4>Internet</h4>
    83 Chrome for browsing and IRSSI for IRC.</li>
    84 <li>
    85 <h4>Documentation</h4>
    86 LaTeX for papers, gnuplot for analysis visualisations and Inkscape for vector graphics.</li>
    87 <li>
    88 <h4>Version Control</h4>
    89 Mercurial for private work. 
    90 Subversion/CVS when forced.</li>
    91 </ul>
    92