What Programming Languages Does Adobe Use?
Adobe has no single language. The desktop applications, including Photoshop and Illustrator, are written mainly in C++. The enterprise and cloud side runs on Java, JavaScript and Python. Which one you need depends on the team you join.
C++ is the answer people are usually looking for. Photo and video editing move large amounts of pixel data, and C++ gives direct control over memory and speed.
| Adobe area | Main language | Why |
|---|---|---|
| Photoshop, Illustrator, Acrobat | C++ | Speed and direct memory control |
| macOS and iOS layers of those apps | Objective-C and Swift | Required by Apple frameworks |
| Experience Manager and enterprise back ends | Java | Large server systems, long support life |
| Web apps and Creative Cloud web | JavaScript and TypeScript | The browser runs JavaScript |
| Data science and machine learning | Python | Libraries and fast experiments |
| Photoshop and Illustrator plugins | JavaScript, plus C++ for native plugins | Plugins run inside the host application |
| Lightroom user interface logic | Lua, over a C++ core | A small embedded language for scripting |
What Photoshop Is Written In
Photoshop is written mainly in C++. Platform specific parts use Objective-C on macOS and C++ with Win32 APIs on Windows.
The first release was different. The earliest Macintosh version was written in Pascal with some assembly, then moved to C++ as the product grew.
The same holds for Illustrator, InDesign and Acrobat. All three have a large C++ core that is decades old and still being extended.
Photoshop also ships a scripting layer. You can drive it with JavaScript, with AppleScript on macOS, or with VBScript on Windows.
Why C++ for Desktop Applications
A single Photoshop filter may touch tens of millions of pixels. The code runs on the user machine, not on a server you control.
C++ lets Adobe control memory layout and use the graphics hardware directly. A slower language would show up as lag on every brush stroke.
The cost is real. C++ code takes longer to write and is easier to get wrong. Adobe accepts that trade for the parts where speed decides the product.
Java, JavaScript and Python
Adobe Experience Manager and much of the enterprise product line run on Java. These are long-lived server systems where a stable platform matters more than raw speed.
Web products are JavaScript and TypeScript, usually with a modern front end framework. Adobe also publishes its own open source design system for those interfaces.
Python shows up in data science, machine learning and internal tooling. Teams working on generative features use it heavily.
Plugins and Extensions
If you want to extend Adobe products rather than work at Adobe, the language list is shorter.
- UXP plugins are written in JavaScript with HTML and CSS. This is the current path for Photoshop and InDesign.
- ExtendScript is the older JavaScript dialect used by many existing scripts.
- Native plugins use the C++ SDK for each application. Use this only when JavaScript is too slow or too limited.
Which Language Should You Learn?
For interviews at Adobe, pick the language you write fastest in. Coding rounds accept any mainstream language, and interviewers score the solution, not the syntax.
For matching a team, follow the product:
- Desktop and imaging teams: C++.
- Experience Cloud and back end teams: Java.
- Web teams: JavaScript and TypeScript.
- Machine learning teams: Python.
Read what code Adobe uses for a closer look at the product stack.
How to Prepare
- Choose one language and stay with it. Switching languages a week before an onsite costs you speed and accuracy.
- Practice patterns, not trivia. Grokking the Coding Interview groups problems by pattern so you recognize them quickly.
- Strengthen the basics. Arrays, hash maps, trees and graphs cover most rounds. Grokking Data Structures for Coding Interviews works through each one.
- Prepare a design round. Senior roles include one. See what to expect in the Adobe system design interview.
- Know the loop. Read what the Adobe interview process is like and how many rounds there are.
- Bring one project in the right language. If you want the imaging team, show C++ work. The match matters more than the size of the project.

GET YOUR FREE
Coding Questions Catalog

$99

$197

$72