It really depends on what use case you want to achieve. Will there be multiple devices controlled from a single laptop ? Do you want to remote control them ? Do you need to build a user Interface on your laptop or is command line ok ? Etc.
With respect to communication, you can simply go serial (via USB), which can be easily 'upgraded' to bluetooth using a Bluetooth serial module (search for HC-06), they are really easy to integrate with arduino.
As for the software side on the laptop, you can use pretty much anything as long as it can talk over the serial port. I personally enjoy Python for these kind of things.
Finally, you must decide on the 'protocol' you are going to use to communicate with your device. it would be simple strings that you parse, a custom binary protocol that you design, or you may want to use a serialization library that provides you with greater flexibility. I like using 'nanopb' in my arduino projects. It is a lightweight implementation of Google 'protobuffers'.
As I wrote, lots of design choices in there, feel free to plan a call if you want to discuss.