آرشیو خرداد ماه 1398

من یک مهندس فناوری اطلاعات هستم که علاقه زیادی به دنیای فناوری اطلاعات، برنامه نویسی، امنیت و شبکه دارم.

زبان برنامه نویسی پایتون ابزاری برای یادگیری ماشین و هوش مصنوعی

۵۱۲ بازديد
توسعه دهندگان واقعا از زبان برنامه نویسی Python استفاده می کنند؟

با توجه به نظرسنجی توسعه دهندگان توسط JetBrains (که همچنین Kotlin را معرفی کرد، زبان پیشرفته برای توسعه اندروید)، 49 درصد از آنها می گویند از تحلیل Python برای تحلیل داده ها استفاده می کنند، پیش از توسعه وب (46 درصد)، یادگیری ماشین (42 درصد ) و مدیریت سیستم (37 درصد).

تعداد قابل توجهی از توسعه دهندگان نیز از زبان برای تست نرم افزار (25 درصد)، نمونه اولیه نرم افزار (22 درصد) و "اهداف آموزشی" (20 درصد) استفاده می کنند. هرچند کمتر آن را برای گرافیک، توسعه جاسازی شده یا بازی / توسعه تلفن همراه انتخاب کردیم.


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

این روند نیز برای مدت زمان زیادی ادامه دارد: در فوریه 2018، نظرسنجی KDnuggets نشان داد که کاهش مصرف R به نفع Python در بین جوانانی که از هر دو زبان استفاده می کنند، کاهش می یابد. در طول همان دوره، یک نظرسنجی جداگانه از Burtch Works نشان داد که استفاده از زبان در میان متخصصان تجزیه و تحلیل، از 53 درصد به 69 درصد در طی مدت مشابه دو سال افزایش یافته است، در حالی که پایگاه کاربری R تقریبا یک سوم کاهش یافته است.

اما شما همچنین نمی توانید از استفاده پایتون در یادگیری ماشین نادیده بگیرید، که به طور گسترده ای به عنوان بخش مهمی از تقریبا هر استراتژی فناوری آینده هر شرکتی مورد توجه است. اگر توسعه دهندگان از پایتون برای ساخت ابزار یادگیری ماشین استفاده می کنند، به این معنی است که زبان یک قفل بزرگ در ML / A.I دارد. اکوسیستم به نظر می رسد که چگونه نرم افزار آینده توسعه می یابد.


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

کدام نسخه از پایتون را استفاده می کنید؟
داده های JetBrains نشان می دهد که اکثریت قابل توجه توسعه دهندگان (87 درصد) در پایتون 3 هستند، در حالی که 13 درصد هنوز در پایتون 2 هستند. این رشد بسیار سریع برای پایتون 3 است که سه چهارم بازار در سال گذشته داشت.

زبان به نسخه 3.7.3 است و تکرارهای جدید ویژگی های مفیدی را برای توسعه دهندگان اضافه می کند. به عنوان مثال، 3.7.0 شامل توابع زمان جدید، حالت UTF-8 مجازی، نقطه بوق ساخته شده، کلاس داده ها و حالت زمان اجرا است. به عبارت دیگر، توسعه دهندگان برای ادامه کار با نسخه قدیمی تر سخت است که در نسخه های بعدی به کار خود ادامه دهد تا زندگی آنها را ساده تر کند، مگر اینکه کار آنها مستلزم مبارزه با کد های میراثی باشند که قابل ارتقا نیست.

بسته به آنچه میخواهید انجام دهید، ممکن است بخواهید از پایتون 2 استفاده کنید. از این صفحه برای مقایسه 2.x و 3.x استفاده کنید، که شاید فرآیند تصمیمگیری شما را سادهتر کند.

پایتون می‌تواند جای جاوا را بگیرد و پر استفاده ترین زبان برنامه نویسی شود؟

۵۳۳ بازديد
با توجه به شاخص TIOBE، برنامه نویسی جاوا بیشترین استفاده از زبان برنامه نویسی است. جای تعجب نیست که آن را به عنوان شاخص بالا، ماه بعد از ماه، با تنها چند dips و slips. به طور کلی، محبوبیت جاوا همچنان نسبتا سازگار باقی می ماند، و آن را به عنوان یک اسباب امنیتی امن برای یک زبان برای هر توسعه دهنده مشخص می کند. در این راستا در کنار C قرار دارد.


با این حال، آیا جاوا همچنان ایستاده، در شاخص های آینده ثابت خواهد شد؟

ما چشمانمان را به پایتون تبدیل می کنیم. این زبان برنامه نویسی سال توسط TIOBE Index در سال 2018 به پایان رسید. آیا ممکن است جاوا از زمان حکومت خود را غصب کند؟ بیایید نگاهی به شاخص TIOBE برای ژوئن 2019 بیاندازیم.

