I've used many different things, beginning with Borland Turbo Pascal 7 in the 1990s, to Psyscope (http://psy.ck.sissa.it/) and E-prime (https://www.pstnet.com/eprime.cfm). When I started my own lab in 2003, I began using REALBasic for Mac OS (now called Xojo https://www.xojo.com/store/index.php). This development environment still exists and is very powerful but seems to have grown too complex for what I need, and has also become more expensive.
So I've been looking at alternatives.
I started using (http://www.psychopy.org/) and I'm pretty happy with it so far. It's free, based on Python, and has a fairly broad user base. One thing I really like is that it's fairly easy for new users (undergraduates and new grad students) to create an experiment script with the builder view. One thing I don't like is that once you generate a script and then edit the code in the coder view, there does not seem to be a way to go back to the rapid development/builder view. Or at least I don't think there is...
Other alternatives I've investigated are OpenSesame (http://osdoc.cogsci.nl/) and PEBL. Open Sesame seems very similar to PsychoPy, and is also Python based. So I'm curious if any G+ users have used OpenSesame and find that it has any clear advantages over PsychoPy?
Another option is Psychophysics toolbox for MatLab (http://psychtoolbox.org/). This is very common in the neurosciences and we have a MatLab license, but again I'm curious again if there are any opinions on solid advantages over PsychoPy?
This is definitely one of the most fun parts about running a Psychology lab. There are many of these options, and lots of ways to have fun with basic coding and programming.
As an undergraduate student in psychology and computer science, for my final computer science project I built a GUI for psychology experiments with visual stimuli, using Visual Basic (and some supporting dll files using C++). I later used this platform for running my MA and PhD studies. An exception was an fMRI study for which I used Presentation, so to simplify the interfacing with the fMRI scanner computer where we run the study.
I also tried using JAVA for building the GUI, but using only windows-based PCs at the time, the effort expending my expertise in JAVA was not justified.
For my projects at Stanford I used matlab psychtoolbox (primarily to adjust to the platform used for their scanner).
Recently I'm using ePrime.
At some point I also tried using LabView, but I discarded that.
From all of these, the most rewarding experience was the platform I created from scratch, as an undergraduate/graduate student.
It simply did exactly what was needed for the specific experiment, using simple script text files as input, and outputting several files, with both raw data and simple descriptive analysis of the session. But, any substantial modification needed for a new study was time consuming.
This is why currently I prefer most using ePrime - it is based on Visual Basic, but most of the building of a new experiment can be done using a simple dedicated interface. If I like to complicate things, I can make use of my Visual Basic programming skills.
By default the output files in ePrime are super redundant, but there are simple ways shaping the output files, and using inlines allows also doing some initial preprocessing.
It was also easy for me teaching others using ePrime, modifying existing scripts.
The downside - their license is not cheep, and it is quite annoying that if you have a computer with a standard version installed, you can't edit files that were previously edited with the professional version, even if you haven't used any of the features specific to the professional version.
Bottom line, it is all about habits, money, and time. Different tools can provide you with a similar end product.