سالیدیتی چیست؟

وقتی درباره اتریوم فکر می‌‌کنید، احتمالا قراردادهای هوشمند قوی آن به ذهنتان می‌‌آید. برای کسانی که در این باره چیزی نمی‌‌دانند، قراردادهای هوشمند برنامه‌‌هایی هستند که روی بلاکچین اتریوم قرار دارند. آنان امور زیادی مانند ارسال یا دریافت اتر یا توکن‌‌های ERC20 را انجام می‌‌دهند. با این حال شاید آنچه هرگز نمی‌‌دانید این است که قراردادهای هوشمند چطور گرد هم آمده‌‌اند. قراردادهای اتریوم مانند همه برنامه‌‌های کامپیوتری، به زبان برنامه‌‌نویسی نوشته شده‌‌اند. زبان مورد نظر در این مورد سالیدیتی نام دارد. در حالی که زبان‌‌های برنامه‌‌نویسی دیگری هستند که با قراردادهای هوشمند سازگارند، اما در این مقاله به سالیدیتی می‌پردازیم.

0 85

سالیدیتی به عنوان یک زبان برنامه‌‌نویسی

امروزه بیشتر برنامه‌‌نویسان پیشرفته از یک یا چند زبان برنامه‌‌نویسی مدرن استفاده می‌‌کنند. چند نمونه از این زبان‌‌ها شامل زبان C ، C++، C# و …، پایتون، جاوا (و جاوا اسکریپت)، پرل و چند نمونه دیگر هستند. سالیدیتی طوری طراحی شده است که یادگیری آن برای برنامه‌‌نویسانی که پیشتر با یک یا چند زبان برنامه‌‌نویسی مدرن آشنایی دارند آسان باشد.

اگر در دبیرستان چیزی مانند Visual Basic را یاد گرفته باشید احتمالا انتخاب سالیدیتی برایتان دشوار خواهد بود. در حالی که اگر زبانی مانند پایتون یا C را بدانید، سالیدیتی را نسبتاً آشنا خواهید یافت.

سالیدیتی از تعداد زیادی از مفاهیم برنامه‌‌نویسی استفاده می‌‌کند که در زبان‌‌های دیگر هم وجود دارند. مثلا سالیدیتی دارای متغیرها، توابع، طبقه‌‌ها، عملیات‌‌های ریاضی و دستکاری رشته‌‌ها است. در حالی که در زبان‌‌هایی مانند C برنامه‌‌نویس احتمالا باید نوعی از تابع اصلی مانند

را ایجاد کند، سالیدیتی با یک قرارداد کار می‌‌کند که به همین شیوه ساخته می‌‌شود.

Solidity Code

همانطور که می‌‌بینید، کد سالیدیتی به طور شگفت‌‌انگیزی شبیه C++، C# یا جاوااسکریپت است. توسعه‌‌دهندگان پایتون‌‌ متوجه این نکته خواهند شد که در سالیدیتی، متغیرها باید به وضوح اعلام شوند.

سالیدیتی تقریبا جدید است و منابع یادگیری محدودی دارد

به طور معمول اگر کسی بخواهد زبان برنامه‌‌نویسی جدیدی یاد بگیرد، می‌‌تواند یکی از چنین کتاب موجود درباره آن را بخرد. مثلا اگر می‌‌خواهید جاوااسکریپت یاد بگیرید، ده‌‌ها و صدها کتاب هستند که آموزش‌‌های لازم را به شما می‌‌دهند. از آن‌‌جایی که سالیدیتی کاملا جدید است، تنها چند کتاب درباره آن هست و نقد‌‌های نوشته شده درباره آنان در سایت آمازون هم اگر کاملا منفی نباشد اما تا حدی مخلوط است.

سالیدیتی مستندات بسیار زیادی درباره نحوه کار کد ارائه می‌‌کند. با این حال برای کسی که با این زبان هیچ آشنایی‌‌ ندارد و برنامه‌‌نویس حرفه‌‌ای هم نیست، ورود مستقیم به مستندات اگر کاملا غیرممکن نباشد اما دلهره‌‌آور و دشوار است. مستندات باید بیشتر به همان شکلی استفاده شود که یک فرد از دیکشنری برای پیدا کردن یک واژه استفاده می‌‌کند. هیچکس‌‌ برای یاد گرفتن زبان، یک فرهنگ لغت را از صفحه اول تا آخر نمی‌‌خواند.

اگر کسی صبور باشد، می‌‌تواند از مستندات موجود برای یادگیری سالیدیتی بدون پیش‌‌زمینه برنامه‌‌نویسی زیاد استفاده کند. البته این کار آسان نخواهد بود.

آموزش و دوره‌‌های سالیدیتی

برای کسانی که تجربه اندک برنامه‌‌نویسی دارند، یک گزینه سرگرم‌‌کننده برای آشنایی با سالیدیتی می‌‌تواند مدرسه آنلاین Crypto Zombies یا زامبی‌‌های کریپتو باشد. این سایت شبیه به Codeacademy است، از این نظر که وظایف برنامه‌‌نویسی کوتاهی قرار داده شده است و شما آن را مستقیما در مرورگر تکمیل می‌‌کنید و بلافاصله چک می‌‌شوند. تم Crypto Zombies ساختن یک بازی زامبی با سالیدیتی است.

