This is the reverse post of my highly popular Top 5 Worst Programming Languages post. My only metric for a good programming language is time to get things done and ship to customers. Only shipping matters, everything else is an excuse.
A language for getting things done. It’s finished and final. It will not change. There will be no new surprises, no new operators, and no unpublished packages. There are just source files. Write, compile, ship, repeat. You used it in 1990 to ship, you used it in 2000 to ship, you used it in 2010 to ship, you used it in 2020 to ship, and you will use it in 2030 to ship. Learn once, ship forever.
Made by Unix gods for Unix power users for getting things done at the speed of a regular expression. Language filled with Unix wit and wisdom. To truly understand Unix, you must understand Perl. When writing Perl, you’ll breathe in oxygen and exhale working code that’s already auto-shipped to production.
Language without rules that contains every function you will ever need to quickly get things done and ship. Forget about installing packages or upgrading versions – everything is just working. The code you wrote in 1995 still works in 2025. Deploying is an ftp upload to the web root or if you’re using a smart text editor, Ctrl + s is live save directly in production. Get things done all day every day without ever leaving index.php.
Another language made by Unix gods for getting things done and shipping a lot. If Perl teaches you good Unix, then Go teaches you great Unix. The only language that lets you write multi-threaded code that can be understood by humans. Choose this language if you have the courage to run two threads. If not, stick to Python, the ultimate single-threaded shitlang.
Keep shipping and see you next time!