Thursday, 27 October 2016


RASPBERRY PI




The Raspberry Pi is a series of credit card-sized single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and developing countries.



Several generations of Raspberry Pi have been released. The first generation (retrospectively known as the Raspberry Pi 1) was released in February 2012 in basic Model A and a higher specification Model B. Improved A+ and B+ models were released a year later. The Raspberry Pi 2 was released in February 2015 and Raspberry Pi 3 in February 2016. These boards are priced between US$20 and 35. A cut down "compute" model was released in April 2014, and a Raspberry Pi Zerowith smaller size and limited input/output (I/O), general-purpose input/output (GPIO), abilities released in November 2015 for US$5.

All models feature a Broadcom system on a chip (SoC), which includes an AR compatible central processing unit (CPU) and an on chip graphics processing unit (GPU, a VideoCore IV). CPU speed ranges from 700 MHz to 1.2 GHz for the Pi 3 and on board memory range from 256 MB to 1 GB RAM. Secure Digital (SD) cards are used to store the operating system and program memory in either the SDHC or MicroSDHC sizes. Most boards have between one and four USB slots, HDMI and composite video output, and a 3.5 mm phone jack for audio. Lower level output is provided by a number of GPIO pins which support common protocols like I²C. The B-models have an 8P8C Ethernet port and the Pi 3 has on board Wi-Fi 802.11n and Bluetooth.

The Foundation provides Raspbian, a Debian-based Linux distribution for download, as well as third party Ubuntu, Windows 10 IOT Core, RISC OS, and specialised media center distributions. It promotes Python and Scratch as the main programming language, with support for many other languages. The default firmware is closed source, while an unofficial open source is available.

In February 2016, the Raspberry Pi Foundation announced that they had sold eight million devices, making it the best-selling UK personal computer, ahead of the Amstrad PCW. Sales reached ten million in September 2016.
A Schematic representation of Raspberry Pi Model

A Video to know the basics of Raspberry Pi Model

Contents


·         1Hardware

o    1.1Processor



o    1.2RAM

o    1.3Networking


o    1.5Video



o    1.8Connectors






·         2Software



o    2.3Firmware



·         3Reception and use

o    3.1Community



·         4Astro Pi

·         5History

o    5.1Pre-launch

o    5.2Launch


·         6See also

·         7References

·         8Further reading

·         9External links

Hardware

The Raspberry Pi hardware has evolved through several versions that feature variations in memory capacity and peripheral-device support.



This block diagram depicts Models A, B, A+, and B+. Model A, A+, and the Pi Zero lack the Ethernet and USB hub components. The Ethernet adapter is internally connected to an additional USB port. In Model A, A+, and the PI Zero, the USB port is connected directly to the system on a chip (SoC). On the Pi 1 Model B+ and later models the USB/Ethernet chip contains a five-point USB hub, of which four ports are available, while the Pi 1 Model B only provides two. On the Pi Zero, the USB port is also connected directly to the SoC, but it uses a micro USB (OTG) port.

Processor



0 MHz 32-bit quad-core ARM Cortex-A7 processor (as do many current smartphones), with 256 KB sha The Raspberry Pi 2 uses a 32-bit 900 MHz quad-core ARM Cortex-A7processor.
The Broadcom BCM2835 SoC used in the first generation Raspberry Pi is somewhat equivalent to the chip used in first generation smartphones (its CPU is an older ARMv6 architecture), which includes a 700 MHz ARM1176JZF-S processor, VideoCore IV graphics processing unit (GPU),[and RAM. It has a level 1 (L1) cache of 16 KB and a level 2 (L2) cache of 128 KB. The level 2 cache is used primarily by the GPU. The SoC is stacked underneath the glued to RAM chip, so only its edge is visible.
The Raspberry Pi 2 uses a Broadcom BCM2836 SoC with a 90red L2 cache.
The Raspberry Pi 3 uses a Broadcom BCM2837 SoC with a 1.2 GHz 64-bit quad-core ARM Cortex-A53 processor, with 512 KB shared L2 cache.
Performance
While operating at 700 MHz by default, the first generation Raspberry Pi provided a real-world performance roughly equivalent to 0.041 GFLOPS. On the CPU level the performance is similar to a 300 MHz Pentium II of 1997–99. The GPU provides 1 Gpixel/s or 1.5 Gtexel/s of graphics processing or 24 GFLOPS of general purpose computing performance. The graphical capability of the Raspberry Pi are roughly equivalent to the performance of the Xbox of 2001.
The LINPACK single node compute benchmark results in a mean single precision performance of 0.065 GFLOPS and a mean double precision performance of 0.041 GFLOPS for one Raspberry Pi Model-B board. A cluster of 64 Raspberry Pi Model B computers, labeled "Iridis-pi", achieved a LINPACK HPL suite result of 1.14 GFLOPS (n=10240) at 216 watts for c. US$4000.
Raspberry Pi 2 includes a quad-core Cortex-A7 CPU running at 900 MHz and 1 GB RAM. It is described as 4–6 times more powerful than its predecessor. The GPU is identical to the original. In parallelized benchmarks, the Raspberry Pi 2 could be up to 14 times faster than a Raspberry Pi 1 Model B+.
The Raspberry Pi 3, with a quad-core Cortex-A53 processor, is described as 10 times the performance of a Raspberry Pi 1.] This was suggested to be highly dependent upon task threading and instruction set use. Benchmarks showed the Raspberry Pi 3 to be approximately 80% faster than the Raspberry Pi 2 in parallelized tasks.

