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