ژوئن 2019 شاخص TIOBE
شاخص TIOBE در ماه ژوئن 2019، نظرسنجی قابل پیش بینی را با سرعت رشد پایتون تکان داد. زبان میزان تغییرات + 2.77٪ را مشاهده کرد، بیشترین دیده شده توسط شاخص.

در همین حال، در ماه جاری، تغییرات -0.36٪ برای جاوا و نرخ -1.64٪ تغییر برای C رخ داد.

فهرست TIOBE ادعا می کند:

این ماه Python در تمام مدت زمان بالا در شاخص TIOBE 8.5٪ رسیده است. اگر پایتون بتواند این سرعت را حفظ کند، احتمالا C و Java را در 3 تا 4 سال جایگزین می کند، در نتیجه تبدیل به محبوب ترین زبان برنامه نویسی در جهان خواهد شد. دلیل اصلی این است که مهندسی نرم افزار پررونق است. این تعداد زیادی از تازه واردان را به میدان می برد. روش برنامه نویی جاوا برای مبتدیان بسیار واضح است. برای به طور کامل درک و اجرای یک برنامه ساده مانند "hello world" در جاوا، شما باید از کلاس ها، روش های استاتیک و بسته ها مطلع شوید. در C این کمی ساده تر است، اما پس از آن شما با چهره با مدیریت صحیح حافظه مواجه خواهید شد. در پایتون این فقط یک خط کش است. به اندازه کافی گفت

براساس شاخص، زبان مجلسی و Groovy همچنین رشد اقتصادی این ماه را نیز مشاهده کردند. (در مقایسه با سال 2018، Groovy کمی افزایش یافته است. در این سال تعداد 14 رقم طول می کشد؛ در سال گذشته تعداد 60 عدد).

پایتون در حال افزایش است
بنابراین، سوال باقی می ماند: آیا پایتون در طولانی مدت جاوا و سی را پیشی می گیرد؟

مقاله ای از سیمون ریتر، "آن را دوست دارم یا از آن متنفر هستم، جاوا همچنان در حال تکامل است"، ماهیت قطبیگرایی زبان را مورد بحث قرار می دهد. ریتور می نویسد: "حتی پس از 24 سال، جاوا همچنان در بالای یا بسیار نزدیک به بالای بررسی هایی است که محبوبیت زبان های برنامه نویسی را رتبه بندی می کند ...".

همچنین ببینید: نتایج یادگیری ماشین را با مدل های پیش آموزش دیده در PyTorch Hub بازیابی کنید

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

هر زبان برنامه نویسی قابل تعویض نیست. به عنوان مثال، پایتون نیز به عنوان زبان انتخابی برای مستندات علمی و علم اطلاعات حل و فصل شده است، که ممکن است دلیلی برای صعود به سمت بالا از نمودارها باشد. پایتون همچنین توسط شرکت های بزرگ / وب سایت های مانند Netflix، Dropbox و Reddit استفاده می شود.

دلیل دیگری که این پیش بینی ممکن است به خرج نرسد این است که چگونه TIOBE اطلاعات خود را جمع آوری می کند. روش آنها بستگی دارد به اینکه چگونه هر زبان در 25 موتور جستجو رتبه بندی می شود. این ممکن یا شاید محبوبیت واقعی زندگی را در خارج از نتایج موتور جستجو نشان نمی دهد.

زبان برنامه نویسی R یا پایتون؟ کدامیک برای تحلیل داده بهتر هستند؟

۵۳۸ بازديد
بحث در مورد Python در مقابل R در جامعه دانشمند اطلاعات، در اینجا نحوه دو زبان برنامه نویسی مطابقت دارد.

پایتون در مقابل R یک بحث مشترک در بین دانشمندان داده است، زیرا هر دو زبان برای کار داده ها و در میان مهارت های اغلب ذکر شده در پست های شغلی برای موقعیت های داده های علمی مفید هستند. هر زبان مزایا و معایب مختلفی برای کار علمی داده است و باید بسته به کار شما انجام شود.

Norm Matloff، استاد علوم رایانه ای در دانشگاه کالیفرنیا دیویس، برای کمک به دانشمندان داده ها، یک زبان گیتفا را برای هدف قرار دادن برخی از نکات در این بحث نوشت.

Matloff R و Python را در 10 دامنه زیر مقایسه کرد تا تعیین کنند کدام زبان برنامه نویسی بهتر انتخاب شده است:

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

منحنی یادگیری
برنده: R

در حالی که دانشمندان داده ها با پایتون باید بسیاری از مواد را برای شروع به یادگیری، از جمله NumPy، Pandas و matplotlib یاد بگیرند، انواع ماتریس و گرافیک پایه در پایه R ساخته شده است، Matloff نوشت.

وی با افزودن "R"، تازه کار می تواند تجزیه و تحلیل داده ها را در عرض چند دقیقه انجام دهد. "کتابخانه های پایتون می توانند برای پیکربندی، حتی برای سیستم های هوشمندانه، پیکربندی شوند، در حالی که اکثر بسته های R درست از جعبه خارج می شوند."

کتابخانه های موجود
برنده: جفت

شاخص بسته پایتون (PyPI) دارای بیش از 183000 بسته است، در حالی که شبکه جامع R Archive (CRAN) بیش از 12،000 دارد. Matloff نوشت، با این حال، PyPI نسبت به علوم داده بسیار نازک است.

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

هنگامی که شرایط زیر را در PyPI جستجو می کنید، هیچ چیز نمی آید، Matloff افزود: مدل log-line؛ رگرسیون پواسون؛ متغیرهای ابزار؛ داده های فضایی؛ نرخ خطای خانوادگی.

یادگیری ماشین
برنده: پایتون (اما نه خیلی زیاد)

رشد گسترده پایتون در سال های اخیر بخشی از افزایش یادگیری ماشین و هوش مصنوعی (AI) است. Matloff نوشت: در حالی که دوره Python تعدادی از کتابخانه های دقیق را برای تشخیص تصویر ارائه می دهد، مانند AlexNet، نسخه های R نیز به آسانی قابل توسعه می باشند.

"قدرت کتابخانه های پایتون از تنظیم برخی از عملیات تشخیص تصویر است که می تواند به راحتی در پوشه Reras Keras اجرا شود و از این رو، یک نسخه خالص از TensorFlow می تواند توسعه یابد"، Matloff نوشت. "در همین حال، من می خواهم ادعا کنم که در دسترس بودن بسته های R برای جنگ های تصادفی و تقویت شیب قابل توجه است."

صحت آماری
برنده: R (تا کنون)

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

محاسبات موازی
برنده: جفت

متلوف نوشت: نسخه های پایه R و Python پشتیبانی زیادی برای محاسبات چندگانه ندارند. بسته multiprocessing پایتون یک راه حل خوب برای مسائل دیگر آن نیست، و بسته موازی R نیز نیست.

ماتلوف نوشت: "کتابخانه های خارجی که از محاسبه خوشه پشتیبانی می کنند در هر دو زبان خوب هستند." "در حال حاضر پایتون رابط کاربری بهتر را به GPU ها دارد."

رابط C / C ++
برنده: R (اما نه خیلی زیاد)

متلوف نوشت: Rcpp R یک ابزار قدرتمند برای اتصال R به C / C ++ است. در حالی که پایتون ابزارهایی مانند swig برای انجام این کار دارد، آنقدر قدرتمند نیست و بسته Pybind11 هنوز در حال توسعه است. ماتلوف نوشت: ایده جدید ALTREP R همچنین دارای قابلیت بالقوه برای افزایش عملکرد و قابلیت استفاده است. با این حال، انواع Cython و PyPy از Python گاهی اوقات می تواند نیاز به رابط C / C ++ صریح را حذف کند.

جهت گیری شی، metaprogramming
برنده: R (اما نه خیلی زیاد)

ماتلوف نوشت، اگرچه توابع اشیا در هر دو R و Python هستند، R آن را جدی تر می گیرد.

او گفت: "هر زمان که من در پایتون کار می کنم، من از این واقعیت که من نمی توانم یک تابع را به ترمینال، که من در R بسیار کار می کنم، ناراحت هستم." پایتون تنها یک پارادایم OOP دارد. در R، شما انتخاب خود را از چند، هر چند برخی ممکن است بحث که این خوب است. با توجه به ویژگی های متالورژیم جادویی R (کد تولید کد)، دانشمندان کامپیوتر باید روی R قرار بگیرند. "

اتحاد زبان
برنده: پایتون (تا کنون)

در حالی که پایتون از نسخه 2.7 به 3.x منتقل می شود، این باعث ایجاد اختلال زیادی نمی شود. با این حال، متولف نوشت: R به دلیل تاثیرات RStudio: R و Tidyverse به دو گویش متفاوت تبدیل شده است.
ماتلوف نوشت: "شاید بهتر باشد اگر Tidyverse برتر از R معمولی باشد، اما به نظر من این نیست." "این باعث می شود همه چیز برای مبتدیان مشکل تر است."

ساختارهای داده مرتبط هستند
برنده: پایتون (به احتمال زیاد)

ماتلوف نوشت: "ساختار داده های کلاسیک علوم رایانه، مانند درخت های باینری، در پیونس آسان است." "در حالی که این را می توان در R با استفاده از کلاس" لیست "خود انجام داد، می توان حدس زد که آن آهسته است."