Overclocking
The first generation Raspberry Pi chip operated at 700 MHz by default, and did not become hot enough to need a heat sink or special cooling unless the chip was overclocked. The Raspberry Pi 2 runs at 900 MHz by default; it also does not become hot enough to need a heatsink or special cooling, although overclocking may heat up the SoC more than usual.
Most Raspberry Pi chips could be overclocked to 800 MHz, and some to 1000 MHz. There are reports the Raspberry Pi 2 can be similarly overclocked, in extreme cases, even to 1500 MHz (discarding all safety features and over-voltage limitations). In the Raspbian Linux distro the overclocking options on boot can be done by a software command running "sudo raspi-config" without voiding the warranty. In those cases the Pi automatically shuts the overclocking down if the chip reaches 85 °C (185 °F), but it is possible to override automatic over-voltage and overclocking settings (voiding the warranty); an appropriately sized heatsink is needed to protect the chip from serious overheating.
Newer versions of the firmware contain the option to choose between five overclock ("turbo") presets that when used, attempt to maximize the performance of the SoC without impairing the lifetime of the board. This is done by monitoring the core temperature of the chip, the CPU load, and dynamically adjusting clock speeds and the core voltage. When the demand is low on the CPU or it is running too hot the performance is throttled, but if the CPU has much to do and the chip's temperature is acceptable, performance is temporarily increased with clock speeds of up to 1 GHz depending on the individual board and on which of the turbo settings is used.
The seven overclock presets are:
·         none; 700 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolt,
·         modest; 800 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolt,
·         medium; 900 MHz ARM, 250 MHz core, 450 MHz SDRAM, 2 overvolt,
·         high; 950 MHz ARM, 250 MHz core, 450 MHz SDRAM, 6 overvolt,
·         turbo; 1000 MHz ARM, 500 MHz core, 600 MHz SDRAM, 6 overvolt,
·         Pi2; 1000 MHz ARM, 500 MHz core, 500 MHz SDRAM, 2 overvolt,
·         Pi3; 1100 MHz ARM, 550 MHz core, 500 MHz SDRAM, 6 overvolt. In system information CPU speed will appear as 1200 MHz. When in idle speed lowers to 600 MHz.
In the highest (turbo) preset the SDRAM clock was originally 500 MHz, but this was later changed to 600 MHz because 500 MHz sometimes causes SD card corruption. Simultaneously in high mode the core clock speed was lowered from 450 to 250 MHz, and in medium mode from 333 to 250 MHz.
The Raspberry Pi Zero runs at 1 GHz.
RAM
On the older beta Model B boards, 128 MB was allocated by default to the GPU, leaving 128 MB for the CPU.[On the first 256 MB release Model B (and Model A), three different splits were possible. The default split was 192 MB (RAM for CPU), which should be sufficient for standalone 1080p video decoding, or for simple 3D, but probably not for both together. 224 MB was for Linux only, with only a 1080p framebuffer, and was likely to fail for any video or 3D. 128 MB was for heavy 3D, possibly also with video decoding (e.g. XBMC).] Comparatively the Nokia 701 uses 128 MB for the Broadcom VideoCore IV.] For the new Model B with 512 MB RAM initially there were new standard memory split files released( arm256_start.elf, arm384_start.elf, arm496_start.elf) for 256 MB, 384 MB and 496 MB CPU RAM (and 256 MB, 128 MB and 16 MB video RAM). But a week or so later the RPF released a new version of start.elf that could read a new entry in config.txt (gpu_mem=xx) and could dynamically assign an amount of RAM (from 16 to 256 MB in 8 MB steps) to the GPU, so the older method of memory splits became obsolete, and a single start.elf worked the same for 256 and 512 MB Raspberry Pi.
The Raspberry Pi 2 and the Raspberry Pi 3 have 1 GB of RAM. The Raspberry Pi Zero has 512 MB of RAM.
Networking
The Model A, A+ and Pi Zero have no Ethernet circuitry and are commonly connected to a network using an external user-supplied USB Ethernet or Wi-Fi adapter. On the Model B and B+ the Ethernet port is provided by a built-in USB Ethernet adapter using the SMSC LAN9514 chip. The Raspberry Pi 3 is equipped with 2.4 GHz WiFi 802.11n(150 Mbit/s) and Bluetooth 4.1 (24 Mbit/s) in addition to the 10/100 Ethernet port.
Peripherals

The current Model B boards incorporate four USB ports for connecting peripherals.
The Raspberry Pi may be operated with any generic USB computer keyboard and mouse.
Video

The early Raspberry Pi 1 Model A, with an HDMI port and a standard RCA composite video port for older displays.
The video controller can emit standard modern TV resolutions, such as HD and Full HD, and higher or lower monitor resolutions and older standard CRT TV resolutions. As shipped (i.e., without custom overclocking) it can emit these: 640×350 EGA; 640×480 VGA; 800×600 SVGA; 1024×768 XGA; 1280×720 720p HDTV; 1280×768 WXGA variant; 1280×800 WXGA variant; 1280×1024 SXGA; 1366×768 WXGAvariant; 1400×1050 SXGA+; 1600×1200 UXGA; 1680×1050 WXGA+; 1920×1080 1080p HDTV; 1920×1200 WUXGA.[31]
Higher resolutions, such as, up to 2048×1152, may work[32][33] or even 3840×2160 at 15 Hz (too low a framerate for convincing video).[34]Note also that allowing the highest resolutions does not imply that the GPU can decode video formats at those; in fact, the Pis are known to not work reliably for H.265 (at those high resolution, at least), commonly used for very high resolutions (most formats, commonly used, up to full HD, do work).
Although the Raspberry Pi 3 does not have H.265 decoding hardware, the CPU, more powerful than its predecessors, is potentially able to decode H.265-encoded videos in software. The Open Source Media Center (OSMC) project said in February 2016:
The new BCM2837 based on 64-bit ARMv8 architecture is backwards compatible with the Raspberry Pi 2 as well as the original. While the new CPU is 64-bit, the Pi retains the original VideoCore IV GPU which has a 32-bit design. It will be a few months before work is done to establish 64-bit pointer interfacing from the kernel and userland on the ARM to the 32-bit GPU. As such, for the time being, we will be offering a single Raspberry Pi image for Raspberry Pi 2 and the new Raspberry Pi 3. Only when 64-bit support is ready, and beneficial to OSMC users, will we offer a separate image. The new quad core CPU will bring smoother GUI performance. There have also been recent improvements to H265 decoding. While not hardware accelerated on the Raspberry Pi, the new CPU will enable more H265 content to be played back on the Raspberry Pi than before.
— Raspberry Pi 3 announced with OSMC support
The Pi 3's GPU has higher clock frequencies—300 MHz and 400 MHz for different parts—than previous versions' 250 MHz.
The Raspberry Pis can also generate 576i and 480i composite video signals, as used on old-style (CRT) TV screens through standard connectors—either RCA or 3.5mm phone connector depending on models. The television signal standards supported are PAL-BGHID, PAL-M, PAL-N, NTSC and NTSC-J.
Real-time clock
The Raspberry Pi does not have a built-in real-time clock, and does not "know" the time of day. As a workaround, a program running on the Raspberry Pi can get the time from a network time server or user input at boot time, thus knowing the time while powered on.
A real-time hardware clock with battery backup, such as the DS1307, which is fully binary coded, may be added (often via the I²C interface).
Specifications[edit]

Variant

Raspberry Pi 1

Raspberry Pi 2

Raspberry Pi 3

Compute Module*

Raspberry Pi Zero

Model

Model A

Model A+

Model B

Model B+

Model B

Model B

N/A

PCB v1.2

PCB v1.3

Release date

February 2012

