# AspectJ

> aspect-oriented programming (AOP) extension created at PARC for the Java programming language

**Wikidata**: [Q735604](https://www.wikidata.org/wiki/Q735604)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/AspectJ)  
**Source**: https://4ort.xyz/entity/aspectj

## Summary

AspectJ is a software application. It was influenced by Common Lisp.

## Summary
AspectJ is an aspect-oriented programming (AOP) extension created at PARC for the Java programming language, used to add cross-cutting concerns to Java applications.

## Key Facts
- AspectJ is an aspect-oriented programming (AOP) extension created at PARC for the Java programming language (source: wikidata_description)
- Licensed under the Eclipse Public License 2.0 (source: P143: Q328)
- Developed by the Eclipse Foundation (source: P143: Q328)
- First version was 1.9.1 released in 2018 (source: P577: 2018-04-20)
- It's a cross-platform tool with file extension .aj (source: P143: Q328)
- Influenced by Common Lisp (source: P143: Q328)
- Programming paradigm is aspect-oriented programming (source: P143: Q328)
- Inception year is 2001 (source: P143: Q328)

### Q: What is AspectJ used for?
A: AspectJ is used as an aspect-oriented programming (AOP) extension for the Java programming language to add cross-cutting concerns to applications.

### Q: What is the license for AspectJ?
A: AspectJ is licensed under the Eclipse Public License 2.0.

### Q: What are the different versions of AspectJ?
A: AspectJ has multiple versions including 1.9.1 (2018), 1.9.2 (stable, 2018), 1.9.6 (stable, 2020), 1.9.7 (stable, 2021), 1.9.8 (2022), 1.9.9 (2022), 1.9.9.1 (2022), 1.9.19 (2022), and 1.9.20 (stable, 2023).

## Why It Matters
AspectJ is significant as it introduced aspect-oriented programming to the Java community, allowing developers to address cross-cutting concerns like logging, security, and transaction management in a more modular way than traditional Java approaches. By separating concerns, it helps improve code maintainability and reduces code duplication. The tool has been influential in the software development community and is maintained by the Eclipse Foundation, making it a key component in enterprise Java development.

## Notable For
- AspectJ was the first widely adopted aspect-oriented programming language for Java, providing a comprehensive implementation of AOP concepts
- It introduced the .aj file extension for aspect-oriented code
- The tool has been continuously developed since its inception in 2001 with regular updates and stable releases
- It's maintained as an open-source project under the Eclipse Public License
- AspectJ has influenced other AOP implementations and continues to be used in enterprise Java applications

## Body
### Technical Overview
AspectJ is an aspect-oriented programming (AOP) extension for the Java programming language, created at PARC and later developed by the Eclipse Foundation. It allows developers to add cross-cutting concerns to Java applications by separating them from the main business logic.

### Development History
AspectJ was first released in 2001 as an aspect-oriented programming extension for Java. The project has undergone continuous development with multiple versions:
- 1.9.1 (2018-04-20)
- 1.9.2 (stable, 2018-10-23)
- 1.9.3RC1 (release candidate, 2019-03-07)
- 1.9.6 (stable, 2020-07-22)
- 1.9.7 (stable, 2021-06-24)
- 1.9.8 (2022-02-26)
- 1.9.9 (2022-03-31)
- 1.9.9.1 (2022-03-31)
- 1.9.19 (2022-12-21)
- 1.9.20 (stable, 2023-08-16)

### Licensing and Distribution
AspectJ is licensed under the Eclipse Public License 2.0 and is distributed as open-source software. The project is maintained by the Eclipse Foundation and hosted on various platforms including GitHub and the Eclipse Git repository.

### Technical Implementation
The tool provides a compiler that transforms Java code with aspect annotations into standard Java bytecode. It uses the .aj file extension for aspect-oriented code files and supports cross-platform operation on various operating systems and package managers.

### Community and Support
AspectJ has an active community with support available through the official website (https://www.eclipse.org/aspectj/), GitHub repository, and various package distributions across different operating systems and package managers.

## References

1. [The freshmeat_aspectj Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/freshmeat_aspectj/analyses/latest/languages_summary)
2. [Source](https://git.eclipse.org/c/aspectj/org.aspectj.git/refs/)
3. [Source](http://www.eclipse.org/aspectj/doc/released/README-196.html)
4. [Release 1.9.6. 2020](https://github.com/eclipse/org.aspectj/releases/tag/V1_9_6)
5. [2021](https://github.com/eclipse/org.aspectj/releases/tag/V1_9_7)
6. [AspectJ 1.9.7 released. 2021](https://www.eclipse.org/lists/aspectj-users/msg15519.html)
7. [Release 1.9.8. 2022](https://github.com/eclipse/org.aspectj/releases/tag/V1_9_8)
8. [Release 1.9.9. 2022](https://github.com/eclipse/org.aspectj/releases/tag/V1_9_9)
9. [Release 1.9.9.1. 2022](https://github.com/eclipse/org.aspectj/releases/tag/V1_9_9_1)
10. [Release 1.9.19. 2022](https://github.com/eclipse/org.aspectj/releases/tag/V1_9_19)
11. [Release 1.9.20. 2023](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_20)
12. [Release 1.9.20.1. 2023](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_20_1)
13. [Release 1.9.21. 2023](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_21)
14. [Release 1.9.21.1. 2024](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_21_1)
15. [Release 1.9.21.2. 2024](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_21_2)
16. [Release 1.9.22. 2024](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_22)
17. [Release 1.9.22.1. 2024](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_22_1)
18. [Release 1.9.23. 2025](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_23)
19. [Release 1.9.24. 2025](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_24)
20. [Release 1.9.25. 2025](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_25)
21. [Release 1.9.25.1. 2025](https://github.com/eclipse-aspectj/aspectj/releases/tag/V1_9_25_1)
22. Freebase Data Dumps. 2013
23. [The freshmeat_aspectj Open Source Project on Open Hub: Code Locations Page. Open Hub](https://www.openhub.net/p/freshmeat_aspectj/enlistments)
24. [Source](https://git.eclipse.org/c/aspectj/org.aspectj.git)
25. [AspectJ at Github. 2020](https://www.eclipse.org/lists/aspectj-users/msg15462.html)
26. Quora
27. [OpenAlex](https://docs.openalex.org/download-snapshot/snapshot-data-format)