sawine@0:
Programming Languages
sawine@0:
sawine@0: During my studies and personal work, I've used a variety of programming
sawine@0: languages. Here is an overview in chronologic order with some comments:
sawine@0:
sawine@0: -
sawine@0:
QBasic. *
sawine@0: It was the first language that I've learned. I've enjoyed hacking
sawine@0: around in it a little, but never got far with it due to lack of
sawine@0: learning resources.
sawine@0: -
sawine@0:
C++. *****
sawine@0: This was actually my second language to learn, which meant a big leap.
sawine@0: My first contact was at the age of 15, though I hadn't used it
sawine@0: extensively until I started studying. In the past years, I've been
sawine@0: developing most of my personal and professional work in C++. It's a beast and should be
sawine@0: only handled with care.
sawine@0: -
sawine@0:
Java. ***
sawine@0: My first contact with Java was at the university. It does provide help
sawine@0: by managed memory and a big standard library.
sawine@0:
sawine@0: -
sawine@0:
Haskell. *
sawine@0: This language was a love-hate relationship for me. I hated it for being
sawine@0: so difficult to grasp for the first time and loved it for inspiring me
sawine@0: to approach problem solving from a differnt angle, even when working
sawine@0: with non-functional languages.
sawine@0: -
sawine@0:
Prolog. **
sawine@0: Nice iterative language especially for the field of artificial
sawine@0: intelligence.
sawine@0: -
sawine@0:
C. *****
sawine@0: C is clean and flat. It is still the most successful structured language and will most
sawine@0: probably still be in use for many years to come, even if it's just "under the hood".
sawine@0: -
sawine@0:
Assembler. **
sawine@0: Been there, done that.
sawine@0: -
sawine@0:
C#. ***
sawine@0: It feels like the more mature language based on a managed
sawine@0: architecture, especially in combination with Visual Studio, developing
sawine@0: in it is a breeze. The .Net framework is mostly a well structured and
sawine@0: complete environment to work in.
sawine@0: -
sawine@0:
Python. ****
sawine@0: It's my personal favourite language for many fields. It's best suited
sawine@0: for rapid prototyping, which fits perfectly into my method of working.
sawine@0: -
sawine@0:
Go. *
sawine@0: 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@0:
* shows my experience level with the language
sawine@0:
sawine@0: Operating Systems
sawine@0:
sawine@0: GNU/Linux
sawine@0: Ubuntu, openSUSE, Red Hat and CentOS.
sawine@0: Microsoft Windows
sawine@0: Windows 95/98/2000/XP/Vista/7.
sawine@0: AmigaOS
sawine@0: Been a while...
sawine@0:
sawine@0: Environments
sawine@0:
sawine@0: -
sawine@0:
GVim & gedit
sawine@0: These are my general purpose editors for quick editing on all platforms
sawine@0: and have become my prefered editors when working in an IDE-free environment.
sawine@0: -
sawine@0:
Visual Studio
sawine@0: It's my first choice for C#, C++ and C programming on Windows. It has
sawine@0: proven to be a feature-rich, reliable and customisable IDE with great debugger integration.
sawine@0: -
sawine@0:
Eclipse
sawine@0: It's what I prefer when developing in Java and, to some extent, when
sawine@0: working in C++ on Linux. It has a great plugin system and is therefore
sawine@0: extendable to be used with a big variety of languages.
sawine@0:
sawine@0: Tools
sawine@0:
sawine@0: -
sawine@0:
Internet
sawine@0: Chrome for browsing, IRSSI for IRC and Skype for communication.
sawine@0: -
sawine@0:
Documentation
sawine@0: gedit & LaTeX for papers, gnuplot for analysis visualisations and Inkscape for graphics.
sawine@0: -
sawine@0:
Version Control
sawine@2: Mercurial for private work.
sawine@2: Subversion/CVS at work.
sawine@0:
sawine@0: