Programy napisane w asemblerze są optymalne pod względem szybkości działania i długości kodu, a więc język ten jest jakby stworzony do programowania wirusów. Jedyną wadą asemblera jest to, że programów w nim napisanych nie można przenosić na komputery o innej architekturze, stąd mogą one egzystować tylko w jednej rodzinie komputerów.
Oprócz typowych języków programowania do stworzenia wirusa można wykorzystać języki makr wbudowane w nowoczesne edytory tekstów lub arkusze kalkulacyjne. Zawarte w nich mechanizmy pozwalają na infekcję każdego otwieranego przez program dokumentu lub arkusza. Są one wymarzonym narzędziem do tworzenia wirusów dla początkujących programistów, gdyż wszystkie operacje na fizycznych obiektach są zaimplementowane w makrach i wykonują się bez konieczności ingerencji programisty.