ما فصل اول را امتحان کردیم که تکمیل آن کمتر از دو ساعت طول کشید. تا حدودی سخت بود اما با مداومت و دقت قابل انجام است. کل دوره هنوز کامل نیست. توسعه‌‌دهندگان آن عنوان کرده‌‌اند که هر چند هفته درس‌‌های جدید منتشر می‌‌شوند. به محض اتمام همه درس‌‌ها، نتیجه یک بازی کامل به زبان سالیدیتی خواهد بود. در حالی که شاید Crypto Zombies برای حرفه‌‌ای کردن یک فرد در سالیدیتی کافی نیست، اما پیش درآمد بسیار خوبی برای بسیاری از مفاهیم اصلی برنامه‌‌ریزی قرارداد هوشمند و سالیدیتی است.

اگر تجربه برنامه‌‌نویسی ندارید، می‌‌توانید دوره‌‌ی رایگانی در Codeacademy بگذرانید. دانش اصول زبان پایتون‌‌ یا جاوااسکریپت برای Crypto Zombies کافی است.

Crypto Zombies

برای آموزندگان پیشرفته‌‌تری که می‌‌خواهند مستقیما به اصل قضیه وارد شوند، Block Geeks یک دوره رایگان و خیلی خوب در وب‌‌سایتش دارد.

آموزش باهزینه و گواهینامه آنلاین برای سالیدیتی

در سال‌‌های گذشته، چند سایت پیدا شده‌‌اند که در موضوعات مختلفی در عرصه فناوری آموزش می‌‌دهند. یکی از این نمونه‌‌ها BitDegree است که قصد دارد به پلتفرم تاییدشده‌‌ آموزشی بلاکچین تبدیل شود که در آن دانش‌‌آموزان آینده‌‌دار بتوانند مهارت‌‌های فناوری را از طریق دوره‌‌های رایگان کسب کنند. با اتمام دوره یک مدرک آنلاین می‌‌گیرید که در بلاکچین اتریوم برای اهداف تایید ثبت می‌‌شود. BitDegree هنوز پیاده‌‌سازی نشده است و نمی‌‌دانیم که هزینه این دوره‌‌ها به چه نحو است.

یکی از گزینه‌‌های دیگر udemy.com است که آموزش آنلاین ویدیویی ارائه می‌‌کند. این سایت در حال حاضر یک دوره سالیدیتی با هزینه 20 دلار دارد اما بیشتر وقت‌‌ها تخفیف 90 درصدی دارد. گزینه‌‌ی دیگر که البته گران‌‌تر نیز هست، سایت B9LAB.com است. آنان دوره‌‌ای به نام دوره‌‌ی آنلاین دارای گواهی توسعه‌‌دهنده اتریوم را ارائه می‌‌کنند که شامل 9 هفته آموزش 6 تا 10 ساعته در هر هفته است. هزینه آن 1450 یورو یا 1750 دلار است. آنان یک دوره Ethereum 101 رایگان هم ارائه می‌‌کنند تا روش تدریس را آزمایش کرده و ببینید آیا با سبک یادگیریتان مناسب است یا نه.

آیا یادگیری سالیدیتی ارزش دارد؟

اگر درباره یادگیری سالیدیتی برای شغلتان فکر می‌‌کنید، احتمالا باید مهارت‌‌های مورد نیاز دیگری را هم در نظر بگیرید.در حالی که یادگیری مهارت‌‌های مربوط به بلاکچین می‌‌تواند بسیار باارزش باشد، شاید نیاز باشد که در حداقل یک زبان دیگر متخصص شوید. برای مثال شغلی که برای یک توسعه‌‌دهنده سالیدیتی در سایت Bounty0x ارسال شده است، از متقاضی می‌‌خواهد که علاوه بر شناخت سالیدیتی، ترافل، NodeJS و GoLang را هم بداند.

اگر از اختصاص چند سال از زندگی‌‌تان به یادگیری سالیدیتی اطمینان دارید، امتحانش کنید. این احتمال وجود دارد که در سال‌‌های آینده یک شغل قابل‌‌اعتماد باثبات گیر بیاورید.

علاوه بر سالیدیتی، زبان برنامه‌‌نویسی Serpent هم وجود دارد که بر پایتون‌‌ مبتنی است. از آنجایی که پایتون‌‌ خیلی ساده است و یادگیری آن هم سخت نیست، شاید یادگیری آن در آینده آسان‌‌تر باشد. سالیدیتی و سرپنت نه‌‌تنها می‌‌توانند در اتریوم به کار گرفته شوند، بلکه آن مهارت‌‌ها می‌‌توانند به سرعت به مهارت‌‌های کدنویسی RSK و اتریوم کلاسیک که دو پلتفرم رقیب قرارداد هوشمند هستند تبدیل شود.

در حال حاضر سالیدیتی پادشاهی می‌‌کند و شناخت درست آن می‌‌تواند در هنگام یادگیری زبان‌‌های قراردادهای هوشمند در آینده بسیار مفید باشد.

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.