---
title: Programming languages
description: Discover Ethereum development resources for various programming languages including JavaScript, Python, Go, Rust, and more.
lang: en
---

A common misconception is that developers must write [smart contracts](/developers/docs/smart-contracts/) in order to build on Ethereum. This is false.
One of the beauties of the Ethereum network and community is that you're able to [participate](/community/) in just about any programming language.

Ethereum and its community embrace open source. You can find community projects - client implementations, APIs, development frameworks, testing tools - in a wide variety of languages.

## Choose your language {#data}

Select your programming language of choice to find projects, resources, and virtual communities:

- [Ethereum for Dart developers](/developers/docs/programming-languages/dart/)
- [Ethereum for Delphi developers](/developers/docs/programming-languages/delphi/)
- [Ethereum for .NET developers](/developers/docs/programming-languages/dot-net/)
- [Ethereum for Elixir developers](/developers/docs/programming-languages/elixir/)
- [Ethereum for Go developers](/developers/docs/programming-languages/golang/)
- [Ethereum for Java developers](/developers/docs/programming-languages/java/)
- [Ethereum for JavaScript developers](/developers/docs/programming-languages/javascript/)
- [Ethereum for Python developers](/developers/docs/programming-languages/python/)
- [Ethereum for Ruby developers](/developers/docs/programming-languages/ruby/)
- [Ethereum for Rust developers](/developers/docs/programming-languages/rust/)

### What if my language is not supported {#other-lang}

If you want to link to resources or point to a virtual community for an additional programming language you can request a new page by [opening an issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose).

If you just want to write code to interface with the blockchain using a currently unsupported language
you can use the [JSON-RPC interface](/developers/docs/apis/json-rpc/) to connect to the Ethereum network. Any programming
language that can use TCP/IP can use this interface.
