Я не считаю правильным решением учить Python, если вы планируете работать в Web 3.0 🐍
GM! Достаточно провокационный заголовок, который родился из нескольки тезисов, с которыми я сталкиваюсь последнее время. В посте нет цели показать недостатки питона – они есть у любого ЯП. В свою очередь я хочу показать, что выбор изначального языка разработки – важный аспект вашей будущей карьеры. Погнали по пунктам, или как говорят, Let's think step by step:
🧩Рассмотрим Python, Golang, JS/TS, Rust. В чем преимущество каждого из них для изучения?
Ну, к примеру с JS/TS вы сразу сможете стать фуллстек разработчиком, так как фронтенд на других языках не пишут (хотя можно, но зачем??). Так же, JS часто используется для тестирования смарт-контрактов и их деплоя (hardhat), да и Solidity в целом очень похож на Typescript. И субьективно я считаю, что на JS вам будет проще всего найти решение ваших проблем в интернете, тот же ethers.js имеет больше 2300+ issues, кажется там решен уже абсолютно любой вопрос.
Golang и Rust – совершенно разные языки, но я отнесу их в одну категорию по причине того, что на них написано много Ethereum клиентов – geth (golang), erigon (golang), lighthouse (rust), reth (rust). Это повышает количество разработчиков и позволяет строить максимально совместимую инфраструктуру.
Эти языки считаются более эффективные, быстрые и надежные, что тоже является большим плюсом при работе с блокчейном. Да и с типизацией здесь тоже все хорошо - в расте и голанге есть строгая статическая типизация, что позволяет находить ошибки еще во время компиляции проектов.
Если выбирать между Golang и Rust (я изучал синтаксис обоих языков, но не писал софт на них) – то Golang имеет более лаконичный и простой синтаксис, но Rust будет более производительным и эффективным по использованию памяти.
Здесь хорошим примером будут MEV-боты и инфраструктура вокруг них – вот опенсорсные шаблоны для разработки MEV-ботов на Rust и Golang, закиньте такие же производительные решения на других языках в комментарии, если встретите. Я не нашел 🥲 (хотя есть ощущение, что можно попробовать собрать, используя viem)
Python – отличный язык для прототипирования, закрепившийся в DS/AI сфере, и в бэкенде до недавних времен. Да, в питоне есть Vyper и библиотеки для работы с EVM, но когда мы хотим работать с типизированными данными и делать это быстро – имхо лучше рассмотреть альтернативы.
Post #597
3.87K
- 👍 26
- ❤ 10