طبق یک گزارش آکادمی ابر 2018، هنگامی که به پست های کاری می آید، تقاضا برای مهندسان داده با R در مقایسه با افرادی که در پایتون مهارت دارند، کم است. تقریبا 66٪ از پست های پست شده توسط مهندسین داده مربوط به پایتون بوده است، در مقایسه با فقط 18٪ از پست هایی که اشاره کردید.

طبق گفته Cloud Academy، خارج از R و Python، دیگر مهارت های درخواستی برای مهندسان داده شامل SQL، Spark، Hadoop، Java، Amazon Web Services (AWS)، Scala و کافکا هستند.

باگ امنیتی بزرگ در خط فرمان لینوکس

۵۰۴ بازديد
اشکال ویراستاران Vim و Neovim می تواند به یک تروجان اجازه دهد تا از مقابله با فضای سبز جلوگیری کند.

یک اشکال شدید که بر روی دو برنامه کاربردی ویرایش متن متن خط فرمان محبوب، Vim و Neovim تأثیر می گذارد، اجازه می دهد تا حمله کنندگان راه دور دستورات خودسرانه سیستم عامل را اجرا کنند. آرمین رزمجو، محقق امنیت، هشدار داد که بهره برداری از اشکال به آسانی به عنوان فریب یک هدف به کلیک کردن بر روی یک فایل متنی متشکل از هر ویرایشگر است.


Razmjou تحقیق خود را انجام داده و یک اثبات مفهوم (PoC) ایجاد کرده است که نشان می دهد چگونه یک دشمن می تواند یک سیستم لینوکس را از طریق Vim یا Neowim به خطر بیندازد. او گفت نسخه های Vim قبل از 8.1.1365 و Neovim قبل از 0.3.6 برای اجرای کد دلخواه آسیب پذیر هستند.

"[شرح داده شده است] یک حمله حمله واقعی است که در آن یک پوسته معکوس راه اندازی شده است پس از آن که کاربر فایل را باز می شود. برای پنهان کردن حمله، پرونده به هنگام باز شدن فورا بازنویسی خواهد شد. همچنین، PoC از توالی فرار ترمینال استفاده می کند تا زمانی که محتوای با گربه چاپ می شود، modeline را مخفی می کند. (گربه -V محتوای واقعی را نشان می دهد)، "رضمجو در تحلیل فنی تحقیق خود نوشت.

Vim یک ویرایشگر متن مودال محبوب (insert، visual یا command) مبتنی بر ویرایشگر vi است، یک ویرایشگر متنی روی صفحه نمایش که ابتدا برای سیستم عامل یونیکس ایجاد شده است. یک modeline یک خط پیکربندی است که داده های تنظیمات را به یک سرور نمایش داده می کند و داده های تنظیمات نمایش را به اشتراک می گذارد.

PoC Razmjou قادر به رفع اشکالات مدلسازی است که عبارات ارزش را در یک گودال ماسهبازی اجرا می کنند. محقق گفت: این به منظور جلوگیری از ایجاد یک فایل متنی اسب تروجان در مدل ها نیست.

"با این حال، منبع! فرمان (با اصلاح کننده انفجار [!]) می تواند برای دور زدن گودال ماسهبازی استفاده شود. این دستورات را از یک فایل داده خواندن و اجرا می کند، به طوری که به صورت دستی تایپ شده باشد، پس از آن که گودال ماسهبازی باقی مانده است، آنها را اجرا می کنند "، طبق گزارش PoC.

Vim و Neovim هر دو تکه هایی را برای اشکال منتشر کرده اند (CVE-2019-12735) که موسسه ملی استاندارد و فناوری هشدار می دهد، "اجازه می دهد تا حمله های از راه دور دستورات خودسرانه سیستم عامل را از طریق: source انجام دهد! فرماندهی در مدلسازی. "

محقق گفت: "در مقایسه با پچ کردن، توصیه می شود که مدلهای vimrc (set nomodeline) را غیرفعال کنید، برای استفاده از securemodelinesplugin یا غیر فعال کردن modelineexpr (از نسخه patch 8.1.1366، تنها ویم) برای غیر فعال کردن عبارات در modelines ها توصیه شود.

پایتون در چهارسال آینده از جاوا و C پیشی خواهد گرفت

۵۱۰ بازديد
زبان پایتون در حال حاضر یکی از محبوب ترین زبان برنامه نویسی در میان توسعه دهندگان است. با توجه به شاخص زبان برنامه نویسی Tiobe، این رتبه در جایگاه سوم پشت جاوا و C قرار دارد.

اما در این ماه Python تا 8.5 درصد در شاخص Tiobe، بالاترین میزان خود را با امتیاز 2.77 درصد نسبت به این زمان در سال گذشته افزایش داده است.

