factory/v2010/howiwork.html
author Eugen Sawin <sawine@me73.com>
Mon, 05 Jul 2010 13:28:32 +0200
changeset 13 e6eb1311a49c
parent 2 98e7c7074764
child 28 364f9c662f03
permissions -rw-r--r--
Pretty colours.
     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 This was actually my second language to learn, which meant a big leap.
    14 My first contact was at the age of 15, though I hadn't used it
    15 extensively until I started studying. In the past years, I've been
    16 developing most of my personal and professional work in C++. It's a beast and should be
    17 only handled with care.</li>
    18 <li>
    19 <h4>Java. ***</h4>
    20 My first contact with Java was at the university. It does provide help
    21 by managed memory and a big standard library.
    22 </li>
    23 <li>
    24 <h4>Haskell. *</h4>
    25 This language was a love-hate relationship for me. I hated it for being
    26 so difficult to grasp for the first time and loved it for inspiring me
    27 to approach problem solving from a differnt angle, even when working
    28 with non-functional languages.</li>
    29 <li>
    30 <h4>Prolog. **</h4>
    31 Nice iterative language especially for the field of artificial
    32 intelligence.</li>
    33 <li>
    34 <h4>C. *****</h4>
    35 C is clean and flat. It is still the most successful structured language and will most
    36 probably still be in use for many years to come, even if it's just "under the hood".</li>
    37 <li>
    38 <h4>Assembler. **</h4>
    39 Been there, done that.</li>
    40 <li>
    41 <h4>C#. ***</h4>
    42 It feels like the more mature language based on a managed
    43 architecture, especially in combination with Visual Studio, developing
    44 in it is a breeze. The .Net framework is mostly a well structured and
    45 complete environment to work in.</li>
    46 <li>
    47 <h4>Python. ****</h4> 
    48 It's my personal favourite language for many fields. It's best suited
    49 for rapid prototyping, which fits perfectly into my method of working.</li>
    50 <li>
    51 <h4>Go. *</h4>
    52 Google has developed an interesting language with the goal of providing a general programming language including a garbage collector and efficient methods for concurrency handling. It's a fun language and shows some interesting concepts including a more dynamic approach on object orientation.</li>
    53 <li>
    54 <br />* show my level of expertise in the language
    55 </li>
    56 </ul>
    57 <h2>Operating Systems</h2>
    58 <ul>
    59 <li><h4>GNU/Linux</h4>
    60 Ubuntu, openSUSE, Red Hat and CentOS.</li>
    61 <li><h4>Microsoft Windows</h4>
    62 Windows 95/98/2000/XP/Vista/7.</li>
    63 <li><h4>AmigaOS</h4>
    64 Been a while...</li>
    65 </ul>
    66 <h2>Environments</h2>
    67 <ul>
    68 <li>
    69 <h4>GVim &amp; gedit</h4>
    70 These are my general purpose editors for quick editing on all platforms
    71 and have become my prefered editors when working in an IDE-free environment.</li>
    72 <li>
    73 <h4>Visual Studio</h4>
    74 It's my first choice for C#, C++ and C programming on Windows. It has
    75 proven to be a feature-rich, reliable and customisable IDE with great debugger integration.</li>
    76 <li>
    77 <h4>Eclipse</h4>
    78 It's what I prefer when developing in Java and, to some extent, when
    79 working in C++ on Linux. It has a great plugin system and is therefore
    80 extendable to be used with a big variety of languages.</li>
    81 </ul>
    82 <h2>Tools</h2>
    83 <ul>
    84 <li>
    85 <h4>Internet</h4>
    86 Chrome for browsing, IRSSI for IRC and Skype for communication.</li>
    87 <li>
    88 <h4>Documentation</h4>
    89 gedit &amp; LaTeX for papers, gnuplot for analysis visualisations and Inkscape for graphics.</li>
    90 <li>
    91 <h4>Version Control</h4>
    92 Mercurial for private work. 
    93 Subversion/CVS at work.</li>
    94 </ul>
    95