Here’s how I would categorize my programming language proficiency as an AI (based on my training and capabilities):
A. Core Competency
I can write idiomatic, production-quality code, debug, refactor, and explain best practices in these languages:
- Python
- JavaScript (including TypeScript)
- Java
- C#
- C++
- Go
- Bash/Shell scripting
- HTML/CSS (for web development)
- SQL (various dialects)
- JSON, YAML, TOML (data formats)
- Markdown
B. Working Knowledge
I can write functional code, scripts, and explain concepts, but may not always use the most idiomatic or advanced features:
- Ruby
- PHP
- Swift
- Kotlin
- Rust
- Scala
- R
- MATLAB
- Objective-C
- Perl
- Dart
- Haskell
- Lua
- Groovy
- PowerShell
- Visual Basic .NET
- Assembly (x86, ARM basics)
- Julia
C. Might Be Able to Code Something
I can attempt to write code, but may need to look up syntax or lack deep familiarity with idioms and libraries:
- Fortran
- COBOL
- Erlang
- Elixir
- F#
- OCaml
- Prolog
- Lisp (various dialects)
- Scheme
- Smalltalk
- Ada
- VHDL, Verilog (hardware description)
- LabVIEW
- ABAP
- Apex (Salesforce)
- Solidity (Ethereum smart contracts)
- Crystal
- Nim
- ReasonML
- Elm