November 2014[

April–June 2012

July 2014[

February 2015

February 2016

April 2014

November 2015

May 2016

Target price

US$25

US$20

US$35

US$25[

US$35

US$35

US$30 (in batches of 100)

US$5

US$5

Architecture

ARMv6 (32-bit)

ARMv7 (32-bit)

ARMv8 (64/32-bit)

ARMv6 (32-bit)


Broadcom BCM2835

BroadcomBCM2836

BroadcomBCM2837

Broadcom BCM2835


700 MHz single-core ARM1176JZF-S

900 MHz 32-bit quad-core ARM Cortex-A7

1.2 GHz 64-bit quad-core ARM Cortex-A53

700 MHz single-core ARM1176JZF-S

1 GHz ARM1176JZF-S single-core


Broadcom VideoCore IV @ 250 MHz (BCM2837: 3D part of GPU @ 300 MHz, video part of GPU @ 400 MHz).
OpenGL ES 2.0 (BCM2835, BCM2836: 24 GFLOPS / BCM2837: 28.8 GFLOPS)
MPEG-2 and VC-1 (with license), 1080p30 H.264/MPEG-4 AVC high-profile decoder and encoder (BCM2837: 1080p60)

Memory (SDRAM)

256 MB (shared with GPU)

512 MB (shared with GPU) as of 4 May 2016. Older boards had 256 MB (shared with GPU)

1 GB (shared with GPU)

512 MB (shared with GPU)

USB 2.0 ports

1 (direct from BCM2835 chip)

2 (via the on-board 3-port USB hub)

4 (via the on-board 5-port USB hub)

1 (direct from BCM2835 chip)

1 Micro-USB (direct from BCM2835 chip)

Video input

15-pin MIPI camera interface (CSI) connector, used with the Raspberry Pi camera or Raspberry Pi NoIR camera

2× MIPI camera interface (CSI)

None

MIPI camera interface (CSI) (rev 1.3)

Video outputs

HDMI (rev 1.3) composite video (RCA jack)

HDMI (rev 1.3), composite video (3.5 mm TRRS jack)

HDMI (rev 1.3), composite video (RCA jack)

HDMI (rev 1.3), composite video (3.5 mm TRRS jack)

HDMI, 2× MIPI display interface (DSI) for raw LCDpanels,composite video

Mini-HDMI, 1080p60,composite video via GPIO

Audio inputs

As of revision 2 boards via I²S

Audio outputs

Analog via 3.5 mm phone jack; digital via HDMI and, as of revision 2 boards, I²S

Analog, HDMI, I²S

Mini-HDMI, stereo audio through PWM on GPIO

On-board storage

SD, MMC, SDIO card slot (3.3 V with card power only)


SD, MMC, SDIO card slot

MicroSDHC slot

4 GB eMMC flash memory chip;


On-board network

None

10/100 Mbit/s Ethernet (8P8C) USB adapter on the USB hub

10/100 Mbit/s Ethernet,
802.11n wireless,
Bluetooth 4.1

None

Low-level peripherals

 GPIO[61] plus the following, which can also be used as GPIO: UART, I²C bus, SPI bus with two chip selects, I²Saudio[62] +3.3 V, +5 V, ground[46][63]

17× GPIOplus the same specific functions, and HAT ID bus

 GPIO plus the following, which can also be used as GPIO: UART, I²C bus, SPIbus with two chip selects, I²S audio +3.3 V, +5 V, ground.

An additional 4× GPIOare available on the P5 pad if the user is willing to make solder connections

17× GPIO plus the same specific functions, and HAT ID bus

46× GPIO, some of which can be used for specific functions including I²C, SPI, UART, PCM, PWM

40× GPIO("unpopulated header")[

Power ratings

300 mA (1.5 W)[65]

200 mA (1 W)

700 mA (3.5 W)

600 mA (3.0 W)

800 mA(4.0 W)[

200 mA (1 W)

~160 mA(0.8 W)

Power source

5 V via MicroUSB or GPIO header

Size

85.60 mm × 56.5 mm (3.370 in × 2.224 in), not including protruding connectors

65 mm × 56.5 mm × 10 mm (2.56 in × 2.22 in × 0.39 in), same as HAT board

85.60 mm × 56.5 mm (3.370 in × 2.224 in), not including protruding connectors

67.6 mm × 30 mm (2.66 in × 1.18 in)

65 mm × 30 mm × 5 mm (2.56 in × 1.18 in × 0.20 in)

Weight

31 g (1.1 oz)

23 g (0.81 oz)

45 g (1.6 oz)

7 g (0.25 oz)[69]

9 g (0.32 oz)[70]

Console

Micro-USB cable[60] or a serial cable with optional GPIO power connector

Model

Model A

Model A+

Model B

Model B+

Model B

Model B

N/A

PCB v1.2

PCB v1.3

Variant

Raspberry Pi 1

Raspberry Pi 2

Raspberry Pi 3

Compute Module*

Raspberry Pi Zero
* all interfaces are via 200-pin DDR2 SO-DIMM connector.
Connectors

Pi Zero

·        


Location of connectors and main ICs

Model A/A+[edit]

·        


Location of connectors and main ICs on Raspberry Pi 1 Model A

·        

Location of connectors and main ICs on Raspberry Pi 1 Model A+ revision 1.1

Model B/B+[edit]

·        


Location of connectors and main ICs on Raspberry Pi 1 Model B revision 1.2


·        

Location of connectors and main ICs on Raspberry Pi 1 Model B+ revision 1.2 and Raspberry Pi 2


·        

Location of connectors and main ICs on Raspberry Pi 3
General purpose input-output (GPIO) connector
Raspberry Pi 1 Models A+ and B+, Pi 2 Model B, Pi 3 Model B and Pi Zero GPIO J8 have a 40-pin pinout. Models A and B have only the first 26 pins.

GPIO#

2nd func.

Pin#

Pin#

2nd func.

GPIO#

+3.3 V

1

2

+5 V

2

SDA1 (I²C)

3

4

+5 V

3

SCL1 (I²C)

5

6

GND

4

GCLK

7

8

TXD0 (UART)

14

GND

9

10

RXD0 (UART)

15

17

GEN0

11

12

GEN1

18

27

GEN2

13

14

GND

22

GEN3

15

16

GEN4

23

+3.3 V

17

18

GEN5

24

10

MOSI (SPI)

19

20

GND

9

MISO (SPI)

21

22

GEN6

25

11

SCLK (SPI)

23

24

CE0_N (SPI)

8

GND

25

26

CE1_N (SPI)

7

(Pi 1 Models A and B stop here)

EEPROM

ID_SD

27

28

ID_SC

EEPROM

5

N/A

29

30

GND

6

N/A

31

32

12

13

N/A

33

34

GND

19

N/A

35

36

N/A

16

26

N/A

37

38

Digital IN

20

GND

39

40

Digital OUT

21
Model B rev. 2 also has a pad (called P5 on the board and P6 on the schematics) of 8 pins offering access to an additional 4 GPIO connections.

Function

2nd func.

Pin#

Pin#

2nd func.

Function

N/A

+5 V

1

2

+3.3 V

N/A

GPIO28

GPIO_GEN7

3

4

GPIO_GEN8

GPIO29

GPIO30

GPIO_GEN9

5

6

GPIO_GEN10

GPIO31

N/A

GND

7

8

GND

N/A
Models A and B provide GPIO access to the ACT status LED using GPIO 16. Models A+ and B+ provide GPIO access to the ACT status LED using GPIO 47, and the power status LED using GPIO 35.
Accessories
·         Camera – On 14 May 2013, the foundation and the distributors RS Components & Premier Farnell/Element 14 launched the Raspberry Pi camera board with a firmware update to accommodate it. The camera board is shipped with a flexible flat cable that plugs into the CSI connector located between the Ethernet and HDMI ports. In Raspbian, one enables the system to use the camera board by the installing or upgrading to the latest version of the operating system (OS) and then running Raspi-config and selecting the camera option. The cost of the camera module is 20 in Europe (9 September 2013). It can produce 1080p, 720p and 640x480p video. The dimensions are 25 mm × 20 mm × 9 mm. In May 2016, v2 of the camera came out, and is an 8 megapixel camera.
·         Gertboard – A Raspberry Pi Foundation sanctioned device, designed for educational purposes, that expands the Raspberry Pi's GPIO pins to allow interface with and control of LEDs, switches, analog signals, sensors and other devices. It also includes an optional Arduino compatible controller to interface with the Pi.
·         Infrared Camera – In October 2013, the foundation announced that they would begin producing a camera module without an infrared filter, called the Pi NoIR.
·         HAT (Hardware Attached on Top) expansion boards – Together with the Model B+, inspired by the Arduino shield boards, the interface for HAT boards was devised by the Raspberry Pi Foundation. Each HAT board carries a small EEPROM (typically a CAT24C32WI-GT3)[82] containing the relevant details of the board, so that the Raspberry Pi's OS is informed of the HAT, and the technical details of it, relevant to the OS using the HAT.[84] Mechanical details of a HAT board, that use the four mounting holes in their rectangular formation, are available online.

Software
Operating systems

Various operating systems can be installed on the Raspberry Pi through SD cards; most use a MicroSD slot located on the bottom of the board.
The Raspberry Pi primarily uses Raspbian, a Debian-based Linux operating system. Other third party operating systems available via the official website include Ubuntu MATE, Snappy Ubuntu Core, Windows 10 IoT Core, RISC OS and specialised distributions for the Kodimedia center and classroom management.[87]
Many other operating systems can also run on the Raspberry Pi.
Other operating systems (not Linux-based)
·         RISC OS Pi (a special cut down version RISC OS Pico, for 16 MB cards and larger for all models of Pi 1 & 2, has also been made available)
·         FreeBSD
·         NetBSD
·         Plan 9 from Bell Labs] and Inferno] (in beta)
·         Windows 10 IoT Core – a no-cost edition of Windows 10 offered by Microsoft that runs natively on the Raspberry Pi 2.
·         xv6]– is a modern reimplementation of Sixth Edition Unix OS for teaching purposes; it is ported to Raspberry Pi from MIT xv6; this xv6 port can boot from NOOBS.
·         Haiku – is an opensource BeOS clone that has can be compiled for the Raspberry Pi and several other ARM boards. Work began in 2011 on Pi 1, but only the Pi 2 will be supported.[citation needed]
Other operating systems (Linux-based)
·         Xbian – using the Kodi (formerly XBMC) open source digital media center
·         openSUSE
·         Raspberry Pi Fedora Remix
·         Gentoo Linux
·         Diet Pi, includes a diverse range of servers for media, VPN, Minecraft and many others
·         CentOS for Raspberry Pi 2 and later
·         RedSleeve (a RHEL port) for Raspberry Pi 1
·         Slackware ARM – version 13.37 and later runs on the Raspberry Pi without modification. The 128–496 MB of available memory on the Raspberry Pi is at least twice the minimum requirement of 64 MB needed to run Slackware Linux on an ARM or i386 system. (Whereas the majority of Linux systems boot into a graphical user interface, Slackware's default user environment is the textual shell / command line interface.) The Fluxbox window manager running under the X Window System requires an additional 48 MB of RAM.
·         Moebius – is a light ARM HF distribution based on Debian. It uses Raspbian repository, but it fits in a 128 MB SD card. It has only minimal services and its memory use is optimized to be small.
·         OpenWrt – is primarily used on embedded devices to route network traffic.
·         Kali Linux – is a Debian-derived distro designed for digital forensics and penetration testing.
·         Pardus ARM– is a Debian-based operating system which is the light version of the Pardus (operating system).
·         Instant WebKiosk – is an operating system for digital signage purposes (web and media views).
·         Ark OS – is designed for website and email self-hosting.
·         ROKOS – is a Raspbian-based operating system with integrated clients for the Bitcoin and OKCash cryptocurrencies.
·         MinePeon – is a dedicated operating system for mining cryptocurrency.
·         Kano OS
·         Nard SDK – is a software development kit (SDK) for industrial embedded systems.
·         Sailfish OS with Raspberry Pi 2 (due to use ARM Cortex-A7 CPU; Raspberry Pi 1 uses different ARMv6 architecture and Sailfish requires ARMv7.)
·         Tiny Core Linux – a minimal Linux operating system focused on providing a base system using BusyBox and FLTK. Designed to run primarily in RAM.
·         IPFire – is a dedicated firewall/router distribution for the protection of a SOHO LAN; runs only on a Raspberry Pi 1; porting to the Raspberry Pi 2 is not planned for now.
·         Alpine Linux – is a Linux distribution based on musl and BusyBox, primarily designed for "power users who appreciate security, simplicity and resource efficiency".
·         Void Linux – a rolling release Linux distribution which was designed and implemented from scratch, provides images based on musl or glibc.
·         Tingbot OS – based on Raspbian, primarily designed for use with the Tingbot addon and running Tide apps.
·         WTware for Raspberry Pi[ – is a free operating system for creating Windows thin client from Pi 2 and Pi 3.
·         Media center operating systems:
·         OSMC
·         OpenELEC
·         LibreELEC
·         Xbian
·         Rasplex
·         Audio operating systems :
·         Volumio
·         Pimusicbox
·         Runeaudio
·         moOdeaudio
·         Retrogaming operating systems:
·         Retropie
·         Recalbox
·         Happi Game Center
·         Lakka
·         ChameleonPi
·         Piplay
Driver APIs

Scheme of the implemented APIs: OpenMAX, OpenGL ES and OpenVG
Raspberry Pi can use a VideoCore IV GPU via a binary blob, which is loaded into the GPU at boot time from the SD-card, and additional software, that initially was closed source.[120] This part of the driver code was later released.[121] However, much of the actual driver work is done using the closed source GPU code. Application software use calls to closed source run-time libraries (OpenMax, OpenGL ES or OpenVG) which in turn calls an open source driver inside the Linux kernel, which then calls the closed source VideoCore IV GPU driver code. The API of the kernel driver is specific for these closed libraries. Video applications use OpenMAX, 3D applications use OpenGL ESand 2D applications use OpenVG which both in turn use EGL. OpenMAX and EGL use the open source kernel driver in turn.
Firmware
The official firmware is a freely redistributable binary blob, that is closed-source.A minimal open source firmware is also available.
Third party application software
·         AstroPrint – AstroPrint's Wireless 3D printing software can be run on the Pi 2.
·         Mathematica & the Wolfram Language – Since 21 November 2013, Raspbian includes a full installation of this proprietary software for free. As of 24 August 2015, the version is Mathematica 10.2. Programs can be run either from a command line interface or from a Notebook interface. There are Wolfram Language functions for accessing connected devices. There is also a Wolfram Language desktop development kit allowing development for Raspberry Pi in Mathematica from desktop machines.
·         Minecraft – Released 11 February 2013, a version for the Raspberry Pi, in which you can modify the game world with code, the only official version of the game in which you can do so.
·         UserGate Web Filter – On 20 September 2013, Florida-based security vendor Entensys announced porting UserGate Web Filter to Raspberry Pi platform.
Software development tools
·         AlgoID – for learning programming for kids and beginners.
·         BlueJ – for teaching Java to beginners.
·         Fawlty Language – a freely usable IDL (programming language) clone for Pi 2.
·         Greenfoot – Greenfoot teaches object orientation with Java. Create 'actors' which live in 'worlds' to build games, simulations, and other graphical programs.
·         Julia – an interactive and cross-platform programming language/environment, that runs on the Pi 1 and later. IDEs for Julia, such as Juno, are available.
·         Lazarus – a Free Pascal RAD IDE.
·         LiveCode – educational RAD IDE descended from HyperCard using English-like language to write event-handlers for WYSIWYG widgets runnable on desktop, mobile and Raspberry Pi platforms.
·         Ninja-IDE – a cross-platform integrated development environment (IDE) for Python.
·         Object Pascal – an object oriented variant (the one used in Delphi IDE) of Niklaus Wirth's original Pascal language.
·         Processing – an IDE built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context.
·         Scratch – a cross platform teaching IDE using visual blocks that stack like Lego™ originally developed by MIT's Life Long Kindergarten group. The Pi version is very heavily optimized for the limited compute resources available and is implemented in the Squeak Smalltalk system.
·         Squeak Smalltalk – a full scale open Smalltalk.
·         V-Play Game Engine – a cross-platform development framework that supports mobile game and app development with the V-Play Game Engine, V-Play apps and V-Play plugins.
·         Xojo – a cross-platform, professional RAD tool that can create desktop, web and console apps for Pi 2.
·         PowerBerry  – The porting of POWER-KI[ programming language on Windows 10 IoT - The PowerBerry Manager PBM allows the manage of the board and its distribution contains demo and test Apps (GPIO, WEB,PCA9685..).

Reception and use
Technology writer Glyn Moody described the project in May 2011 as a "potential BBC Micro 2.0", not by replacing PC compatible machines but by supplementing them. In March 2012 Stephen Pritchard echoed the BBC Micro successor sentiment in ITPRO. Alex Hope, co-author of the Next Gen report, is hopeful that the computer will engage children with the excitement of programming. Co-author Ian Livingstone suggested that the BBC could be involved in building support for the device, possibly branding it as the BBC Nano. Chris Williams, writing in The Register sees the inclusion of programming languages such as Kids Ruby, Scratch and BASIC as a "good start" to equip kids with the skills needed in the future – although it remains to be seen how effective their use will be. The Centre for Computing History strongly supports the Raspberry Pi project, feeling that it could "usher in a new era". Before release, the board was showcased by ARM's CEO Warren East at an event in Cambridge outlining Google's ideas to improve UK science and technology education.[145]
Harry Fairhead, however, suggests that more emphasis should be put on improving the educational software available on existing hardware, using tools such as Google App Inventor to return programming to schools, rather than adding new hardware choices. Simon Rockman, writing in a ZDNet blog, was of the opinion that teens will have "better things to do", despite what happened in the 1980s.
In October 2012, the Raspberry Pi won T3's Innovation of the Year award,and futurist Mark Pesce cited a (borrowed) Raspberry Pi as the inspiration for his ambient deviceproject MooresCloud. In October 2012, the British Computer Society reacted to the announcement of enhanced specifications by stating, "it's definitely something we'll want to sink our teeth into."
In February 2015, a switched-mode power supply chip, designated U16, of the Raspberry Pi 2 Model B version 1.1 (the initially released version) was found to be vulnerable to flashes of light, particularly the light from xenon camera flashes and green and red laser pointers. However, other bright lights, particularly ones that are on continuously, were found to have no effect. The symptom was the Raspberry Pi 2 spontaneously rebooting or turning off when these lights were flashed at the chip. Initially, some users and commenters suspected that the electromagnetic pulse (EMP) from the xenon flash tube was causing the problem by interfering with the computer's digital circuitry, but this was ruled out by tests where the light was either blocked by a card or aimed at the other side of the Raspberry Pi 2, both of which did not cause a problem. The problem was narrowed down to the U16 chip by covering first the system on a chip (main processor) and then U16 with Blu-Tack (an opaque poster mounting compound). Light being the sole culprit, instead of EMP, was further confirmed by the laser pointer tests, where it was also found that less opaque covering was needed to shield against the laser pointers than to shield against the xenon flashes. The U16 chip seems to be bare silicon without a plastic cover (i.e. a chip-scale package or wafer-level package), which would, if present, block the light. Unofficial workarounds include covering U16 with opaque material (such as electrical tape, lacquer, poster mounting compound, or even balled-up bread[151]), putting the Raspberry Pi 2 in a case, and avoiding taking photos of the top side of the board with a xenon flash. This issue was not caught before the release of the Raspberry Pi 2 because while commercial electronic devices are routinely subjected to tests of susceptibility to radio interference, it is not standard or common practice to test their susceptibility to optical interference.
Community
The Raspberry Pi community was described by Jamie Ayre of FLOSS software company AdaCore as one of the most exciting parts of the project.[153] Community blogger Russell Davis said that the community strength allows the Foundation to concentrate on documentation and teaching.[153] The community developed a fanzine around the platform called The MagPi[154] which in 2015, was handed over to the Raspberry Pi Foundation by its volunteers to be continued in-house.[155] A series of community Raspberry Jam events have been held across the UK and around the world.[156]
Use in education
As of January 2012, enquiries about the board in the United Kingdom have been received from schools in both the state and private sectors, with around five times as much interest from the latter. It is hoped that businesses will sponsor purchases for less advantaged schools.[157] The CEO of Premier Farnell said that the government of a country in the Middle East has expressed interest in providing a board to every schoolgirl, in order to enhance her employment prospects.[158][159]
In 2014, the Raspberry Pi Foundation hired a number of its community members including ex-teachers and software developers to launch a set of free learning resources for its website.[160] The resources are freely licensed under Creative Commons, and contributions and collaborations are encouraged on social coding platform GitHub.
The Foundation also started a teacher training course called Picademy with the aim of helping teachers prepare for teaching the new computing curriculum using the Raspberry Pi in the classroom.[161] The continued professional development course is provided free for teachers and is run by the Foundation's education team.
Use in home automation
There are a number of developers and applications that are leveraging the Raspberry Pi for home automation. These programmers are making an effort to modify the Raspberry Pi into a cost affordable solution in energy monitoring and power consumption. Because of the relatively low cost of the Raspberry Pi, this has become a popular and economical solution to the more expensive commercial alternatives.[162]

Astro Pi
A project was launched in December 2014 at an event held by the UK Space Agency. The Astro Pi competition was officially opened in January and was opened to all primary and secondary school aged children who were residents of the United Kingdom. During his mission, British ESA Astronaut Tim Peake plans to deploy the computers on board the International Space Station. He will then load up the winning code while in orbit, collect the data generated and then send this to Earth where it will be distributed to the winning teams. The themes of Spacecraft Sensors, Satellite Imaging, Space Measurements, Data Fusion and Space Radiation were devised to stimulate creative and scientific thinking.
The organisations involved in the Astro Pi competition include the UK Space Agency, UKspace, Raspberry Pi, ESERO-UK and ESA.

History

https://upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/40px-Edit-clear.svg.png

This section contains embedded lists that may be better presented using prose. You can help by converting the list or lists to prose, if appropriateEditing help is available. (February 2015) (Learn how and when to remove this template message)
https://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Raspberry_Pi_board_at_TransferSummit_2011_cropped.jpg/220px-Raspberry_Pi_board_at_TransferSummit_2011_cropped.jpg
An early alpha-test board in operation using different layout from later beta and production boards
In 2006, early concepts of the Raspberry Pi were based on the Atmel ATmega644 microcontroller. Its schematics and PCB layout are publicly available.[163] Foundation trustee Eben Upton assembled a group of teachers, academics and computer enthusiasts to devise a computer to inspire children.[157] The computer is inspired by Acorn's BBC Micro of 1981.[164][165] The Model A, Model B and Model B+ names are references to the original models of the British educational BBC Micro computer, developed by Acorn Computers.[143] The first ARM prototype version of the computer was mounted in a package the same size as a USB memory stick.[166] It had a USB port on one end and an HDMI port on the other.
The Foundation's goal was to offer two versions, priced at US$25 and 35. They started accepting orders for the higher priced Model B on 29 February 2012,[167] the lower cost Model A on 4 February 2013.[168] and the even lower cost (US$20) A+ on 10 November 2014.[43] On 26 November 2015, the cheapest Raspberry PI yet, the Raspberry PI Zero, was launched at US$5 or £4.[169]
Pre-launch
·         July 2011: Trustee Eben Upton publicly approached the RISC OS Open community in July 2011 to enquire about assistance with a port.[170] Adrian Lees at Broadcom has since worked on the port,[171][172] with his work being cited in a discussion regarding the graphics drivers.[173] This port is now included in NOOBS.
·         August 2011 – 50 alpha boards are manufactured. These boards were functionally identical to the planned Model B,[174] but they were physically larger to accommodate debug headers. Demonstrations of the board showed it running the LXDE desktop on Debian, Quake 3 at 1080p,[175] and Full HD MPEG-4 video over HDMI.[176]
·         October 2011 – A version of RISC OS 5 was demonstrated in public, and following a year of development the port was released for general consumption in November 2012.[177][178][179][180]
·         December 2011 – Twenty-five Model B Beta boards were assembled and tested[181] from one hundred unpopulated PCBs.[182] The component layout of the Beta boards was the same as on production boards. A single error was discovered in the board design where some pins on the CPU were not held high; it was fixed for the first production run.[183] The Beta boards were demonstrated booting Linux, playing a 1080p movie trailer and the Rightware Samurai OpenGL ES benchmark.[184]
·         Early 2012 – During the first week of the year, the first 10 boards were put up for auction on eBay.[185][186] One was bought anonymously and donated to the museum at The Centre for Computing History in Cambridge, England.[144][187] The ten boards (with a total retail price of £220) together raised over £16,000,[188] with the last to be auctioned, serial number No. 01, raising £3,500.[189] In advance of the anticipated launch at the end of February 2012, the Foundation's servers struggled to cope with the load placed by watchers repeatedly refreshing their browsers.[190]
Launch
·         19 February 2012 – The first proof of concept SD card image that could be loaded onto an SD card to produce a preliminary operating system is released. The image was based on Debian 6.0 (Squeeze), with the LXDE desktop and the Midori browser, plus various programming tools. The image also runs on QEMU allowing the Raspberry Pi to be emulated on various other platforms.[191][192]
·         29 February 2012 – Initial sales commence 29 February 2012[193] at 06:00 UTC;. At the same time, it was announced that the model A, originally to have had 128 MB of RAM, was to be upgraded to 256 MB before release.[167] The Foundation's website also announced: "Six years after the project's inception, we're nearly at the end of our first run of development – although it's just the beginning of the Raspberry Pi story."[194] The web-shops of the two licensed manufacturers selling Raspberry Pi's within the United Kingdom, Premier Farnell and RS Components, had their websites stalled by heavy web traffic immediately after the launch (RS Components briefly going down completely).[195][196] Unconfirmed reports suggested that there were over two million expressions of interest or pre-orders.[197] The official Raspberry Pi Twitter account reported that Premier Farnell sold out within a few minutes of the initial launch, while RS Components took over 100,000 pre orders on day one.[167] Manufacturers were reported in March 2012 to be taking a "healthy number" of pre-orders.[153]
·         March 2012 – Shipping delays for the first batch were announced in March 2012, as the result of installation of an incorrect Ethernet port,[198][199] but the Foundation expected that manufacturing quantities of future batches could be increased with little difficulty if required.[200] "We have ensured we can get them [the Ethernet connectors with magnetics] in large numbers and Premier Farnell and RS Components [the two distributors] have been fantastic at helping to source components," Upton said. The first batch of 10,000 boards was manufactured in Taiwan and China.[201][202]
·         8 March 2012 – Release Raspberry Pi Fedora Remix, the recommended Linux distribution,[203] developed at Seneca College in Canada.[204]
·         March 2012 – The Debian port is initiated by Mike Thompson, former CTO of Atomz. The effort was largely carried out by Thompson and Peter Green, a volunteer Debian developer, with some support from the Foundation, who tested the resulting binaries that the two produced during the early stages (neither Thompson nor Green had physical access to the hardware, as boards were not widely accessible at the time due to demand).[205] While the preliminary proof of concept image distributed by the Foundation before launch was also Debian-based, it differed from Thompson and Green's Raspbian effort in a couple of ways. The POC image was based on then-stable Debian Squeeze, while Raspbian aimed to track then-upcoming Debian Wheezy packages.[192] Aside from the updated packages that would come with the new release, Wheezy was also set to introduce the armhf architecture,[206] which became the raison d'être for the Raspbian effort. The Squeeze-based POC image was limited to the armel architecture, which was, at the time of Squeeze's release, the latest attempt by the Debian project to have Debian run on the newest ARM embedded-application binary interface(EABI).[207] The armhf architecture in Wheezy intended to make Debian run on the ARM VFP hardware floating-point unit, while armel was limited to emulating floating point operations in software.[208][209] Since the Raspberry Pi included a VFP, being able to make use of the hardware unit would result in performance gains and reduced power use for floating point operations.[205] The armhf effort in mainline Debian, however, was orthogonal to the work surrounding the Pi and only intended to allow Debian to run on ARMv7 at a minimum, which would mean the Pi, an ARMv6 device, would not benefit.[206] As a result, Thompson and Green set out to build the 19,000 Debian packages for the device using a custom build cluster.[205]
Post-launch
·         16 April 2012 – Reports appear from the first buyers who had received their Raspberry Pi.[210][211]
·         20 April 2012 – The schematics for the Model A and Model B are released.[212]
·         18 May 2012 – The Foundation reported on its blog about a prototype camera module they had tested.[213] The prototype used a 14-megapixel module.
·         22 May 2012 – Over 20,000 units had been shipped.[214]
·         16 July 2012 – It was announced that 4,000 units were being manufactured per day, allowing Raspberry Pis to be bought in bulk.[215][216]
·         24 August 2012 – Hardware accelerated video (H.264) encoding becomes available after it became known that the existing license also covered encoding. Formerly it was thought that encoding would be added with the release of the announced camera module.[217][218] However, no stable software exists for hardware H.264 encoding.[219] At the same time the Foundation released two additional codecs that can be bought separately, MPEG-2 and Microsoft's VC-1. Also it was announced that the Pi will implement CEC, enabling it to be controlled with the television's remote control.[48]
·         July 2012 – Release of Raspbian.
·         5 September 2012 – The Foundation announced a second revision of the Raspberry Pi Model B.[221] A revision 2.0 board is announced, with a number of minor corrections and improvements.
·         6 September 2012 – Announcement that in future the bulk of Raspberry Pi units would be manufactured in the UK, at Sony's manufacturing facility in Pencoed, Wales. The Foundation estimated that the plant would produce 30,000 units per month, and would create about 30 new jobs.[223][224]
·         15 October 2012 – It is announced that new Raspberry Pi Model Bs are to be fitted with 512 MB instead of 256 MB RAM.[225]
·         24 October 2012 – The Foundation announces that "all of the VideoCore driver code which runs on the ARM" had been released as free software under a BSD-style license, making it "the first ARM-based multimedia SoC with fully-functional, vendor-provided (as opposed to partial, reverse engineered) fully open-source drivers", although this claim has not been universally accepted.[121] On 28 February 2014, they also announced the release of full documentation for the VideoCore IV graphics core, and a complete source release of the graphics stack under a 3-clause BSD license[226][227]
·         October 2012 – It was reported that some customers of one of the two main distributors had been waiting more than six months for their orders. This was reported to be due to difficulties in sourcing the CPU and conservative sales forecasting by this distributor.[228]
·         17 December 2012 – The Foundation, in collaboration with IndieCity and Velocix, opens the Pi Store, as a "one-stop shop for all your Raspberry Pi (software) needs". Using an application included in Raspbian, users can browse through several categories and download what they want. Software can also be uploaded for moderation and release.[229]
·         3 June 2013 – 'New Out Of Box Software or NOOBS is introduced. This makes the Raspberry Pi easier to use by simplifying the installation of an operating system. Instead of using specific software to prepare an SD card, a file is unzipped and the contents copied over to a FAT formatted (4 GB or bigger) SD card. That card can then be booted on the Raspberry Pi and a choice of six operating systems is presented for installation on the card. The system also contains a recovery partition that allows for the quick restoration of the installed OS, tools to modify the config.txt and an online help button and web browser which directs to the Raspberry Pi Forums.[230]
·         October 2013 – The Foundation announces that the one millionth Pi had been manufactured in the United Kingdom.[231]
·         November 2013: they announce that the two millionth Pi shipped between 24 and 31 October.[232]
·         28 February 2014 – On the day of the second anniversary of the Raspberry Pi, Broadcom, together with the Raspberry PI foundation, announced the release of full documentation for the VideoCore IV graphics core[clarification needed], and a complete source release of the graphics stack under a 3-clause BSD license.[226][227]

Raspberry Pi Compute Module

Raspberry Pi Model B
·         7 April 2014 – The official Raspberry Pi blog announced the Raspberry Pi Compute Module, a device in a 200-pin DDR2 SO-DIMM-configured memory module (though not in any way compatible with such RAM), intended for consumer electronics designers to use as the core of their own products.[41]
·         June 2014 – The official Raspberry Pi blog mentioned that the three millionth Pi shipped in early May 2014.[233]
·         14 July 2014 – The official Raspberry Pi blog announced the Raspberry Pi Model B+, "the final evolution of the original Raspberry Pi. For the same price as the original Raspberry Pi model B, but incorporating numerous small improvements people have been asking for".[40]
·         10 November 2014 – The official Raspberry Pi blog announced the Raspberry Pi Model A+.[43] It is the smallest and cheapest (US$20)Raspberry Pi so far and has the same processor and RAM as the model A. Like the A, it has no Ethernet port, and only one USB port, but does have the other innovations of the B+, like lower power, micro-SD-card slot, and 40-pin HAT compatible GPIO.
·         2 February 2015 – The official Raspberry Pi blog announced the Raspberry Pi 2. Looking like a Model B+, it has a 900 MHz quad-core ARMv7 Cortex-A7 CPU, twice the memory (for a total of 1 GB) and complete compatibility with the original generation of Raspberry Pis.[234]
·         14 May 2015 – The price of Model B+ was decreased from US$35 to 25, purportedly as a "side effect of the production optimizations" from the Pi 2 development.[235] Industry observers have skeptically noted, however, that the price drop appeared to be a direct response to the C.H.I.P., a lower-priced competitor.[236]
·         26 November 2015 – The Raspberry Pi Foundation launched the Raspberry Pi Zero, the smallest and cheapest member of the Raspberry Pi family yet, at 65 mm × 30 mm, and US$5. The Zero is similar to the model A+ without camera and LCD connectors, while smaller and uses less power. It was given away with the Raspberry PI magazine Magpi #40 that was distributed in the UK and US that day – the MagPi was sold out at almost every retailer internationally due to the freebie.[42]
·         29 February 2016 – Raspberry Pi 3 with a BCM2837 1.2 GHz 64-bit quad processor based on the ARMv8 Cortex A53, with built-in Wi-Fi BCM43438 802.11n 2.4 GHz and Bluetooth 4.1 Low Energy (BLE). Starting with a 32-bit Raspbian version.[237]
·         25 April 2016 – Raspberry Pi Camera v2.1 announced with 8 Mpixels, in normal and NoIR (can receive IR) versions. The camera uses the Sony IMX219 chip with a resolution of 3280 × 2464. To make use of the new resolution the software has to be updated.[238]

See also
·         https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Desktop_computer_clipart_-_Yellow_theme.svg/32px-Desktop_computer_clipart_-_Yellow_theme.svg.pngComputing portal
·         iconEducation portal
·         RACHEL

References
1.     Jump up^ "Windows 10 for IoT". Raspberry Pi Foundation. 30 April 2015.
2.     Jump up^ "Raspberry Pi 3 is out now! Specs, Benchmarks & More". The MagPi Magazine. 1 April 2016.
4.     Jump up^ Price, Peter (3 June 2011). "Can a £15 computer solve the programming gap?"BBC Click. Retrieved 2 July 2011.
5.     Jump up^ Bush, Steve (25 May 2011). "Dongle computer lets kids discover programming on a TV"Electronics Weekly. Retrieved 11 July 2011.
6.     Jump up^ "Raspberry Pi downloads". Retrieved 2016-08-12.
7.     Jump up^ "Usage - Raspberry Pi Documentation". www.raspberrypi.org. Retrieved 2016-08-12.
9.     Jump up^ "Raspberry Pi 3 on sale now at $35". Raspberry Pi. Archived from the original on 29 February 2016.
10.   Jump up^ "Ten millionth Raspberry Pi, and a new kit - Raspberry Pi". 8 September 2016. Retrieved 2016-09-09.
11.   Jump up to:a b c d "BCM2835 Media Processor; Broadcom". Broadcom.com. 1 September 2011. Archived from the original on 13 May 2012. Retrieved 6 May 2012.
Jump up^ Brose, Moses (30 January 2012). "Broadcom BCM2835 SoC has the most powerful mobile GPU in the world?". Grand MAX. Retrieved 13

 HERE SOME INTERESTING VIDEOS OF RASPBERRY PI




INDUSTRIAL APPLICATION OF RASPBERRY PI

Understand that Python doesn't need to compile. Python is an interpreted language, which means you can run the program as soon as you make changes to the file. This makes iterating, revising, and troubleshooting programs is much quicker than many other languages.
  • Python is one of the easier languages to learn, and you can have a basic program up and running in just a few minutes.

Python is a widely used high-levelgeneral-purposeinterpreteddynamic programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java.[26][27] The language provides constructs intended to enable writing clear programs on both a small and large scale.[28]
Python supports multiple programming paradigms, including object-orientedimperative and functional programming or proceduralstyles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library.[29]
Python interpreters are available for many operating systems, allowing Python code to run on a wide variety of systems. Using third-party tools, such as Py2exe or Pyinstaller,[30] Python code can be packaged into stand-alone executable programs for some of the most popular operating systems, so Python-based software can be distributed to, and used on, those environments with no need to install a Python interpreter.
CPython, the reference implementation of Python, is free and open-source software and has a community-based development model, as do nearly all of its variant implementations. CPython is managed by the non-profit Python Software Foundation





 
 HOW TO INSTALL PYTHON SOFTWARE




 FOR WINDOWS 8 TO INSTALL SOFTWARE





Python was conceived in the late 1980s,[31] and its implementation began in December 1989[32] by Guido van Rossum at Centrum Wiskunde & Informatica (CWI) in the Netherlands as a successor to the ABC language (itself inspired by SETL)[33] capable of exception handling and interfacing with the operating system Amoeba.[8] Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, benevolent dictator for life (BDFL).
About the origin of Python, Van Rossum wrote in 1996:[34]
Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python's Flying Circus).
Python 2.0 was released on 16 October 2000 and had many major new features, including a cycle-detecting garbage collector and support for Unicode. With this release the development process was changed and became more transparent and community-backed.[35]
Python 3.0 (which early in its development was commonly referred to as Python 3000 or py3k), a major, backwards-incompatible release, was released on 3 December 2008[36] after a long period of testing. Many of its major features have been backported to the backwards-compatible Python 2.6.x[37] and 2.7.x version series.

Features and philosophy

Python is a multi-paradigm programming languageobject-oriented programming and structured programming are fully supported, and many language features support functional programming and aspect-oriented programming (including by metaprogramming[38] and metaobjects (magic methods)).[39] Many other paradigms are supported via extensions, including design by contract[40][41] and logic programming.[42]
Python uses dynamic typing and a mix of reference counting and a cycle-detecting garbage collector for memory management. An important feature of Python is dynamic name resolution (late binding), which binds method and variable names during program execution.
The design of Python offers some support for functional programming in the Lisp tradition. The language has map(), reduce() and filter() functions; list comprehensionsdictionaries, and sets; and generator expressions.[43] The standard library has two modules (itertools and functools) that implement functional tools borrowed from Haskell and Standard ML.[44]
The core philosophy of the language is summarized by the document The Zen of Python (PEP 20), which includes aphorisms such as:[45]
  • Beautiful is better than ugly
  • Explicit is better than implicit
  • Simple is better than complex
  • Complex is better than complicated
  • Readability counts
Rather than requiring all desired functionality to be built into the language's core, Python was designed to be highly extensible. Python can also be embedded in existing applications that need a programmable interface. This design of a small core language with a large standard library and an easily extensible interpreter was intended by Van Rossum from the start because of his frustrations with ABC, which espoused the opposite mindset.[31]
While offering choice in coding methodology, the Python philosophy rejects exuberant syntax, such as in Perl, in favor of a sparser, less-cluttered grammar. As Alex Martelli put it: "To describe something as clever is not considered a compliment in the Python culture."[46] Python's philosophy rejects the Perl "there is more than one way to do it" approach to language design in favor of "there should be one—and preferably only one—obvious way to do it".[45]
Python's developers strive to avoid premature optimization, and moreover, reject patches to non-critical parts of CPython that would offer a marginal increase in speed at the cost of clarity.[47] When speed is important, a Python programmer can move time-critical functions to extension modules written in languages such as C, or try using PyPy, a just-in-time compilerCython is also available, which translates a Python script into C and makes direct C-level API calls into the Python interpreter.
An important goal of Python's developers is making it fun to use. This is reflected in the origin of the name, which comes from Monty Python,[48] and in an occasionally playful approach to tutorials and reference materials, such as using examples that refer to spam and eggs instead of the standard foo and bar.[49][50]
A common neologism in the Python community is pythonic, which can have a wide range of meanings related to program style. To say that code is pythonic is to say that it uses Python idioms well, that it is natural or shows fluency in the language, that it conforms with Python's minimalist philosophy and emphasis on readability. In contrast, code that is difficult to understand or reads like a rough transcription from another programming language is called unpythonic.
Users and admirers of Python, especially those considered knowledgeable or experienced, are often referred to as PythonistsPythonistas

2 comments: