خداحافظ پایتون (Python)، سلام جولیا (Julia)! (هوش مصنوعی)

خداحافظ پایتون (Python)، سلام جولیا (Julia)! (هوش مصنوعی)

خداحافظ پایتون (Python)، سلام جولیا (Julia)! (هوش مصنوعی)
خداحافظ پایتون (Python)، سلام جولیا (Julia)! (هوش مصنوعی)

پایتون هنوز بین افراد زیادی از دانشمندان کامپیوتر، دانشمندان داده و متخصصان هوش مصنوعی محبوبه اما این افراد خیلی در مورد نقاط ضعف پایتون اظهار ناراحتی می‌کنند.

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

زبان‌های بهتر که مشکلات کندی و خطاهای زمان اجرای پایتون را ندارند، به عنوان مثال Julia ،Go و Rust هستند. Julia برای کارهای ریاضی و تحلیلی، Go برای ابزارها و سرورها و Rust بهترین انتخاب برای برنامه‌نویسی سیستمی است.

ازآنجاکه دانشمندان داده و متخصصان هوش مصنوعی با ریاضی دست‌وپنجه نرم می‌کنند، Julia در میان زبان‌های برنامه‌نویسی از همه آن‌ها سرتر است.

 

باز یک زبان جدید!

افراد یک زبان برنامه‌نویسی جدید ایجاد می‌کنند، زیرا می‌خواهند ویژگی‌های خوب زبان‌های قدیمی را حفظ کرده و موارد بد را برطرف کنند. در همین راستا گیدو ون روسوم در اواخر دهه ۱۹۸۰ پایتون را برای بهبود ABC ایجاد کرد. پایتون هنوز ویژگی‌های خوب ABC را حفظ کرده است. به‌عنوان‌مثال خوانایی و سادگی. اما پایتون بسیار مقاوم‌تر و سازگارتر است.
سازندگان جولیا هم می‌خواهند قسمت‌های خوب زبان‌های دیگر را حفظ کنند و قسمت‌های مشکل‌ساز را حذف کنند. اما Julia بسیار بلندپرواز است و می‌خواهد به‌جای رقابت با یک زبان خاص، همه آنها را شکست دهد. سازندگان Julia می‌گویند:

ما یک زبان متن‌باز با سرعت C، پویایی Ruby و قدرتمند در ریاضیات مانند Matlab می‌خواهیم. ما می‌خواهیم مانند پایتون برای برنامه‌نویسی عمومی قابل‌استفاده باشد، برای آمار مانند R، برای جبر خطی مانند Matlab و برای پردازش رشته مانند Perl باشد. در کل زبانی که یادگیری آن بسیار ساده است، اما جدی‌ترین هکرها را راضی نگه می‌دارد.

 

Julia می‌خواهد همه نکات مثبت زبان‌های دیگر را که در حال حاضر وجود دارند مخلوط کند و با اینکه زبان جوانی است، به بسیاری از اهداف سازندگان خود رسیده است.

 

ویژگی‌های بارز Julia

در ادامه برخی ویژگی‌های بارز جولیا (julia) را بررسی می‌کنیم.

 

تطبیق پذیری (Versatility)

از Julia می‌توان برای همه چیز استفاده کرد، از برنامه‌های ساده یادگیری ماشین گرفته تشبیه سازی های عظیم ابر رایانه. تا حدی پایتون نیز می‌تواند این کار را انجام دهد اما نه به اندازه Julia.

 

سرعت (Speed)

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

 

تبدیل کد (Code conversion):

برای کدنویسی در Julia حتی نیازی به دانستن یک دستور Julia ندارید. نه‌تنها می‌توانید از پایتون و C برای برنامه‌نویسی در Julia استفاده کنید، بلکه حتی می‌توانید از Julia در پایتون هم استفاده کنید!

 

کتابخانه‌ها (Libraries)

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

 

داینامیک تایپ و استاتیک تایپ

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

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

گرچه همه این موارد بسیار عالی به نظر می‌رسند، اما باید به‌خاطر داشت که Julia در مقایسه با پایتون هنوز کوچک است. یک معیار بسیار خوب تعداد سؤالات StackOverflow است. در حال حاضر، پایتون حدود بیست بار بیشتر از Julia در StackOverflow برچسب‌گذاری می‌شود! این به معنای محبوب نبودن جولیا نیست بلکه به طور طبیعی مدتی طول می‌کشد تا جولیا توسط برنامه‌نویسان پذیرفته شود.

 

 

چرا Julia را یاد بگیریم؟

هرچه زودتر شما Julia را یاد بگیرید تجربه کافی برای پاسخ به سؤالات این زبان را کسب کرده‌اید. همچنین کد شما با Julia ، دوام بیشتری خواهد داشت. چهل سال پیش، هوش مصنوعی جز پدیده‌ای شگرف چیزی نبود. صنعت و سرمایه‌گذاران به آن اعتقادی نداشتند. اما کسانی که آن زمان آن را آموختند، غول‌های امروزی هستند.
به همین ترتیب، جولیا اکنون نیز تقریباً جدید و ناشناخته است. اما وقتی رشد کند، برندگان بزرگ کسانی هستند که زودتر آن را پذیرفته‌اند. این به این معنا نیست که اگر اکنون جولیا را یاد بگیرید، تضمین می‌شود ظرف ده سال پول زیادی به دست آورید، اما شانس خود را افزایش می‌دهید. به آن فکر کنید که اکثر برنامه‌نویسان Python را در رزومه خود دارند و طی چند سال آینده، تعداد بیشتری برنامه‌نویس پایتون را در بازار کارخواهیم دید. اما اگر تقاضای شرکت‌ها برای پایتون کم شود، برد با کسانی است که Julia را انتخاب کرده اند. از طرف دیگر، اگر بتوانید Julia را در رزومه خود قرار دهید نه‌تنها نشان می‌دهید که علایقی فراتر از نیاز شغلی دارید، بلکه نشان داده‌اید که مشتاق یادگیری هستید و درک وسیع‌تری از برنامه‌نویس بودن دارید. به‌عبارت‌دیگر، شما برای کار مناسب هستید.

منبع: TNW news

1 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

4 دیدگاه

  • Pooia
    ۲ مرداد ۱۴۰۰

    با اجازه شما جولیا قرار نیست سریع تر از سی باشد.
    سی و سی++ هر دو به اسمبلی تبدیل می شوند، همین!
    در حالی که Julia در اصل یک jit هست،
    اگر منظور شما از اینکه جولیا از نزدیک ترین زبان به ماشین (اسمبلی) سریع تر هست این هست که optmization بهتری دارد، حرفی ندارم 🙂

    • علی اشتهاری پور
      علی اشتهاری پور
      ۵ مرداد ۱۴۰۰

      به نظرم این کامنتا رو زیر منبع اصلی خبر بزنید تا بلکه از گمراهی در بیان

  • Sami
    ۱۷ تیر ۱۴۰۰

    ? ?

  • Milad
    ۱۷ تیر ۱۴۰۰

    that’s right 🙂

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک