Python Python طراحی و پیاده سازی زبان‌های برنامه‌سازی.

Slides:



Advertisements
Similar presentations
Python: Building an Open Source Project and Community SDForum Distinguished Speaker Series, 2/17/05 Guido van Rossum Elemental Security,
Advertisements

Python Whats in a name? Snake logos and mascot notwithstanding, its named after Monty Pythons Flying Circus Humor-impaired can safely.
director of PythonLabs at Zope Corporation
10/10/1999© 1999 CNRI, Guido van Rossum 1 Python Workshop Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston, Virginia,
EIONET Training Beginners Zope Course Miruna Bădescu Finsiel Romania Copenhagen, 27 October 2003.
A Crash Course Python. Python? Isn’t that a snake? Yes, but it is also a...
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Python By Steve Wright. What is Python? Simple, powerful, GP scripting language Simple, powerful, GP scripting language Object oriented Object oriented.
Week 1 basic Python programs, defining functions Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where.
Python Jordan Miller and Lauren Winkleman CS 311 Fall 2011.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
PHP Scripting Language. Introduction “PHP” is an acronym for “PHP: Hypertext Preprocessor.” It is an interpreted, server-side scripting language. Originally.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
Python Introduction.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
Programming 101 with Python: an open-source, cross-platform, and fun language By J. Burton Browning, Ed.D. Copyright © J. Burton Browning All rights reserved.
23-August-1999© 1999 CNRI, Guido van Rossum August-1999© 1999 CNRI, Guido van Rossum 2 Python Track Opening Words Guido van Rossum
Introduction to Python Dr. Bernard Chen Ph.D. University of Central Arkansas July 9 th 2012
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
GlueTrack interpreter for S2E beam dynamic simulations Igor Zagorodnov BDGM, DESY

