I put DeepSeek AI’s coding skills to the test – here’s where it fell apart
DeepSeek exploded into the world’s consciousness this past weekend. It stands out for three powerful reasons:
- It’s an AI chatbot from China, rather than the US
- It’s open source
- It uses vastly less infrastructure than the big AI tools we’ve been looking at
Given the US government’s concerns over TikTok and possible Chinese government involvement in that code, a new AI blasting on the scene from China is bound to generate attention. ZDNET’s Radhika Rajkumar did a deep dive into those issues in her article, Why China’s DeepSeek could burst our AI bubble.
Also: The best AI for coding in 2025 (and what not to use)
In this article, we’re avoiding politics. Instead, I’m putting DeepSeek through the same set of AI coding tests I’ve thrown at ten other large language models.
The short answer is this: impressive, but not perfect. Let’s dig in.
Test 1: Writing a WordPress plugin
This test was actually my first test of ChatGPT’s programming prowess, way back in the day. My wife needed a plugin for WordPress that would help her run an involvement device for her online group.
Also: I asked ChatGPT to write a WordPress plugin I needed. It did it in less than 5 minutes
Her needs were fairly simple. It needed to take in a list of names, one name per line. It then had to sort the names, and if there were duplicate names, separate them so they weren’t listed side-by-side.
I didn’t really have time to code it for her, so I decided to give the AI the challenge on a whim. To my huge surprise, it worked.
Since then, it’s been my first test for AIs when evaluating their programming skills. It requires the AI to know how to set up code for the WordPress framework and follow prompts clearly enough to create both the user interface and program logic.
Only about half of the AIs I’ve tested can fully pass this test. Now, however, we can add one more to the winner’s circle.
DeepSeek created both the user interface and program logic exactly as specified. So far, DeepSeek has passed one of four tests.
Test 2: Rewriting a string function
A user complained that he was unable to enter dollars and cents into a donation entry field. As written, my code only allowed dollars. So, the test involves giving the AI the routine that I wrote and asking it to rewrite it to allow for both dollars and cents.
Also: My favorite ChatGPT feature just got way more powerful
Usually, this results in the AI generating some regular expression validation code. DeepSeek did generate code that works, although there is room for improvement. The code that DeepSeek wrote was unnecessarily long and repetitious. My biggest concern is that the DeepSeek validation ensures validation up to 2 decimal places, but if a very large number is entered (like 0.30000000000000004), the use of parseFloat doesn’t have explicit rounding knowledge.
I’d give this to DeepSeek because neither of these issues would cause the program to break when run by a user and would generate the expected results.
And that gives DeepSeek two wins out of four.
Test 3: Finding an annoying bug
This is a test created when I had a very annoying bug that I had difficulty tracking down. Once again, I decided to see if ChatGPT could handle it, which it did.
The challenge is that the answer isn’t obvious. Actually, the challenge is that there is an obvious answer, based on the error message. But the obvious answer is the wrong answer. This not only caught me, but regularly catches some of the AIs.
Also: How to use ChatGPT to write code: What it does well and what it doesn’t
Solving this bug requires understanding how specific API calls within WordPress work, being able to see beyond the error message to the code itself, and then knowing where to find the bug.
DeepSeek passed this one as well, bringing us to three out of four wins. That already puts DeepSeek ahead of Gemini, Copilot, Claude, and Meta.
Will DeepSeek score a home run? Let’s find out.
Test 4: Writing a script
And another one bites the dust. This is a challenging test because it requires the AI to understand the interplay between three environments: AppleScript, the Chrome object model, and a Mac scripting tool called Keyboard Maestro.
I would have called this an unfair test, because Keyboard Maestro is not a mainstream programming tool. But ChatGPT handled the test easily, understanding exactly what part of the problem is handled by each tool.
Also: How ChatGPT scanned 170k lines of code in seconds, saving me hours of work
Unfortunately, DeepSeek did not have this level of knowledge. It didn’t know that it needed to split the task between instructions to Keyboard Maestro and Chrome. It also had fairly weak knowledge of AppleScript, writing custom routines for AppleScript that are native to the language.
This leaves DeepSeek with three correct tests and one fail.
Final thoughts
I found that DeepSeek’s insistence on using a public cloud email address like gmail.com (rather than my normal email address with my corporate domain) was annoying. It also had a number of responsiveness fails that made doing these tests take longer than I would have liked.
I wasn’t sure I’d be able to write this article because for most of the day, I got this error when trying to sign up:
DeepSeek’s online services have recently faced large-scale malicious attacks. To ensure continued service, registration is temporarily limited to +86 phone numbers. Existing users can log in as usual. Thanks for your understanding and support.
Then, I got in and was able to run the tests.
DeepSeek seems to be overly loquacious in terms of the code it generates. The AppleScript code in Test 4 was both wrong and excessively long. The regular expression code in Test 2 was correct, but it could have been written in a way that made it much more maintainable.
I’m definitely impressed that DeepSeek beat out Gemini, Copilot, and Meta. But, it appears to be at the old GPT-3.5 level, which means there’s definitely room for improvement.
For a brand new tool running on much lower infrastructure than the other tools, this could be an AI to watch.
What do you think? Have you tried DeepSeek? Are you using any AIs for programming support? Let us know in the comments below.
You can follow my day-to-day project updates on social media. Be sure to subscribe to my weekly update newsletter, and follow me on Twitter/X at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, on Bluesky at @DavidGewirtz.com, and on YouTube at YouTube.com/DavidGewirtzTV.
https://www.zdnet.com/a/img/resize/cb553886e68bece20cc6db236b467164e834a00a/2025/01/28/b68eead0-6d36-4cfc-9798-2c9fb80a0588/macbookair.jpg?auto=webp&fit=crop&height=675&width=1200
2025-01-28 07:24:07