پایتون یا جاوا؟ بررسی x معیار اساسی برای شروع یادگیری
صفحه اصلی پایتون و قابلیت های آن
پایتون یک زبان برنامه نویسی همه منظوره ، تعاملی، شی گرا و سطح بالا است;که توسط Guido van Rosum در سال های ۱۹۸۵ تا ۱۹۹۰ ایجاد شده است. مانند Perl، کد منبع Python نیز تحت مجوز( GNU General Public License (GPL موجود است. این آموزش به درک کاملی از زبان برنامه نویسی پایتون می پردازد.
مخاطبان
آموزش Python vs. Java برای برنامه نویسان نرم افزاری که نیاز به یادگیری زبان برنامه نویسی پایتون از ابتدا دارند طراحی شده است.
پیش نیازها
شما باید یک درک پایه از اصطلاحات برنامه نویسی کامپیوتر داشته باشید. درک شما از هر یک از زبان های برنامه نویسی، یک امتیازاست .
اجرای برنامه های پایتون
در این آموزش نمونه هایی داده شده که می توانید ار آن ها استفاده کنید و از یادگیری خود لذت ببرید , مثال زیر را می توانید با کد نمونه داده شده اجرا کنید.
#!/usr/bin/python
print(“Hello, Python”)
پایتون یکی از معدود زبان های برنامه نویسی است که می توان ادعا کرد ساختاری ساده و قدرتمند دارد،از این رو یادگیری این زبان همواره به افراد مبتدی که شاید هیچ تجربه ای در برنامه نویسی نداشته باشند توصیه می شود و از طرف دیگری استفاده از این زبان برای حل مسائل مختلف وپیچیده انتخاب اول بسیاری از برنامه نویسان حرفه ای بوده است.
بر اساس رتبه بندی سایت Tiobe، زبان برنامه نویسی Python در سپتامبر سال ۲۰۱۵ با سه پله صعود نسبتبه زمان مشابه در سال قبل در جایگاه پنجم قرار گرفته است که نشان دهنده ی رشد محبوبیت این زبان در میان برنامه نویسان سراسر دنیا است.
همان طور که می دانید هر زبان برنامه نویسی ویژگی ها و قابلیت های خاص خود را دارد که آن را از سایر زبان ها متمایز می سازند و علت شکل گیری زبان های مختلف نیز پاسخگویی به نیازهای متفاوت و متنوع کاربران با استفاده از همین قابلیت های متمایز است. به همین دلیل پیش از شروع به یادگیری هر زبان ابتداباید نیازها و هدف خود را از یادگیری آن زبان در کنار قابلیت هایش قرار دهیم و در صورت تطبیق آن ها با هم، قدم در راه یادگیری بگذاریم.از این رو برای آشنایی بیشتر با زبان پایتون، در ادامه به معرفی برخی از ویژگی هاو قابلیت های آن خواهیم پرداخت:
سادگی و صراحت (Simplicity):
پایتون یک زبان ساده و کمینه گرا است. وقتی نگاهی به سورس کد یک برنامه ی نوشته شده به زبان پایتون بیاندازیم، احساس می کنیم که با یکمتن انگلیسی صریح مواجه هستیم. شاید بتوان گفت این بزرگترین نقطه ی قوت پایتون استکه به جای درگیر کردن برنامه نویس به جزئیات زبان به او اجازه می دهد تا روی حل مسئله تمرکزداشته باشد. همین موضوع سرعت کدنویسی و خوانایی این زبان را هم افزایش داده است.
منحنی یادگیری کم شیب (Low Learning Curve):
قطعاً عامل اصلی این موضوع که یادگیریپایتون به عنوان قدم اول به مشتاقان برنامه نویسی و حتی کودکان توصیه می شود سینتکس فوق العاده ساده ی آن است. همان طور که گفتیم صراحت زبان پایتون نه تنها خوانایی آن راافزایش داده است، بلکه با حذف پیچیدگی ها سهولت یادگیری آن را نیز بیش تر کرده است.
رایگان و متن باز بودن (Free & Open Source): توزیع های مختلف زبان برنامه نویسی پایتون کاملاً رایگان بوده و هر برنامه نویس می تواند سورس کد آن را بخواند، آن را تغییر دهد،و در برنامه های خود از اسکریپت های آن استفاده کند
مقدمه: چرا پایتون؟
پایتون یک زبان برنامهنویسی سطح بالاست که به دلیل تمرکز بر سادگی، خوانایی دستورات، شیگرایی و همچنین قدرت بالای خود در زمینههای یادگیری ماشین و آنالیز داده، در بین برنامهنویسان بسیار محبوب شده است. همین قدرت و محبوبیت بالا کافیست تا شرکتهای بزرگی مانند گوگل، اینستاگرام، آمازون و اسپاتیفای برای ارتقای سرویسهای خود توسط آنالیز دادههای کاربران، کمکم به این زبان برنامهنویسی کوچ کنند. طبق ادعای مجلهی معتبر The Economist، پایتون در حال تبدیل شدن به محبوبترین زبان برنامهنویسی در میان مهندسان و برنامهنویسان است. به طور کلی از این زبان برای برنامهنویسی سیستمهای اتوماسیون، هوش مصنوعی، نرمافزارها و وبسایتها استفاده میشود. (پس اگه خوب پایتونو بلد باشی، بیکار نمیمونی!!!)
قبل از ورود به آموزش پایتون، اجازه بدبد با دو ویژگی مهم آن یعنی خوانایی و شیگرایی آشنا شویم:
سادگی و خوانایی (Readability): توسعه دهندگان پایتون همیشه سعی کردهاند تا شیوهی کدنویسی و دستورات، به زبان انسان بسیار نزدیک باشد. این ویژگی، یادگیری و استفاده از این زبان برنامهنویسی را نسبت به سایر زبانها سادهتر کرده است. البته این سادگی به معنای پیش پا افتاده بودن این زبان نیست. در واقع پایتون در عین قدرتمند بودن برای حرفهایها، سادگی را هم برای تازهکارها فراهم کرده است.
شیگرایی (Object Oriented Programming): تا قبل از ورود زبانهای شیگرا، برنامهنوسی به صورت رَویهای (Procedural) انجام میشد. در این روش _که هماکنون برای انجام بسیاری از پروژههای درسی و ساده استفاده میشود_ برنامهی کلی به چندین بخش تقسیم شده و با وارد کردن متغیرها به هر بخش، خروجی آن محاسبه و در صورت نیاز دوباره به قسمت دیگری از برنامه معرفی میشد. اما در صورتی که برنامهی شما پیچیده و طولانی باشد، وابستگی و تعداد زیاد متغیرها و توابع میتواند دردسر ساز باشد. برای حل این مشکل، ایدهی برنامهنویسی شیگرا مطرح شد. بهطوری که در این روش تعدادی از متغیرها و توابع در یک واحد مستقل به نام شی تعریف و در برنامههای مختلف، فراخوانی میشوند. به متغیرهای هر شی، Properties و به توابع آن Methods گفته میشود. پس تا اینجا گفتیم درOOP تعدادی از مغیرها و توابعی که به هم مربوطند، در یک شی جمعآوری میکنیم تا بعداً در جاهای مختلف از آنها استفاده شود(Encapsulation). با این کار میتوان از یک سری تابع و متغیر، در بخشهای مختلف یک برنامه یا سایر برنامهها، به صورت آماده استفاده کرد. همچنین برای سادهتر کردن رابط کاربری و استفاده از اشیا، برخی از Methodها و Propertyهایی که کاربر با آنها کاری ندارد را پنهان میکنیم. مثلاً فرض کنید برای انجام یک عمل، چندین تابع تو در تو دارید. در این روش فقط تابع اول که لازم است فراخوانی شود، نمایش داده و سایر توابع درون آن به کاربر نشان داده نمیشوند. با این کار از نمایش کدهای اضافی و پیچیده جلوگیری میشود (Abstraction). علاوهبر این، با شیگرایی میتوانید از دستورات یک شی در اشیای دیگر استفاده کنید. این کار نیز مانع از کدنویسی تکراری و طولانی میشود (Inheritance). همچنین در OOP این قابلیت را دارید که برای یک Method، با توجه به Property آن، رفتار متفاوتی تعریف کنید. بنابراین نیازی به نوشتن Switch-Case های مختلف و طولانی ندارید (Polymorphism). خب حالا که با مفاهیم بالا آشنا شدید،میخواهم شیگرایی را در یک جمله به شما معرفی کنم: به زبان برنامهنویسی که ویژگیهای Encapsulation، Abstraction، Inheritance و Polymorphism را دارا باشد، شیگرا گفته میشود.
به طور کلی از ویژگیهای پایتون میتوان به موارد زیر اشاره کرد:
- سادگی و خوانایی دستورات
- شیگرایی
- وجود کتابخانههای کامل و بهروز
- اجرای دستورات به صورت خط به خط و سادگی در شناسایی و رفع خطاهای برنامهنویسی
خب پس از این که با اهمیت و کاربردهای پایتون آشنا شدیم، آماده باشید که میخواهیم آموزش را شروع کنیم.
پیشنیاز: کدهای پایتون را کجا بنویسم؟ چطوری اجرا کنم؟
اگر رزبریپای ندارید، نگران نباشید. چرا که این آموزش فقط منحصر به این برد نبوده و هدف ما در اینجا صرفاً آموزش مقدماتی پایتون است. بنابراین برای یادگیری و اجرای دستورات پایتون روی کامپیوتر، میتوانید آخرین نسخهی آن را از سایت python.org دانلود کنید. در حال حاضر دو نسخهی پایتون ۲ و پایتون ۳ منتشر شده که به جز اندکی تفاوت در Syntax دستورات، بسیار به هم شبیه میباشند.
با توجه به این که بسیاری از وبسایتها و برنامهها در گذشته بر اساس پایتون ۲ نوشته شده و امکان انتقال این حجم عظیم کدها از نسخهی ۲ به ۳ وجود ندارد، هنوز هم از نسخهی دوم پشتیبانی میشود. با این وجود، ما در این بخش آموزشی با پایتون ۳ کار خواهیم کرد. اگر از رزبریپای استفاده میکنید، هر دو نسخهی ۲ و ۳ به صورت پیشفرض روی سیستمعاملهای این برد نصب شده است. برای کدنویسی، به طور کلی دو راه دارید: نوشتن کد به صورت Interactive در Shell یا نوشتن کد به صورت یکجا و Batch.
در روش اول دستورات یک به یک نوشته، اجرا شده و قابلیت ذخیزهسازی ندارند. مسلماً این شیوه برای انجام پروژههای مختلف و پیچیده مناسب نیست. ما هم در اینجا فقط برای آشنایی و آموزش دستورات از این محیط استفاده خواهیم کرد. برای این کار در کامپیوتر میتوانید از محیط Shell برنامهی IDLE که دانلود کردید استفاده کنید.
در رزبریپای نیز از طریق منوی Start، در بخش Programming میتوانید Thonny Python IDE را انتخاب و از بخش Shell آن استفاده کنید. در محیط Command-Line نیز با اجرای $ python وارد Shell پایتون ۲ و با $ python3 وارد Shell پایتون ۳ خواهید شد. (همین الان هر روشی که براتون ممکنه اجرا کنید)
در روش دیگر، میتوانید کدهای خود را ابتدا کامل نوشته و یکجا Run کنید. برای این کار در کامپیوتر از بخش File در برنامهی IDLE، New file را انتخاب کرده و در بخش باز شده کدهای خود را بنویسید. در نهایت برای اجرا میتوانید روی Run از نوار بالای صفحه، کلیک کنید.
علاوهبر این محیط که رسماً توسط پایتون ارائه شده، نرمافزارهای دیگری هم برای برنامهنویسی پایتون وجود دارد که در صورت نیاز میتوانید از آنها هم استفاده کنید. (بهعنوان مثال، Pycharm یکی از بهترین محسطها برای برنامهنویسی پایتون است)
در رزبین نیز میتوانید در بخش بالایی صفحه (Batch) برنامهی خود را نوشته و با زدن Run آن را اجرا کنید.
برای آشنایی با سایر برنامههای موجود در Programs میتوانید به بخش راهاندازی رزبری پای Raspberry Pi 4 با نصب سیستمعامل رزبین (Raspbian Buster) مراجعه کنید.
اوضاع در Command-Line لینوکس از این هم سادهتر است. برای این کار کافیست کدهای خود را در یک فایل Text (مثلاً با استفاده از $ nano) بنویسید و ذخیره کنید. بهتر است فایل با پسوند .py ذخیره شود (گذاشتن پسوند، اختیاری است). در نهایت با دستورات زیر بهراحتی میتوانید کد خود را اجرا کنید:
$ python $ python3
نحوهی کدنویسی به این روش، در ادامه بهصورت تصویری نمایش داده شده است.
پس از این که با نحوهی اجرای دستورات و کدنویسی آشنا شدید، بریم سراغ دستورات مهم و کاربردی.
برای مشاهدهی آموزش مقدماتی و کاربردی لینوکس میتوانید به بخش معرفی دستورات کاربردی لینوکس برای کار با رزبریپای مراجعه کنید
زبان برنامهنویسی پایتون
، یک زبان برنامهنویسی با نوعهای دادهای پویا است، یعنی، نوع دادهای متغیرها، بر حسب مقادیر آنها و در زمان اجرا به طور خودکار توسط «مفسر» (Interpreter) مشخص میشوند. زبان برنامه نویسی پایتون، جزء زبانهای برنامهنویسی همه منظوره محسوب میشود. توسعه ابتدایی زبان پایتون، در یک مؤسسه تحقیقاتی در کشور هلند آغاز شد.
انگیزه اصلی توسعهدهندگان، ساختن یک زبان برنامهنویسی «سطح بالا» (High Level) بود که قادر باشد شکاف میان زبانهای C و «محیطهای اسکریپتینگ» (Scripting Environment) نظیر Shell را بپوشاند. همانطور که یکی از نویسندگان اصلی زبان برنامهنویسی پایتون اظهار کرده است، ساختن «ابزارهای مدیریت سیستم» (System Administration Utilities) توسط زبان C کار بسیار دشواری بود و از بین بردن چنین نقیصهای، یکی از انگیزههای اصلی توسعه زبان برنامهنویسی پایتون بود.
«قواعد دستوری» (Syntax) زبان پایتون نیز با الهام از زبانهایی نظیر Algol68، پاسکال و ABC شکل گرفته است و هدف توسعهدهندگان، ایجاد بیشترین خوانایی ممکن در«قواعد دستوری» (Syntax) زبان پایتون بود.
زبان برنامهنویسی جاوا
زبان برنامهنویسی جاوا، یک زبان برنامهنویسی با نوعهای دادهای «استاتیک یا ایستا» (Static) است، یعنی، نوع دادهای متغیرها، باید هنگام تعریف آنها در برنامه مشخص شوند. زبان برنامهنویسی جاوا نیز، همانند زبان برنامه نویسی پایتون، جزء زبانهای برنامهنویسی همه منظوره محسوب میشود.
«برنامهنویسی شیءگرا» (Object-Oriented programming | OOP)، به بهترین شکل ممکن در زبان برنامهنویسی جاوا نمود پیدا کرده است. همچنین، زبان جاوا در زمره زبانهای برنامهنویسی «همزمان یا همروند» (Concurrent) قرار میگیرد.
زبان برنامهنویسی جاوا، از ابتدا به شکلی توسعه داده شد که یک زبان برنامهنویسی WORA یا Write Once Run Anywhere باشد؛ یعنی زبانی که در آن، برنامهها یکبار نوشته شوند و پس از آن در هر سیستمی قابل اجرا باشند. به عبارت دیگر، از همان ابتدا و در چشمانداز آینده زبان برنامهنویسی جاوا مشخص شده بود که برنامههای نوشته شده به این زبان باید قادر باشند به کمک «ماشین مجازی جاوا» (Java Virtual Machine | JVM) و بدون کمترین «وابستگیهای برنامهنویسی» (Programming Dependencies) ممکن، روی هر پلتفرمی اجرا شوند.
پایتون یا جاوا: تفاوتهای کلیدی
در این بخش، ویژگیهای کلیدی این زبانها و تفاوت اساسی میان آنها شرح داده خواهد. تفاوت میان پایتون و جاوا از چند جهت مختلف مورد بررسی قرار میگیرد:
- آسانی یادگیری برای برنامهنویسان مبتدی
- موقعیت شغلی و درآمد برنامهنویسان این دو زبان
- محبوبیت زبانهای پایتون و جاوا در میان توسعهدهندگان، برنامهنویسان سیستمهای مدیریتی و جامعه برنامهنویسی
- تفاوتهای ساختاری میان زبان پایتون و جاوا
- مقایسه عملکرد آنها بر حسب معیارهایی نظیر زمان پردازشی لازم برای اجرای برنامهها، مدیریت حافظه مصرفی و قدرت پردازشی لازم
مرجع:
https://www.daneshjooyar.com/آموزش-پایتون-python-مقدماتی/