Introduction to Python Guido van Rossum Director of PythonLabs at Zope Corporation
انواع Middleware و معرفی دو نمونه
28 May, 1999Le Copyright © 1999 CNRI, Guido van Rossum 1 Le Python à Paris Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston,
About Python. Sept. 2003© Guido van Rossum 2 Executive Summary Dynamically typed object-oriented language Python programs look like executable.
1 Programming in Python Language Overview. 2 Who is using it? Google (various projects) NASA (several projects) NYSE (one of only three languages "on.
Python Guido van Rossum Sung-Jin Hong SPARCS
Computer Science 111 Fundamentals of Programming I Overview of Programming.
1 Python CIS*2450 Advanced Programming Concepts Material for this lecture was developed by Dr. D. Calvert.
Washington Area SGML/XML Users Group – 21 June 2000 BeOpen.com 1 Python, XML, and PythonLabs Fred L. Drake, Jr.
The Python Programming Language Jeff Myers Programming Language Concepts, 01/14/2002
Programming language A programming language is an artificial language designed to communicate instructions to a machine,languageinstructionsmachine particularly.
Ruby! Ronald L. Ramos. What is Ruby? Ruby is a scripting language designed by Yukihiro Matsumoto, also known as Matz. It runs on a variety of platforms,
CS 11 java track: lecture 1 Administrivia need a CS cluster account cgi-bin/sysadmin/account_request.cgi need to know UNIX
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
2001 IT Conference RenoPage: 1 PHP 101 PHP – You can DO IT! Greg Lawler Brooks Institute of Photography February IT Conference Reno.
An Introduction to Python Blake Brogdon. What is Python?  Python is an interpreted, interactive, object-oriented programming language. (from python.org)
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
Introduction to CS520/CS596_026 Lecture Two Gordon Tian Fall 2015.
Introduction to PHP Advanced Database System Lab no.1.
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
An Introduction. What is Python? Interpreted language Created by Guido Van Rossum – early 90s Named after Monty Python
Week 1 basic Python programs, defining functions Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where.
Unit 1 Basic Python programs, functions Special thanks to Roy McElmurry, John Kurkowski, Scott Shawcroft, Ryan Tucker, Paul Beck for their work. Except.
Ch 1. A Python Q&A Session. Why do people use Python? Software Quality Developer productivity Program portability Support Libraries Component integration.
PHP vs. Python. Similarities are interpreted, high level languages with dynamic typing are Open Source are supported by large developer communities are.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
Pyragen A PYTHON WRAPPER GENERATOR TO APPLICATION CORE LIBRARIES Fernando PEREIRA, Christian THEIS - HSE/RP EDMS tech note:
Bucharest, 23 February 2005 CHM PTK technologies Adriana Baciu Finsiel Romania.
Presented By P.SRIVIDYA 085D1A0552 Programming Language.
Zope Concepts - Python scripts Valentin Baciu Finsiel Romania Tirana, 6 June 2005.
PHP Basics and Syntax Lesson 3 ITBS2203 E-Commerce for IT.
Python Programming Unit -1.
CST 1101 Problem Solving Using Computers
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Scope History of Ruby. Where can you use Ruby? General Features.
About Python.
Ch 1. A Python Q&A Session Bernard Chen 2007.
PHP / MySQL Introduction
What Is a Program? A program is like an algorithm, but describes a process that is ready or can be made ready to run on a real computer Retrieved from:
Introduction to Python
Introduction to Python
basic Python programs, defining functions
Introduction to Python
Intro to PHP.
Programming in Python Language Overview
FEATURES OF PYTHON.
Web Application Development Using PHP
Presentation transcript:

Python Python طراحی و پیاده سازی زبان‌های برنامه‌سازی

What’s in a name? جالب است بدانید که: نام پایتون از برنامه مورد علاقه‌ی سازنده‌ی آن مونتی پایتون که یک برنامه ی کمدی انگلیسی بود گرفته شده است!! توسط خَودو فان روسوم )به هلندی: (Guido van Rossum در سال ۱۹۹۱ در کشور هلند طراحی شد.

What is Python? O-O rapid prototyping language Not just a scripting language Not just another Perl Easy to learn, read, use Extensible (add new modules) ◦ C/C++/Fortran/whatever ◦ Java (through Jython) Embeddable in applications

Touchy-feely properties متن باز و اپن سورس (OSI Certified) ◦ دارای کپی‌رایت (CopyRight©), اما استفاده محدود نمی‌شود ◦ owned by independent non-profit, PSF پشتیبان کاربران ◦ فراوانی منابع و کتب آموزشی طراحی ساده, فراگیری آسان ◦ خوانایی ساده همچو شبه کد (“pseudo-code”) ◦ مناسب به عنوان اولین زبان ◦ مناسب به عنوان آخرین زبان

High-level properties قابلیت قابل حمل (Portable) ◦ Unix/Linux, Windows, Mac, PalmOS, WindowsCE, RiscOS, VxWorks, QNX, OS/2, OS/390, AS/400, PlayStation, Sharp Zaurus, BeOS, VMS… کامپایل به کد بایت تفسیر (interpreted byte code) ◦ compilation is implicit and automatic مدیریت خودکار حافظه ◦ reference counting for most situations ◦ GC added for cycle detection “Safe”: no core dumps due to your bugs

What is it used for? نمونه سازی سریع (rapid prototyping ) استفاده در برنامه نویسی وب (client and server side) مناسب برای برنامه‌های علمی(steering scientific applications) زبان الحاقی(extension language) پردازش XML database applications GUI applications آموزش

Who is using it? Google (various projects) NASA (several projects) NYSE (one of only three languages "on the floor") Industrial Light & Magic (everything) Yahoo! (Yahoo mail & groups) RealNetworks (function and load testing) RedHat (Linux installation tools) LLNL, Fermilab (steering scientific applications) Zope Corporation (content management) ObjectDomain (embedded Jython in UML tool) Alice project at CMU (accessible 3D graphics) More success stories at

Language properties Everything is an object Packages, modules, classes, functions Exception handling Dynamic typing, polymorphism Static scoping Operator overloading Indentation for block structure (تو رفتگی برای ساختار بلوک) ◦ Otherwise conventional syntax

High-level data types Numbers: int, long, float, complex Strings, Unicode: immutable Lists and dictionaries: containers Other types for e.g. binary data, regular expressions, introspection Extension modules can define new “built-in” data types

Interfaces to... XML ◦ DOM, expat ◦ XMLRPC, SOAP, Web Services Relational databases ◦ MySQL, PostgreSQL, Oracle, ODBC, Sybase, Informix Java (via Jython) Objective C COM, DCOM (.NET too) Many GUI libraries ◦ cross-platform  Tk, wxWindows, GTK, Qt ◦ platform-specific  MFC, Mac (classic, Cocoa), X11

Compared to Perl Easier to learn ◦ very important for infrequent users More readable code More maintainable code Fewer “magical” side effects More “safety” guarantees Better Java integration

Compared to Java Code up to 5 times shorter ◦ and more readable Dynamic typing Multiple inheritance, operator overloading Quicker development ◦ no compilation phase ◦ less typing Yes, it may run a bit slower ◦ but development is much faster ◦ and Python uses less memory (studies show) Similar (but more so) for C/C++

Jython Seamless integration with Java Separate implementation Implements the same language Different set of standard modules differences in “gray areas” ◦ e.g. some different introspection calls ◦ different command line options, etc.

Example code زبان پایتون بسیار شبیه به زبان انسان است برنامه Hello World را که اولین برنامه ساده می باشد را در دو زبان C و Python مقایسه کنید : int main() { printf("Hello World "); return 0; } اما بوسیله پایتون در یک فایل متنی بنویسید print "Hello World !!" و با دستور python hi.py اونو اجرا کنید.

Jython's Java integration Interactive Compiles directly to Java bytecode Import Java classes directly Subclass Java classes ◦pass instances back to Java Java beans integration Can compile into Java class files

Example function def gcd(a, b): "greatest common divisor" while a != 0: a, b = b%a, a # parallel assignment return b

Example class class Stack: "A well-known data structure" # doc string def __init__(self): # constructor self.items = [] def push(self, x): self.items.append(x) # the sky is the limit def pop(self): x = self.items[-1] # what happens if it’s empty? del self.items[-1] return x def empty(self): return len(self.items) == 0

References and plugs منابع: ◦ - Python home site  documentation, downloads, community, PSF ◦ - success stories ◦ - interview with GvR ◦ - Zope community site ◦ - Zope corporate site Python Conferences (see ◦ PyCon DC March Washington, DC  on-line registration ends today ($200) ◦ Python UK April 2-3 Oxford, England ◦ EuroPython June Charleroi, Belgium ◦ Python11 at OSCON July 7-11 Portland, OR

!More information اطلاعات بیشتر در زمینه‌ی Google App Engine منابع مطالعاتی فارسی و انگلیسی اسلاید آموزشی به همراه توضیحات تایپ شده آموزش فارسی و فروم‌های پرسش و پاسخ سایت رسمی پایتون