What programming language or tech stack did you enjoy working with the most in your career, and why? For me, once I discovered PHP, I never looked back. I initially gravitated to it because I was first getting my toes wet with web development, and I was attracted to a C-like language because I was coming from C++.

I know a lot of people consider it not a "modern" language, but PHP 8 has come a very, very long way since the old PHP 5.x days. I really think the reason there's so much bad code out there for it is because the barrier to entry is so low, and it powers Wordpress, which I think powers something like 50% of the web!

Recommended Answers

All 21 Replies

I don't do enough programming to justify being proficient in more than one language. I'd rather be competent in one than mediocre in several so I just stick to Python/wxPython these days. I've always found APL the most interesting language to work with but Python has been the most "fun" over all. I still have Dyalog APL installed though just to dabble from time to time. It's an awesome implementation and still free for personal use.

I don't do enough programming to justify being proficient in more than one language. I'd rather be competent in one than mediocre in several so I just stick to Python/wxPython these days. I've always found APL the most interesting language to work with but Python has been the most "fun" over all. I still have Dyalog APL installed though just to dabble from time to time. It's an awesome implementation and still free for personal use.

APL? Wow! Hat's off to you. What little I read on Wikipedia... that's crazy stuff.

As an example, you can write Conway's Game of Life in one line in APL. It's impossible to read but interesting in showing off the power of the language. Incidentally, understanding the power of APL expressions helped me to understand Python list comprehensions.

As an example, you can write Conway's Game of Life in one line in APL. It's impossible to read but interesting in showing off the power of the language. Incidentally, understanding the power of APL expressions helped me to understand Python list comprehensions.

I saw that. Didn't understand one bit.

It was 1973 that I started with PL-1 and Fortran. Turns out these languages gave me the foundation to learn and code in what must have been dozens of languages over the years.

I'll reveal that my coding life is about a 50-50 split of work on my own code and work on pre-existing code.

Jim, what sorts of projects do you use Python for. Have you ever done anything web-based?

I don't write in many programming languages, typically around 5 to 6 at any given time. From previous eras, the only language (that I haven't written in for many years now) that I found a bit fun was COBOL (not including indentation). So, here's what's currently fun for me, in tiers:

Tier 1: Java, C++ (I can see this order reversed, but there aren't many occasions where I consider C++ to be the right tool.)

Tier 2: JavaScript (Yes, that might sound masochistic, but the language has evolved in ways that are really interesting and, I dare say, fun.)

Tier 3: PHP, C (The vast majority of the code that I review or maintain is in PHP, so most hours of my day are spent with it. It's fun how quickly you can deploy (if you can call it "deploy") and be ready to run. For C, I recently "discovered" function tables, and it became fun again, but in my current line of work, I rarely write in C.)

Tier 4: Python (I really don't enjoy writing Python. It's not the worst language I've written in, but it could compete for that title. Although I've built a sufficient ecosystem in Python to make programming easier for me, it still feels like I'm writing shell scripts. The fun in Python nowadays is what you can do with it using AI. I've tried really hard to replace it with C++ (as most Python libraries are truly written in C++), but I haven't gotten very far.)

There are two languages that seem fun and I've been saying for some years now that I will learn when I have some spare time: Zig and Haskell. But we'll see.

I haven't touched Python since a college course 20 years ago, but at the time, I remember Python being a more robust and polished web development language than PHP 5.x was at the time. I find backend JS (node.js, etc.) really shoved in my face these days by a lot of APIs, etc., although it isn't my favorite.

Jim, what sorts of projects do you use Python for. Have you ever done anything web-based?

I've only written one web based app in my life back around 2005(ish). I had to do it for work and I hated it. I've written a lot of command line scripts such as front ends for ffmpeg to do things like convert 1080 video to 720, extract video clips, etc. I've done a number of bigger projects. Some I wrote up and posted on Daniweb as tutorials (identified as DW).

Sudoku Tool (DW)

I used to do a lot of Sudoku puzzles and I got tired of all the mess doing them by pencil & eraser so I wrote a GUI to manage all the messy stuff. It doesn't solve the puzzle (where would be the fun in that) but it removes all the drudge work.

Video Library GUI (DW)

I have a ton of home movies and this tool wraps VLC in a GUI that allows me to locate videos by file name and meta data (added by me in Windows alternate data streams - see Comment tool).

Bill Payment Manager

Allows me to keep track of the bills I've paid. I pay all my bills online and this tracks payment dates, amounts, payee and confirmation number.

Book Library Manager

Allows me to keep track of which books my wife and I have read. When the titles pile up it is easy to forget what books have already been read. Technically this is vb.net but I am in the process of rewriting in Python.

Comment Tool

This is a GUI that allows me to select any Windows NTFS file or folder and add a comment (again, in an alternate data stream). The options to comment is available through the pop-up context menu.

Photo Tagger

With thousands of photos, I wrote a GUI that allows me to easily change file names to include (prefix) the photo date plus any other tags (locations, people names, events, etc.). Duplicate names automatically get an index number added to the end. Using this tool along with Everything Indexer (voidtools) means I can locate almost any photo in seconds.

Subtitle Modifier

Since I am hearing impaired I require subtitles but I find a lot of older subtitles are out of sync with the video. Generally this is because the time span for the audio is not the same as the video. If I drag and drop a subtitle (srt) file on the app it displays the text and the start times for the first and last subtitle blocks. If I modify either or both of these times it calculates the new times for each block based on how much the subtitles have to be stretched or compressed.

Photo Viewer

This is available as a folder property context menu. It provides a tiny app to scroll through all image files in a folder.

I found a bit fun was COBOL

Fun? Makes me remember my third year comp sci. The big project was to write a compiler. The smart guy wrote his in Lisp. It was the smallest card deck in the class (Yes. Punch cards). But one masochist wrote his in COBOL just to show it could be done. It was massive. As I recall I wrote mine in PL/1.

I found a bit fun was COBOL

It was almost 20 years ago when I was hired by a company to "translate" COBOL to Java and, simultaneously, write documentation for whatever business model I encountered. The vast majority of the codebase was written in the 70s, revised multiple times by multiple programmers, and (of course) there weren't many comments. Prior to that, I had no knowledge of VSAM files, JCL, or even how to program for a mainframe. There wasn't any real documentation of the business logic (except for some pages that were better off not existing at all), no one there really knew how things were done at that level, and the few old programmers who had clues didn't want to share. Although if you had asked me at that time, I probably would have been furious, now I remember it as fun because I felt like an "investigator." I proved myself in a job that no one wanted to touch. More importantly, I understood in practice basic database architectural concepts that I had no idea about, and I learned to "smell" the code and even recognize good code versus garbage. The code of one or two programmers who had touched the codebase was so good that it was fun to read and learn from. Many good things came out of this, for example, the ILM (Indexed List Model) that I currently use in Java, PHP, and C++ came to be out of the need to express COBOL temporary tables in Java. So yes, I will always remember COBOL as fun.

PHP is definitely underrated these days—PHP 8 has made some huge improvements! I’ve personally enjoyed working with Python the most because of its clean syntax and flexibility across web, automation, and data projects. But I totally get the appeal of PHP, especially for web development and CMS work.

Do you feel like Python has a lot of utility outside of the web development world?

Absolutely. Especially in the area of data analysis.

I really enjoy working with JavaScript and React — it’s flexible, fast to build with, and feels rewarding when things just click.

commented: AI generated? +0

I love working with Python — it's clean, simple, and great for everything from automation to web apps. Just makes coding feel smooth.

I started my coding journey with Python but later learned full-stack web development in HTML, CSS, PHP, SQL, and Javascript technologies. And found that PHP is all over the web because of its ease of learning and use, cost-effectiveness, and open-source nature, cross-platform compatibility, and strong community support.

Java for me. I've spent the majority of my career working with Java so it feels the most natural to use and thus allows my thinking to detach from the language and into the problem domain, which is where the fun really is.

In general I like strongly typed languages. Lots of people like weakly typed languages but when they say "flexible" all I hear is "vague".

I'm pretty sure that PHP went from completely untyped 20+ years ago to weakly typed today. Regardless, I don't feel like that has influenced my enjoyment of the language one way or the other. There are a handful of built-in functions I can use to ensure a variable is of a specific type, and then I move on to the crux of whatever it is I'm trying to do.

- I've noticed that when you made your posts today (in multiple threads) you consistently made two posts. Wouldn't it make more sense to just combine the two posts into one? If it's because you had an afterthought and wanted to add something you can edit it within thirty minutes of posting.

For me, it’s been PHP as well—especially once I started working with it seriously in real-world projects.

Like you, I came from a C/C++ background, so PHP’s C-style syntax felt familiar and easy to reason about when I was first getting into web development. What really kept me with PHP, though, was how practical and productive it is. You can go from idea to working solution very quickly, which matters a lot in business-driven environments.

I agree that PHP gets an unfair reputation. Modern PHP (7.x and 8.x) is a completely different language compared to the old PHP 5 days—strong typing, better performance, cleaner error handling, attributes, and modern OOP practices have made it far more robust and maintainable. When you combine PHP 8 with frameworks like Laravel or Symfony, you get a clean, scalable, and very “modern” development experience.

The reason there’s so much bad PHP code in the wild isn’t the language itself—it’s the low barrier to entry and the fact that it powers platforms like WordPress, which enables millions of non-engineers to ship code. That’s a strength, not a weakness, but it does skew perception.

At the end of the day, PHP continues to power a massive portion of the web for a reason: it’s fast to develop with, well-supported, constantly evolving, and extremely cost-effective at scale. For me, that combination has been hard to beat.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.