A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | AJ | AK | AL | AM | AN | AO | AP | AQ | AR | AS | AT | AU | AV | AW | AX | AY | AZ | BA | BB | BC | BD | BE | BF | BG | BH | BI | BJ | BK | BL | BM | BN | BO | BP | BQ | BR | BS | BT | BU | BV | BW | BX | BY | BZ | CA | CB | CC | CD | CE | CF | CG | CH | CI | CJ | CK | CL | CM | CN | CO | CP | CQ | CR | CS | CT | CU | CV | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Where do you live? | Please specify "other": | What’s your native language? | Please specify "other": | Which language do you speak predominantly at work? | Which language do you speak at work? | Please specify "other": | Would you prefer reading the Solidity documentation in your native language or English? | Are you currently employed? | Which industry do you work in? | How many years have you coded professionally (as part of your work) in any language? | Which of the following developer profiles best describe you? | Please specify "other": | When do you use Solidity? | How frequently do you contribute to open-source projects written in Solidity... | Which programming language do you use the most? | Please specify "other": | What's your favourite programming language? | Please specify "other": | Which Operating System do you use predominantly? | On a scale from 1 - 10, how would you rate your Solidity expertise? | How long have you been using Solidity for? | How long did it take you to become/feel productive with Solidity? | How often do you use Solidity? | Where do you get the Solidity binaries from? | Please specify “other”: | Which editor do you use when writing Solidity? | Please specify "other": | Which Solidity-related plugin(s) do you use? | Which Solidity-related plugin(s) do you use? | Which Solidity-related plugin(s) do you use? | Which Solidity-related plugin(s) do you use? | Which Solidity-related plugin(s) do you use? | Do you use an Ethereum specific development environment? If yes, which one? | Please specify "other": | Which Solidity versions do you currently actively use? | Do you ever use the compiler directly, on the command line? | Are you using the CLI instead of Standard JSON for scripting? | How disruptive are changes in the CLI output and options for you? | Do you rely on compiler support for older EVM versions? | Which is the oldest EVM version you target? | For which purpose do you use unoptimized code? | Please specify “other”: | Why? | Do you use ABIEncoderV1 (enabled via “pragma abicoder v1”)? | Why? | Do you use the SMTChecker? | Do you use via-IR? | Why not? | How many minutes does it take to compile your project’s contract code to compile with via-IR? (if multiple projects, select the worst case) | What are you most concerned about regarding via-IR as the default code generation pipeline? | Please specify “other”: | Do you publish the metadata of your contracts? | Do you know and use Sourcify? | What is your main way of using Sourcify? | Please specify "other": | Are you running into any issues with Sourcify? | Do you use `appendCBOR: false` or `bytecodeHash: none`? | Why do you use it? | Do you flatten your contracts? | Why? | Do you use Solidity outside Ethereum mainnet or testnets? | On which other networks do you deploy your Solidity smart contracts? | Please specify “other”: | What other smart contract languages do you use? | Please specify "other": | How did the Solidity developer experience change overall in the last year in your opinion? | Can you elaborate on what got worse compared to last year? | Do you encounter the same/similar issues multiple times? | Which ones? | If you chose "other", please specify your issue: | How easy was it for you to start using the Solidity compiler? | What made it difficult for you to start using the Solidity compiler? | Which aspect about Solidity do you like most? | Please specify “other”: | Which Solidity feature do you like most? | Please specify “other”: | What is your biggest pain point with Solidity currently? | Which other optimizations are missing for you? | Please specify "other": | Do you find the official Solidity documentation helpful? | What could be changed or improved about the current state of the docs? | Have you been affected by any of the high impact compiler bugs (i.e. the ones reported on the Solidity blog as "security alert") in deployed (live) code? | Which one(s)? | Please specify "other": | Do you use external libraries (libraries you deploy separately from the contract, for which you supply their address at deploy-time of your contract and for which delegate-calls are used)? | What do you use them for? | What's the most anticipated feature you'd like to see in Solidity in the near-term future? | Would you like Solidity to become less or more restrictive/explicit, e.g. having fewer checks vs. more checks? | What do you think about postfix types? (Example: let x:uint256 = 0; vs. let uint256 x = 0;) | Are you looking forward to more functional elements in Solidity? (Example: Lambda functions) | Do you know what transient storage (EIP 1153) is? | Do you think you will need complex types in transient storage (like mappings or arrays)? | What are your expected use-cases for it? | Do you know what Ethereum Object Format (EOF) is? | How do you think it would affect you as a Solidity developer? | In which ways would EOF affect you negatively? | Did you ever participate in Solidity language design related efforts? | How do you stay up to date about Solidity versions, security alerts and announcements? | Please specify "other": |
2 | OTHER | Netherlands | OTHER | Dutch | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Tooling developer | I use Solidity at work. | Daily | Solidity | Go | MacOS | 8 | 1-2 years | Less than half a year | Daily | solc-bin (binaries.soliditylang.org) | IntelliJ | IntelliJ IDEA plugin | Foundry | 0.8.x | No | No | Never | Not close to production code | No | No, never. | No | Slow | Compilation times,Stability/security concerns,(Lack of) tooling support | Yes | I know about it and use it. | via Foundry | Sometimes | No | Yes | Arbitrum,Avalanche,Binance,Optimism,Polygon,Private EVM chains | None | Big improvement | Yes | Stack too deep,Bytecode size limit,Optimizer-related issues | Okay | Static typing | Contracts as objects | Stack too deep | Yes | No | No | Transient storage | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | No | No | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||
3 | Spain | Spanish | Another language | English | Native language | Yes | Financial Services | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Monthly | Solidity | Solidity | MacOS | 8 | 2-3 years | Less than half a year | Daily | npm,solc-bin (binaries.soliditylang.org),Via a framework / IDE | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Truffle for VSCode | Hardhat | 0.8.x | No | Yes | shanghai (default) | Never | No | No, never. | Yes | 10 | Compilation times,Not enough knowledge about it or its consequences. | Yes | I don't know about it. | No | I don't know what that is. | Yes | Binance,Polygon | None | Some improvement | Yes | Bytecode size limit,Debugging issues,OTHER | Circular dependency | Okay | Syntax | Inline assembly | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | No | No | Not taking the interfaces into account in the inheritance graph | 2 | I don't like them | Yes, they are great. | No | No | No, because I don't know how. | I follow the Solidity Github release page. | ||||||||||||||||||||||||||||||||||||||||||
4 | Germany | German | Another language | English | English | Yes | Crypto | 11-15 years | Tooling developer,Auditor / Security expert | I use Solidity at work. | Daily | Python | OTHER | Haskell, Idris | Windows | 10 - Expert | 2-3 years | Less than one month | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry | 0.8.x | Yes | No | Okay | No | Debugging | Sourcemaps of optimized code are not usable. | I don't know what that is. | Yes, I tried it. | No | Last time I checked I got stack-too-deep errors | Stability/security concerns,(Lack of) tooling support | Yes | I know about it and use it. | via Sourcify directly | Not with sourcifiy, but the metada documentation is confusing, especially the role of the IPFS hash and difference between full and partial verification | Sometimes | No | No | Yul | Big improvement | Yes | Stack too deep,Bytecode size limit,Debugging issues,Optimizer-related issues | Optmizatins are unclear. Sourcemaps are unusable with optimized code. | Okay | Similarity to other programming languages | User defined types | Stack too deep | Yes | No | No | Managed storage. Isolating storage regions by keccack-hashing makes it hard to debug storage | 5 - More restrictive/explicit | I like them | Yes, they are great. | No | No | Yes, I joined one or more of the language design discussion calls or language user feedback calls.,Yes, I proposed features or changes to the language as a Github issue. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||
5 | France | French | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer | I use Solidity at work and for personal projects. | Daily | Solidity | C++ | Linux | 10 - Expert | 5+ years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | None | Foundry,Hardhat,Remix | 0.8.x | No | Yes | paris | Never | No | No, never. | No | compilation time | Compilation times | Yes | I know about it, but don't use it. | No | No | Yes | Arbitrum,Gnosis Chain,Optimism,Polygon,Private EVM chains | Cairo | No change | Yes | Stack too deep,OTHER | missing langage features (generics among others) | Okay | Similarity to other programming languages | User defined types | OTHER | Lack of modularity | Somewhat | No | No | generics | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | Yes | Ephemeral accounting (uniswap v4) | Yes | No change | Yes, I participated in forum discussions at forum.soliditylang.org.,Yes, I proposed features or changes to the language as a Github issue. | I follow the Solidity Github release page.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||
6 | OTHER | Netherlands | OTHER | Dutch | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Weekly | Solidity | Rust | Linux | 8 | 2-3 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry | 0.8.x | No | Yes | paris | Debugging,Unit testing | Faster compilation times | No | Yes, I tried it. | Yes | 6 | Compilation times,Stability/security concerns,Not enough knowledge about it or its consequences. | Yes | I know about it, but don't use it. | No | Sometimes | No | Yes | Arbitrum,Optimism | Huff,Yul | Big improvement | No | Okay | Easy to learn | Dynamic arrays | Compiler performance (runtime of compilation) | Yes | No | No | None | 5 - More restrictive/explicit | I like them | Yes, they are great. | Yes | No | Yes | Positively | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||
7 | United States of America | OTHER | Hebrew | Another language | English | English | Yes | Crypto | 15+ years | Other | Documentation developer | I use Solidity at work. | Weekly | TypeScript | TypeScript | MacOS | No | No | Yul | Yes | No | No | Yes | I don't know/care | Yes | No change | No, because I'm not interested in/qualified for that. | I don't do any of the above. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | OTHER | Panama | Spanish | Another language | English | English | Yes | Technology | 1-2 years | Smart contract developer,Academic researcher | I use Solidity at work and for personal projects. | Daily | Solidity | Solidity | MacOS | 8 | 1-2 years | Less than one month | Weekly | Build from source,Homebrew,GitHub releases | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry | 0.8.x | No | Yes | No | Never | No | No, never. | Yes | Compilation times,Stability/security concerns | No | I know about it and use it. | via Foundry | No | No | Yes | Optimism | Vyper,Yul | Slight improvement | Yes | Stack too deep,Bytecode size limit | Very easy | Simplicity | Contracts as objects | Stack too deep | Somewhat | More detailed | No | Yes | Contract splitting | More functional programming elements | 2 | I like them | Yes, they are great. | Yes | I don't know/care | No | No, because I'm too busy with work / other things. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||
9 | Poland | Polish | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Tooling developer,Other | Full stack developer | I use Solidity at work and for personal projects. | Monthly | TypeScript | TypeScript | MacOS | 9 | 2-3 years | Less than one month | Daily | npm,Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat | 0.8.x | No | Yes | istanbul | Debugging,Unit testing | Hardhat error tracebacks don't work well with optimised code, the lines are often mismatched. | No | No, never. | Yes | 1.5 | Compilation times,(Lack of) tooling support | Yes | I know about it, but don't use it. | N/A | No | No | Yes | Polygon | Yul | Slight improvement | No | Very easy | Easy to learn | Contracts as objects | Compiler performance (runtime of compilation) | Yes | No | No | Generic types, improved speed of viaIR compilation pipeline, dynamic in-memory array (not storage) | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | Yes | First that comes to my mind is flash accounting like keeping an array or a mapping of token balances that needs to be transferred by the end of transaction | Yes | No change | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||
10 | OTHER | / | OTHER | / | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Other | Backend dev | I use Solidity at work and for personal projects. | Monthly | Solidity | OTHER | Don't have one. Its like which one of your kids do you love the most | MacOS | 8 | 3-5 years | Less than half a year | Daily | Homebrew,Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Remix | 0.8.x | No | No | I don’t know. I use my framework’s default settings.,Never | No | No, never. | Yes | 6 | Compilation times,Stability/security concerns,(Lack of) tooling support | No | I know about it, but don't use it. | Yes | reduce bytecode size | Yes | to get my code to compile on various tools | No | Huff,Yul | I don't know | No | Okay | Syntax | OTHER | / | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | No | 3 - Staying as is | I don't like them | I don't know/care. | Yes | No | No | No, because I'm too busy with work / other things.,No, because I'm not interested in/qualified for that. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||
11 | Russia | Russian | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer | I use Solidity at work. | Weekly | Solidity | TypeScript | MacOS | 8 | 3-5 years | Less than half a year | Weekly | solc-bin (binaries.soliditylang.org) | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry | 0.8.x | Yes | Yes | Okay | No | I don’t know. I use my framework’s default settings.,Debugging,Unit testing | Why? | No | Yes, I tried it. | Yes | 1 | No concerns,Not enough knowledge about it or its consequences. | Yes | I know about it, but don't use it. | No | I don't know what that is. | No | Yes | Gnosis Chain | None | No change | No | Okay | Similarity to other programming languages | OTHER | Strange question | OTHER | No pain points | Yes | No | No | n/a | 5 - More restrictive/explicit | I like them | No, I don't like them. | Yes | I don't know/care | No | No, because I'm not interested in/qualified for that. | OTHER | Other news | |||||||||||||||||||||||||||||||||||||
12 | Switzerland | Italian | Another language | English | English | I am a student. | 3-5 years | Smart contract developer,Tooling developer,Academic researcher | I use Solidity at work and for personal projects. | Monthly | Solidity | Rust | MacOS | 8 | 2-3 years | Less than one month | Weekly | Other | svm-rs | Vim | Foundry,Hardhat,Remix | 0.8.x | No | No | Not the answer you're looking for but I start optimizing even during dev cycles when I start getting stack too deep | No | Yes, I tried it. | No | It makes compilation too slow, can't wait 10 minutes to get my code compiled again (I swear this happens if you use foundry) | Compilation times,Stability/security concerns,(Lack of) tooling support | What is that? | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Fantom | Cairo,Vyper | Slight improvement | Yes | Stack too deep,Bytecode size limit | Okay | Similarity to other programming languages | Stack too deep | Yes | No | No | A decent LSP, even vyper manages to do better pleaseeeeeeeee | 5 - More restrictive/explicit | I don't know/care | Yes, they are great. | Yes | I don't know/care | No | No, because I don't know how. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||
13 | France | French | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Daily | Solidity | Solidity | MacOS | 7 | 3-5 years | More than one year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Remix | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | No | No, never. | No | I don't need it | No concerns | No | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Optimism,Polygon | Vyper | Big improvement | No | Very easy | Simplicity | Contracts as objects | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | No | 3 - Staying as is | I don't like them | I don't know/care. | No | No | No, because I'm not interested in/qualified for that. | I follow the Solidity Github release page.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||||
14 | Portugal | Portuguese | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Weekly | Solidity | Python | MacOS | 10 - Expert | 2-3 years | Less than half a year | Daily | solc-bin (binaries.soliditylang.org),Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry | 0.8.x | No | No | Unit testing | Why not | No | Yes, I tried it. | No | No need | Compilation times,Stability/security concerns | Yes | I know about it, but don't use it. | no | No | No | Yes | Gnosis Chain,Optimism,Polygon | Huff,Yul | Big improvement | No | Very easy | Simplicity | Contracts as objects | Stack too deep | Yes | No | No | nonReentrant by default | 5 - More restrictive/explicit | I don't know/care | Yes, they are great. | Yes | No | Yes | Positively | No, because I'm too busy with work / other things. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
15 | OTHER | Kenya | OTHER | Swahili | Another language | English | English | No | 1-2 years | Auditor / Security expert | I use Solidity at work. | Monthly | Solidity | Solidity | Linux | 8 | 1-2 years | Less than one year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry | 0.8.x | Yes | Yes | Okay | No | Debugging,Unit testing | optimization is time consuming especially for testing --via-ir at-least triples you testing time | No | No, never. | Yes | 60 | Compilation times | No | I know about it, but don't use it. | NO | Yes | Metadata is added cognitive overheard best part is not part at all. Reproducible builds | No | No | Yul | Big improvement | No | Very easy | OTHER | It's running on ethereum beautiful ecosystem | Using for | Compiler performance (runtime of compilation) | Yes | No | No | I'm good | 5 - More restrictive/explicit | I like them | Yes, they are great. | No | No | No, because I'm not interested in/qualified for that. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||
16 | Germany | German | Another language | English | English | No | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Never | Rust | Rust | Linux | 7 | 5+ years | Less than one month | Monthly | Homebrew,Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | Yes | No | Not disruptive at all | No | Never | No | Yes, I use it frequently. | What's via-IR? | Yes | I don't know about it. | I don't know what that is. | Yes | easier to reason about logic, inheritance | No | None | I don't know | Yes | Stack too deep,Bytecode size limit | Okay | OTHER | best supported everywhere | Inline assembly | Gas usage: Redundant checks (e.g. in checked arithmetic) | Somewhat | more structure, better index | No | Yes | Sharing code,Proxy patterns | 5 - More restrictive/explicit | I like them | Yes, they are great. | No | No | Yes | Positively | No, because I'm too busy with work / other things.,No, because I don't know how. | I follow the Solidity Github release page.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
17 | United States of America | Telugu | Another language | English | English | I am a student. | 3-5 years | Smart contract developer | I use Solidity for personal projects. | Daily | Solidity | Solidity | MacOS | 7 | 7-12 months | Less than one month | Daily | npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | No | No | Debugging,Unit testing | No | No, never. | What's via-IR? | No | I don't know about it. | I don't know what that is. | I don't know what that is. | No | Yul | Some improvement | No | Okay | Easy to learn | Mappings | Stack too deep | Yes | No | No | 3 - Staying as is | I don't like them | No, I don't like them. | No | No | No, because I'm too busy with work / other things. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||||||||
18 | OTHER | South Korea | French | Another language | English | English | No | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Daily | Solidity | Solidity | Linux | 9 | 5+ years | More than one year | Daily | Via a framework / IDE | OTHER | VsCodium | Foundry,Hardhat,Remix | 0.8.x | No | Yes | Yes | homestead (support deprecated) | Debugging,OTHER | learning, auditing, CTF | No | Yes, I tried it. | What's via-IR? | What is that? | I know about it, but don't use it. | - | I don't know what that is. | No | No | Huff,Yul | Big improvement | No | Okay | Syntax | Contracts as objects | OTHER | fixed point arithmetic | Yes | No | No | native fixed point atithmetic | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | Yes | - | No | No, because I don't know how. | I follow the Solidity Github release page.,I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||||
19 | India | Bengali | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer,Auditor / Security expert | I use Solidity for personal projects. | Weekly | Python | Python | Linux | 6 | 7-12 months | Less than half a year | Monthly | Ethereum PPA for Ubuntu,GitHub releases,solc-bin (binaries.soliditylang.org) | Visual Studio (NOT VSCode!) | Foundry,Remix,OTHER | Ape | 0.8.x | Yes | Yes | Okay | Yes | shanghai (default) | I don’t know. I use my framework’s default settings. | I don't know what that is. | No, never. | What's via-IR? | Yes | I don't know about it. | I don't know what that is. | No | No | Vyper | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
20 | OTHER | Bulgaria | OTHER | Bulgarian | Another language | English | Yes | Crypto | 3-5 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Weekly | Solidity | Solidity | MacOS | 0.8.x | No | No | Debugging,Unit testing | No | Yes, I tried it. | Yes | 3 | Stability/security concerns,Not enough knowledge about it or its consequences. | Yes | I know about it, but don't use it. | No | No | No | Arbitrum | Huff,Yul | Some improvement | Yes | OTHER | No generics, no immutable arrays | Very easy | Static typing | Inline assembly | OTHER | No generics, no immutable arrays | Yes | No | No | Generics | 5 - More restrictive/explicit | I don't like them | Yes, they are great. | Yes | Yes | multicall into the same defi contract (multiple accounting updates over tx) | Yes | Positively | Yes, I proposed features or changes to the language as a Github issue. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||||
21 | OTHER | Croatia | OTHER | Croatian | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer | I use Solidity at work. | Daily | Solidity | Python | MacOS | 7 | 2-3 years | Less than half a year | Weekly | Homebrew | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry,Hardhat | 0.8.x | No | No | Never | No | No, never. | No | Compilation times,Not enough knowledge about it or its consequences. | Yes | I know about it, but don't use it. | No | No | Yes | Arbitrum | None | Some improvement | Yes | Stack too deep,Bytecode size limit,Debugging issues | Very easy | Similarity to other programming languages | Contracts as objects | Stack too deep | Yes | No | No | 3 - Staying as is | I don't like them | Yes, they are great. | Yes | No | Yes | No change | No, because I'm not interested in/qualified for that. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||
22 | OTHER | Taiwan | Mandarin | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Academic researcher | I use Solidity at work and for personal projects. | Monthly | Solidity | Python | MacOS | 7 | 5+ years | More than one year | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Foundry,Remix | 0.8.x | No | Yes | london | Deploy on chain,Debugging | No | Yes, I tried it. | Yes | 10 | Compilation times,(Lack of) tooling support,OTHER | verify code on etherscan | Yes | I know about it, but don't use it. | Sometimes | No | Yes | Binance,Fantom,Gnosis Chain,Polygon,Private EVM chains | None | Slight improvement | Yes | Debugging issues,Optimizer-related issues | Very easy | Similarity to other programming languages | Mappings | Gas usage: Redundant checks (e.g. in checked arithmetic) | Somewhat | No | No | more configurable gas optimization (at least Vyper level gas efficiency) | 1 - Less restrictive/explicit | I don't like them | Yes, they are great. | Yes | Yes | I just want it | Yes | Negatively | fragmenting dev experience | No, because I don't know how.,No, because I'm not interested in/qualified for that. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||
23 | OTHER | Netherlands | OTHER | Dutch | Another language | English | English | Python | Linux | No | No | None | Slight improvement | Yes | Stack too deep,Bytecode size limit | Very easy | OTHER | Most common | Mappings | Stack too deep | Yes | No | No | Make working with mappings of structs easier | 3 - Staying as is | I don't know/care | I don't know/care. | No | No | No, because I'm too busy with work / other things.,No, because I'm not interested in/qualified for that. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
24 | OTHER | Andorra | Spanish | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Auditor / Security expert,Academic researcher | I use Solidity at work and for personal projects. | Daily | Solidity | Rust | MacOS | 9 | 3-5 years | Less than one month | Daily | Via a framework / IDE | Vim | Vim Solidity by Thesis | Foundry | 0.8.x | No | No | Unit testing | No | Yes, I tried it. | Yes | 8 | Not enough knowledge about it or its consequences. | Yes | I know about it and use it. | via Foundry | No | No | No | Yes | Arbitrum,Avalanche,Binance,Fantom,Gnosis Chain,Optimism,Polygon,zkSync | Huff,Yul | Slight improvement | Yes | Stack too deep,Bytecode size limit,Debugging issues | Very easy | Easy to learn | Modifiers | Stack too deep | Yes | No | Yes | Proxy patterns,Contract splitting | 5 - More restrictive/explicit | I like them | Yes, they are great. | Yes | Yes | Yes | Positively | Yes, I proposed features or changes to the language as a Github issue. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||
25 | Argentina | Spanish | Another language | English | English | No | 15+ years | Smart contract developer | I use Solidity at work. | Never | Solidity | TypeScript | MacOS | 8 | 3-5 years | Less than one year | Daily | npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Hardhat | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | No | No, never. | What's via-IR? | Yes | I know about it, but don't use it. | No | No | No | None | Some improvement | No | Okay | Simplicity | Contracts as objects | Stack too deep | Somewhat | No | No | 3 - Staying as is | I don't know/care | I don't know/care. | No | No | No, because I'm too busy with work / other things. | I don't do any of the above. | ||||||||||||||||||||||||||||||||||||||||||||||||||
26 | Spain | Spanish | Another language | English | English | Yes | Technology | 3-5 years | Tooling developer | I use Solidity at work. | Daily | Python | Python | MacOS | 4 | 2-3 years | I don't feel productive yet. | Rarely | Homebrew | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Brownie,Foundry,Hardhat | 0.8.x | Yes | Yes | Not disruptive at all | No | I don’t know. I use my framework’s default settings. | I don't know what that is. | No, never. | What's via-IR? | What is that? | I don't know about it. | I don't know what that is. | I don't know what that is. | No | I don't know | No | Very easy | Similarity to other programming languages | Mappings | OTHER | When you have an error in your code, mostly you only by the generic warning: too gas usage | Somewhat | A more friendly UI in the docs. Better search engine. | No | No | 3 - Staying as is | I don't know/care | I don't know/care. | No | No | No, because I don't know how. | OTHER | I follow Week in Ethereum News newsletter. | |||||||||||||||||||||||||||||||||||||||||||||
27 | Germany | German | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Daily | Solidity | Rust | MacOS | 8 | 3-5 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry | 0.8.x | No | No | Unit testing,OTHER | scripting | faster compilation (no optimizations and no --via-ir) | No | Yes, I tried it. | Yes | 2 | Compilation times | Yes | I know about it, but don't use it. | No | Yes | To see total complexity of contract without inheritance abstracting stuff away | Yes | Arbitrum,Gnosis Chain,Optimism,Polygon,zkSync | Huff,Yul | Some improvement | No | Very easy | Static typing | Inline assembly | Compiler performance (runtime of compilation) | Yes | No | No | better support for user defined types (eg interfaces/traits on user types) | 5 - More restrictive/explicit | I don't know/care | No, I don't like them. | Yes | Yes | Double-signing checks for Multisignature verification (eg many ECDSA sigs, aggregated Schnorr, BLS). | Yes | Positively | No, because I don't know how. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||
28 | Germany | German | Another language | English | English | Yes | Crypto | 6-10 years | Auditor / Security expert,Academic researcher | I use Solidity at work. | Never | Python | Python | MacOS | 7 | 7-12 months | Less than half a year | Daily | Homebrew | Visual Studio Code / VSCode | Solidity Visual Auditor extension | OTHER | Wake, Tools for Solidity Extension for VSCode | 0.8.x | Yes | Yes | Okay | No | Deploy on chain,Unit testing | It's not heavily audited | No | No, never. | Yes | 2 | No concerns | No | I don't know about it. | I don't know what that is. | No | No | Cairo,Vyper,Yul | Big improvement | Yes | Stack too deep | Very easy | Similarity to other programming languages | Inline assembly | Stack too deep | Yes | No | Yes | Sharing code,Proxy patterns,Contract splitting | 5 - More restrictive/explicit | I don't know/care | Yes, they are great. | No | No | No, because I'm too busy with work / other things. | I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||||
29 | OTHER | Vietnam | OTHER | Vietnamese | Another language | English | English | I am a student. | I've never coded as part of my job. | Smart contract developer,Auditor / Security expert | I use Solidity for personal projects. | Never | JavaScript | JavaScript | Linux | 1 - Beginner | <3 months | I don't feel productive yet. | Daily | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry | 0.8.x | Yes | No | Okay | No | I don’t know. I use my framework’s default settings.,Never | I don't know what that is. | No, never. | What's via-IR? | What is that? | I don't know about it. | I don't know what that is. | I don't know what that is. | No | None | No change | No | Okay | Syntax | Contracts as objects | Compiler performance (runtime of compilation) | Somewhat | No | I don't know what that is. | 3 - Staying as is | I like them | Yes, they are great. | No | No | No, because I'm not interested in/qualified for that. | I don't do any of the above. | |||||||||||||||||||||||||||||||||||||||||||||||
30 | Russia | Russian | Another language | English | English | Yes | Crypto | 3-5 years | Auditor / Security expert | I use Solidity at work. | Monthly | Solidity | Solidity | Linux | 9 | 1-2 years | More than one year | Weekly | Ethereum PPA for Ubuntu,Package manager of a Linux distro (e.g. Arch) | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Hardhat,Remix | 0.8.x | No | Yes | No | Debugging,OTHER | gas optimisation | to check is it worth it | No | Yes, I tried it. | What's via-IR? | Yes | I don't know about it. | I don't know what that is. | Yes | Sometimes it is clearer | Yes | Arbitrum,Binance,Optimism,Polygon,zkSync | Cairo,Huff,Vyper,Yul | Some improvement | No | Okay | Easy to read | Mappings | Stack too deep | Yes | No | Yes | Sharing code,Proxy patterns,Contract splitting | death of js environment | 4 | I don't like them | I don't know/care. | Yes | No | No | No, because I'm too busy with work / other things.,No, because I don't know how.,No, because I'm not interested in/qualified for that. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
31 | OTHER | Georgia | Russian | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer,Tooling developer | I use Solidity at work. | Daily | Solidity | OTHER | Ruby | MacOS | 7 | 1-2 years | Less than one year | Daily | Homebrew,npm,solc-bin (binaries.soliditylang.org) | Visual Studio Code / VSCode | None | Foundry | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | No | No, never. | Yes | 5 | Stability/security concerns,Not enough knowledge about it or its consequences. | No | I know about it, but don't use it. | No | I don't know what that is. | Yes | Yes | Fantom,Optimism,Polygon | Yul | Some improvement | Yes | Bytecode size limit,Debugging issues | Very easy | Easy to read | Contracts as objects | Stack too deep | Somewhat | No | No | 4 | I don't like them | Yes, they are great. | Yes | I don't know/care | Yes | Positively | No, because I don't know how.,No, because I'm not interested in/qualified for that. | I don't do any of the above. | ||||||||||||||||||||||||||||||||||||||||
32 | Italy | Italian | Another language | English | English | Yes | Crypto | 15+ years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Monthly | Solidity | TypeScript | MacOS | 9 | 1-2 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry | 0.8.x | Yes | No | Okay | Yes | paris | Unit testing | faster to compile | No | No, never. | Yes | 3 | Compilation times,Stability/security concerns,Not enough knowledge about it or its consequences. | No | I know about it, but don't use it. | No | No | No | None | No change | Yes | Stack too deep,Debugging issues,Optimizer-related issues | Okay | Simplicity | Mappings | OTHER | no good dx | Somewhat | better search, more examples | No | No | better dx | 5 - More restrictive/explicit | I don't like them | No, I don't like them. | Yes | I don't know/care | No | No, because I'm too busy with work / other things. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||
33 | United States of America | Bengali | Another language | English | English | Yes | Other | 3-5 years | Other | Full Stack Developer | I use Solidity for personal projects. | Never | C# | Go | Windows | Yes | Yes | Okay | No | I don’t know. I use my framework’s default settings. | I’m still getting deeper | No | Yes, I tried it. | What's via-IR? | No | I don't know about it. | I don't know what that is. | I don't know what that is. | No | None | Some improvement | No | Okay | Similarity to other programming languages | Mappings | Stack too deep | Yes | No | No | Multithreading or usability outside blockchain | 3 - Staying as is | I don't know/care | Yes, they are great. | No | No | No, because I'm too busy with work / other things. | I don't do any of the above. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
34 | Portugal | Portuguese | Another language | English | English | Yes | Technology | 6-10 years | Smart contract developer | I use Solidity for personal projects. | Never | Python | Solidity | Linux | 6 | 7-12 months | Less than half a year | Monthly | Package manager of a Linux distro (e.g. Arch) | Vim | Vim Solidity by TovarishFin | Foundry | 0.8.x | Yes | Yes | Okay | No | Never | No | No, never. | Yes | 2 | Compilation times,Stability/security concerns,Gas | Yes | I don't know about it. | I don't know what that is. | No | No | None | Some improvement | No | Okay | Syntax | Contracts as objects | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | No | 3 - Staying as is | I don't like them | No, I don't like them. | No | No | No, because I'm too busy with work / other things. | I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||
35 | OTHER | Romania | Romanian | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer | I use Solidity at work. | Monthly | Solidity | Solidity | Windows | 8 | 1-2 years | Less than one year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | No | No | Never | I usually run the same optimized code for everything. | No | No, never. | No | Build time on complex projects is way too long and I don't understand it because I never looked into it in depth. | Compilation times,Not enough knowledge about it or its consequences. | No | I don't know about it. | I don't know what that is. | Yes | To verify them manually or to review, but I rarely do it. | Yes | Private EVM chains | Yul | Slight improvement | Yes | Stack too deep,Bytecode size limit | Very easy | Static typing | Mappings | Stack too deep | Yes | No | No | Solving the stack too deep error in a more elegant way than having to create a struct to move variables to memory. | 3 - Staying as is | I don't like them | I don't know/care. | Yes | No | No | No, because I'm too busy with work / other things.,No, because I don't know how. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||
36 | Portugal | French | Another language | English | English | No | 3-5 years | Smart contract developer,Other | Backend developer | I use Solidity at work and for personal projects. | Monthly | Solidity | Solidity | MacOS | 6 | 7-12 months | Less than one year | Weekly | GitHub releases | IntelliJ | IntelliJ IDEA plugin | Foundry,Hardhat | 0.8.x | Yes | Yes | Okay | No | I don’t know. I use my framework’s default settings. | Easy and don't have specific need | No | Yes, I use it frequently. | Yes | 2 | Not enough knowledge about it or its consequences. | Yes | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Gnosis Chain,Optimism,Polygon | None | No change | Yes | Stack too deep | Okay | Similarity to other programming languages | Using for | Gas usage: Missing other optimizations | Every optimization possible | Somewhat | 🤷♂️ | No | Yes | Sharing code,Contract splitting | 4 | I don't like them | I don't know/care. | No | No | No, because I'm not interested in/qualified for that. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||
37 | Argentina | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Tooling developer,Other | backend developer | I use Solidity at work. | Never | TypeScript | Go | MacOS | 6 | 7-12 months | Less than half a year | Weekly | npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Hardhat,Remix | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | I don't know what that is. | No, never. | What's via-IR? | No | I don't know about it. | I don't know what that is. | Yes | to verify in block explorer | Yes | OTHER | Rootstock | None | I don't know | No | Okay | Static typing | Modifiers | Gas usage: Missing memory optimizations (waste of memory) | Somewhat | No | Yes | Sharing code,Proxy patterns,Contract splitting | 5 - More restrictive/explicit | I like them | Yes, they are great. | Yes | No | No | No, because I'm not interested in/qualified for that. | I don't do any of the above. | ||||||||||||||||||||||||||||||||||||||||||||
38 | OTHER | Denmark | OTHER | Danish | Another language | English | English | Yes | Crypto | 15+ years | Smart contract developer,Tooling developer | I use Solidity at work. | Daily | TypeScript | C# | MacOS | 9 | 2-3 years | Less than half a year | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry | 0.8.x | No | No | Debugging,Unit testing | speed | No | No, never. | Yes | 2 | Compilation times | Yes | I know about it, but don't use it. | No | No | Yes | Arbitrum,Polygon | Yul | Some improvement | Yes | Stack too deep,Bytecode size limit,Optimizer-related issues | Very easy | OTHER | It compiles to EVM bytecode | User defined types | OTHER | compiler errors | Yes | No | Yes | Sharing code,Contract splitting | proper SSA | 5 - More restrictive/explicit | I don't know/care | No, I don't like them. | Yes | Yes | storage accross different callback hooks | Yes | Positively | No, because I'm too busy with work / other things. | I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||
39 | Ukraine | OTHER | Ukrainian | Another language | English | English | Yes | Crypto | 3-5 years | Auditor / Security expert | I use Solidity at work and for personal projects. | Monthly | Solidity | Solidity | MacOS | 9 | 3-5 years | Less than half a year | Daily | Homebrew | Visual Studio Code / VSCode | Solidity Visual Auditor extension | Foundry,Remix | 0.8.x | No | No | Unit testing | No | Yes, I tried it. | No | No need | Compilation times,Not enough knowledge about it or its consequences. | No | I know about it, but don't use it. | No | No | Yes | Arbitrum,Optimism,Polygon,zkSync | Huff,Yul | Some improvement | No | Very easy | Static typing | Inline assembly | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | No | No | Proxy patterns | 3 - Staying as is | I don't know/care | Yes, they are great. | No | No | No, because I'm not interested in/qualified for that. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||
40 | Spain | Spanish | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer | I use Solidity at work. | Weekly | JavaScript | JavaScript | Linux | 8 | 3-5 years | Less than half a year | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Hardhat | 0.8.x | No | Yes | berlin | Deploy on chain | bytecode size | No | No, never. | What's via-IR? | What is that? | I don't know about it. | I don't know what that is. | I don't know what that is. | Yes | Polygon | None | Some improvement | Yes | Bytecode size limit | Very easy | Simplicity | Inline assembly | Stack too deep | Yes | No | Yes | Proxy patterns | non aware of any | 5 - More restrictive/explicit | I don't like them | Yes, they are great. | Yes | No | Yes | Positively | No, because I'm too busy with work / other things. | I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||||
41 | OTHER | Cuba | Spanish | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Never | Solidity | Python | MacOS | 7 | 2-3 years | Less than half a year | Weekly | npm,Via a framework / IDE,Other | solc-select | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | No | No | Debugging,Unit testing | Fully optimized code for example with via-ir take time to compile | No | No, never. | No | I will use it for future mainnet deployments, I don't have data for marking Yes | Compilation times,(Lack of) tooling support,Not enough knowledge about it or its consequences. | Yes | I don't know about it. | I don't know what that is. | No | Yes | Private EVM chains | None | Slight improvement | Yes | Stack too deep,Debugging issues,Optimizer-related issues | Okay | Similarity to other programming languages | OTHER | create2 | Stack too deep | Yes | No | Yes | Contract splitting | Generics | 2 | I don't know/care | Yes, they are great. | No | No | No, because I'm too busy with work / other things.,No, because I don't know how. | I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||
42 | Pakistan | Urdu | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Monthly | Solidity | Solidity | Linux | 7 | 3-5 years | Less than one year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Hardhat,Remix | 0.8.x | Yes | No | Extremely distruptive | Yes | paris | Deploy on chain,Debugging,Unit testing | No | No, never. | No | Stability/security concerns,Gas,(Lack of) tooling support | No | I know about it and use it. | via Sourcify directly | No | Yes | Yes | Arbitrum,Avalanche,Binance,Celo,Fantom,Optimism,Polygon,Private EVM chains,zkSync | Yul | Big improvement | Yes | Stack too deep,Bytecode size limit,Optimizer-related issues | Very easy | Easy to learn | Mappings | Stack too deep | Yes | No | Yes | Sharing code,Proxy patterns,Contract splitting | 3 - Staying as is | I like them | Yes, they are great. | Yes | Yes | No | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||
43 | OTHER | Romania | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Never | Solidity | Solidity | Windows | 10 - Expert | 2-3 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry,Hardhat | 0.6.x,0.7.x,0.8.x | No | No | Never | Whats the point of not optimizing on 0.8+ | No | No, never. | Yes | 1 | Compilation times | No | I don't know about it. | No | No | Yes | Gnosis Chain | Huff,Yul | Some improvement | No | Okay | Easy to read | Mappings | Stack too deep | Somewhat | No | No | No, because I'm too busy with work / other things. | I check the Solidity blog. | ||||||||||||||||||||||||||||||||||||||||||||||||||
44 | Italy | Italian | Another language | English | Native language | No | <1 year | Smart contract developer | I use Solidity for personal projects. | Never | Solidity | Solidity | MacOS | 5 | 7-12 months | Less than one month | Weekly | npm | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Hardhat | 0.8.x | Yes | Yes | Okay | No | I don’t know. I use my framework’s default settings. | - | I don't know what that is. | No, never. | What's via-IR? | What is that? | I know about it, but don't use it. | no | No | Yes | verify on etherscan | Yes | Arbitrum | None | Some improvement | No | Very easy | Simplicity | Contracts as objects | Gas usage: Missing other optimizations | - | Yes | No | No | idk | 3 - Staying as is | I don't know/care | I don't know/care. | No | No | No, because I'm not interested in/qualified for that. | I don't do any of the above. | ||||||||||||||||||||||||||||||||||||||||||
45 | India | Hindi | Another language | English | English | <1 year | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Monthly | Solidity | Solidity | Linux | 6 | 7-12 months | Less than half a year | Weekly | Package manager of a Linux distro (e.g. Arch),Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Remix | 0.8.x | No | Yes | shanghai (default) | Unit testing | I don't know what that is. | No, never. | Yes | Not enough knowledge about it or its consequences. | No | I don't know about it. | I don't know what that is. | I don't know what that is. | No | Cairo,Yul | Big improvement | No | Very easy | Syntax | Mappings | Stack too deep | Yes | No | I don't know/care | Yes, they are great. | No | No | No, because I don't know how. | I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||||||||||||||
46 | Turkey | Turkish | Another language | English | English | I am a student. | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Weekly | Python | Python | Windows | 8 | 2-3 years | Less than half a year | Daily | npm,Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Brownie,Hardhat,Remix | 0.8.x | No | No | No | Never | No | Yes, I tried it. | No | never needed it | (Lack of) tooling support | Yes | I know about it, but don't use it. | No | No | Yes | Arbitrum,Optimism,Polygon,Private EVM chains,OTHER | Flare, Songbird | Yul | Slight improvement | No | Okay | Similarity to other programming languages | Modifiers | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | No | better structs | 2 | I don't like them | Yes, they are great. | Yes | Yes | Yes | No change | No, because I'm too busy with work / other things.,No, because I don't know how. | I follow the Solidity Github release page.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||
47 | OTHER | Thailand | OTHER | Thai | Another language | English | English | No | 3-5 years | Smart contract developer | I use Solidity for personal projects. | Monthly | TypeScript | TypeScript | Linux | 5 | 1-2 years | More than one year | Monthly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry | 0.8.x | No | No | Never | I used what the foundry give me. | No | No, never. | Yes | 1 | (Lack of) tooling support,OTHER | Etherscan verification | Yes | I know about it, but don't use it. | No | No | Yes | Optimism | None | No change | Yes | Stack too deep | Okay | Simplicity | Mappings | Stack too deep | Somewhat | storage slot | No | No | 4 | I don't know/care | Yes, they are great. | Yes | No | Yes | No change | No, because I don't know how.,No, because I'm not interested in/qualified for that. | I don't do any of the above. | |||||||||||||||||||||||||||||||||||||||
48 | France | French | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Never | Python | Python | MacOS | 9 | 2-3 years | Less than one year | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Juan Blanco | Foundry | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | I don't know what that is. | No, never. | What's via-IR? | Yes | I don't know about it. | Sometimes | Yes | No | None | Some improvement | No | Okay | Easy to read | Mappings | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | Yes | Sharing code,Proxy patterns | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | I don't know/care | Yes | Positively | No, because I don't know how. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||||
49 | France | French | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer | I use Solidity at work and for personal projects. | Never | TypeScript | TypeScript | MacOS | 7 | 1-2 years | Less than one month | Monthly | Build from source | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | I don't know what that is. | No, never. | No | Long time compile | Compilation times | Yes | I know about it and use it. | via Sourcify directly | It’s slow | I don't know what that is. | No | Yes | Arbitrum | None | No change | No | Okay | Similarity to other programming languages | Mappings | Stack too deep | Somewhat | Better search system, better yul doc | No | No | None | 5 - More restrictive/explicit | I like them | Yes, they are great. | Yes | I don't know/care | Yes | Positively | No, because I don't know how. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||
50 | India | Hindi | Another language | English | English | No | 1-2 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Weekly | Solidity | Solidity | MacOS | 8 | 1-2 years | Less than half a year | Daily | npm,Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry | 0.8.x | No | No | Yes | homestead (support deprecated) | Never | for better gas savings | No | Yes, I tried it. | No | It takes too much time to compile, for small projects it's not necessary IMO. | Compilation times | Yes | I know about it, but don't use it. | Haven't used it so can't say anything. | No | No | No | Vyper,Yul | Big improvement | Yes | Stack too deep,Bytecode size limit | Very easy | Syntax | User defined types | Stack too deep | Somewhat | No | No | contract size limit should increase and more temp. variable can be assigned to avoid stack too deep | 1 - Less restrictive/explicit | I like them | Yes, they are great. | Yes | I don't know/care | No | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||||
51 | India | Hindi | Another language | English | English | No | 3-5 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Weekly | Solidity | Solidity | Windows | 10 - Expert | 7-12 months | Less than one month | Daily | GitHub releases | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Juan Blanco | Foundry,Hardhat,Remix | 0.8.x | No | No | Deploy on chain,Unit testing | No | Yes, I tried it. | What's via-IR? | Yes | I know about it, but don't use it. | No | I don't know what that is. | No | Yes | Arbitrum,Polygon | Vyper | Some improvement | No | Very easy | Easy to learn | Contracts as objects | Gas usage: Missing memory optimizations (waste of memory) | Yes | Yes | StorageWriteRemovalBeforeConditionalTermination,AbiEncodeCallLiteralAsFixedBytesBug,KeccakCaching | Yes | Proxy patterns | NA | 1 - Less restrictive/explicit | I don't like them | Yes, they are great. | Yes | No | Yes | Positively | No, because I'm not interested in/qualified for that. | I follow the Solidity Github release page.,I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||||||
52 | India | OTHER | Marathi | Another language | English | English | No | 6-10 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Monthly | Rust | Rust | MacOS | 8 | 5+ years | More than one year | Weekly | Via a framework / IDE,Other | I use svm-rs these days. | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry | 0.8.x | Yes | Yes | Extremely distruptive | Yes | paris | I don’t know. I use my framework’s default settings.,Never | I just set optimiser on with 200 runs, that's default. | No | No, never. | Yes | 3 | Compilation times | Yes | I know about it, but don't use it. | I just verify on etherscan and I think that is enough. | Sometimes | Yes | For deploying through remix and easy verification on etherscan. | No | Huff,Yul,OTHER | arbitrum stylus Rust. | Slight improvement | Yes | Debugging issues | I run into this issue where function selector is not present, it just reverts with no return data. That is not helpful. | Okay | Similarity to other programming languages | Inline assembly | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | Yes | Contract splitting | Generics! | 3 - Staying as is | I like them | Yes, they are great. | Yes | No | Yes | No change | Yes, I participated in forum discussions at forum.soliditylang.org.,Yes, I joined one or more of the language design discussion calls or language user feedback calls.,Yes, I proposed features or changes to the language as a Github issue. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||
53 | OTHER | Algeria | Arabic | Another language | English | Native language | No | 1-2 years | Smart contract developer | I use Solidity at work. | Weekly | TypeScript | Solidity | Windows | 7 | 7-12 months | Less than half a year | Daily | Build from source,Via a framework / IDE | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | Yes | Yes | Not disruptive at all | Yes | istanbul | I don’t know. I use my framework’s default settings. | Idk | I don't know what that is. | Yes, I tried it. | What's via-IR? | Yes | I don't know about it. | I don't know what that is. | No | Yes | Polygon,zkSync | Vyper,Yul | Some improvement | No | Very easy | Easy to learn | Inline assembly | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | Yes | VerbatimInvalidDeduplication,DirtyBytesArrayToStorage,DataLocationChangeInInternalOverride | I don't know what that is. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||||||
54 | India | Hindi | Another language | English | English | I am a student. | 1-2 years | Smart contract developer,Auditor / Security expert | I use Solidity for personal projects. | Never | Solidity | Solidity | MacOS | 8 | 1-2 years | Less than half a year | Daily | GitHub releases,npm,Via a framework / IDE | Visual Studio Code / VSCode | None | Foundry,Hardhat,Remix | 0.8.x | No | No | I don’t know. I use my framework’s default settings.,Debugging,Unit testing | solidity | Yes | encoding strings | Yes, I tried it. | No | I dont know | Compilation times,Gas,Not enough knowledge about it or its consequences. | No | I don't know about it. | No | No | No | Sway,Vyper,Yul | Some improvement | No | Okay | Syntax | Dynamic arrays | Stack too deep | Yes | No | No | using error code in require statement | 3 - Staying as is | I like them | No, I don't like them. | No | No | No, because I'm too busy with work / other things. | OTHER | YouTube | ||||||||||||||||||||||||||||||||||||||||||||
55 | OTHER | Cyprus | Russian | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer | I use Solidity at work. | Daily | JavaScript | Kotlin | MacOS | 7 | 1-2 years | I don't feel productive yet. | Rarely | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Hardhat | 0.8.x | No | No | Debugging,Unit testing | No | No, never. | No | don't feel it's stable enough | Stability/security concerns,Not enough knowledge about it or its consequences. | What is that? | I don't know about it. | No | No | Yes | Arbitrum,Optimism | Huff,Vyper,Yul | No change | Yes | Stack too deep,Bytecode size limit,Debugging issues | Okay | Static typing | User defined types | Stack too deep | Yes | No | No | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | I don't know/care | No | No, because I'm too busy with work / other things. | I don't do any of the above. | |||||||||||||||||||||||||||||||||||||||||||
56 | OTHER | Sénégal | French | Another language | English | English | No | 6-10 years | Smart contract developer | I use Solidity at work and for personal projects. | Monthly | TypeScript | Python | MacOS | 7 | 5+ years | Less than one year | Daily | Build from source,Homebrew,Via a framework / IDE | Visual Studio Code / VSCode | None | Foundry,Remix | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | No | No, never. | What's via-IR? | No | I know about it, but don't use it. | I don't know what that is. | Yes | To easily feed them to Large Language Models (LLM) | No | Vyper,Yul | Some improvement | No | Okay | Easy to learn | Contracts as objects | OTHER | Auditability | Yes | No | No | Don't know | 4 | I like them | Yes, they are great. | No | No | No, because I don't know how. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||||
57 | OTHER | Nepal | OTHER | Nepali | Another language | English | English | No | 3-5 years | Smart contract developer,Academic researcher | I use Solidity for personal projects. | Never | Solidity | Solidity | Windows | 6 | 1-2 years | Less than half a year | Daily | npm,solc-bin (binaries.soliditylang.org),Via a framework / IDE | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | Yes | Yes | Okay | No | I don’t know. I use my framework’s default settings.,Deploy on chain,Debugging,Unit testing | for initial project phase. | I don't know what that is. | No, never. | What's via-IR? | What is that? | I don't know about it. | I don't know what that is. | I don't know what that is. | Yes | Arbitrum,Avalanche,Optimism,Polygon | Cairo | Some improvement | Yes | Debugging issues | Very easy | Similarity to other programming languages | Mappings | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | Yes | Proxy patterns | 3 - Staying as is | I don't like them | Yes, they are great. | No | Yes | No | No, because I don't know how. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
58 | Pakistan | Urdu | Another language | English | English | No | <1 year | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Weekly | Solidity | Python | Linux | 8 | 1-2 years | Less than one month | Daily | GitHub releases,solc-bin (binaries.soliditylang.org),Via a framework / IDE | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | Yes | No | Okay | Yes | berlin | I don’t know. I use my framework’s default settings.,Never | No | No, never. | What's via-IR? | Yes | I don't know about it. | No | No | Yes | Optimism,Polygon,zkSync | None | Some improvement | Yes | Debugging issues,Optimizer-related issues | Very easy | Syntax | Contracts as objects | Compiler performance (runtime of compilation) | Yes | No | I don't know what that is. | 5 - More restrictive/explicit | I don't like them | Yes, they are great. | No | No | No, because I'm not interested in/qualified for that. | I follow the Solidity Github release page. | |||||||||||||||||||||||||||||||||||||||||||||
59 | India | Hindi | Another language | English | English | I am a student. | 1-2 years | Smart contract developer,Auditor / Security expert | I use Solidity for personal projects. | Monthly | Solidity | Solidity | Windows | 8 | 7-12 months | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | No | No | shanghai (default) | I don’t know. I use my framework’s default settings. | I don't know what that is. | Yes, I tried it. | Yes | 2 | Compilation times,Stability/security concerns | Yes | I don't know about it. | I don't know what that is. | I don't know what that is. | Yes | Arbitrum,Avalanche,Polygon,OTHER | Anvil | None | Slight improvement | No | Very easy | Simplicity | Modifiers | Stack too deep | Somewhat | Give some examples on how to use something. For example in case of yul the explanation is not good, there are no examples on how to use it nor they explain it. Docs are not beginner friendly and explanation is not sufficient for one to understand. | No | Yes | Sharing code,Contract splitting | .. | 3 - Staying as is | I don't like them | Yes, they are great. | No | Yes | Positively | No, because I'm too busy with work / other things. | I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
60 | OTHER | Serbia | Serbian | Another language | English | English | Yes | Crypto | 6-10 years | Tooling developer | I use Solidity at work and for personal projects. | Monthly | Rust | Rust | Linux | 8 | 2-3 years | Less than half a year | Rarely | Ethereum PPA for Ubuntu,Via a framework / IDE | Sublime | Hardhat | 0.8.x | Yes | Yes | Extremely distruptive | No | Debugging,Unit testing | slow | No | No, never. | No | dogshit output and slow | Compilation times,Stability/security concerns,Not enough knowledge about it or its consequences. | Yes | I know about it and use it. | via Foundry | no | No | No | Yes | Optimism,OTHER | redstone | Vyper | No change | Yes | Stack too deep,Optimizer-related issues | Very easy | Simplicity | Unbounded loops | Compiler performance (runtime of compilation) | Somewhat | No | No | 2 | I don't know/care | No, I don't like them. | Yes | No | Yes | No change | Yes, I proposed features or changes to the language as a Github issue. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||
61 | United States of America | Spanish | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer | I use Solidity at work. | Never | Solidity | Solidity | MacOS | 8 | 2-3 years | Less than half a year | Daily | Homebrew,Via a framework / IDE | Visual Studio Code / VSCode | None | Foundry | 0.8.x | No | No | Debugging,Unit testing | No | No, never. | No | Stability/security concerns | Yes | I don't know about it. | No | No | Yes | Arbitrum | Fe,Huff,Vyper | Big improvement | Yes | Stack too deep,Bytecode size limit,Debugging issues | Okay | Simplicity | Mappings | Stack too deep | Somewhat | More depth into Solidity and EMV interactions. Also more documentation on new features from last releases. | No | Yes | Proxy patterns | 3 - Staying as is | I like them | Yes, they are great. | Yes | Yes | No | No, because I'm too busy with work / other things. | I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||
62 | France | French | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer | I use Solidity at work. | Never | Solidity | Rust | MacOS | I don't know what that is. | I don't know what that is. | No | None | No change | Yes | Stack too deep | Very easy | Easy to read | Contracts as objects | Stack too deep | Yes | No | No | / | 4 | I like them | No, I don't like them. | No | No | No, because I'm too busy with work / other things.,No, because I'm not interested in/qualified for that. | I don't do any of the above. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
63 | Another language | Native language | Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
64 | France | French | Another language | English | English | No | 3-5 years | Smart contract developer | I use Solidity at work. | Monthly | JavaScript | JavaScript | Windows | 5 | 7-12 months | Less than half a year | Monthly | npm | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | No | No | Okay | No | Unit testing | No | Yes, I use it frequently. | What's via-IR? | Yes | I don't know about it. | I don't know what that is. | No | Yes | Binance,Gnosis Chain,Optimism,Polygon | None | Some improvement | No | Okay | Easy to learn | Mappings | Stack too deep | Yes | No | Yes | Proxy patterns | 2 | I don't like them | I don't know/care. | Yes | No | Yes | Positively | No, because I don't know how. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||
65 | Italy | OTHER | Dutch | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Daily | TypeScript | TypeScript | Linux | 9 | 1-2 years | Less than one month | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat | 0.8.x | No | No | Never | Optimizing is fast and automatic | I don't know what that is. | Yes, I tried it. | What's via-IR? | Yes | I know about it and use it. | via Hardhat | No | No | No | Yes | Polygon | None | I don't know | No | Very easy | Simplicity | Mappings | OTHER | Contract size limit | Yes | No | No | 3 - Staying as is | I don't know/care | Yes, they are great. | No | No | No, because I'm not interested in/qualified for that. | I don't do any of the above. | |||||||||||||||||||||||||||||||||||||||||||
66 | Turkey | Turkish | Another language | English | English | Yes | Telecommunications | <1 year | Auditor / Security expert | I use Solidity for personal projects. | Never | Solidity | Solidity | Linux | 4 | 3-6 months | Less than half a year | Daily | GitHub releases | Visual Studio Code / VSCode | Ethereum Remix extension,Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Remix | 0.8.x | Yes | Yes | Okay | Yes | london | I don’t know. I use my framework’s default settings. | No | Yes, I tried it. | Yes | 2 | Not enough knowledge about it or its consequences. | What is that? | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Avalanche | None | Big improvement | No | Okay | Static typing | Modifiers | Stack too deep | Yes | No | No | decompilation | 3 - Staying as is | I don't like them | I don't know/care. | No | No | No, because I don't know how. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||
67 | Nigeria | English | Another language | English | No | 1-2 years | Smart contract developer | I use Solidity at work and for personal projects. | Monthly | Solidity | JavaScript | Windows | 5 | 1-2 years | I don't feel productive yet. | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat | 0.8.x | Yes | Yes | Okay | No | I don’t know. I use my framework’s default settings. | I don't know what that is. | No, never. | What's via-IR? | No | I don't know about it. | I don't know what that is. | I don't know what that is. | No | None | Slight improvement | Yes | Stack too deep,Debugging issues,Optimizer-related issues | Okay | Easy to read | Modifiers | Stack too deep | Somewhat | No | No | 2 | I don't know/care | No | No | No, because I'm too busy with work / other things.,No, because I don't know how. | I don't do any of the above. | |||||||||||||||||||||||||||||||||||||||||||||||||
68 | United States of America | French | Another language | English | English | Yes | Crypto | Tooling developer | I use Solidity at work. | Never | Python | Python | MacOS | 9 | 2-3 years | Less than half a year | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry | 0.8.x | Yes | Yes | Okay | No | Debugging | coverage report doesn't work with optimizations | No | Yes, I tried it. | Yes | 3 | Compilation times,Gas,(Lack of) tooling support | Yes | I know about it, but don't use it. | Yes | metadata doesn't belong in bytecode | No | Yes | Optimism,Polygon | Huff,Yul | Got worse | legacy pipeline vs via-ir is a big mess | Very easy | Easy to learn | Inline assembly | Compiler performance (runtime of compilation) | Yes | No | No | better looping syntax, better custom errors syntax, better in-memory array literals | 3 - Staying as is | I don't like them | Yes, they are great. | Yes | No | Yes | Positively | No, because I'm too busy with work / other things.,No, because I don't know how. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||
69 | OTHER | syria | Arabic | Another language | English | English | No | 3-5 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Never | Solidity | Solidity | Linux | 7 | 1-2 years | I don't feel productive yet. | Weekly | GitHub releases | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry | 0.8.x | No | No | Never | N/A | No | Yes, I tried it. | What's via-IR? | No | I don't know about it. | I don't know what that is. | I don't know what that is. | Yes | Optimism,Polygon,zkSync | Cairo | Some improvement | No | Very easy | Easy to read | Modifiers | Compiler performance (runtime of compilation) | Somewhat | more organization | No | No | N/A | 3 - Staying as is | I don't like them | I don't know/care. | Yes | I don't know/care | No | No, because I don't know how. | |||||||||||||||||||||||||||||||||||||||||||||
70 | OTHER | Bangladesh | Bengali | Another language | English | English | I am a student. | I've never coded as part of my job. | Auditor / Security expert | I use Solidity at work. | Never | Solidity | Solidity | Windows | 4 | 3-6 months | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Auditor extension | Foundry | 0.8.x | No | No | homestead (support deprecated) | I don’t know. I use my framework’s default settings.,Never | I don't know what that is. | No, never. | What's via-IR? | What is that? | I don't know about it. | I don't know what that is. | No | No | None | Slight improvement | No | Okay | Easy to learn | Modifiers | Somewhat | No | No | 3 - Staying as is | I don't know/care. | No | No | No, because I don't know how.,No, because I'm not interested in/qualified for that. | OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||
71 | Pakistan | Urdu | Another language | English | Native language | No | I've never coded as part of my job. | Smart contract developer | I use Solidity for personal projects. | Never | JavaScript | OTHER | Javascript and Solidity Both | Windows | 5 | 3-6 months | Less than half a year | Weekly | Via a framework / IDE | OTHER | Remix IDE and rarely VS code | Remix | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | I don't know what that is. | No, never. | What's via-IR? | No | I don't know about it. | I don't know what that is. | I don't know what that is. | No | None | Some improvement | No | Very easy | Similarity to other programming languages | User defined types | Compiler performance (runtime of compilation) | Somewhat | More Easy to read docs would be better option for a beginner like me. | No | No | 4 | I don't like them | Yes, they are great. | Yes | I don't know/care | No | No, because I don't know how.,No, because I'm not interested in/qualified for that. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||||
72 | Spain | Spanish | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Weekly | TypeScript | Solidity | Linux | 9 | 5+ years | Less than one year | Daily | npm,solc-bin (binaries.soliditylang.org),Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,OTHER | Catapulta.sh | 0.8.x | No | No | paris | Unit testing | Coverage testing disables optimization in most frameworks | No | No, never. | No | smart contract verifications sometimes fail with via ir | Compilation times,(Lack of) tooling support | Yes | I know about it and use it. | via Foundry | Sometimes | No | Yes | Arbitrum,Avalanche,Binance,Fantom,Gnosis Chain,Optimism,Polygon,zkSync | None | Some improvement | Yes | Bytecode size limit | Very easy | Easy to read | Contracts as objects | Compiler performance (runtime of compilation) | Yes | No | Yes | Sharing code,Proxy patterns,Contract splitting | Deprecation of libraries, very painful in complex projects and tooling support is limited | 3 - Staying as is | I like them | Yes, they are great. | No | Yes | No change | No, because I don't know how. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||
73 | India | Hindi | Another language | English | English | Yes | Media / Gaming | 3-5 years | Other | Unity Developer | I use Solidity for personal projects. | Never | C# | Solidity | Windows | 6 | 7-12 months | More than one year | Weekly | npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Hardhat | 0.8.x | Yes | No | Okay | Debugging | No | No, never. | What's via-IR? | Yes | I don't know about it. | I don't know what that is. | No | No | None | Big improvement | No | Okay | Simplicity | Modifiers | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | No | No | 3 - Staying as is | I don't like them | Yes, they are great. | No | No | No, because I don't know how. | I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||||
74 | OTHER | Romania | Romanian | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Monthly | Solidity | TypeScript | MacOS | 7 | 2-3 years | Less than half a year | Daily | GitHub releases,npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | No | No | Never | No | No, never. | Yes | 2 | Compilation times,Stability/security concerns,Not enough knowledge about it or its consequences. | Yes | I know about it, but don't use it. | No | No | Yes | Polygon | Yul | Big improvement | No | Okay | Simplicity | Contracts as objects | Stack too deep | Yes | No | Yes | Proxy patterns,Contract splitting | Contract size increase and fixing stack too deep | 1 - Less restrictive/explicit | I don't like them | I don't know/care. | Yes | No | Integrating complex behaviours sucj | No | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
75 | United Kingdom | German | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Weekly | Solidity | TypeScript | MacOS | 8 | 2-3 years | Less than one year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry | 0.8.x | No | No | Unit testing | compiles more quickly | No | Yes, I tried it. | Yes | 3 | Compilation times,Stability/security concerns | Yes | I know about it, but don't use it. | No | No | No | Huff,Yul | Big improvement | No | Very easy | Similarity to other programming languages | Inline assembly | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | Yes | Sharing code | extended type system | 2 | I like them | I don't know/care. | Yes | Yes | one contract calling into multiple contracts multiple times (mapping of contract -> data) | No | No change | Yes, I participated in forum discussions at forum.soliditylang.org.,Yes, I proposed features or changes to the language as a Github issue. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
76 | OTHER | Hungary | OTHER | Hungarian | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Monthly | Solidity | Solidity | Linux | 7 | 1-2 years | Less than one year | Daily | npm,Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Hardhat | 0.8.x | No | Yes | constantinople | I don’t know. I use my framework’s default settings. | uh idk | No | No, never. | Yes | 3 | Compilation times,Not enough knowledge about it or its consequences. | No | I don't know about it. | No | No | No | Vyper,Yul | Some improvement | Yes | Stack too deep | Okay | Easy to read | Contracts as objects | Stack too deep | Yes | No | Yes | Sharing code,Contract splitting | Enum data types | 4 | I don't like them | I don't know/care. | Yes | Yes | - | Yes | Positively | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||
77 | Germany | German | Another language | English | English | Yes | Financial Services | 6-10 years | Smart contract developer,Tooling developer,Auditor / Security expert | I use Solidity at work. | Daily | Solidity | Rust | MacOS | 7 | 1-2 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry | 0.5.x,0.6.x,0.8.x | No | No | I don’t know. I use my framework’s default settings. | No | No, never. | No | Slow compilation / broken verification | Compilation times,Stability/security concerns | Yes | I don't know about it. | Sometimes | No | No | Yul | Big improvement | Yes | OTHER | Vérification issues | Okay | Similarity to other programming languages | Mappings | Compiler performance (runtime of compilation) | Somewhat | No | Yes | Sharing code,Contract splitting | Better debugging, better compilation times, better optimizer | I don't know/care | I don't know/care. | Yes | I don't know/care | No | No, because I'm too busy with work / other things.,No, because I'm not interested in/qualified for that. | I follow the Solidity Github release page.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||
78 | OTHER | Serbia | OTHER | Serbian | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer | I use Solidity at work and for personal projects. | Daily | Solidity | Solidity | MacOS | 9 | 2-3 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | None | Foundry | 0.8.x | Yes | Yes | Okay | Yes | shanghai (default) | I don’t know. I use my framework’s default settings. | It's default | No | No, never. | Yes | 5 | Compilation times,Stability/security concerns | Yes | I don't know about it. | No | No | Yes | Binance,Polygon,OTHER | Base | None | Big improvement | Yes | Stack too deep | Very easy | Static typing | User defined types | Stack too deep | Yes | No | Yes | Sharing code,Proxy patterns,Contract splitting | Float numbers | 5 - More restrictive/explicit | I don't like them | I don't know/care. | No | I don't know/care | No | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||
79 | Argentina | Spanish | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Never | JavaScript | Solidity | Windows | 5 | 2-3 years | Less than half a year | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry | 0.8.x | No | Yes | paris | I don’t know. I use my framework’s default settings. | No sure why using unoptimized code would be better | I don't know what that is. | No, never. | No | Manual optimization | Gas | No | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Polygon | Yul | Big improvement | Yes | Stack too deep | Okay | Syntax | Inline assembly | Stack too deep | Somewhat | Add better examples | No | No | float | 1 - Less restrictive/explicit | I don't like them | I don't know/care. | No | No | No, because I don't know how. | I follow the Solidity Github release page. | |||||||||||||||||||||||||||||||||||||||||
80 | OTHER | Thailand | French | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer,Other | Backend | I use Solidity at work. | Never | TypeScript | TypeScript | MacOS | 8 | 5+ years | Less than one year | Monthly | npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Hardhat | 0.8.x | No | No | Never | No | No, never. | What's via-IR? | Yes | I know about it, but don't use it. | I don't know what that is. | No | Yes | Polygon | None | Big improvement | No | Very easy | Simplicity | User defined types | Stack too deep | Yes | No | No | Contract splitting | 5 - More restrictive/explicit | I don't know/care | Yes, they are great. | No | No | No, because I'm not interested in/qualified for that. | I don't do any of the above. | |||||||||||||||||||||||||||||||||||||||||||||
81 | OTHER | Malaysia | Mandarin | Another language | English | English | Yes | Technology | 3-5 years | Smart contract developer | I use Solidity at work. | Daily | Solidity | TypeScript | MacOS | 7 | 2-3 years | Less than one year | Daily | npm,Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry,Hardhat | 0.8.x | No | No | Debugging,OTHER | Code coverage | No | No, never. | No | Most block explorers do not support directly verifying contracts that are compiled with via-ir. I had recently learned that verification can pass using standard json input. | Compilation times,Not enough knowledge about it or its consequences. | No | I don't know about it. | I don't know what that is. | Yes | It is faster to copy and paste flattened contracts directly to verify them on block explorers, because sometimes it takes way too long to verify unflattened code via API. | Yes | Polygon,Private EVM chains | None | Slight improvement | Yes | Stack too deep,Debugging issues | Okay | Syntax | Modifiers | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | No | Yes | Sharing code,Contract splitting | 3 - Staying as is | I don't like them | I don't know/care. | No | No | No, because I'm too busy with work / other things.,No, because I don't know how.,No, because I'm not interested in/qualified for that. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||
82 | India | Hindi | Another language | English | English | Yes | Technology | 1-2 years | Smart contract developer | I use Solidity for personal projects. | Monthly | Java | JavaScript | Windows | 3 | 3-6 months | Less than half a year | Daily | Other | yarn | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Dapp,Hardhat | 0.8.x | No | No | Never | No | What's via-IR? | Yes | I don't know about it. | Sometimes | I don't know what that is. | No | None | Some improvement | Yes | Debugging issues | Okay | Similarity to other programming languages | Contracts as objects | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | No | Yes | Proxy patterns | NA | 3 - Staying as is | I like them | Yes, they are great. | No | No | No, because I don't know how. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||||
83 | OTHER | Israel | OTHER | Hebrew | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer | I use Solidity at work and for personal projects. | Never | Solidity | JavaScript | Linux | 9 | 5+ years | Less than half a year | Daily | Via a framework / IDE | Foundry | Vim | Foundry | 0.8.x | No | No | Unit testing | Foundry default | No | No, never. | No | Too many people saying it's unstable + no verification on etherscan | Stability/security concerns,(Lack of) tooling support,Not enough knowledge about it or its consequences. | What is that? | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Polygon | None | Some improvement | Yes | Stack too deep | Difficult | Back in 2017 there was very little documentation | Simplicity | Using for | OTHER | No hashmaps, limited ops on memory vars, no generics | Yes | No | No | Generics, ufixed | 1 - Less restrictive/explicit | I don't know/care | Yes, they are great. | Yes | Yes | https://twitter.com/Tudmotu/status/1696112301986693562?t=VnTwaag4HmuUEZIN4S7_Jw&s=19 | Yes | Positively | Yes, I participated in forum discussions at forum.soliditylang.org. | I don't do any of the above. | ||||||||||||||||||||||||||||||||||||
84 | Italy | Italian | Another language | English | English | Yes | Crypto | 1-2 years | Other | Web3 Developer | I use Solidity at work. | Never | TypeScript | Rust | Linux | 4 | 3-6 months | I don't feel productive yet. | Rarely | npm | OTHER | Neovim | None | Foundry,Remix | 0.8.x | Yes | Yes | Okay | No | I don’t know. I use my framework’s default settings. | No | No, never. | What's via-IR? | No | I don't know about it. | I don't know what that is. | No | No | None | Slight improvement | No | Okay | OTHER | Overall I don't like that much Solidity. Imo inheritance is bad, and in general the whole DX feels clunky | Inline assembly | Compiler performance (runtime of compilation) | Yes | No | No | I don't know | 5 - More restrictive/explicit | I don't like them | Yes, they are great. | Yes | Yes | I don't know mine, but plenty of people want it | Yes | No change | No, because I'm too busy with work / other things.,No, because I don't know how.,No, because I'm not interested in/qualified for that. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||
85 | OTHER | Another language | English | English | Yes | Crypto | 1-2 years | Smart contract developer,Tooling developer | I use Solidity at work and for personal projects. | Weekly | Solidity | Solidity | MacOS | 8 | 2-3 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode",Solidity Visual Auditor extension | Foundry | 0.8.x | No | No | Compilation times | Yes | Polygon | Yul | Some improvement | Stack too deep | Yes | No | 1 - Less restrictive/explicit | Yes, they are great. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
86 | Turkey | Turkish | Another language | English | English | Yes | Crypto | 3-5 years | Smart contract developer,Other | Fullstack Blockchain Developer. Doing backend/frontend/smart contract development | I use Solidity at work. | Never | Solidity | TypeScript | MacOS | 8 | 1-2 years | Less than half a year | Daily | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Hardhat | 0.8.x | No | No | I don’t know. I use my framework’s default settings.,Unit testing | No | No, never. | No | OTHER | I dont know whar it is | Yes | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Avalanche | None | I don't know | Yes | Stack too deep,Bytecode size limit | Okay | Similarity to other programming languages | Mappings | Gas usage: Missing other optimizations | It is hard to test gas usage of different versions of the code and decide on the gas optimized version of it | Yes | No | No | If possible gas usag estimation for a code block. Could give range for optimistic, worst case, average scenarios based on random inputs | 3 - Staying as is | I don't know/care | No, I don't like them. | No | No | No, because I'm too busy with work / other things.,No, because I don't know how.,No, because I'm not interested in/qualified for that. | OTHER | I generally check the solidity compiler versions of respected projects and use those | |||||||||||||||||||||||||||||||||||||||||
87 | United Kingdom | OTHER | Polish | Another language | English | English | Yes | Other | <1 year | Other | Full stack develoer | I use Solidity for personal projects. | Never | TypeScript | TypeScript | Linux | 5 | 1-2 years | I don't feel productive yet. | Monthly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Hardhat | 0.8.x | No | No | I don’t know. I use my framework’s default settings. | 200 runs | I don't know what that is. | No, never. | What's via-IR? | Yes | I don't know about it. | I don't know what that is. | No | No | None | Some improvement | No | Okay | Similarity to other programming languages | Mappings | Gas usage: Missing memory optimizations (waste of memory) | Yes | No | Yes | Contract splitting | not sure | 5 - More restrictive/explicit | I don't like them | I don't know/care. | No | No | No, because I'm not interested in/qualified for that. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||
88 | Germany | Russian | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Tooling developer | I use Solidity at work. | Daily | TypeScript | TypeScript | MacOS | 7 | 1-2 years | Less than half a year | Daily | Homebrew,GitHub releases,solc-bin (binaries.soliditylang.org) | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat | 0.7.x,0.8.x | Yes | Yes | Not disruptive at all | Yes | paris | Deploy on chain | Yes | more gas and bytecode size efficient | No, never. | Yes | 1 | Not enough knowledge about it or its consequences. | Yes | I know about it and use it. | via Hardhat | no | Yes | deterministic deployments | No | Yes | Arbitrum,Avalanche,Binance,Celo,Gnosis Chain,Optimism,Polygon,zkSync | Yul | Some improvement | Yes | Stack too deep,Bytecode size limit,Debugging issues | Very easy | Simplicity | Inline assembly | Stack too deep | Yes | No | No | abi.decode with calldata | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | Yes | taking a snapshot of a few state variables before the execution and checking them at the end (the execution can alter them but not always) | No | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog. | |||||||||||||||||||||||||||||||||||
89 | Switzerland | Greek | Another language | English | English | Yes | Other | 6-10 years | Smart contract developer,Tooling developer | I use Solidity at work. | Never | TypeScript | Solidity | Linux | 8 | 2-3 years | Less than half a year | Weekly | Via a framework / IDE,Other | solc-select | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Foundry,Hardhat | 0.8.x | No | No | Unit testing | Coverage testing only works with unoptimized code | No | No, never. | What's via-IR? | No use case for it yet in my current project | Yes | I know about it and use it. | OTHER | via custom script that interacts directly with sourcify (copy of Hardhat plugin code) | sometimes it's flaky | No | No | Yes | Celo,Polygon | None | Slight improvement | Yes | Stack too deep,Bytecode size limit,Debugging issues | Okay | Simplicity | Contracts as objects | OTHER | Bytecode size limit | Yes | No | No | Transient storage | 4 | I don't know/care | Yes, they are great. | Yes | Yes | Carry out computations that are more effiecient with the use of a mapping vs an array | Yes | No change | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||
90 | OTHER | Venezuela | Spanish | Another language | English | English | No | 3-5 years | Auditor / Security expert | I use Solidity at work. | Never | Solidity | Python | Linux | 8 | 2-3 years | More than one year | Daily | Build from source | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Remix | 0.8.x | Yes | No | Okay | Yes | istanbul | I don’t know. I use my framework’s default settings. | No | No, never. | What's via-IR? | No | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Optimism | Yul | Big improvement | No | Very easy | Easy to read | Contracts as objects | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | No | No | Handle storage | 5 - More restrictive/explicit | I don't know/care | Yes, they are great. | No | No | No, because I'm too busy with work / other things. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||
91 | Portugal | Portuguese | Another language | English | English | Yes | Financial Services | 11-15 years | Smart contract developer | I use Solidity at work. | Never | Solidity | TypeScript | Linux | 8 | 3-5 years | More than one year | Daily | npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat | 0.8.x | No | No | Never | No | No, never. | What's via-IR? | No | I know about it, but don't use it. | I don't know what that is. | No | Yes | Arbitrum,Avalanche,Binance,Optimism,Polygon | None | Some improvement | Yes | Stack too deep,Bytecode size limit | Okay | Syntax | Modifiers | Stack too deep | Yes | No | No | 3 - Staying as is | I like them | I don't know/care. | No | No | No, because I'm not interested in/qualified for that. | I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||||
92 | Germany | Portuguese | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer,Other | Systems engineer | I use Solidity at work. | Daily | Rust | Rust | Linux | 8 | 2-3 years | Less than one month | Daily | Dockerhub,npm | Visual Studio Code / VSCode | Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.7.x,0.8.x | Yes | Yes | Okay | Yes | paris | Deploy on chain | Security reasons. AFAIU, there were findings that the optimizer in 0.7 and 0.8 should not be used for security critical code. | No | No, never. | Yes | 0 | Stability/security concerns | Yes | I know about it and use it. | via Hardhat | Have run into verification bugs in the past. Recently ran into an issue with verification failing for when compiling with a specific 0.8 version with a custom EVM target (paris) - although it might have been user error. | No | No | Yes | Gnosis Chain,Optimism,Polygon,zkSync | Yul | Some improvement | Yes | Stack too deep | Very easy | Easy to learn | User defined types | OTHER | I have needed to use assembly in every contract that I deployed (beyond using assembly just for optimisation purposes), it feels like the language is currently not expressive enough to meet standard "real-world" use-cases. | Yes | No | No | 4 | I don't know/care | I don't know/care. | Yes | Yes | Transient storage of user operation information in the context of ERC-4337 for example. | No | No, because I don't know how. | I follow the Solidity Github release page. | |||||||||||||||||||||||||||||||||||
93 | Germany | German | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer | I use Solidity at work and for personal projects. | Weekly | TypeScript | Rust | Linux | 8 | 5+ years | Less than half a year | Weekly | GitHub releases,npm,Package manager of a Linux distro (e.g. Arch) | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco | Hardhat,Remix | 0.7.x,0.8.x | No | No | Deploy on chain | The optimizer adds an additional process step which introduces additional security risk. Our auditors advice us to only use the optimizer if necessary, otherwise it is a good choice to remove this risk. | No | Yes, I tried it. | No | Compiler errors that had to be fixed over time | Stability/security concerns,Gas | Yes | I know about it and use it. | via Hardhat | Immutable support was not stable when we started using it | No | No | Yes | Arbitrum,Avalanche,Binance,Celo,Gnosis Chain,Optimism,Polygon,zkSync | Yul | Slight improvement | Yes | Stack too deep,Bytecode size limit | Okay | Static typing | Inline assembly | Stack too deep | Somewhat | No | No | fully stable IR that can be formally verified | 2 | I don't know/care | Yes, they are great. | Yes | No | Yes | Positively | No, because I'm too busy with work / other things. | I follow the Solidity Github release page.,I check the Solidity blog. | |||||||||||||||||||||||||||||||||||||||
94 | Germany | OTHER | Another language | English | English | Yes | Technology | 3-5 years | Other | I use Solidity at work. | Monthly | Rust | Rust | Linux | 10 - Expert | 2-3 years | Less than one year | Monthly | Via a framework / IDE | Emacs | Emacs Solidity | Foundry | 0.8.x | Yes | Yes | Okay | No | Debugging,Unit testing,OTHER | when via ir is slow 🦥 | Yes | To make CTF challenges | Yes, I tried it. | Yes | 25 | Compilation times | Yes | I know about it and use it. | via Foundry | No | Yes | Getting predictable bytecode | No | Yes | Arbitrum,Optimism,Polygon,Private EVM chains | Yul | Got worse | Slower releases, and not many new features | Yes | OTHER | Slow via-ir | Very easy | Easy to learn | Contracts as objects | Compiler performance (runtime of compilation) | Yes | No | No | Faster via-ir and the rust rewrite 🦀 | 3 - Staying as is | I like them | No, I don't like them. | Yes | Yes | Uni V4 hooks | Yes | Positively | Yes, I participated in forum discussions at forum.soliditylang.org.,Yes, I joined one or more of the language design discussion calls or language user feedback calls.,Yes, I proposed features or changes to the language as a Github issue. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||
95 | France | French | Another language | English | English | Yes | Crypto | 11-15 years | Smart contract developer | I use Solidity at work. | Monthly | Solidity | Java | Linux | 7 | 1-2 years | Less than one year | Daily | Via a framework / IDE | IntelliJ | IntelliJ IDEA plugin | Foundry,Hardhat | 0.8.x | No | No | Never | I want an optimized code, in terms of size and gas consumption. | I don't know what that is. | No, never. | No | I haven't found any official information on the production-ready status of the feature! | Not enough knowledge about it or its consequences. | Yes | I don't know about it. | I don't know what that is. | I don't know what that is. | No | None | Some improvement | Yes | Stack too deep,Bytecode size limit | Okay | Easy to learn | Contracts as objects | OTHER | Bytecode size limit | Yes | No | Yes | Proxy patterns,Contract splitting | Solution to bytecode size limit/ | 4 | I don't like them | Yes, they are great. | No | No | No, because I'm too busy with work / other things. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||
96 | Italy | Italian | Another language | English | English | I am a student. | I've never coded as part of my job. | Auditor / Security expert | I use Solidity for personal projects. | Never | JavaScript | OTHER | R | Linux | 8 | 2-3 years | Less than one year | Weekly | npm | Sublime | Hardhat | 0.8.x | No | No | Never | No | No, never. | Yes | No concerns,Not enough knowledge about it or its consequences. | No | I don't know about it. | I don't know what that is. | No | Yes | Arbitrum,Optimism,Polygon,Private EVM chains | Yul | I don't know | No | Okay | Syntax | Mappings | Gas usage: Redundant checks (e.g. in checked arithmetic) | Yes | No | No | 1 - Less restrictive/explicit | I don't like them | I don't know/care. | Yes | No | No | No, because I don't know how.,No, because I'm not interested in/qualified for that. | OTHER | discord | ||||||||||||||||||||||||||||||||||||||||||||||
97 | India | OTHER | Odia | Another language | English | English | I am a student. | I've never coded as part of my job. | Smart contract developer | I use Solidity for personal projects. | Never | Solidity | JavaScript | Windows | 6 | 3-6 months | Less than half a year | Weekly | Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Code extension by Nomic Foundation / "Hardhat VSCode" | Foundry,Hardhat,Remix | 0.8.x | No | Yes | shanghai (default) | I don’t know. I use my framework’s default settings.,Never | No | No, never. | What's via-IR? | What is that? | I don't know about it. | I don't know what that is. | I don't know what that is. | No | Yul | Big improvement | No | Okay | Similarity to other programming languages | Mappings | Stack too deep | Yes | No | I don't know what that is. | ability to return error type using require statements | 2 | I don't know/care | I don't know/care. | No | No | No, because I'm not interested in/qualified for that. | I follow the Solidity Github release page.,I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||||||||||||||
98 | Germany | OTHER | Armenian | Another language | English | English | Yes | Nonprofit (NPO) / Public Sector | 11-15 years | Tooling developer | I use Solidity at work. | Never | TypeScript | C++ | Linux | 5 | 5+ years | I don't feel productive yet. | Rarely | Via a framework / IDE,Other | Remix | OTHER | Remix | Remix | 0.8.x | Yes | No | Okay | Yes | shanghai (default) | Debugging | No | Yes, I tried it. | No | OTHER | Debuggers of tools | Yes | I know about it and use it. | via Remix | No | I don't know what that is. | No | No | Vyper | Some improvement | Very easy | Easy to read | Modifiers | Stack too deep | Yes | No | 5 - More restrictive/explicit | I don't like them | I don't know/care. | Yes, I participated in forum discussions at forum.soliditylang.org.,Yes, I joined one or more of the language design discussion calls or language user feedback calls.,Yes, I proposed features or changes to the language as a Github issue. | I follow Solidity on Twitter/Mastodon. | ||||||||||||||||||||||||||||||||||||||||||||
99 | Germany | German | Another language | English | English | Yes | Crypto | 6-10 years | Smart contract developer,Auditor / Security expert | I use Solidity at work and for personal projects. | Daily | Solidity | Go | MacOS | 9 | 5+ years | Less than half a year | Daily | GitHub releases,solc-bin (binaries.soliditylang.org),Via a framework / IDE | Visual Studio Code / VSCode | Solidity Visual Code extension by Juan Blanco,Solidity Visual Auditor extension | Foundry | 0.8.x | Yes | No | Okay | Yes | istanbul | Never | No | Yes, I tried it. | Yes | 4 | Stability/security concerns,Not enough knowledge about it or its consequences. | Yes | I know about it and use it. | via Foundry | No | No | Yes | If required for manual verification somewhere, depending on the network | Yes | Arbitrum,Celo,Gnosis Chain,Optimism,Polygon,zkSync | Huff,Vyper | Some improvement | Yes | Stack too deep,Bytecode size limit,Optimizer-related issues | Very easy | Simplicity | Contracts as objects | Stack too deep | Yes | No | Yes | Proxy patterns,Contract splitting | Getting rid of stack-too-deep, memory optimizations | 3 - Staying as is | I don't know/care | Yes, they are great. | Yes | Yes | Yes | No change | No, because I'm too busy with work / other things. | I check the Solidity blog.,I follow Solidity on Twitter/Mastodon. | |||||||||||||||||||||||||||||||||||
100 | Germany | OTHER | Ukrainian | Another language | Russian | Native language | No | 1-2 years | Smart contract developer,Auditor / Security expert | I use Solidity for personal projects. | Monthly | Solidity | Solidity | Windows | Hardhat | 0.5.x,0.6.x,0.8.x | No | No | I don’t know. I use my framework’s default settings.,Debugging | I don’t know | No | No, never. | What's via-IR? | No | I don't know about it. | I don't know what that is. | I don't know what that is. | No | Vyper,Yul | I don't know | Yes | Stack too deep,Debugging issues | Okay | Syntax | Modifiers | Stack too deep | Yes | No | Yes | Contract splitting | 3 - Staying as is | I don't know/care | I don't know/care. | No | No | No, because I'm too busy with work / other things. | I follow Solidity on Twitter/Mastodon. |