factory/v2010/howiwork.html
author Eugen Sawin <sawine@me73.com>
Tue, 18 Jan 2011 23:02:29 +0100
changeset 41 74ea72921392
parent 5 b8513cbcbf35
permissions -rw-r--r--
Modified logo. Removed long title of Stephan Schulz.
     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 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, IRSSI for IRC and Skype for communication.</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 at work.</li>
    91 </ul>
    92