Scratch / Snap! |
Finch 1, 2, 3 |
- Visual, block-based (great for beginners)
- Drag-and-drop programming
- Supports most Finch features
|
- Limited advanced logic
- No multithreading
- Not ideal for complex tasks
|
MakeCode (JavaScript/Blocks) |
Finch 3 only |
- Web-based
- Switch between blocks and JavaScript
- Micro:bit-friendly
- Easy Bluetooth pairing
|
- Only works with Finch 3 (micro:bit)
- Not full-featured JavaScript
- Not suitable for advanced robotics
|
Python |
Finch 2, 3 |
- Popular in education and industry
- Great for data, AI, and sensors
- Supports threading (Finch 3 only)
- Ideal for high school & college
|
- Timing-sensitive tasks may need tuning
- Some sensor access is complex without helper libraries
|
Java |
Finch 1, 2 |
- Full-featured, OOP-friendly
- Strong support for threading
- AP Computer Science compatible
- Great for structured, scalable programs
|
- Steeper learning curve
- Verbose syntax
- Does not support Finch 3
|
Snap! |
Finch 1, 2 |
- Simple and visual
- Ideal for K–8 or beginner high school students
|
- Limited beyond basic programming
- No native threading support
|
C# (.NET) |
Finch 2 (Windows only) |
- Powerful language
- Good for Windows-based classrooms
- Clean syntax
|
- Windows-only support
- Limited documentation for robotics-specific tasks
|
C++ |
Not officially supported |
- Fast, powerful, low-level control
|
- No official Finch library
- Complex to set up
- Not recommended for beginners
|
JavaScript (via MakeCode) |
Finch 3 only |
- Easy transition from block-based to code
- Simple syntax
|
- Only usable through MakeCode
- Not suited for advanced programming
|
Kotlin / Swift / Others |
❌ Not officially supported |
- |
- No libraries, tools, or integrations
|