یادگیری پایتون از نقطه نظر توسعه دهندگان ++C

هر توسعه دهنده باید برای رشد خود تلاش کند. اگر اشتیاقی برای ارتقا مهارت های خود نداشته باشید، نمیتوانید به صورت حرفه ای رشد کنید. کلید تکامل شخصی به عنوان یک توسعه دهنده، خارج از محدوده ای است که در آن احساس راحتی میکنید.ممکن است شما یک معلم در یک زبان برنامه‌نویسی باشید اما احتمالاً بدون نگاه از بیرون، آن را درک نخواهید کرد. به همین دلیل است که یاد گرفتن یک زبان برنامه‌نویسی، چارچوب یا تکنولوژی جدید مهم است، در این صورت خودتان را محدود به یک مهارت نکرده اید.من برای بیش از ۵ سال به عنوان یک توسعه دهنده نرم‌افزار کار کرده‌ام، و در این مدت به با ۶ زبان برنامه نویسی مختلف سر و کار داشته ام. با این حال، مهارت اصلی من زبان ++C است، که به آن علاقه زیادی دارم. به دلایلی که در بالا ذکر کردم، تصمیم گرفتم که بیش از یک زبان برنامه نویسی را امتحان کنم.یکی از زبان هایی که به سمت آن حرکت کرده ام، زبان پایتون است، چیزهایی زیادی در این مسیر یاد گرفتم و الان میخواهم از نقطه نظر یک برنامه نویس ++C آنها را اینجا مطرح کنم.زبانهای بیشتر - درک بهترهر زبان برنامه نویسی جدید چیز جدیدی را برای درک چگونگی حل مسئله به ارمغان می آورد. وظایف مختلف به رویکردهای متفاوتی نیاز دارند و هر زبان برنامه‌نویسی برای یک رویکرد عینی مشخص طراحی شده است.البته می ‌توان یک الگوریتم یادگیری ماشین را در ++C یا برنامه نظارت بر سیستم را بر روی پایتون توسعه داد. اما آیا به راحتی میتوانید این کار را انجام دهید؟ هر زبانی در حوزه ای قوی تر عمل میکند و بهتر است برای رسیدن به هدف خود از یک زبان مناسب استفاده کنید . پایتون و ++C زبان های متفاوتی هستند که هر کدام را میتوان در حوزه مناسب آن به کار برد.اسکریپت نویسی و مدل سازیاولین چیزی که با استفاده از زبان پایتون ایجاد کردم مدل الگوریتمی بود که بعداً با ++C نیز آن را دوباره نوشتم. در این تجربه متوجه شدم که پایتون برای مدل سازی مناسب تر است، زیرا دارای قاعده نوشتاری ساده تر بوده و کدهای آن کوتاه تر و جمع و جور تر است، از طرفی دیگر کتابخانه های جانبی زیادی برای این کار دارد.دومین باری که از پایتون استفاده کردم، زمانی بود که میخواستم اسکریپتی را برای ساخت یک پروژه بزرگ ایجاد کنم. پایتون برای اسکریپت نویسی عالی است. به راحتی میتواند با سیستم ارتباط برقرار کند و با دیگر اسکریپت ها و برنامه ها در تعامل باشد، به عنوان یک برنامه نویس، پایتون جایگزین خوبی به جای bash-scripting برای من بوده است.پس از مدتی که با زبان پایتون کار کردم، متوجه شدم که این زبان نه تنها برای یادگیری ماشین بلکه برای انجام وظایف علوم داده نیز فوق االعاده است. با این همه، هنوز باور دارم که این زبان بهترین زبان نیست و شاید بتوان ابزارها و زبان های دیگری را نیز پیدا کرد که از آن بهتر باشند.قواعد نوشتاریشاید فکر کنید، میخواهم در مورد سمی کالن ها صحبت کنم، اما این طور نیست. پایتون به خاطر نحو بسیار ساده و کد های فشرده، بسیار جذاب است. هنگامی که آن را با آشفتگی کد ها در زبان C و ++C و یا حتی با غیر قابل خوانا بودن کدها در پرل مقایسه میکنید، متوجه میشوید که منظور من چیست. از این جهت این زبان یک زبان ایده آل برای افراد مبتدی است و در بسیاری از مدارس و دانشگاه ها تدریس میشود.همه چیز در یک عبارتجمع و جور و مرتب بودن از ویژگی های اصلی زبان پایتون است. حتی میتوانید با یک خط کد وظیفه ای معنا دار را انجام دهید. اصطلاحات در این زبان ظریف بوده و خواندن کد ها دلپذیر است. بسیاری از کارهایی که در این زبان در یک خط قابل انجام است، در زبان های دیگر نیاز نوشتن چندین خط دارد.محیط برنامه نویسیJupyter یکی از کشف های بزرگ من در زمان یادگیری زبان پایتون بوده است. این نرم افزار در حوزه برنامه نویسی پایتون در علوم داده استفاده میشود. در این محیط به راحتی میتوانید، خروجی های خود را در لحظه مشاهده کنید.از ویژگی های Jupyter امکان اجرای سریع مجدد فقط بخشی از کد ها بدون علاقه به سایر قسمت هاست. در زبان ++C حتی با اضافه کردن یک کامنت باید برنامه را دوباره کامپایل کنید. اما این کار در ژوپیتر برای شما بسیار ساده تر است. بنابراین، Jupyter برای انجام هرگونه کار علمی تکراری مانند داده سازی یا تجزیه و تحلیل داده ها مناسب است.داینامیک در مقابل استاتیکهمیشه یک جنگ قدیمی بین زبان‌های دارای نوع های پویا و زبان‌های دارای نوع های ایستا وجود داشته است . البته من از هیچکدام آنها جانب داری نمیکنم. بعد از مدتی طولانی که این نوع زبان ها در کنار یکدیگر رشد کرده اند، به این نتیجه رسیده ایم که ما چیزی میان آنها را نیاز داریم. زبان ++C بیشتر روی انواع استاتیک تاکید دارد، در حالی که زبان پایتون بیشتر با انواع پویا سر و کار دارد.همه چیز شی محسوب میشودمن به عنوان فردی که با برنامه های ++C مبتنی برOOP یا شی گرایی بسیار کار می کند، این اصل را بسیار رضایت بخش می دانم. توانایی کار با لیترال ها، انواع اولیه و توابع در کنار اشیا، بسیاری از فرآیند های برنامه نویسی را بهبود میبخشد. شی گرایی یک متد یا روش در برنامه نویسی است که در هر دو زبان یافت میشود.آرگومان های توابعاین یکی از ویژگی های جالب زبان پایتون است، شما کنترل کاملی بر روی آرگومان توابع دارید، در این زبان انواع مختلفی از آرگومان ها وجود دارد، از جمله آرگومان های نام دار و بی نام، آرگومان های ثابت و غیر ضروری، آرگومان های پیشفرض. برخی از این ویژگی ها به ندرت در زبان ++C یافت میشوند. شاید یکی از نکات مثبت زبان‌های برنامه‌نویسی پویا باشد.پایتون در ویژگی Multi-threading حرفی برای گفتن نداردخوب، این یک حقیقت تلخ است و هیچ کس نمی تواند آن را انکار کند. پایتون قدرت استفاده از قابلیت چند رشته ای را ندارد. در مقابل زبان ++C در زمینه کاملا غنی بوده و پیروز میدان است. البته اگر شما یک دانشمند علوم داده هستید به ندرت از این قابلیت استفاده میکند.خیلی خیلی کندحقیقت تلخ دیگری که پس از مهاجرت از زبان ++C به پایتون متوجه آن میشوید، این است که زبان های مفسری مانند پایتون بسیار کندتر از زبان های کامپایلری مانند ++C هستند. در نتیجه این زبان ها از سرعت اجرای پایین تری برخوردار هستند. اما با وجود کامپیوترهای سریعی که امروزه وجود دارد، این اختلاف به چشم نمی آید.منبع : لرن سورس