Programming Languages Skill
Bonded to: programming-fundamentals-agent
Quick Start
# Invoke languages skill
"Help me choose a programming language for my backend project"
"Set up Python development environment"
"Compare Go vs Rust for microservices"
Instructions
- Assess Requirements: Evaluate project needs (performance, scalability, team expertise)
- Compare Languages: Use decision matrix below
- Select Language: Choose based on requirements and constraints
- Set Up Environment: Configure IDE, package manager, linters
- Master Ecosystem: Learn frameworks, testing tools, deployment
Language Comparison Matrix
| Language |
Best For |
Performance |
Learning |
Ecosystem |
| JavaScript/Node.js |
Real-time, Full-stack |
Good |
Easy |
Excellent |
| Python |
ML/AI, APIs, Scripting |
Moderate |
Easy |
Excellent |
| Go |
Microservices, Cloud |
Excellent |
Medium |
Good |
| Java |
Enterprise, Android |
Good |
Medium |
Excellent |
| C# |
Microsoft, Games |
Good |
Medium |
Good |
| Rust |
Systems, Performance |
Excellent |
Hard |
Growing |
| PHP |
Web, WordPress |
Moderate |
Easy |
Good |
| Ruby |
Web, Startups |
Moderate |
Easy |
Good |
Decision Tree
Project Requirements?
│
├─→ ML/AI/Data Science → Python
│
├─→ High Performance Required?
│ ├─→ Systems level → Rust
│ └─→ Cloud/Microservices → Go
│
├─→ Enterprise/Large Team → Java or C#
│
├─→ Rapid Prototyping → Python or Ruby
│
└─→ Full-stack/Real-time → JavaScript/Node.js
Examples
Example 1: Language Selection
Input: "I need to build a high-performance microservices API"
Output: Recommend Go or Rust
- Go: Simpler, faster development, excellent concurrency
- Rust: Maximum performance, memory safety, steeper learning curve
Example 2: Environment Setup
Input: "Set up Python development environment"
Output:
1. Install Python 3.12+ via pyenv
2. Create virtual environment: python -m venv .venv
3. Install dependencies: pip install -r requirements.txt
4. Configure IDE (VS Code + Python extension)
5. Set up linting: ruff, mypy
Example 3: Package Management
Input: "Configure dependency management for Node.js"
Output:
1. Initialize: npm init -y
2. Add dependencies: npm install express
3. Lock versions: package-lock.json
4. Configure .npmrc for registry
Troubleshooting
Common Issues
| Issue |
Cause |
Solution |
command not found |
Not in PATH |
Add to shell profile |
| Version mismatch |
Wrong version active |
Use version manager (nvm, pyenv) |
| Package conflicts |
Incompatible versions |
Use lockfile, check compatibility |
| Build errors |
Missing system deps |
Install required libraries |
Debug Commands
# Check versions
node -v && npm -v
python --version && pip --version
go version
rustc --version && cargo --version
# Check PATH
echo $PATH | tr ':' '\n' | grep -E 'node|python|go|rust'
Test Template
# tests/test_language_selection.py
import pytest
class TestLanguageSelection:
def test_recommends_go_for_microservices(self):
requirements = {"type": "microservices", "performance": "high"}
result = select_language(requirements)
assert result["language"] in ["go", "rust"]
assert result["confidence"] > 0.8
def test_recommends_python_for_ml(self):
requirements = {"type": "ml", "team_expertise": ["python"]}
result = select_language(requirements)
assert result["language"] == "python"
References
See references/ directory for:
LANGUAGE_GUIDE.md - Detailed language comparison
language-comparison.yaml - Structured data
Resources
1---2name: languages3description: Master programming languages for backend development. Learn language selection, fundamentals, and ecosystem for JavaScript, Python, Go, Java, C#, PHP, Ruby, and Rust.4sasmp_version: "2.0.0"5bonded_agent: 01-backend-fundamentals6bond_type: PRIMARY_BOND78# === PRODUCTION-GRADE SKILL CONFIG (SASMP v2.0.0) ===910atomic_operations:11 - LANGUAGE_SELECTION12 - ENVIRONMENT_SETUP13 - PACKAGE_MANAGEMENT14 - VERSION_CONTROL_CONFIG1516parameter_validation:17 query:18 type: string19 required: true20 minLength: 521 maxLength: 100022 language:23 type: string24 enum: [javascript, python, go, java, csharp, php, ruby, rust]25 required: false26 project_type:27 type: string28 enum: [web, api, cli, library, microservice]29 required: false3031retry_logic:32 max_attempts: 333 backoff: exponential34 initial_delay_ms: 10003536logging_hooks:37 on_invoke: "skill.languages.invoked"38 on_success: "skill.languages.completed"39 on_error: "skill.languages.failed"4041exit_codes:42 SUCCESS: 043 INVALID_INPUT: 144 LANGUAGE_NOT_SUPPORTED: 245 ENVIRONMENT_ERROR: 346---4748# Programming Languages Skill4950**Bonded to:** `programming-fundamentals-agent`5152---5354## Quick Start5556```bash57# Invoke languages skill58"Help me choose a programming language for my backend project"59"Set up Python development environment"60"Compare Go vs Rust for microservices"61```6263---6465## Instructions66671. **Assess Requirements**: Evaluate project needs (performance, scalability, team expertise)682. **Compare Languages**: Use decision matrix below693. **Select Language**: Choose based on requirements and constraints704. **Set Up Environment**: Configure IDE, package manager, linters715. **Master Ecosystem**: Learn frameworks, testing tools, deployment7273---7475## Language Comparison Matrix7677| Language | Best For | Performance | Learning | Ecosystem |78|----------|----------|-------------|----------|-----------|79| JavaScript/Node.js | Real-time, Full-stack | Good | Easy | Excellent |80| Python | ML/AI, APIs, Scripting | Moderate | Easy | Excellent |81| Go | Microservices, Cloud | Excellent | Medium | Good |82| Java | Enterprise, Android | Good | Medium | Excellent |83| C# | Microsoft, Games | Good | Medium | Good |84| Rust | Systems, Performance | Excellent | Hard | Growing |85| PHP | Web, WordPress | Moderate | Easy | Good |86| Ruby | Web, Startups | Moderate | Easy | Good |8788---8990## Decision Tree9192```93Project Requirements?94 │95 ├─→ ML/AI/Data Science → Python96 │97 ├─→ High Performance Required?98 │ ├─→ Systems level → Rust99 │ └─→ Cloud/Microservices → Go100 │101 ├─→ Enterprise/Large Team → Java or C#102 │103 ├─→ Rapid Prototyping → Python or Ruby104 │105 └─→ Full-stack/Real-time → JavaScript/Node.js106```107108---109110## Examples111112### Example 1: Language Selection113```114Input: "I need to build a high-performance microservices API"115Output: Recommend Go or Rust116 - Go: Simpler, faster development, excellent concurrency117 - Rust: Maximum performance, memory safety, steeper learning curve118```119120### Example 2: Environment Setup121```122Input: "Set up Python development environment"123Output:1241. Install Python 3.12+ via pyenv1252. Create virtual environment: python -m venv .venv1263. Install dependencies: pip install -r requirements.txt1274. Configure IDE (VS Code + Python extension)1285. Set up linting: ruff, mypy129```130131### Example 3: Package Management132```133Input: "Configure dependency management for Node.js"134Output:1351. Initialize: npm init -y1362. Add dependencies: npm install express1373. Lock versions: package-lock.json1384. Configure .npmrc for registry139```140141---142143## Troubleshooting144145### Common Issues146147| Issue | Cause | Solution |148|-------|-------|----------|149| `command not found` | Not in PATH | Add to shell profile |150| Version mismatch | Wrong version active | Use version manager (nvm, pyenv) |151| Package conflicts | Incompatible versions | Use lockfile, check compatibility |152| Build errors | Missing system deps | Install required libraries |153154### Debug Commands155156```bash157# Check versions158node -v && npm -v159python --version && pip --version160go version161rustc --version && cargo --version162163# Check PATH164echo $PATH | tr ':' '\n' | grep -E 'node|python|go|rust'165```166167---168169## Test Template170171```python172# tests/test_language_selection.py173import pytest174175class TestLanguageSelection:176 def test_recommends_go_for_microservices(self):177 requirements = {"type": "microservices", "performance": "high"}178 result = select_language(requirements)179 assert result["language"] in ["go", "rust"]180 assert result["confidence"] > 0.8181182 def test_recommends_python_for_ml(self):183 requirements = {"type": "ml", "team_expertise": ["python"]}184 result = select_language(requirements)185 assert result["language"] == "python"186```187188---189190## References191192See `references/` directory for:193- `LANGUAGE_GUIDE.md` - Detailed language comparison194- `language-comparison.yaml` - Structured data195196---197198## Resources199200- [Node.js Documentation](https://nodejs.org/docs/)201- [Python Documentation](https://docs.python.org/3/)202- [Go Documentation](https://golang.org/doc/)203- [Rust Book](https://doc.rust-lang.org/book/)