بخشی از پاورپوینت
اسلاید 1 :
چرا پایتون؟
اسلاید 3 :
گنو
سیستم عامل گنو در سال ۱۹۸۳ با هدف ایجاد یک سیستمعامل کامل و آزاد شبه-یونیکس بهوسیله ریچارد استالمن پایهگذاری شد. GNU مخفف بازگشتی «GNU's Not Unix» است.
پروژه گنو در سال ۱۹۸۴ با هدف پشتیبانی و تولید نرمافزار آزاد برای سیستمعامل گنو تأسیس شد.
بنیاد نرمافزار آزاد در سال ۱۹۸۵ با هدف حمایت از جنبش نرمافزار آزاد و به ویژه پروژهٔ گنو شروع به کار کرد.
امروزه مهمترین و رایجترین سیستمعاملی که از نرمافزارهای پروژه گنو و پروانه GNU GPL استفاده میکند، لینوکس است که از کرنل لینوکس استفاده میکند و به شکل توزیع لینوکس عرضه میشود که بعضی اشخاص به آن «گنو/لینوکس» میگویند.
گنو یک مخفف بازگشتی است و از نخستین حرف کلمات GNU's Not Unix به معنای گنو یونیکس نیست گرفته شده است. ریچارد استالمن این نام را روشی خلّاقانه برای ادای دین به سیستمعامل یونیکس میداند، زیرا استفاده از نام یونیکس به دلیل علامت تجاری بودن در یک محصول دیگر بدون اجازه ممکن نیست. همچنین گنو نام نوعی گاو وحشی است که در آفریقا زندگی میکند.
اسلاید 4 :
نرم افزار های آزاد
طبق تعریف نرمافزار آزاد توسط بنیاد نرمافزارهای آزاد، هر نرمافزاری که آزادیهای زیر را برای کاربرانش فراهم کند به عنوان یک نرمافزار آزاد شناخته میشود:
کاربران باید اجازه داشته باشند که نرمافزار مورد نظر را برای هر قصد و منظوری اجرا کنند.
کاربران باید اجازه داشته باشند نرمافزار را مطابق با نیازهای خود تغییر دهند. برای رسیدن به این هدف، کدهای منبع نرمافزار باید در اختیار کاربر قرار گیرد.
کاربران باید اجازه داشته باشند نرمافزار را مجدداً منتشر کرده و در اختیار دیگران قرار دهند. این کار میتواند به صورت رایگان و یا در ازای دریافت مبلغی پول صورت گیرد.
اگر کاربری نرمافزار را تغییر داد، باید اجازه داشته باشد آن را مجدداً منتشر کرده و در اختیار دیگران قرار دهد. (در مورد نرمافزارهای کپیلفت، لازم است تا کدهای منبع نرمافزار تغییریافته نیز در اختیار کاربران دیگر قرار گیرد)
اسلاید 5 :
کپی لفت
کپیلفت یک مفهوم عام است و پیادهسازیهای مختلفی از این مفهوم در قالب اجازهنامههای مختلف پدید آمدهاند. تعدادی از این اجازهنامهها که توسط بنیاد نرمافزارهای آزاد منتشر شدهاند، شامل این موارد است:
جیپیال(GPL)، اجازهنامه جامع و عمومی گنو: این اجازهنامه به منظور اعمال کپیلفت به نرمافزارها و متن آنها پدیدآمده است و تضمین میکند کاربران تمام آزادیهایی که در تعریف نرمافزار آزاد آمده است را داشته باشند و هیچ شخصی نتواند این آزادیها را از آنان بگیرد.
الجیپیال(LGPL)، اجازهنامه کوچکتر جامع و عمومی گنو: این اجازهنامه برای اعمال به کتابخانههای نرمافزاری پدید آمده است و به کاربران اجازه میدهد کتابخانههایی که تحت قوانین این اجازهنامه انتشار یافتهاند را با نرمافزارهای مالکیتی ترکیب کنند.
پروانه مستندات آزاد گنو(GFDL): نرمافزار آزاد باید دارای مستندات آزاد نیز باشد. این اجازهنامه به کاربران اجازه میدهد تا مستندات را ویرایش کرده و مجدداً توزیع کنند؛ و در عین حال تضمین میکند آزادیِ ویرایش و توزیع مجدد آن برای دیگران نیز محفوظ بماند.
اسلاید 6 :
زبان پایتون
خالق زبان برنامه نویسی پایتون
زبان Python توسط آقایGuido van Rossum ابداع شده است (لقبش Benevolent Dictator for Life ، دیکتاتور خیرخواه جاویدان است.) وی پیش از طراحی زبان پایتون، اقدام به طراحی زبانی تحت عنوان ABC کرده بود اما این زبان خیلی با اقبال عمومی مواجه نشد. پس از بازخوردهایی که در ارتباط با این زبان از سایر برنامه نویسان گرفت، آقای خودو فان روسوم در زمستان سال ۱۹۸۹ زبان پایتون را پایه ریزی کرد که برخلاف زبان قبلی، خیلی مورد استقبال سایر برنامه نویسان سرتاسر دنیا قرار گرفت.
اسلاید 7 :
داستان نامگذاری
ون روسوم پیش از هر چیز، تلاش کرد نامی مناسب برای زبان جدیدی که در صدد طراحی آن بود پیدا کند و با توجه به این که این زبان جدید از دل پروژه ی ABC بیرون می آمد، در ابتدا قصد داشت آن را B بنامد، اما متوجه شد زبانی به همین نام وجود دارد. پس از آن که روسوم بسیاری از پیشنهادات اعضای گروه را در مورد نام زبان جدید رد کرد تصمیم گرفت اولین نامی را که به ذهنش رسید انتخاب کند، که به طور اتفاقی به یاد کمدی محبوبش که آن روزها از شبکه ی BBC با نام Monty Python’s Flying Circus پخش می شد افتاد و به این ترتیب نام پایتون را برای پروژه ی جدید خود انتخاب کرد.
اسلاید 8 :
نسخه های پایتون
Release Derived from Year Owner GPL-compatible?
0.9.0 thru 1.2 - 1991-1995 CWI yes
1.3 thru 1.5.2 1.2 1995-1999 CNRI yes
1.6 1.5.2 2000 CNRI no
2.0 1.6 2000 BeOpen.com no
1.6.1 1.6 2001 CNRI yes
2.1 2.0+1.6.1 2001 PSF no
2.0.1 2.0+1.6.1 2001 PSF yes
2.1.1 2.1+2.0.1 2001 PSF yes
2.1.2 2.1.1 2002 PSF yes
2.1.3 2.1.2 2002 PSF yes
2.2 and above 2.1.1 2001-now PSF yes
اسلاید 9 :
میزان محبوبیت
اسلاید 11 :
ویژگیهای زبان پایتون
سادگی و صراحت (Simplicity)
می توان بیشتر روی حل مسئله متمرکز شد.
به زبان طبیعی دقیق بسیار نزدیک است
منحنی یادگیری کم شیب (Low Learning Curve)
حذف پیچیدگی ها
ساده بودن syntax
رایگان و متن باز بودن (Free & Open Source)
سطح بالا بودن (High-level)
زبانی تفسیرشده (Interpreted)
اسلاید 12 :
پرتابل بودن (Portable)
بر روی 21 پلتفرم اجرا می شود
برنامه از یک پلتفرم به پلتفرم دیگر تغییرات زیادی نیاز ندارد
Windows, GNU/Linux, Solaris, Android, Macintosh, …
شیء گرایی (Object Oriented)
توسعه پذیری (Extensible)
سرعت پایین اجرا
استفاده از کدهای سی و جاوا و سی پلاس پلاس
جای پذیری (Embeddable)
قرار دادن کد پایتون در دیگر زبان ها
اسلاید 13 :
کتابخانه ی گسترده:
کتابخانه غنی
استفاده از کتابخانه های دیگر توسعه دهندگان
Turtle, Tkinter, Numpy, Scipy, …
همه منظوره بودن (General-Purpose)
موتور جستجوگر گوگل و موتور گرافیکی یوتیوب
ساخت برنامه های کاربردی علمی در ناسا و .
بخشی از سرویس ایمیل یاهو
تست سخت افزار IBM, Intel, Cisco
ابزار های نصب لینوکس در نسخه RedHat
سرویس ابری Dropbox
اسلاید 14 :
محیط تعاملی(Interactive mode)
تست واشکال زدایی قطعات کد
انجام محاسبات علمی سریع مرحله به مرحله
اسلاید 15 :
کاربرد پایتون
برای پروتوتایپ سازی
پیاده سازی اولیه ایده ها
ساخت وب اپلیکیشن
جاوا در این زمینه پر طرفدار
طراحی اپلیکیشن های محاسباتی، علمی و مهندسی
کار با XML
ارتباط با دیتابیس
طراحی رابط کاربری
اسلاید 16 :
مقایسه کد ها در زبان های مختلف
اسلاید 17 :
مقایسه کد ها در زبان های مختلف
C++
// my first program in C++
#include
int main()
{
std::cout << "Hello World!";
return 0;
}
C
#include
int main()
{
/* my first program in C */
printf("Hello, World! \n");
return 0;
}
اسلاید 18 :
مقایسه کد ها در زبان های مختلف
java
public class MyFirstJavaProgram {
/* This is my first java program. * This will print 'Hello World' as the output */
public static void main(String []args) { System.out.println("Hello World");
// prints Hello World
}
}
C#
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* my first program in C# */
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
اسلاید 19 :
مقایسه کد ها در زبان های مختلف
HTML
Hello World inHTML
Hello world!
Python
Print (“Hello world!”)