تحلیلگران Tiobe معتقدند که طی مدت سه تا چهار سال، پایتون "احتمالا جایگزین C و جاوا" خواهد شد تا محبوب ترین زبان برنامه نویسی در جهان شود. جاوا، محبوب ترین زبان، دارای رتبه شاخص 15 درصد است، در حالی که C دارای رتبه 13.3 درصد است.

با توجه به Tiobe، محبوبیت پایتون به وسیله رشد قوی در مهندسی نرم افزار و قابلیت استفاده از زبان در مقایسه با Java و C به وجود آمده است.

"دلیل اصلی این است که مهندسی نرم افزار پررونق است و بسیاری از تازه واردان را در این زمینه جذب می کند. روش برنامه نویسی جاوا برای مبتدیان خیلی واضح است. برای درک کامل و اجرای یک برنامه ساده مانند" سلام جهان "در جاوا که نیاز دارید برای اطلاع از کلاس ها، روش های استاتیک و بسته ها، "Tiobe گزارش می دهد.

"در C این کمی ساده تر است، اما پس از آن شما با مدیتیشن حافظه صریح به چهره خواهید رسید. در پایتون، این فقط یک چسب است."

زبانهای دیگر در بالای 10 پس از پایتون عبارتند از C ++، ویژوال بیسیک .NET، C #، جاوا اسکریپت، PHP، SQL و زبان Assembly.

شواهد دیگری از محبوبیت پایتون شامل بازار مایکروسافت ویژوال استودیو کد (VS Code) است که پسوند Python برای کد VS تا حد زیادی گسترش یافته است، با بیش از نه میلیون نصب، از آوریل 8 میلیون.

علاوه بر این، شرکت هایی مانند Netflix از پایتون در همه جا استفاده می کنند، از جمله برای ساخت الگوریتم های توصیه، مدیریت شبکه توزیع محتوا و خودکار سازی توابع امنیتی. و مفید بودن و انعطاف پذیری زبان به لطف کتابخانه های محبوب پایتون مانند TensorFlow و Numpy افزایش یافته است.

هم اکنون طراحان هر ماه در مورد سرریز پشته در مورد پایتون از جاوا اسکریپت سوال می کنند که از نظر تاریخی اغلب سوالات را جذب کرده است.

همانطور که سایت TechRepublic خواهر ZDNet اخیرا گزارش داده است، مطالعه ای از 12 میلیون متخصص فناوری اطلاعات نشان داد که مجموع ساعت های صرف شده در آموزش پایتون، از 2017 تا 2018 به 20 درصد افزایش یافته است که به حدود 200،000 ساعت افزایش می یابد.

برترین زبان‌های برنامه نویسی 2019 برای کاربردهای پیشرفته هوش مصنوعی و یادگیری ماشین

۵۰۷ بازديد
علم اطلاعات بسیاری از پیروان را جذب کرده است، این واقعیت از تعداد زیادی ثبت نام در سمینارهای علمی داده ها و کارگاه ها و هکاتون داده ها فراتر رفته است. دانشمند داده یکی از پرطرفدارترین شغل در صنعت امروز است و با تقاضای فراوان، نیاز به افرادی است که دارای مهارتهای لازم برنامه نویسی و تخصص ریاضی هستند.

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

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

 

R
R یک زبان منبع باز و محیط نرم افزاری است که به طور گسترده ای برای محاسبات و گرافیک های آماری استفاده می شود. بسیاری از کارکنان R به عنوان یک الزام اساسی در یادگیری ماشین و علوم داده مورد نیاز است. R یک مهارت برنامه نویسی قوی شی گرا را ارائه می دهد که به آن مزیت بیش از دیگر زبان های محاسباتی را می دهد. R به شدت مورد استفاده برای تولید گراف ها و دیگر نمادهای ریاضی به استثنای ایجاد آرایه ها، فریم های داده، بردارها و ماتریس ها است. R به عنوان یک جایگزین برای SAS و Matlab عمل می کند، محبوبیت R می تواند به طور گسترده ای درک شود زیرا این انتخاب برای شرکت هایی مانند فیس بوک و گوگل انتخاب شده است.

 

SQL
زبان پرسوجو سازه ای (SQL) برای مقابله با پایگاه های داده های بزرگ مورد استفاده قرار می گیرد و به ویژه در به روز رسانی، جستجو و دستکاری پایگاه های داده مفید است. SQL در مدیریت پایگاههای داده ای به خصوص بزرگ استفاده می شود و زمان چرخش برای درخواست های آنلاین را با زمان پردازش سریع آن کاهش می دهد. یک دانشمند کارآمد داده باید اطلاعات زیادی از پایگاه داده استخراج و خراب کند، به همین علت، دانش SQL باید باشد. SQL یک زبان برنامه نویسی آسان برای یادگیری با آسان به درک نحو، مانند SELECT نام از کاربران که سن> 30.

 

MATLAB
 
MATLAB یک زبان محاسباتی عددی است که توسط Mathworks طراحی شده و برای محاسبات عددی با زمینه مشابه به پایتون طراحی شده است. MATLAB مبتنی بر C، C ++، و زبان های برنامه نویسی جاوا، سریع، پایدار و الگوریتم های جامد برای زبان محاسباتی عددی است که توسط کل دانشگاه و صنعت مورد استفاده قرار می گیرد. MATLAB به عنوان یک زبان مناسب برای ریاضیدانان و دانشمندان با نیازهای پیچیده ریاضی مانند پردازش تصویر، جبر ماتریس و پردازش سیگنال برخورد می شود.

 

اسکالا
Scala (زبان مقیاس پذیر) یک زبان برنامه نویسی منبع باز است که دارای یکی از بزرگترین پایگاه های کاربری است. Scala انتخاب ایده آل زبان با برنامه نویسان است که در مجموعه داده های با حجم بالا کار می کنند، زیرا پشتیبانی کامل از برنامه نویسی کاربردی و یک سیستم نوع استاتیک قوی ارائه می دهد. کاربران می توانند از Scala در ارتباط با Spark استفاده کنند، و Scala را یک زبان برنامه نویسی ایده آل در هنگام برخورد با حجم زیادی از داده ها. Scala از برنامه های OOP و برنامه های کاربردی پشتیبانی می کند و می تواند برای نوشتن برنامه های وب استفاده شود.

 

جولیا
جولیا یک زبان برنامه نویسی پویا سطح بالا برای محاسبات و تجزیه و تحلیل عددی است. جولیا قادر به برنامه نویسی همه منظوره است و تبدیل به یک انتخاب عالی برای مقابله با پروژه های پیچیده که شامل مجموعه های داده های با حجم بالا است تبدیل شده است. برای کدنویسی که نحو کار با مقدار همگانی پایتون را به کار میگیرد، جولیا زبان برنامهنویسی بعدی است که میخواهند یاد بگیرند.

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

پردرآمدترین زبان های برنامه نویسی در حوزه مالی

۵۸۱ بازديد
اگر به فکر یادگیری نحوه کد کردن با هدف بیان شغل مهندسی در یک بانک یا یک صندوق ذخیره سازی هستید، کدام زبان برنامه نویسی باید ابتدا یاد بگیرد؟ و هنگامی که شما صلاحیت دارید، کدامیک بالاترین حقوق شما را پرداخت می کنید؟

در حالی که آموزش پایتون بدون شک محبوب ترین زبان اول برای یادگیری برای کارهای مالی است، برخی از اختلاف در این صفحات وجود دارد که آیا پایتون یا جاوا بهترین زبان برنامه نویسی برای یادگیری است - و این که آیا بهترین زبان برای یادگیری از بسیاری ممکن است در واقع به جای Scala باشید

اکنون می توانیم بگوییم که از لحاظ پرداخت حداقل، احتمالا بهتر است با تمرکز بر روی پایتون. تجزیه و تحلیل کارهای برنامه نویسی که در eFinancialCareers در نیویورک و لندن تبلیغ شده است، نشان می دهد که شغل های کدگذاری پایتون با حقوق متوسط ​​117k (£ 92k) در مقایسه با 77k $ برای C # مطابق جدول زیر است.

برتری پایتون احتمال بیشتری برای علاقه به زبان دارد. با این حال، قبل از اینکه عجله کنید تا به دوره های پایتون در Udemy یا CodeAcademy بپیوندید، لازم به ذکر است که اکثر مشاغل مالی نیاز به مهارت در زبان های مختلف برنامه نویسی دارند نه فقط یک. این بیشتر در مورد دانستن پایتون و جاوا نسبت به یک یا دیگر است.

Coding language  Average salary in finance
C# $77k
Javascript $86k
Scala $95k
C++ $98k
Java $100k
Python $117k

۵ محیط برتر برای اجرای Node.js Javascript

۵۰۶ بازديد
Node.js یک محیط زمانبندی open-source server-side است که بر روی موتور V8 جاوا کروم ساخته شده است. Node.js به طور گسترده ای برای ساخت برنامه های کاربردی قوی در زمان واقعی بسیار محبوب است، زیرا انتظار می رود پس از ارسال درخواست و صرفا با درخواست بعدی ادامه یابد. این حافظه کارآمد و اجرا می شود تک رشته، آسنکرون و غیر بلوک. امروز، پنج بار استفاده از Node.js را به اشتراک می گذارم تا بتوانید تصمیم بگیرید که آیا آن را یاد می گیرید یا نه.


پنج مورد استفاده از Node.js

1. Streaming


بسیاری از سایت های پخش ویدئو و صوتی در اینترنت وجود دارد و اکثر آنها در همان مفهوم کار می کنند. کاربر فایل ویدئویی یا صوتی را آپلود می کند و در عین حال باید پردازش و بازی کند. پردازش این فایل های چندرسانه ای بعد از اینکه آنها با موفقیت آپلود می شوند در backend رخ می دهد و این همان جایی است که Node.js وارد می شود.

Node.js پردازش ویدیو در حالی که آن را آپلود و در نتیجه موجب صرفه جویی در مقدار زیادی از زمان. این باعث می شود که رسانه ها در سراسر جهان به سرعت در دسترس باشند. به غیر از صوتی و تصویری، پردازش در زمان واقعی نیز در انواع داده های ورودی و خروجی برای کار بر روی پروژه ها با همکاری هایی که در سرتاسر جهان پخش می شوند، مورد نیاز است.

2. Browser Games

Node.js فلش، جاوا یا برنامه های دیگر مانند اپلت Shockwave را منسوخ می کند. با Node.js، می توانید برخی از بازی های مبتنی بر مرورگر را ایجاد کنید. این می تواند در رابطه با Socket.io و HTML 5 برای طراحی برخی از بازی های قابل توجه مرورگر واقعی در نظر گرفته شود. Node.js حتی می تواند برای طراحی بازی های چند نفره استفاده شود.

3. Fast and Scalable Applications

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

Node.js یکی از محبوب ترین انتخاب ها برای سایت های کاربردی تک صفحه و برنامه های تلفن همراه است. در اینجا، رندر در سمت مشتری انجام می شود و API JSON توسط Backend ارائه شده است.

4. ******** Rooms

من می دانم که اکثر مردم در حال حاضر از سیستم عامل های اجتماعی یا برنامه های مبتنی بر تلفن برای ******** کردن با دوستان استفاده می کنند، اما این بدان معنی نیست که ******** روم ها دیگر استفاده نمی شود. شما می توانید اتاق های گفتگوی مستقل با Node.js به راحتی ایجاد کنید. آنها هنوز هم توسط بسیاری از بازی های آنلاین برای پیاده سازی سیستم ******** برای تعامل بهتر استفاده می شوند.

5. MEAN Stack

MEAN مجموعه ای از اجزای منبع باز است که با هم، یک چارچوب پایان به پایان برای ایجاد برنامه های وب پویا ارائه می کنند. این توسعه ساده و آسان برای توسعه دهندگان وب اپلیکیشن و دستگاه ها است. پشته MEAN با استفاده از Mongo، Express، Angular (6) و Node برای برنامه های برنامه نویسی جاوا اسکریپت ساده، مقیاس پذیر و قوی است.

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

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

۵۱۸ بازديد
یادگیری ماشین توسط Andrew Ng، دانشمند کامپیوتر در دانشگاه استنفورد، به عنوان "دانش کامپیوتری برای انجام کار بدون برنامه صریحا برنامه ریزی شده" تعریف شده است. این اولین بار در دهه 1950 درک شد، اما پیشرفت محدودی را تا دوران نوامبر 21 قرن. از آن به بعد، یادگیری ماشین نیروی محرکه ای در پشت تعدادی از نوآوری ها، به ویژه هوش مصنوعی بوده است.


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

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

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

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

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

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

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

علیرغم اینکه نسبت به دیگر ابزارها نسبتا آسان است، R دارای برخی از خصوصیات منحصر به فرد است که می تواند تا حدودی اشتباه در یادگیری، مانند ساختارهای داده های غیر متعارف و نمایه سازی (که از 1 به جای 0 شروع می شود). این نیز کمتر از پایتون محبوب است و در نتیجه مستندات زیادی برای برنامه های کاربردی برای یادگیری ماشین موجود نیست. (برای اطلاعات بیشتر در مورد این دو زبان، نگاه کنید به بحث بین R و پایتون.)

JavaScript
در اواسط دهه 1990، به عنوان یک ابزار برای بهبود شیوه های توسعه وب، جاوا اسکریپت از آن زمان به یکی از زبان های به کار رفته در این زمینه تبدیل شده است. این یک زبان سطح بالا و به صورت پویا است که انعطاف پذیر و چند پارادایم است. اگرچه برنامه های کاربردی آن در یادگیری ماشین محدود شده است، پروژه های پرطرفدار مانند Tensorflow.js گوگل بر اساس جاوا اسکریپت است.

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

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

سی ++
در میان رایج ترین زبان های برنامه نویسی امروز، C ++ احتمالا قدیمی ترین است. C ++ در اوائل دهه 1980 توسط Bell Labs توسعه یافت و C ++ از تحقیقات دکترا خارج شد که به دنبال گسترش زبان C بود. C ++ با هر دو توانایی برنامه نویسی کم و سطح بالا را فعال می کند، C ++ اجازه می دهد تا سطح بالایی از کنترل و کارایی را نسبت به زبان های دیگر برنامه نویسی در زمینه های یادگیری ماشین فراهم کند.

C + + به ویژه برای برنامه های کاربردی با فشردگی کار می کند، که بخشی از چیزی است که برای یادگیری ماشین عالی است. و به عنوان یک زبان استاتیک تایپ شده، می تواند وظایف را با سرعت نسبتا بالا انجام دهد.

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

جاوا
Java در اواسط دهه 1990 طراحی شده توسط Sun Microsystems به عنوان یک زبان برنامه نویسی سطح بالا و شی گرا ساخته شده است که به نظر می رسد و مشابه C ++ است. همراه با بسیار محبوب، جاوا می تواند طیف وسیعی از الگوریتم ها را اجرا کند که برای جامعه یادگیری ماشین بسیار مفید است.

جاوا به عنوان یکی از امن ترین زبان های برنامه نویسی محسوب می شود، عمدتا به دلیل استفاده از آن از بایت کدی و سندباکس. جاوا موفق به استفاده از قدرت C ++ می شود، در حالی که از مسائل امنیتی و پیچیدگی کلی آن عبور می کند.

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

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

آمریکا ممکن است فرمانروای متن باز شود

۴۹۹ بازديد
شروع به نگاه کردن به دونالد (شاهزاده نارنجی) Trump کنترل کد منبع باز دارد و می تواند هر کدام از کشورهایی را که احتیاج به احترام کامل دارند نداشته باشد.


برای یک مدت، منبع باز به عنوان یک راه برای کشورهای در حال توسعه برای ارائه نرم افزار خود، اما در حال حاضر با تجارت تجارت Trump، به نظر می رسد که آنها همه به ثبت نام برای کنترل ایالات متحده است.

دسترسی محدود به تکنولوژی ایالات متحده شکل می گیرد تا تأثیر زیادی بر Huawei داشته باشد. طبق گفته های Abacus News، برخی از توسعه دهندگان نرم افزار چینی در مورد اینکه اختلاف تجاری در حال حاضر میان ایالات متحده و چین ممکن است به زودی بر آنها تاثیر بگذارد تعجب آور است.

GitHub مبتنی بر ایالات متحده، بزرگترین پلت فرم میزبانی کد در جهان است. فراوانی پروژه های کد منبع باز مبتنی بر GitHub است، که اجازه می دهد مردم از سراسر جهان برای مشاهده و همکاری در پروژه ها. و از سال گذشته، مایکروسافت اکنون دارای GitHub است.

با این حال، ایالات متحده می گوید که محتوای توسعه یافته در GitHub نیاز به مطابقت با قوانین صادرات ایالات متحده، از جمله مقررات اداره صادرات (EAR)، مقررات مشابه برای محدود کردن صادرات به Huawei و شرکت های وابسته است.

لیو چن، مدیر عملیات Open Source China (OSChina)، که بزرگترین منبع منبع باز در چین است، گفت که برای کد برنامه نویس، کد منبع بسیار مهم است.

با این حال، بنیاد نرم افزار آپاچی (ASF)، یکی دیگر از سازمان های مبتنی بر ایالات متحده که نرم افزار منبع باز را ارائه می دهد، گفت که نرم افزار منبع باز و همکاری در کد منبع باز، تحت پوشش EAR قرار ندارد. اما ما فکر نمی کردیم این آسان باشد

به گفته توسعه دهنده چینی Duzy Chan، که دارای سابقه طولانی در توسعه نرم افزار منبع باز در GitHub است، محدودیت های دولت متوقف نمی شود. با این حال، وب سایت هایی مانند GitHub به همکاری در پروژه های منبع باز در سراسر جهان کمک می کنند. از دست دادن دسترسی به GitHub می تواند پیشرفت را کند کند.

"بنابراین این واقعا بد است زیرا پیشرفت تکامل اینترنت می تواند کند شود. چان گفت: پروژه های منبع باز ... [بیش از حد بسیاری از احزاب در سراسر جهان، نه فقط از ایالات متحده و چین به دست آورده اند]. "هیچ شرکت یا حزبی یا کشور واحد وجود ندارد که امروز بتواند از پروژه های منبع باز فرار کند."

GitHub قبلا برخی از کشورها را از دسترسی به سرور Enterprise خود، از جمله ایران و کره شمالی محدود کرده است.

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

چن OSChina معتقد است که عدم قطعیت در حال توسعه نرم افزار چین به سمت استقلال بیشتر است. در میان چیزهای دیگر، این شامل ایجاد طرح B در صورت محدودیت. شایان ذکر است که OSChina خودش برنامه B دارد: این سازمان یک پلت فرم GitHub مانند Gitee را اجرا می کند.