sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: ME73 - A Programmer's Playground sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: sawine@17:
sawine@17: sawine@17:
sawine@17:
sawine@17:

Programming Languages

sawine@17:

binary sawine@17: During my studies and personal work, I've used a variety of programming sawine@17: languages. Here is an overview in chronologic order with some comments:

sawine@17:
    sawine@17:
  • sawine@17:

    QBasic. *

    sawine@17: It was the first language that I've learned. I've enjoyed hacking sawine@17: around in it a little, but never got far with it due to lack of sawine@17: learning resources.
  • sawine@17:
  • sawine@17:

    C++. *****

    sawine@17: This was actually my second language to learn, which meant a big leap. sawine@17: My first contact was at the age of 15, though I hadn't used it sawine@17: extensively until I started studying. In the past years, I've been sawine@17: developing most of my personal and professional work in C++. It's a beast and should be sawine@17: only handled with care.
  • sawine@17:
  • sawine@17:

    Java. ***

    sawine@17: My first contact with Java was at the university. It does provide help sawine@17: by managed memory and a big standard library. sawine@17:
  • sawine@17:
  • sawine@17:

    Haskell. *

    sawine@17: This language was a love-hate relationship for me. I hated it for being sawine@17: so difficult to grasp for the first time and loved it for inspiring me sawine@17: to approach problem solving from a differnt angle, even when working sawine@17: with non-functional languages.
  • sawine@17:
  • sawine@17:

    Prolog. **

    sawine@17: Nice iterative language especially for the field of artificial sawine@17: intelligence.
  • sawine@17:
  • sawine@17:

    C. *****

    sawine@17: C is clean and flat. It is still the most successful structured language and will most sawine@17: probably still be in use for many years to come, even if it's just "under the hood".
  • sawine@17:
  • sawine@17:

    Assembler. **

    sawine@17: Been there, done that.
  • sawine@17:
  • sawine@17:

    C#. ***

    sawine@17: It feels like the more mature language based on a managed sawine@17: architecture, especially in combination with Visual Studio, developing sawine@17: in it is a breeze. The .Net framework is mostly a well structured and sawine@17: complete environment to work in.
  • sawine@17:
  • sawine@17:

    Python. ****

    sawine@17: It's my personal favourite language for many fields. It's best suited sawine@17: for rapid prototyping, which fits perfectly into my method of working.
  • sawine@17:
  • sawine@17:

    Go. *

    sawine@17: 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.
  • sawine@17:
  • sawine@17:
    * show my level of expertise in the language sawine@17:
  • sawine@17:
sawine@17:

Operating Systems

sawine@17:
    sawine@17:
  • GNU/Linux

    sawine@17: Ubuntu, openSUSE, Red Hat and CentOS.
  • sawine@17:
  • Microsoft Windows

    sawine@17: Windows 95/98/2000/XP/Vista/7.
  • sawine@17:
  • AmigaOS

    sawine@17: Been a while...
  • sawine@17:
sawine@17:

Environments

sawine@17:
    sawine@17:
  • sawine@17:

    GVim & gedit

    sawine@17: These are my general purpose editors for quick editing on all platforms sawine@17: and have become my prefered editors when working in an IDE-free environment.
  • sawine@17:
  • sawine@17:

    Visual Studio

    sawine@17: It's my first choice for C#, C++ and C programming on Windows. It has sawine@17: proven to be a feature-rich, reliable and customisable IDE with great debugger integration.
  • sawine@17:
  • sawine@17:

    Eclipse

    sawine@17: It's what I prefer when developing in Java and, to some extent, when sawine@17: working in C++ on Linux. It has a great plugin system and is therefore sawine@17: extendable to be used with a big variety of languages.
  • sawine@17:
sawine@17:

Tools

sawine@17:
    sawine@17:
  • sawine@17:

    Internet

    sawine@17: Chrome for browsing, IRSSI for IRC and Skype for communication.
  • sawine@17:
  • sawine@17:

    Documentation

    sawine@17: gedit & LaTeX for papers, gnuplot for analysis visualisations and Inkscape for graphics.
  • sawine@17:
  • sawine@17:

    Version Control

    sawine@17: Mercurial for private work. sawine@17: Subversion/CVS at work.
  • sawine@17:
sawine@17: sawine@17: sawine@17:
sawine@17: sawine@17:
sawine@17: sawine@17:
sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: sawine@17: