Π Π°Π·Π½ΠΎΠ΅

C ΠΈΠ»ΠΈ python: Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ скорости Python ΠΈ C++

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π² C

ΠšΠ°ΠΊΠΎΠ²Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты для прСобразования скриптов Python Π² C. Π― Π² основном ΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ tools/converter/interpreter.

Бпасибо,
-Π”ΠΆΠ΅ΠΉ

python

c

converter

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ


Jay D Β  Β 

20 мая 2012 в 07:30

3 ΠΎΡ‚Π²Π΅Ρ‚Π°


  • Π’ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Python

    Π― ΠΈΡ‰Ρƒ способ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python вмСстС с ΠΌΠΎΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Ρ‚Π°ΠΊΠΆΠ΅ написанным Π½Π° Python), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Python Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π― поискал Π² Google ΠΈ нашСл ΠΊΡƒΡ‡Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π² прилоТСния, написанныС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках, Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ для…

  • Π’ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python Π²ΠΎ встроСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ c

    Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ встроСнной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ c для запуска Π½Π° сСрвСрС, я ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡΡŒ ΠΊ этой ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· SSH. Π― Ρ…ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скрипты Π² этой ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅, поэтому я Ρ…ΠΎΡ‡Ρƒ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послС запуска Ρ„Π°ΠΉΠ»Π° скрипта (написанного Π² Python) ΠΎΠ½ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ python, Π°…


ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Bander Β  Β 

20 мая 2012 в 07:45



3

Shedskin ΠœΠ°Ρ€ΠΊΠ° Π”ΡŽΡ„ΡƒΡ€Π° — интСрСсная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ большоС подмноТСство python ΠΈ пСрСвСсти Π΅Π³ΠΎ Π² C++. Π£ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π±Π»ΠΎΠ³

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Andrew Walker Β  Β 

20 мая 2012 в 11:49


ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


jfs Β  Β 

20 мая 2012 в 12:00


  • Π‘ Ρ‡Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python?

    Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Python ΠΈΠ· Learning Python by Mark Lutz. Π’ Π³Π»Π°Π²Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π°Π²Ρ‚ΠΎΡ€ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Python Π²Ρ‹ запускаСтС, сам ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° C, Π½Π°Π±ΠΎΡ€ классов Java ΠΈΠ»ΠΈ…

  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта python, Π½Π΅ убивая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

    РаньшС я ΠΌΠΎΠ³ ΡƒΠ±ΠΈΡ‚ΡŒ сцСнарий python, Π½Π°Ρ‡Π°Ρ‚Ρ‹ΠΉ с execfile(somescript.py) , Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅, Π½Π°ΠΆΠ°Π² Ctrl + C , Π½Π΅ убивая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Π­Ρ‚ΠΎ Π²Ρ‹Π·Π²Π°Π»ΠΎ Π±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ KeyboardInterrupt , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ остановило Π±Ρ‹ сцСнарий ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π±Ρ‹ ΠΌΠ½Π΅ снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. Однако Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ (я…


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

Python ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠ°ΠΊ класс c++

Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ встраиваниСм python Π² c++. Π’ ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ особом случаС ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… экзСмпляра ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. ΠœΠΎΠ³Ρƒ Π»ΠΈ я ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π² класс c++ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ…

Windows Python ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Ctrl+C

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я использовал, Ctrl+C заставит ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ KeyboardInterrupt ΠΈ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ. Однако ΠΏΡ€ΠΈ Π½Π΅Π΄Π°Π²Π½Π΅ΠΉ установкС Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€…

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ C# Π² Python

Π£ мСня Π΅ΡΡ‚ΡŒ большая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C#, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Python. Python-это Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык. Π›ΡŽΠ±ΠΎΠΉ автоматичСский ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ C# Π²…

Π’ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Python

Π― ΠΈΡ‰Ρƒ способ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python вмСстС с ΠΌΠΎΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Ρ‚Π°ΠΊΠΆΠ΅ написанным Π½Π° Python), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Python Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π― поискал Π² Google ΠΈ нашСл ΠΊΡƒΡ‡Ρƒ…

Π’ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python Π²ΠΎ встроСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ c

Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ встроСнной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ c для запуска Π½Π° сСрвСрС, я ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡΡŒ ΠΊ этой ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· SSH. Π― Ρ…ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скрипты Π² этой ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅, поэтому я Ρ…ΠΎΡ‡Ρƒ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€…

Π‘ Ρ‡Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python?

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Python ΠΈΠ· Learning Python by Mark Lutz. Π’ Π³Π»Π°Π²Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π°Π²Ρ‚ΠΎΡ€ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Python…

ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта python, Π½Π΅ убивая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

РаньшС я ΠΌΠΎΠ³ ΡƒΠ±ΠΈΡ‚ΡŒ сцСнарий python, Π½Π°Ρ‡Π°Ρ‚Ρ‹ΠΉ с execfile(somescript.py) , Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅, Π½Π°ΠΆΠ°Π² Ctrl + C , Π½Π΅ убивая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Π­Ρ‚ΠΎ Π²Ρ‹Π·Π²Π°Π»ΠΎ Π±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ KeyboardInterrupt , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅…

Python ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Python, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€?

1 я нашСл ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Python. Π― Π² Π·Π°ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΌΠ½Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€? Если это Ρ‚Π°ΠΊ, Ρ‚ΠΎ Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ…

Как ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСстандартный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python?

МоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python, ΠΈ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ Ρ‚Π°ΠΌ ΠΊΠΎΠ΄ Python. Однако Visual Studio Code позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ², Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Π² путях ΠΈ Π½Π°Π·Π²Π°Π½Π½Ρ‹Ρ…. ..

Π˜ΠΌΠΏΠΎΡ€Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· dll (Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² C++) Π² сцСнарий Python, ΠΊΠΎΠ³Π΄Π° dll ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python

Π― написал Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (dll) Π² c++, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ встроСнный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов Python Π²ΠΎ встроСнном ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ прСкрасно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ…

Python ΠΏΡ€ΠΎΡ‚ΠΈΠ² C ++ — ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ 9 Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΏΡ€ΠΎΡ‚ΠΈΠ² C ++

Python ΠΈ C ++ — это языки программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Π½ΠΎ языки Python ΠΈ C ++ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. C ++ происходит ΠΎΡ‚ языка C с нСсколькими ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌΠΈ ΠΈ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компиляции.

Python являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· языков программирования высокого уровня. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· Π΅Π΅ объявлСния ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π½Π° python.

Π’ C ++ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ скомпилирована Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠΎΠ΄.

Python прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Β«ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎΒ», Ρ‡Ρ‚ΠΎ позволяСт Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… установлСн Python.

C ++ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ памяти, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ обСспСчиваСт сборку мусора ΠΈ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.

Π’ Python встроСн сборщик мусора ΠΈ процСсс динамичСского выдСлСния памяти, Ρ‡Ρ‚ΠΎ обСспСчиваСт эффСктивноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

Π’ C ++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ использованиСм. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, это Π½Π΅ Ρ‚Π°ΠΊ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΊΠΎΠ΄Ρ‹, ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок становится ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ python.

ΠŸΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π½Π° Python ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ использованиСм, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠΎΠ΄Π° ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ Π² обслуТивании. НапримСр, Π² C ++ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ int a = 5, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² Python a = 5 достаточно.

C ++ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ языком программирования срСднСго уровня, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ разрабатываСтся с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΈ высокого уровня. C ++ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ концСпция классов, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², мноТСствСнноС наслСдованиС, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ Ρ‚. Π”.

Python извСстСн своСй простотой, удобством чтСния Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°Π½ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· языков программирования высокого уровня. Python состоит ΠΈΠ· встроСнных конструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ выполнСния понятного ΠΊΠΎΠ΄Π° Π² ΠΌΠ°Π»Ρ‹Ρ… ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ…. Python — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования.

C ++, Π² наши Π΄Π½ΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для проСктирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠ½ описан Π² C ++, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΈ планируСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ язык описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уровня для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ рСгистров.

Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС языка сцСнариСв, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ†Π΅Π»Π΅ΠΉ, Π½Π΅ связанных с сцСнариями. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Python ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ исполняСмоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΡ†ΠΎΠΌ ΠΊ Π»ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++ (Π˜Π½Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊΠ°)

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 9 Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ…:

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° Python ΠΈ C ++

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ списки Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… сравнСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++

ΠžΠ‘ΠΠžΠ’Π Π”Π›Π―

Π‘Π ΠΠ’ΠΠ•ΠΠ˜Π•

ΠΏΠΈΡ‚ΠΎΠ½C ++
Π’Ρ‹Π²ΠΎΠ· ΠΌΡƒΡΠΎΡ€Π°ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сборку мусораНС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сборку мусора
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠŸΡ€ΠΎΡ‰Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ кодНС просто Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Python ΠΈΠ·-Π·Π° слоТного синтаксиса
ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡΠ—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊC ++ — это ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированный
БыстроС прототипированиСБыстроС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ благодаря Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ кодаБыстроС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° большСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°
УстановкаPython слоТно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° Windows BoxНСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² установкС
ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Π΄Π°ΠΆΠ΅ Π²Π½Π΅ Ρ†ΠΈΠΊΠ»Π°ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ²
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Ρ‚ΠΈΠΏ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Ρ‚ΠΈΠΏ Π΅Π³ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСнияЀункция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ
ΠšΠŸΠ”Π›Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈ простой Π² использованииМСнСС чистый ΠΈ управляСмый ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠΈΡ‚ΠΎΠ½ΠΎΠΌ
ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π°Π”ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ языкБтатичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык

Π’Ρ‹Π²ΠΎΠ΄ — Python ΠΏΡ€ΠΎΡ‚ΠΈΠ² C ++

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… компиляторов C ++, ΠΊΠ°ΠΊ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ бСсплатно, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ доступны Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅. НСкоторым ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм ΡΠ²Π»ΡΡŽΡ‚ΡΡ GNU Project, Microsoft, Intel ΠΈ Embarcadero Technologies. C ++ Ρ‚Π°ΠΊΠΆΠ΅ влияСт Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C # ΠΈ Java. C ++ стал Π±ΠΎΠ»Π΅Π΅ популярным, Ρ‡Π΅ΠΌ C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ извСстСн ΠΊΠ°ΠΊ компилятор для Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. C ++ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя клиСнтскиС прилоТСния, Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСрвСрныС прилоТСния, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ устройств, встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄ΠΎΠΌΠ΅Π½Π°Ρ… для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ C ++ являСтся статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя компиляции.

Python — это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΡ‚ C ++ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ…. Python позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ΡŒ мСньшС усилий для программирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² мСньшСм количСствС строк ΠΊΠΎΠ΄Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C ++. Python рассматриваСтся ΠΊΠ°ΠΊ язык программирования с нСсколькими ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌΠΈ с Π±ΠΎΠ»Π΅Π΅ простым синтаксисом ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ кодирования. Python поставляСтся с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ встроСнных стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Python языком практичСского использования. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Python ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Участники класса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния Π² Python. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎ врСмя выполнСния.

РСкомСндуСмая ΡΡ‚Π°Ρ‚ΡŒΡ

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ руководство ΠΏΠΎ различиям ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++, ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ Β«Π³ΠΎΠ»ΠΎΠ²Π° ΠΊ Π³ΠΎΠ»ΠΎΠ²Π΅Β», ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ различиям, ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС —

  1. Π’Π°ΠΆΠ½ΠΎΠ΅ руководство ΠΏΠΎ вопросам ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ C ++
  2. C # Π’Π°ΠΆΠ½Ρ‹Π΅ вопросы ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹
  3. Java ΠΏΡ€ΠΎΡ‚ΠΈΠ² Node JS — 8 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… сравнСний
  4. Python ΠΏΡ€ΠΎΡ‚ΠΈΠ² Node.js — 5 Π»ΡƒΡ‡ΡˆΠΈΡ… сравнСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ
  5. C ++ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Java — Π·Π½Π°ΠΉ самыС Π²Π°ΠΆΠ½Ρ‹Π΅ различия
  6. Ruby ΠΏΡ€ΠΎΡ‚ΠΈΠ² Python (Rails ΠΈ Django) — ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅?
  7. Java ΠΏΡ€ΠΎΡ‚ΠΈΠ² Python — Π›ΡƒΡ‡ΡˆΠΈΠ΅ 9 Π²Π°ΠΆΠ½Ρ‹Ρ… сравнСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ
  8. C ++ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Go: ΠΊΠ°ΠΊΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  9. C ++ Vector vs Array: ΠšΠ°ΠΊΠΎΠ²Ρ‹ Π»ΡƒΡ‡ΡˆΠΈΠ΅ прСимущСства

58) Python ΠΏΡ€ΠΎΡ‚ΠΈΠ² C ++

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π‘ ++?

C ++ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² языках программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Π―Π·Ρ‹ΠΊ позволяСт ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ возмоТности языка высокого ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ рассматриваСтся ΠΊΠ°ΠΊ язык срСднСго уровня. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слоТных систСм, Π³Π΄Π΅ трСбуСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Python?

Python β€” это высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования. Он ΠΈΠΌΠ΅Π΅Ρ‚ встроСнныС структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² сочСтании с динамичСским связываниСм ΠΈ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΠΊΠΎΠ΄Π°.

Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых быстрых языков программирования, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ строк ΠΊΠΎΠ΄Π°. АкцСнт дСлаСтся Π½Π° удобочитаСмости ΠΈ простотС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Вопросы ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ стСка c ++ VS. ΠΏΠΈΡ‚ΠΎΠ½

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠΈΡ‚ΠΎΠ½?

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ использования языка Python:

  • Very simple syntax compared to Java, C, and C++ languages.
  • It is used for Machine Learning, Deep Learning, and the general overarching AI field.
  • Very useful in data analysis and visualization.
  • Extensive library and handy tools for developers/programmer
  • Python is cross-compatible
  • Python has its auto-installed shell
  • Compared with the code of other languages, python code is easy to write and debug. Therefore, its source code is relatively easy to maintain.
  • Python is a portable language so that it can run on a wide variety of Operating systems and platforms.
  • Python comes with many prebuilt libraries, which makes your development task easy.
  • Python helps you to make complex programming simpler. As it internally deals with memory addresses, garbage collection.
  • Python provides an interactive shell that helps you to test the things before it’s actual implementation.
  • Python offers database interfaces to all major commercial DBMS systems.
  • Supports imperative and functional programming
  • Python is famous for its use in IoT.

Why C++?

Here, are reasons for using C++

  • C++ is multi-paradigm means it follows three paradigms Generic, Imperative, and Object-Oriented.
  • C++ provides performance and memory efficiency.
  • It provides high-level abstraction.
  • C++ is compatible with C.
  • The language allows the reusability of code.

Features of C++

Here, are important features of C++

  • The program should be simple, object-oriented and easy to understand
  • Development should be conducted in a robust and secure environment.
  • Code should follow the specific architecture and must be portable.
  • Code should be easily Β«interpreted and dynamic Β«

Features of Python

Here, are important features of Python

  • Easy to learn, read, and maintain
  • It can run on various hardware platforms using the same interface.
  • You can include low-level modules to the Python interpreter.
  • Python offers an ideal structure and support for large programs.
  • Python offers support for automatic garbage collection.
  • It supports an interactive mode of testing and debugging.
  • It offers high-level dynamic data types and also supports dynamic type checking.
  • Python language can be integrated with Java, C, and C++ programming code

Applications of C++

Here, are important applications of C++:

  • C++ is used to develop all kinds of embedded systems like smartwatches, multimedia systems in automobiles, lot devices, etc.
  • C ++ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сСрвСры ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ β€” ΠΊΠ»ΡŽΡ‡ ΠΊ C ++. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ C ++ становится всС Π±ΠΎΠ»Π΅Π΅ популярным срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ³Ρ€.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Python

Π’ΠΎΡ‚ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Python

  • Python ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ
  • Π­Ρ‚ΠΎΡ‚ язык позволяСт Π²Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ объСмом Π΄Π°Π½Π½Ρ‹Ρ… простым ΠΈ экономичным способом.
  • Аналитики Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ статистичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
  • Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² тСхнологиях Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. ЀактичСски, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ с использованиСм программирования Π½Π° Python.
  • Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ язык Python для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слоТного Π²Π΅Π±-прилоТСния; это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ инфраструктуру Django, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ сайты с использованиСм Python.

Python ΠΏΡ€ΠΎΡ‚ΠΈΠ² C ++

Π’ΠΎΡ‚ основныС различия ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++

ΠΏΠΈΡ‚ΠΎΠ½C ++
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сборку мусораНС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сборку мусора
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python Π»Π΅Π³Ρ‡Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒΠΠ΅ просто Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Python ΠΈΠ·-Π·Π° Π΅Π³ΠΎ слоТного синтаксиса.
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊC ++ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилирован
БыстроС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° нСбольшого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° кодаБыстроС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°
Python слоТно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ с окнамиНСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ установкС Π² систСмС Windows.
Python Π±Π»ΠΈΠΆΠ΅ ΠΊ простому английскому языку. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ язык Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ.C ++ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ΠΊΡ€ΠΈΠ²ΡƒΡŽ обучСния, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… синтаксисов ΠΈ структуры
Python ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.C ++ быстрСС Ρ‡Π΅ΠΌ Python
Π’ Python синтаксис большС ΠΏΠΎΡ…ΠΎΠΆ Π½Π° английский, поэтому Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ высокая.Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° C ++ слабая ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΊΠΎΠ΄ΠΎΠΌ Python.
Π’ Python ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Π²Π½Π΅ Ρ†ΠΈΠΊΠ»Π°.ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… C ++ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ².
Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΌΠΈ компаниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ Python, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Google, Lyft, Twitch, Telegram.Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΌΠΈ компаниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ C ++, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Uber, Netflix, Spotify, Instagram.
Π Π΅ΠΉΡ‚ΠΈΠ½Π³ TIOBE β€” 3Π Π΅ΠΉΡ‚ΠΈΠ½Π³ TIOBE β€” 4
БрСдняя заработная ΠΏΠ»Π°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Python составляСт 120 359 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² Π³ΠΎΠ΄ Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚Π°Ρ… АмСрики.БрСдняя Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° C ++ Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚Π°Ρ… составляСт 108 809 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² Π³ΠΎΠ΄.

НСдостаток C ++

Π’ΠΎΡ‚ минусы / нСдостатки использования языка C ++

  • Он Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ бСзопасности для вашСго ΠΊΠΎΠ΄Π°
  • Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ язык для использования Π² ΠΎΡ‡Π΅Π½ΡŒ большой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ высокого уровня.
  • ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, спСцифичных для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
  • Когда C ++ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΅Π³ΠΎ слоТно ΠΈ слоТно ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.
  • C ++ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ сборку мусора.
  • НСт встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²
  • C ++ Π½Π΅ Ρ‚Π°ΠΊ пСрСносим, ​​как Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования высокого уровня. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ C ++, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ машинС.
  • Если ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ опСрация Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСстах Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

НСдостатки Python

Π’ΠΎΡ‚ минусы / нСдостатки использования языка Python

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° мСньшСм количСствС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.
  • Π‘Π»Π°Π±Ρ‹ΠΉ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… вычислСниях, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
  • Как Python являСтся динамичСским, Ρ‚Π°ΠΊ ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ большС ошибок Π²ΠΎ врСмя выполнСния
  • Π‘Π»Π°Π±ΠΎΡ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ коммСрчСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

Google Trends C ++ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Python

ΠžΠ‘ΠΠžΠ’ΠΠ«Π• Π ΠΠ—Π›Π˜Π§Π˜Π―:

  • Код Python ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Π° ΠΊΠΎΠ΄ C ++ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилирован
  • Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сборку мусора, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ C ++ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сборку мусора
  • Python ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, C ++ быстрСС, Ρ‡Π΅ΠΌ Python
  • Π’ Python быстроС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° нСбольшого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² C ++ быстроС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° большСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°
  • Python Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ язык, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ C ++ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ΠΊΡ€ΠΈΠ²ΡƒΡŽ обучСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… синтаксисов ΠΈ структуры

Β 

Python, Java, C.

IEEE Spectrum ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ языков программирования

Π–ΡƒΡ€Π½Π°Π» IEEE Spectrum ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡˆΠ΅ΡΡ‚ΠΎΠΉ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ языков программирования. ИзданиС ΠΏΡ€ΠΎΠ²Π΅Π»ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π²ΠΎΒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ранТирования языков, учитывая ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈΒ ΡƒΠ·ΠΊΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ в своСй области примСнСния, сообщаСт 3DNews.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π΄Π²Π΅ Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Β ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ популярности языков программирования: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚Β ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ программиста Π²Β ΠΌΠΈΡ€Π΅, Π°Β Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, язык, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΊΡ€Π°Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ области программирования, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСумСстСн Π²Β Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’Β Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ Spectrum ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 11 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈΒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·Β 8 источников. Π—Π°Ρ‚Π΅ΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² примСняСтся ряд вСсовых коэффициСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚Π΅Ρ… Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ‰ΡƒΡ‚ Π½ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΈΠ»ΠΈ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ в сторонний опСнсорсный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’Β Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ этого Π³ΠΎΠ΄Π° ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Python. Π•Π³ΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π²ΠΎΒ ΠΌΠ½ΠΎΠ³ΠΎΠΌ обусловлСна ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством доступных спСциализированных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, особСнно в области AI и машинного обучСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Keras, которая являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·Β ΠΌΠΎΡ‰Π½Π΅ΠΉΡˆΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния. Но это — нС СдинствСнная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π³Π΄Π΅ Python установил своё прСвосходство: Ρ€Π΅Π·ΠΊΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊΒ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ встроСнныС вСрсии Python, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CircuitPython ΠΈΒ MicroPython, Ρ‚Π°ΠΊΠΆΠ΅ становятся всё Π±ΠΎΠ»Π΅Π΅ популярными срСди ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

Π”Π°Π»Π΅Π΅ Π²Β Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ ΠΈΠ΄ΡƒΡ‚ Java, CΒ ΠΈΒ C++Β β€” языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π²Π½ΠΎ Π±ΠΎΡ€ΠΎΠ»ΠΈΡΡŒ Π΄Ρ€ΡƒΠ³ с другом и с Python Π·Π°Β ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто, хотя с новыми скоррСктированными коэффициСнтами расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ этими сопСрниками ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ. НапримСр, C++ Π½Π°Π±Ρ€Π°Π» Π½Π°Β Ρ†Π΅Π»Ρ‹Ρ… 12,5 Π±Π°Π»Π»Π° мСньшС, Ρ‡Π΅ΠΌ Python ΠΏΠΎΒ 100 бальной шкалС. RΒ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ пятСрку Π»ΡƒΡ‡ΡˆΠΈΡ…. Π₯отя это Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ спСциализированный язык, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, R сохраняСт ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ в послСдниС Π³ΠΎΠ΄Ρ‹ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΈΡ€ испытываСт постоянно Ρ€Π°ΡΡ‚ΡƒΡ‰ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Β ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, а для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ RΒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ просто Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π•Ρ‰Ρ‘ Π½ΠΈΠΆΠ΅ располоТился Matlab, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для слоТных Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний. Π•Π³ΠΎ появлСниС Π²Β Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠΌ, Π½ΠΎΒ ΠΎΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²Ρ‹Π΄Π°ΡŽΡ‰ΡƒΡŽΡΡ Ρ€ΠΎΠ»ΡŒ языка Π²Β Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ, особСнно для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ заинтСрСсован в запускС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… симуляций ΠΈΠ»ΠΈ создании систСм управлСния ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского ΠΏΠ°ΠΊΠ΅Ρ‚Π° MathWorks Simulink.

НиТС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ дСсятка Π²Β Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈΡΡŒ Arduino ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 11 ΠΈΒ HTML/CSS ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌΒ 12. НаконСц, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ старыС ΠΈΒ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π·Π°Π±Ρ‹Ρ‚Ρ‹Π΅ языки программирования всё Π΅Ρ‰Ρ‘ ΠΆΠΈΠ²Ρ‹ ΠΈΒ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ. В частности Fortran, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ 60 Π»Π΅Ρ‚, всё Π΅Ρ‰Ρ‘ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 38-Π΅ мСсто, вСроятно, ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ количСства ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ в наслСдство ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² и способности до сих ΠΏΠΎΡ€ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ языком для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний. ПослСдний стандарт Fortran Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ достаточно Π½Π΅Π΄Π°Π²Π½ΠΎ, Π²Β ΠΊΠΎΠ½Ρ†Π΅ 2018 Π³ΠΎΠ΄Π°, ΠΈΒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ в сСбя ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ в совмСстимости с CΒ ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ слоТных ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний.

ИВ-вакансии ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΡƒΡ‚.

DEV-PYQT.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Python c использованиСм Qt

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ слоТности:








Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ курса: 32 Π°ΠΊ.Ρ‡.

Π“Ρ€Π°Ρ„ΠΈΠΊ обучСния: 4 дня ΠΏΠΎ 8 Π°ΠΊ. часов ΠΈΠ»ΠΈ 8 Π΄Π½Π΅ΠΉ ΠΏΠΎ 4 Π°ΠΊ. часа


Аннотация

ЦСлью Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся освоСниС ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΡΠΌΠΈ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ инструмСнтария Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния – Qt, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π° языкС Python с использованиСм Qt с привязкой PySide2.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Qt написана Π½Π° языкС C++. Для языка Python ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ («привязки») PySide2 ΠΈ PyQt, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ прилоТСния Π½Π° языкС Python. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PyQt, Π½ΠΎ ΠΈΠ·-Π·Π° нСТСлания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² PyQt ΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ для своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° появилась привязка PySide2. Π‘ июня 2018 Π³. появился ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· PySide2 (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Qt for Python).

Для достиТСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ прСдполагаСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡:

  • ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ основных классов, прСдоставляСмых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Qt;
  • ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ инструмСнтария Qt;
  • ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ практичСских Π½Π°Π²Ρ‹ΠΊΠΎΠ² создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Qt.

Знания ΠΈ умСния, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ обучСния

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ освоСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΌΠ΅Ρ‚ΡŒ:

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния;
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий;
  •  ИспользованиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° сигналов-слотов;
  • Π£ΠΌΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ QtDesigner;

ΠŸΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ

  • Π–ΡƒΡ€ΠΊΠΈΠ½ АлСксСй ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‡


ΠšΡƒΡ€ΡΡ‹ связанных Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ


19Β 200 β‚½


Расчёт стоимости с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… скидок



24Β 000 β‚½



Π‘ΠΊΠΈΠ΄ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ количСства ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Π΅ΠΉ,
суммы Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… условий, ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ.


Расчёт стоимости с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… скидок прСдставлСн ΠΊΠ°ΠΊ справочная информация.
ЀактичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ скидки ΠΌΠΎΠΆΠ΅Ρ‚ нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° округлСния значСния суммы.


Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с условиями Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…
Π°ΠΊΡ†ΠΈΠΉ ΠΈ скидок…

Π—Π½Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП) Π½Π° языкС Python

Π‘Π»ΡƒΡˆΠ°Ρ‚Π΅Π»ΠΈ, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ²ΡˆΠΈΠ΅ курс DEV-PY200. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Python ΠΈ сдавшиС Π·Π°Π΄Π°Ρ‡Ρƒ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ООП» ΠΈΠ· сборника Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования.

Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Π΅ΠΉ прСдусмотрСно бСсплатноС тСстированиС: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько тСстовых Π·Π°Π΄Π°Ρ‡. ΠžΡ‚Π²Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ прСдоставлСн Π² Π²ΠΈΠ΄Π΅ исходных тСкстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с коммСнтариями.


ΠšΡƒΡ€ΡΡ‹, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ достаточный Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π½Π°Π½ΠΈΠΉ

Π’Π΅ΠΌΠ° 1.

ΠœΠΎΠ΄ΡƒΠ»ΠΈ Qt для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с графичСским интСрфСйсом

  • Бостав Qt.
  • Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈ ΠΎΠΊΠ½Π°.
  • Локализация прилоТСния.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ занятия:

  • Знакомство с основными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ простого ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ прилоТСния.
  • Локализация прилоТСния.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ исполняСмого Ρ„Π°ΠΉΠ»Π° прилоТСния.

Π’Π΅ΠΌΠ° 2. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠΉΠ½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий срСдствами Qt.
  • ВзаимодСйствиС элСмСнтов управлСния посрСдством сигналов/слотов.
  • Аппаратно-нСзависимый Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ занятия:

  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий. РСализация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий: рисования, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ использованиС сигналов ΠΈ слотов.
  • РисованиС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ срСдствами Qt.

Π’Π΅ΠΌΠ° 3. Базовая ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° графичСского прилоТСния

  • Класс QMainWindow.
  • QtDesigner.
  • Π‘Ρ‚ΠΈΠ»ΡŒ оформлСния.
  • ΠžΡ‚Π»Π°Π΄ΠΊΠ° GUI.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ занятия:

  • ИспользованиС всСх элСмСнтов QMainWindow ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Qt.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ QtDesigner.
  • ИспользованиС QAction, сигналов/слотов.
  • ИспользованиС стилСй. ΠžΡ‚Π»Π°Π΄ΠΊΠ° GUI.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ C быстрСС, Ρ‡Π΅ΠΌ Python? Ru Python

Π”Π΅Π»ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Python интСрпрСтируСтся, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, хотя это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ устанавливаСт ΠΏΡ€Π΅Π΄Π΅Π» Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ быстро Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.

Если Π±Ρ‹ ориСнтированная Π½Π° Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ пСрспСктива Π±Ρ‹Π»Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ, Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Python Ρ‚Π°ΠΊ ΠΆΠ΅ быстро, ΠΊΠ°ΠΊ ΠΈ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° прямыми Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ любой Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Но это Π½Π΅ Ρ‚Π°ΠΊ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠΎΠ΅ слово: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Cython ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Python Π² C, Π½ΠΎ типичная функция Python, прСобразованная ΠΈ скомпилированная, Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ C. ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ C, созданный Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ.

РСальная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² мноТСствСнной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ (ΠΈΠ»ΠΈ Π² любом ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΆΠ°Ρ€Π³ΠΎΠ½Π΅ – я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС это прямо), ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π² Ρ‚ΠΎ a+b ΠΊΠ°ΠΊ a+b Ссли a ΠΈ b , ΠΊΠ°ΠΊ извСстно, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ op Π² C, Π½Π° Python Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ a+b (ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ привязаны ΠΈΠΌΠ΅Π½Π°, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· __add__ ΠΈ Ρ‚. Π΄.),

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Cython Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ скорости Π‘, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π² критичСском ΠΏΡƒΡ‚ΠΈ; это Ρ‚ΠΎ, ΠΊΠ°ΠΊ ШСдскин быстро ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ (Ρ‚ΠΈΠΏ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ произвСдСния) Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΈΠΏΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ C ++ ΠΈΠ· Π½Π΅Π³ΠΎ; ΠΈ ΠΊΠ°ΠΊ PyPy ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстрым – JIT ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π°Ρ…, ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏΡ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ устраняСт Π΄ΠΈΠ½Π°ΠΌΠΈΠ·ΠΌ, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Π²ΠΎ врСмя компиляции ΠΈΠ»ΠΈ Π²ΠΎ врСмя выполнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚.

Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ СстСствСнными для ЦП, поэтому ΠΈΠΌ трСбуСтся интСрпрСтация (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ собствСнного ΠΊΠΎΠ΄Π° процСссора, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ). ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ обСспСчиваСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния ΠΈ экономит пространство. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ нуТдаСтся Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ, ΠΎΠ½ являСтся Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ для CPU.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Python написан Π½Π° C, Π° Π½Π΅ Π½Π° C ++?

Из всСго, Ρ‡Ρ‚ΠΎ я Π²ΠΈΠ΄Π΅Π», это сочСтаниС практичСских ΠΈ историчСских ΠΏΡ€ΠΈΡ‡ΠΈΠ½. (Π’ основном) историчСская ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ CPython 1.0 Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 1989 Π³ΠΎΠ΄Ρƒ. Π’ Ρ‚ΠΎ врСмя C Π±Ρ‹Π» Π½Π΅Π΄Π°Π²Π½ΠΎ стандартизирован. C ++ Π±Ρ‹Π» ΠΏΠΎΡ‡Ρ‚ΠΈ нСизвСстСн ΠΈ явно нСпСрСносим, ​​потому Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π» компилятора C ++.

Π₯отя C ++ сСгодня Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСн ΠΈ Π»Π΅Π³ΠΊΠΎ доступСн, для пСрСписывания CPython Π² подмноТСство C, совмСстимого с C ++, потрСбуСтся Π½Π΅ΠΌΠ°Π»ΠΎ усилий. Π‘Π°ΠΌΠ° ΠΏΠΎ сСбС эта Ρ€Π°Π±ΠΎΡ‚Π° принСсСт ΠΌΠ°Π»ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π³ΠΎΠ΄Ρ‹.

Π­Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° сообщСниС Π² Π±Π»ΠΎΠ³Π΅ ДТоэла ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ пСрСписываниС — это Ρ…ΡƒΠ΄ΡˆΠ°Ρ ошибка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ софтвСрная компания. Π― Π±Ρ‹ Π²ΠΎΠ·Ρ€Π°Π·ΠΈΠ», ΡƒΠΊΠ°Π·Π°Π² Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Microsoft с ядра Windows 3.0 Π½Π° ядро ​​Windows NT ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Apple с MacOS 9 Π½Π° Mac OS / X. Ни ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΡƒΠ±ΠΈΠ» компанию, Π½ΠΎ ΠΎΠ±Π° Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ, дорогостоящими ΠΈ долгосрочными ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Оба Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для успСха: достаточно Π΄ΠΎΠ»Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π΅ Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ (Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ) ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ ΠΊΠΎΠ΄Π° Π½Π° досугС, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Ρ…) прСимущСствах.

Однако для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ с Python Ρ‚Π°ΠΊΠΈΠ΅ измСнСния Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС. Π”Π°ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с Python 2 Π½Π° 3 занял совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ совпадСния. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π² этом случаС Π΅ΡΡ‚ΡŒ прямыС прСимущСства для ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, сразу) пСрСписываниС Π½Π° C ++ (само ΠΏΠΎ сСбС).

Π Π°Π·Π³ΠΎΠ²ΠΎΡ€ Линуса Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ° ΠΏΡ€ΠΎΡ‚ΠΈΠ² C ++ Π±Ρ‹Π» поднят, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ я Ρ‚Π°ΠΊΠΆΠ΅ упомяну это. Ничто ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я Π²ΠΈΠ΄Π΅Π» ΠΎΡ‚ Π“Π²ΠΈΠ΄ΠΎ, Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ чувства ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π‘ ++. О Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ я Π²ΠΈΠ΄Π΅Π», ΠΎΠ½ сказал, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΠ΅ C ++ часто являСтся катастрофой — Π½ΠΎ ΠΎΠ½ сразу ΠΆΠ΅ сказал, Ρ‡Ρ‚ΠΎ это Π² основном ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ учитСля Π½Π΅ Π·Π½Π°ΡŽΡ‚ / Π½Π΅ Π·Π½Π°ΡŽΡ‚ C ++.

Π― Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ хотя ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° C Π² C ++, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ прСимущСство ΠΎΡ‚ C ++, трСбуСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС пСрСписывания, Ρ‡Π΅ΠΌ это, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся сущСствСнноС ΠΏΠ΅Ρ€Π΅ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанного C ++ сущСствСнно отличаСтся ΠΎΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанного C Ρ‚Π΅ΠΌ ΠΆΠ΅. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вопрос ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ mallocΠ² newΠΈ printfΠΊ cout, любой натяТкС.

Какой язык программирования я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² 2021 Π³ΠΎΠ΄Ρƒ? [РСшСно]

ΠŸΡƒΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° людСй ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ начинаСтся с ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½ΠΎΡ‡Π½ΠΎΠ³ΠΎ поиска Π² Google.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Β«Π£Ρ‡ΠΈΡ‚ΡŒ ______Β»

Но ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚, ΠΊΠ°ΠΊΠΎΠΉ язык ΠΈΡΠΊΠ°Ρ‚ΡŒ?

Β«ΠŸΡ€ΠΎ Π―Π²Ρƒ Π² ΠšΡ€Π΅ΠΌΠ½ΠΈΠ΅Π²ΠΎΠΉ Π΄ΠΎΠ»ΠΈΠ½Π΅ всСгда ΡˆΡƒΡ‚ΡΡ‚. Π”ΡƒΠΌΠ°ΡŽ, ΠΌΠ½Π΅ слСдуСт этому Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Β».

Или:

Β«Haskell. БСйчас Ρ‚Π°ΠΊ ΠΆΠ°Ρ€ΠΊΠΎ. Haskell Β».

Или:

Β«Π­Ρ‚ΠΎΡ‚ суслик чСртовски ΠΌΠΈΠ»Ρ‹ΠΉ.

А ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ· нас. ВСроятно, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

«Какой язык программирования я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ?Β»

НСмногиС вопросы Π·Π°Π΄Π°ΡŽΡ‚ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ часто, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Но это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…:

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ прСдоставлСно

Π’Ρ‹Π±ΠΎΡ€ вашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ процСссом — Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Π΅Ρ… «Какой Π²Ρ‹ пСрсонаТ, ΠšΠ²Π΅Π½Ρ‚ΠΈΠ½ Π’Π°Ρ€Π°Π½Ρ‚ΠΈΠ½ΠΎ?Β» ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Ρ‹.

Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ ΡƒΠ±Π΅ΠΆΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ruby, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² дСтствС Π²Π°ΠΌ Π½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Play-Doh, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π²Π°ΠΌ: ставки здСсь довольно высоки.

Π’Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ сотни часов ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ своим ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ языком программирования.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹:

  • Ρ€Ρ‹Π½ΠΎΠΊ вакансий для языка
  • долгосрочныС пСрспСктивы для языка
  • насколько Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ язык
  • ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΎ врСмя обучСния ( ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ)

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π³ΠΎΠ΄ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ языки программирования, Π° вмСстС с Π½ΠΈΠΌΠΈ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.И Π½ΠΎΠ²Ρ‹Π΅ Π²Π΅Π±-комиксы.

Π‘Π΅Ρ€ΡŒΠ΅Π·Π½ΠΎ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° этот Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ камСнь ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ мСсяца:

Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования, Π½Π΅Ρ‚ нСдостатка Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΡ€ΡƒΠ³ вопросов, Π²ΠΎΡ‚ самыС распространСнныС запросы Google, связанныС с ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π·Π° послСдниС 12 Π»Π΅Ρ‚:

Π£ Java Π±Ρ‹Π»ΠΈ свои Π²Π·Π»Π΅Ρ‚Ρ‹ ΠΈ падСния.

Python постСпСнно стал самым популярным Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

Но ΠΏΠΎΠ΄ Π½ΠΈΠΌΠΈ спрятан МалСнький Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ³, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π·Π° послСдниС нСсколько Π»Π΅Ρ‚.И этот Π΄Π²ΠΈΠΆΠΎΠΊ — JavaScript.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ я расскаТу ΠΎΠ± этих языках программирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ:

  • Π― Π½Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ язык ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ
  • Π― согласСн с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка
  • Π― аргумСнтируя это Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ сначала ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ язык. И — ΠΊΠ°ΠΊ Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, догадались ΠΈΠ· ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ³ΠΎ тСкста Π² ΠΌΠΎΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ — этим языком Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ JavaScript.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с изучСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π² настоящСС врСмя ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² школС.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° 101

Π’ унивСрситСтах Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, которая сама ΠΏΠΎ сСбС часто рассматриваСтся ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈΠ»ΠΈ привязка ΠΊ стСпСни элСктротСхники.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠΆΠ΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ:

Β«ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² области ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΠΊΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистом, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ кистСй ΠΈ ΠΏΠΈΠ³ΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠΎΠΌΒ». — Π­Ρ€ΠΈΠΊ Π‘. Π Π°ΠΉΠΌΠΎΠ½Π΄

По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 2016 Π³ΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ унивСрситСты ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ относятся ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠ°ΠΊ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Π° ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ — ΠΊΠ°ΠΊ ΠΊ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π²ΠΎΠ΄Π½Ρ‹Π΅ курсы программирования сосрСдоточСны Π½Π° языках с Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ абстракции, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C, ΠΈΠ»ΠΈ матСматичСски ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ MATLAB.

И Π·Π°Π²Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ курса, указывая Π½Π° Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½Ρ‹Π΅ списки Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² ΠΏΠΎ языкам программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ TIOBE Index ΠΈΠ»ΠΈ этот ΠΈΠ· IEEE:

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих списков Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² выглядят практичСски Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ 10 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄.

Но измСнСния ΡΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ. Π”Π°ΠΆΠ΅ Π² акадСмичСских ΠΊΡ€ΡƒΠ³Π°Ρ….

Π’ 2014 Π³ΠΎΠ΄Ρƒ Python ΠΎΠ±ΠΎΠ³Π½Π°Π» Java ΠΊΠ°ΠΊ самый популярный язык обучСния Π² Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΏΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ Π½Π°ΡƒΠΊΠ°ΠΌ БША.

И Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ … Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ … ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚.

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹ посмотритС Π½Π° языки, Π½Π° самом Π΄Π΅Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сотрудниками, ΠΎΠ½ΠΈ Ρ€ΠΈΡΡƒΡŽΡ‚ совсСм Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ:

JavaScript — бСзусловно, самый популярный язык, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ 49 397 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ Π½Π° опрос Stack Overflow 2016.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ всСх Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ JavaScript. Π­Ρ‚ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ для интСрфСйсной Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ становится всС Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ для сСрвСрной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. И ΠΎΠ½Π° быстро распространяСтся Π² Ρ‚Π°ΠΊΠΈΠ΅ области, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π²Π΅Ρ‰Π΅ΠΉ.

Π’ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡΡ… ΠΎ вакансиях JavaScript упоминаСтся Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Π² любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС программирования, ΠΊΡ€ΠΎΠΌΠ΅ Java:

Π”Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠ΅Π³ΠΎ Π² ΠΌΠΈΡ€Π΅ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Π° объявлСний ΠΎ вакансиях, Indeed.com

. НС случайно ΠΌΡ‹ построили ΡƒΡ‡Π΅Π±Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ нашСго сообщСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° Π½Π° основС JavaScript. Π—Π° послСдниС Π΄Π²Π° Π³ΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅ 5000 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ воспользовались Free Code Camp, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Π― Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽ JavaScript, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽ. Π― ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽ JavaScript, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это самый Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Но ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Π²Π°ΠΌ JavaScript? Достоин Π»ΠΈ ΠΎΠ½ Π±Ρ‹Ρ‚ΡŒ вашим ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ языком программирования? Π”Π°Π²Π°ΠΉΡ‚Π΅ исслСдуСм Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Ρ€Π°Π½Π΅Π΅.

Π€Π°ΠΊΡ‚ΠΎΡ€ β„–1: Ρ€Ρ‹Π½ΠΎΠΊ Ρ‚Ρ€ΡƒΠ΄Π°

Если Π²Ρ‹ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚ΡΡ‚Π²Π°, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΊΡ‚ΠΎΡ€. Но Ссли Π²Ρ‹ — ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ — Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Π½Π°Π²Ρ‹ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, это Π²Π°ΠΆΠ½ΠΎΠ΅ сообраТСниС.

Как я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Ρ€Π°Π½Π΅Π΅, Java упоминаСтся Π² большСм количСствС объявлСний ΠΎ вакансиях, Ρ‡Π΅ΠΌ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык программирования.JavaScript Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСсто.

Но Π²ΠΎΡ‚ Π² Ρ‡Π΅ΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ JavaScript: нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ сущСствуСт ΡƒΠΆΠ΅ 20 Π»Π΅Ρ‚, ΠΎΠ½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ стал ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ инструмСнтом, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Netflix, Walmart ΠΈ PayPal, Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ прилоТСния.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² JavaScript, Π½ΠΎ ΠΈΡ… Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°.

Π”Π°Π½Π½Ρ‹Π΅ с сайта Indeed.com

Π—Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Java ΡΠΎΡ€Π΅Π²Π½ΡƒΡŽΡ‚ΡΡ 2,7 Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ΠšΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡ Π·Π° вакансии PHP ΠΈ iOS Ρ‚Π°ΠΊΠΆΠ΅ ТСстока.

Но Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ JavaScript приходится всСго 0,6 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² JavaScript. Π­Ρ‚ΠΎ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни Ρ€Ρ‹Π½ΠΎΠΊ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ JavaScript.

Π€Π°ΠΊΡ‚ΠΎΡ€ β„– 2: долгосрочныС пСрспСктивы

Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ JavaScript ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Π΄Π²ΠΎΠ΅ большС запросов Π½Π° вытягиваниС, Ρ‡Π΅ΠΌ срСдний ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Java, Python ΠΈΠ»ΠΈ Ruby. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, JavaScript растСт быстрСС, Ρ‡Π΅ΠΌ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ популярный язык.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: GitHub, 2016 БостояниС Octoverse

ЭкосистСма JavaScript Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π²Ρ‹Π³ΠΎΠ΄Ρƒ ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π΅Π½Π΅Π³ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Ρ‚Π°Π»Π°Π½Ρ‚ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Google, Microsoft, Facebook ΠΈ Netflix.

НапримСр, TypeScript (статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ надмноТСство JavaScript) насчитываСт Π±ΠΎΠ»Π΅Π΅ 100 участников с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ сотрудниками Microsoft ΠΈ Google, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ платят Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ Π½ΠΈΠΌ.

Π‘ Java Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ сотрудничСства ΠΌΠ΅ΠΆΠ΄Ρƒ компаниями. Oracle, которая фактичСски Π²Π»Π°Π΄Π΅Π΅Ρ‚ Java благодаря ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΡŽ Sun Microsystems, часто ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅Ρ‚ иски компаниям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Π΅Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ.

Π€Π°ΠΊΡ‚ΠΎΡ€ β„– 3: Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ

Π­Ρ‚ΠΎ пародия Π½Π° комикс XKCD.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистов согласятся, Ρ‡Ρ‚ΠΎ языки сцСнариСв высокого уровня ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ.JavaScript ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² эту ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ вмСстС с Python ΠΈ Ruby.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ унивСрситСты ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ Java ΠΈ C ++, Π² качСствС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… языков, ΠΈΡ… Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ.

Π€Π°ΠΊΡ‚ΠΎΡ€ β„–4: ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

Π’ΠΎΡ‚ Π³Π΄Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ проявляСтся JavaScript. JavaScript Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° любом устройствС с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ прямо Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ практичСски Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈΠΌ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Из-Π·Π° повсСмСстного распространСния JavaScript ΡΠΎΡƒΡ‡Ρ€Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒ Stack Overflow Π”ΠΆΠ΅Ρ„Ρ„ Π­Ρ‚Π²ΡƒΠ΄ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» свой Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ извСстный Π·Π°ΠΊΠΎΠ½:

Β«Π›ΡŽΠ±ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написано Π½Π° Π½Π° JavaScript, Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ написано Π½Π° JavaScript.

И с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ мСсяцСм Π·Π°ΠΊΠΎΠ½ Π­Ρ‚Π²ΡƒΠ΄Π° остаСтся Π² силС.

Когда-Ρ‚ΠΎ Java Ρ‚ΠΎΠΆΠ΅ ΠΎΠ±Π΅Ρ‰Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Π΅Π·Π΄Π΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ Java-Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹. Oracle ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠ±ΠΈΠ»Π° ΠΈΡ… Π² Π½Π°Ρ‡Π°Π»Π΅ этого Π³ΠΎΠ΄Π°.

Python страдаСт Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ:

«Как я ΠΌΠΎΠ³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ эту ΠΈΠ³Ρ€Ρƒ своСму Π΄Ρ€ΡƒΠ³Ρƒ? Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ Π»ΠΈ способ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это Π½Π° свой Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я ΠΌΠΎΠ³ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ дСтям Π² школС, Π½Π΅ устанавливая ΠΈΡ…? Π“ΠΌ. » — ДТСймс Π₯Π΅ΠΉΠ³ Π² ΠΊΠ½ΠΈΠ³Π΅ Β«ΠžΡ‚ΡΡ‚Π°Π²Π°Π½ΠΈΠ΅ Python Π² качСствС языка обучСния»

Для сравнСния, Π²ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ нашСго сообщСства с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ создали Π² своих Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Π½Π° CodePen.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… прямо Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅:

Π˜Π³Ρ€Π° Π‘Π°ΠΉΠΌΠΎΠ½Π° Π² стилС 1970-Ρ… Π³ΠΎΠ΄ΠΎΠ², Π˜Π³Ρ€Π° КонвСя Π² стилС LifeStar Wars, поиск Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, roguelike, ΠΈΠ³Ρ€Π°-поисковик ΠΏΠΎ подзСмСльям,

Π₯ΠΎΡ€ΠΎΡˆΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ язык. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ.

Если Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ постоянно ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ с языка Π½Π° язык, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡƒΠ΅Π΄Π΅ΡˆΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° Ρ€Π°ΠΌΠΊΠΈ основ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ свой Ρ€ΠΎΠ΄Π½ΠΎΠΉ язык. Π’ΠΎΠ³Π΄Π° ваш Π²Ρ‚ΠΎΡ€ΠΎΠΉ язык станСт Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

ΠžΡ‚Ρ‚ΡƒΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒΡΡ ΠΈ ΡΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ разносторонним Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, ΠΈΠ·ΡƒΡ‡ΠΈΠ² мноТСство языков:

  • C — ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΈ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСмах. вычислСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
  • C ++ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€.
  • Python ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π°ΡƒΠΊΠΈ ΠΈ статистики.
  • Java Π²Π°ΠΆΠ½Π°, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… тСхнологичСских компаниях.

Но сначала ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ JavaScript.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ — я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Ρ‚ΡŒ возраТСния ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

Π’ΠΎΠ·Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β„–1: Но Ρ€Π°Π·Π²Π΅ JavaScript Π½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ?

JavaScript — для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° практичСских Ρ†Π΅Π»Π΅ΠΉ — Ρ‚Π°ΠΊ ΠΆΠ΅ быстр, ΠΊΠ°ΠΊ ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ языки.

JavaScript (Node.js) Π½Π° порядки быстрСС, Ρ‡Π΅ΠΌ Python, Ruby ΠΈ PHP.

Он ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅ быстр, ΠΊΠ°ΠΊ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C ++, Java ΠΈ Go.

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ самого ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ ΠΌΠ΅ΠΆΡŠΡΠ·Ρ‹ΠΊΠΎΠ²ΠΎΠ³ΠΎ тСста:

Π’ΠΎΠ·Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β„– 2: Но JavaScript Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ

Как Python ΠΈ Ruby, JavaScript динамичСски типизируСтся, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Но ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Π±Π΅Π΄Ρƒ. Π—Π΄Π΅ΡΡŒ я Π½Π°ΠΌΠ΅Ρ€Π΅Π½ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ exampleArray массивом. Π― ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽ Π΅Π³ΠΎ значСния, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρƒ — Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ количСство содСрТащихся Π² Π½Π΅ΠΌ элСмСнтов.

  exampleArray = [1, 2]
-> [1, 2]

exampleArray.length
-> 2  

Но ΠΏΠΎΡ‚ΠΎΠΌ я случайно присвоил Π΅ΠΌΡƒ строку.

  exampleArray = «тСкст»
-> «тСкст»

exampleArray.length
-> 4  

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ошибки происходят постоянно Π² языках с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² просто ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΈ соотвСтствСнно ΠΏΠΈΡˆΡƒΡ‚ тСсты.

Если Π²Π°ΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° статичСская типизация Π½Π° вашСм ΠΏΠ΅Ρ€Π²ΠΎΠΌ языкС программирования, я всС ΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ сначала ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ JavaScript.Π’ΠΎΠ³Π΄Π° Π²Ρ‹ смоТСтС быстро ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ TypeScript.

Β«ΠœΠ°ΡˆΠΈΠ½ΠΎΠΏΠΈΡΠ΅Ρ† Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ обучСния, Π½ΠΎ Ссли Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅ JavaScript, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π»Π°Π΄ΠΊΠΈΠΌΒ». — АлСкс Π­Π²Π΅Ρ€Π»ΠΎΡ„ ΠΎ TypeScript

Π’ΠΎΠ·Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β„– 3: Но я Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‡Ρƒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

. Π― всС ΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ сначала ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ JavaScript.

  1. JavaScript Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ нСсколько инструмСнтов для создания собствСнных ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Angular Cordova ΠΈ React Native.
  2. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вашС мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ интСрСсноС, Π΅ΠΌΡƒ, вСроятно, потрСбуСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ сСрвСрная Ρ‡Π°ΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ срСды Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Node.js + Express.js.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π΄Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ·Π°Π΄ΠΈ.

НачнСм с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ люди ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° всСх вакансий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² приходится Π½Π° Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ это с 8% вакансий, связанных с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΈ 49 525 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° основС ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° опрос Stack Overflow 2016 Π³ΠΎΠ΄Π°.

Π“Ρ€Π°Π½Π΄ΠΈΠΎΠ·Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ «для этого Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» Π½Π΅ ΡΠ±Ρ‹Π»ΠΎΡΡŒ. ВмСсто этого Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² смартфонов пСрСстали Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ прилоТСния.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ — ΠΎΠ½ΠΈ всС Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ прилоТСния. Π’ основном Facebook, Google Maps ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, большая Ρ‡Π°ΡΡ‚ΡŒ спроса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ сосрСдоточСна Ρƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π’Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ пСрспСктивы этих ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². МногиС аспСкты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, обслуТивания ΠΈ распространСния ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Facebook ΠΈ Google, Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства Π² Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ инструмСнты для ΠΈΡ… создания с использованиСм JavaScript.

По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 2016 Π³ΠΎΠ΄ практичСски вся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сводилась ΠΊ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.ВсС касаСтся Ρ‚ΠΎΠΉ большой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся Β«Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Β». И ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π²ΠΎΠ»Π½Π° устройств, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρƒ сСбя Π΄ΠΎΠΌΠ°, ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π±ΠΈΡ€Π°ΡŽΡ‚ Π²Π°ΡˆΠΈΡ… Π΄Π΅Ρ‚Π΅ΠΉ ΠΈΠ· ΡˆΠΊΠΎΠ»Ρ‹ — всС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ соСдинСны вмСстС Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

А это Π·Π½Π°Ρ‡ΠΈΡ‚ JavaScript.

Π’ΠΎΠ·Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β„–4: Π Π°Π·Π²Π΅ JavaScript Π½Π΅ ΠΈΠ³Ρ€ΡƒΡˆΠ΅Ρ‡Π½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» написан Π·Π° 10 Π΄Π½Π΅ΠΉ?

Π£ JavaScript нСобычная история.

Π’Ρ‹ навСрняка ΡƒΡΠ»Ρ‹ΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊ люди ΡˆΡƒΡ‚ΡΡ‚ Π·Π° Π΅Π³ΠΎ счСт.

Ну, люди Ρ‚ΠΎΠΆΠ΅ Π»ΡŽΠ±ΡΡ‚ Π½Π΅Π½Π°Π²ΠΈΠ΄Π΅Ρ‚ΡŒ C ++.И, ΠΊΠ°ΠΊ ΠΈ JavaScript, C ++ добился успСха, нСсмотря Π½Π° эту Π½Π΅Π½Π°Π²ΠΈΡΡ‚ΡŒ, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Ссли ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ JavaScript вмСсто элитного языка Π½Π΅Π΄Π΅Π»ΠΈ, просто вспомнитС Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹Π΅ слова парня, создавшСго C ++:

Β«Π•ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° Π²ΠΈΠ΄Π° языков программирования: эти люди всСгда суСтятся, Π° Ρ‚Π΅Ρ…, ΠΊΠΎΠ³ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Β». — Π‘ΡŒΡΡ€Π½Π΅ Бтрауструп

Π― ΠΏΠΈΡˆΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ тСхнологиях. Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΏΠΈΡˆΠ΅Ρ‚Π΅ΡΡŒ Π½Π° мСня Π² Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π΅, я Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ вашС врСмя зря.?

Π―Π²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ знания программирования C ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ для изучСния Python ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования? | Π‘Π°ΠΊΠΈΠ± Π₯Π°Π½ Инан | TechLearners

Python — это язык программирования высокого уровня. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования Π² соврСмСнном ΠΌΠΈΡ€Π΅. Π’ области Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, машинного обучСния, искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° ΠΈ Ρ‚. Π”. БСйчас Π² основном Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Python. Если Π²Ρ‹ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Python, я скаТу, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, Π²Π°ΠΌ слСдуСт Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Python.НС Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ ΠΎ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅, связанной с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ C. Если Ρƒ вас Π΅ΡΡ‚ΡŒ основы C ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, это ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ Π²Π°ΡˆΡƒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ обучСния, Π½ΠΎ Ссли Ρƒ вас ΠΈΡ… Π½Π΅Ρ‚, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ сильно ΠΎΠ± этом Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ. Π―Π·Ρ‹ΠΊΠΈ программирования — это просто срСдство ΠΈΠ»ΠΈ способ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°Π»ΠΈ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ»Ρ‹, условная Π»ΠΎΠ³ΠΈΠΊΠ°, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° всСх языках, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ синтаксис ΠΈ стили написания ΠΊΠΎΠ΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ языка ΠΊ языку.Π’ Python синтаксис ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° английский, поэтому Π΅Π³ΠΎ довольно Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ.

Когда Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Python, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‡Π΅Π½ΡŒ простым ΠΈ интСрСсным, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π°ΠΌ Π½Π΅ придСтся ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с объявлСниСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… использованиСм ΠΈ Ρ‚. Π”. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΈ ΠΏΠΎΠΉΠΌΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ†ΠΈΠΊΠ»Ρ‹, условия ΠΈ Ρ‚. Π”. Main basic всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Python ΠΈ практикуСтся всС большС ΠΈ большС. МногиС программисты Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ Python ΠΊΠ°ΠΊ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык, ΠΈ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… Ρ€Π°Π±ΠΎΡ‚ Π² области кодирования.Один ΠΈΠ· ΠΌΠΎΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ Ρ‚ΠΎΠΆΠ΅ сначала Π²Ρ‹ΡƒΡ‡ΠΈΠ» Python, Π° Π·Π°Ρ‚Π΅ΠΌ C, Π΅Π³ΠΎ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ язык — Python, ΠΈ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ основы кодирования. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ язык программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ основы кодирования, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Python, C, Java, Pascal, Swift ΠΈΠ»ΠΈ JavaScript, Ρ‡Ρ‚ΠΎ Π±Ρ‹ это Π½ΠΈ Π±Ρ‹Π»ΠΎ.

Когда Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΡŽΠ±Ρ‹ΠΌ языком программирования Π² качСствС Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°, Π²Π°ΠΌ Π½Π΅ составит большого Ρ‚Ρ€ΡƒΠ΄Π° Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ.Π’ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ рСсурсов ΠΏΠΎ Python, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΠΏΠ°Π·Π΄Ρ‹Π²Π°ΠΉΡ‚Π΅, Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄.

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python ΠΏΡ€ΠΎΡ‚ΠΈΠ² C ++ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅?

C ++ ΠΈ Python, вСроятно, ΡΠ²Π»ΡΡŽΡ‚ΡΡ двумя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ². C ++ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Python для простоты использования.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. НапримСр, JavaScript. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части своСго Ρ€ΠΎΠ±ΠΎΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NodeJs / JavaScript, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ GUI (графичСский ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс) Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’ этом постС ΠΌΡ‹ сосрСдоточимся Π½Π° C ++ ΠΈ Python просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΎΡΡ‚ΠΎ посмотритС прСдлоТСния ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² компаниях, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство вакансий Π½Π° C ++ ΠΈ мСньшС (Π½ΠΎ всС ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ) вакансий Π½Π° Python.

Π˜Ρ‚Π°ΠΊ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Π°ΠΌ интСрСсно, слСдуСт Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ C ++, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Python ΠΈΠ»ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ.

C ++ извСстСн своСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Π½ΠΎ Π΅Π³ΠΎ слоТнСС ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C ++ трСбуСтся большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python.

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ язык!

Π ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ°, ΠΆΠ°ΠΆΠ΄Π° скорости

Π’ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.А ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠΌ ΠΈ Π²Π΅Π±-сСрвСром для прилоТСния SaaS ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ разная. На самом Π΄Π΅Π»Π΅ это всС Ρ€Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΏΠ΅Π»ΡŒΡΠΈΠ½Ρ‹ ΠΈ Π±Π°Π½Π°Π½Ρ‹.

Когда ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, нас Π½Π΅ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ тысячи ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с балансировкой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠœΡ‹ заботимся ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ оборудования Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Ρ€ΠΎΠ±ΠΎΡ‚Π°: допустим, Π²Ρ‹ создаСтС мобильного Ρ€ΠΎΠ±ΠΎΡ‚Π°. Π£ вас Π΅ΡΡ‚ΡŒ нСсколько Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° колСсах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π° Π·Π°Ρ‚Π΅ΠΌ Ρƒ вас Π΅ΡΡ‚ΡŒ встроСнный ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π² структуру Ρ€ΠΎΠ±ΠΎΡ‚Π°.Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с внСшним ΠΌΠΈΡ€ΠΎΠΌ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΠΎΠ±ΠΎΡ‚Π° ΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ для пСрСмСщСния Ρ€ΠΎΠ±ΠΎΡ‚Π°.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ вашСго прилоТСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для чтСния / записи Π΄Π°Π½Π½Ρ‹Ρ… с / Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с вашими Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ устройствами, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° управлСния.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ управлСния часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ простым:

  1. Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…
  2. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ
  3. Π—Π°ΠΏΠΈΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

А сСйчас Π²Ρ‹ просто повторяСтС эту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ снова ΠΈ снова.А Π²ΠΎΡ‚ ΠΈ Π²Ρ‹Π·ΠΎΠ².

Для ΠΏΠ»Π°Π²Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ этот Ρ†ΠΈΠΊΠ» с частотой Π±ΠΎΠ»Π΅Π΅ 100 Π“Ρ†, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ выполняСтся Π±ΠΎΠ»Π΅Π΅ 100 Ρ€Π°Π· ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎ всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ частям вашСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния!

Аппаратная Ρ‡Π°ΡΡ‚ΡŒ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ

ΠŸΡ€ΠΈ создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Ρ€ΠΎΠ±ΠΎΡ‚Π° сущСствуСт понятиС стоимости. НСльзя просто Π²Π·ΡΡ‚ΡŒ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ Π·Π° 3000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎ Π½Π΅ΠΌ.

Если Π²Ρ‹ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° этап производства, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π·Π° 3000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ². ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΎΠ΄Π½ΠΎΠΉ 50 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ достаточно для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Но Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ, этот ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π·Π° 50 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° графичСского процСссора ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ количСства ядСр / ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Если ваша Ρ†Π΅Π»ΡŒ — произвСсти 10 000 Π΅Π΄ΠΈΠ½ΠΈΡ†, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠ»Π»Π°Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ сэкономитС Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ€ΠΎΠ±ΠΎΡ‚Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ 10 000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π½Π° всю ΠΏΠ°Ρ€Ρ‚ΠΈΡŽ.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Ссли Π²Ρ‹ Π½Π΅ ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ограничСния Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ своС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ людСй.Если максимально допустимоС врСмя для выполнСния Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ составляСт 2 миллисСкунды, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° (отправлСнная с частотой 100+ Π“Ρ†) Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ 2 миллисСкунд.

Π˜Ρ‚Π°ΠΊ, я ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΎ нСобходимости скорости ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ оборудования. Но Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅Ρ‚ сравнСния C ++ ΠΈ Python! ЦСль Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, поэтому Π½ΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ довольно простым.

Когда C ++ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ

C ++ — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… языков программирования с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Если Π²Ρ‹ считаСтС, Ρ‡Ρ‚ΠΎ Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² 10-100 (это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ зависит ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния) Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ C ++, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстрСС, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ C ++.

Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ управлСния с частотой 100+ Π“Ρ† ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ограничСния Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° C ++.

β†’ Π₯ΠΎΡ€ΠΎΡˆΠΎ, C ++ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ это Π½Π΅ самый Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ программирования. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ?

Ну, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° ассСмблСрС.Но ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ планирования двиТСния, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ сСтСй, ΡƒΠ΄Π°Ρ‡ΠΈ Π² этом.

C ++ — ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ язык для максимального увСличСния ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅.

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. Π’Π°Ρˆ встроСнный ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, скорСС всСго, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ двигатСлями. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ понадобится ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ язык программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ C / C ++. Π—Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ здСсь ΠΎ Python.Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ядро ​​и ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ объСм Ρ„Π»ΡΡˆ-памяти, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ быстрый ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ.

Π˜Ρ‚Π°ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python?

Π—Π΄Π΅ΡΡŒ это Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ зависит ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ.

Π’ любом случаС, Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C ++ для всСго Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ уровня Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ.

Ну, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python для Ρ‡Π΅Π³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ связано с критичСскими Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ограничСниями ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слишком большой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности.

Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ позволяСт Π²Π°ΠΌ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ быстрСС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ большС ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π° Π½Π΅ Π½Π° самом языкС.

Π’Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ часто Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии Π² Ρ†Π΅Π»ΠΎΠΌ Π΅ΡΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° C ++ с привязкой ΠΊ Python.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° планирования двиТСния. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ двиТСния Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ для Python. Π—Π΄Π΅ΡΡŒ C ++ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ. Но ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ядро ​​библиотСки (ΠΈΠ»ΠΈ использовали ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ привязку Python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² своСм ΠΊΠΎΠ΄Π΅ Python.

OpenCV — ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π¨ΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Python API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт людям Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ ΠΈ быстрСС ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΎΠ± ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· нСобходимости ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° C ++.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ большоС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Python ΠΈ C ++ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ C ++ — это ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык, Π° Python — ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык.

Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? Π’Ρ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΈ смоТСтС быстрСС Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Говоря ΠΎ тСстировании, Python ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для этой Ρ†Π΅Π»ΠΈ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ сцСнарий для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ части вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, физичСского повСдСния вашСго Ρ€ΠΎΠ±ΠΎΡ‚Π°).

Π˜Ρ‚Π°ΠΊ, Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ C ++ для Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· C ++, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ Π·Π°Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ.

Python ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ части вашСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π‘Π°ΠΌΠΎΠ΅ большоС прСимущСство Python, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я Π²ΠΈΠΆΡƒ, — это Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎ компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Если для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ части вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использованиС Python Π½Π΅ ставит ΠΏΠΎΠ΄ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ / Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ вашСго прилоТСния, Ρ‚ΠΎ Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, сколько Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Бколько Ρƒ вас Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ?

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ я просто Π·Π°Π΄Π°ΠΌ вопрос: сколько Ρƒ вас Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ? А ΠΊΠ°ΠΊΠΎΠΉ Ρƒ вас ΠΎΠΏΡ‹Ρ‚?

Если Π²Ρ‹ ΡƒΠΆΠ΅ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ экспСртом ΠΏΠΎ C ++ с большим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ смоТСтС ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ C ++ Ρ‚Π°ΠΊ ΠΆΠ΅ быстро, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Python. Π’ этом случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° C ++.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ знания ΠΊΠ°ΠΊ Π² C ++, Ρ‚Π°ΠΊ ΠΈ Π² Python, Π½ΠΎ Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ экспСртом Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ, Ρ‚ΠΎ я ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C ++ для критичСских частСй вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Python для всСго ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ. . Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части Python Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСдостаточно быстро, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ эту Ρ‡Π°ΡΡ‚ΡŒ Π½Π° C ++.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ссли Π²Ρ‹ создаСтС Ρ€ΠΎΠ±ΠΎΡ‚Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прСдприятия с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ производствСнных Π·Π°Ρ‚Ρ€Π°Ρ‚, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ C ++ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ (с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π°ΠΉΠΌΠ°).

Но Ссли Π²Ρ‹ создаСтС Ρ€ΠΎΠ±ΠΎΡ‚Π° для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, школьного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° для стартапа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ POC (Proof Of Concept), Π½Π΅ тСряйтС врСмя.Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. НС пСрСусСрдствуйтС. Π’Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

Π‘Π°ΠΌΡ‹Π΅ популярныС языки программирования: C ++ Π²Ρ‹Π±ΠΈΠ²Π°Π΅Ρ‚ Python ΠΈΠ· Ρ‚Ρ€ΠΎΠΉΠΊΠΈ Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ²

Анализ TIOBE Index ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ C ++ связано с ростом Π΅Π³ΠΎ популярности, Π° Π½Π΅ с ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ использования Python.

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΡŽ

C ++ Π²Ρ‹Π±ΠΈΠ» Python ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Ρ€ΠΎΠΉΠΊΠΈ Π² Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ популярных языков программирования TIOBE Index.

Π­Ρ‚ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΡƒΠ΅Ρ‚ собой ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΡΡƒΠ΄ΡŒΠ±Ρ‹ для C ++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ послС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π» Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ мСсто Π² индСксС, Π±Ρ‹Π» ΠΎΡ‚ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ Π½Π° Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ΅ мСсто Python Π² сСнтябрС ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСста Π² спискС ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ: Java Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΡƒΠ»-ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Π° C — Π²Ρ‚ΠΎΡ€ΠΎΠ΅.

TIOBE Index пытаСтся ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ языков Π²ΠΎ всСм ΠΌΠΈΡ€Π΅ Π½Π° основС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² основных поисковых систСм. ИндСкс ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΡŽΡ‚ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ являСтся довольно Π³Ρ€ΡƒΠ±Ρ‹ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, вСроятно, влияСт ряд Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΏΠΎΠΌΠΈΠΌΠΎ популярности языка, Π½ΠΎ Π΅Π³ΠΎ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ Π² Ρ†Π΅Π»ΠΎΠΌ соотвСтствуСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ, с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ сочСтаниСм языков, хотя ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ порядкС.

Π’ Π°Π½Π°Π»ΠΈΠ·Π΅, наряду с послСдними Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, TIOBE связываСт Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ C ++ с ростом Π΅Π³ΠΎ популярности, Π° Π½Π΅ с ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ использования Python.

Β«Π­Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Python находится Π² ΡƒΠΏΠ°Π΄ΠΊΠ΅: Python достигаСт Ρ€Π΅ΠΊΠΎΡ€Π΄Π½Ρ‹Ρ… максимумов ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ мСсяц. ΠŸΡ€ΠΎΡΡ‚ΠΎ C ++ Ρ‚Π°ΠΊΠΆΠ΅ становится всС Π±ΠΎΠ»Π΅Π΅ популярным», — ΠΏΠΈΡˆΠ΅Ρ‚ ΠΎΠ½.

SEE: 10 способов ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π³ΠΎΡ€Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (бСсплатный PDF) (TechRepublic)

Π’ ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ этот растущий интСрСс ΠΊ C ++ приписываСтся C ++ 11, вСрсии языка, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Π² 2011 Π³ΠΎΠ΄Ρƒ, которая, ΠΏΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΡŽ TIOBE, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ упростила C ++ , бСзопаснСС ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Β».

Π­Ρ‚ΠΎΡ‚ скачок Π² языкС окупаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ спустя Π³ΠΎΠ΄Ρ‹, согласно TIOBE, благодаря ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… вСрсий C ++, прСдставлСнных основными компиляторами, инструмСнтами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции ΠΈΠ· ΠΊΠΎΠ΄Π°.

Β«Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° стандарты C ++ 11, C ++ 14 ΠΈ C ++ 17 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ компиляторами C ++, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ GCC, Clang ΠΈ Visual Studio, ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ C ++ возроТдаСтся».

Π’Π°ΠΊΠΈΠ΅ особСнности, ΠΊΠ°ΠΊ автоматичСский Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΈΠΏΠΎΠ², замыкания ΠΈ сСмантика пСрСмСщСния Π² соврСмСнных вСрсиях C ++, часто ΠΏΡ€ΠΈΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ с языком стало Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ приятнСС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π°Π½Π°Π»ΠΈΠ· TIOBE ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ использованиС извСстного языка программирования Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΈ.

Β«C ++ Π΅Ρ‰Π΅ Π΄Π°Π»Π΅ΠΊ ΠΎΡ‚ своСй популярности Π² Π½Π°Ρ‡Π°Π»Π΅ этого Π²Π΅ΠΊΠ°, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ доля Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»Π° 15%Β», — говорится Π² Π½Π΅ΠΌ.

БСгодня C ++ являСтся Ρ„Π°Π²ΠΎΡ€ΠΈΡ‚ΠΎΠΌ для ΠΈΠ³Ρ€ ΠΈ слоТных бизнСс-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ благодаря Π΅Π³ΠΎ способности Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ эффСктивно ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС памяти.

Однако этот язык Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ свободу дСйствий для Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ внСсСния ошибок ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΈ Π² послСдниС Π³ΠΎΠ΄Ρ‹ Rust становится всС Π±ΠΎΠ»Π΅Π΅ популярным Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ C ++.Rust Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для обСспСчСния высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ C ΠΈ C ++, Π½ΠΎ с большСй Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ обращСния с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ C ++, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с основными Π½ΠΎΠ²Ρ‹ΠΌΠΈ функциями, связанными с C ++, Π² Microsoft Visual Studio 2019 IDE, ΠΈΠ»ΠΈ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Rust, TechRepublic собрал Π»ΡƒΡ‡ΡˆΠΈΠ΅ бСсплатныС рСсурсы Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ дСсяткС TIOBE СдинствСнноС сущСствСнноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ — это поднятиС языка ассСмблСра Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π΄ΠΎ дСсятого Π·Π° послСдний Π³ΠΎΠ΄. Π’ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠΏ-10 Π±Ρ‹Π»Π° Π² основном статичной: JavaScript поднялся Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Π° PHP опустился Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΈΠΆΠ΅.

Π’ΠΎΠΏ-10 индСкса TIOBE Π·Π° Π°ΠΏΡ€Π΅Π»ΡŒ 2019 Π³ΠΎΠ΄Π°

-1

Π°ΠΏΡ€ 2019 Π°ΠΏΡ€ 2018 Π―Π·Ρ‹ΠΊ программирования Π Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ ИзмСнСниС
1 1 Java

% %
2 2 C 14,076% + 0,49%
3 3 C ++ 8.838% + 1,62%
4 4 Python 8,166% + 2,36%
5 6 Visual Basic .NET 5,7
6 5 C # 3,515% -1,75%
7 8 JavaScript 2.507% -0,99%
8 9 SQL 2,272% -0,38%
9 7 PHP 2,2439%

10 14 Π―Π·Ρ‹ΠΊ ассСмблСра 1,710% + 0,05%

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½ΡŒ ΠΏΠΎ инновациям

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π² курсС ΡƒΠΌΠ½Ρ‹Ρ… Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ², искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°, Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π²Π΅Ρ‰Π΅ΠΉ, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, Π΄Ρ€ΠΎΠ½ΠΎΠ², Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ воТдСния ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… самых ΠΊΡ€ΡƒΡ‚Ρ‹Ρ… тСхнологичСских ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΉ.Доставка ΠΏΠΎ срСдам ΠΈ пятницам.

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ БСгодня

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

Π―Π·Ρ‹ΠΊΠΈ программирования: ΠΏΠΎΡ‡Π΅ΠΌΡƒ C Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ Python

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Python ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ C? ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ появился Π½Π° Quora — мСстС, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ знаниями, давая людям Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠΈΡ€.

ΠžΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ Π’Π΅Ρ€Ρ€ΠΈ Π›Π°ΠΌΠ±Π΅Ρ€Ρ‚, Π³Ρ€ΡƒΠΏΠΏΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра ОБ Apple Core; тСхничСский Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π·Π° 8 Π»Π΅Ρ‚, Π½Π° Quora:

Python ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ C, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык.

Π­Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ количСство фактичСских инструкций ЦП, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, мСньшС Π»ΠΈ ΠΎΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния, большС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ€Π°Π²Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²:

На языкС ассСмблСра ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»:

Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Python Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π° Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ процСссором.

Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Код Python ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда выполняСтся Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС.

(я Π³ΠΎΠ²ΠΎΡ€ΡŽ Β«ΠΏΠΎΡ‡Ρ‚ΠΈΒ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² — Π½Π΅Ρ‚, Π½Π° самом Π΄Π΅Π»Π΅, это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ)

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ — Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°Β».

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ всСгда ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ прямой ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ инструкции трСбуСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС инструкций, Ρ‡Π΅ΠΌ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ машинной инструкции.

НапримСр, возьмСм x + = 1. Π’ ЦП Intel ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ рСгистра являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ 1 ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пропускной способности 1/3.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами: это самая быстрая инструкция ЦП, какая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° для процСссора Intel.

Как это x + = 1 достигаСтся Π² Python?

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ это, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Python Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ.

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ Python состоит ΠΈΠ· Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, лСксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°:

  • Tokenizer ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ Python (тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ASCII) Π² ΠΏΠΎΡ‚ΠΎΠΊ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²
  • ЛСксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π­Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Python, которая заботится ΠΎΠ±ΠΎ всСх Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»Π°Ρ… ΠΈ отступах.Π—Π΄Π΅ΡΡŒ ΠΈ происходит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° синтаксиса.
  • Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π­Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Python, которая выполняСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, Ссли таковая имССтся; ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Python Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ являСтся языком компиляции, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с оптимизациями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора C.
  • Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π­Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Python, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ состояниС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Python.

Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ сгСнСрированный, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π² памяти.

Π­Ρ‚ΠΎ обСспСчиваСт ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ скорости, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ повторСния шагов Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, лСксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° для ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Python ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π».

Π˜Ρ‚Π°ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ повторяСм наш Ρ†ΠΈΠΊΠ» while, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этапы Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, лСксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΈ просто снова ΠΈ снова ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°.

Π₯отя использованиС ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π½Π° быстрСС , это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ быстро, ΠΊΠ°ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π½Π΅ являСтся фактичСским процСссором, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΊΠΎΠ΄.

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Одной ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Π±Ρ‹Π»Π° UCSD p-System, разработанная ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΠΉΡΠΊΠΈΠΌ унивСрситСтом Π² Π‘Π°Π½-Π”ΠΈΠ΅Π³ΠΎ. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1972 Π³ΠΎΠ΄Ρƒ.

ВскорС послС этого Microsoft выпустила свою Π²Π΅Ρ€ΡΠΈΡŽ BASIC (ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° BASIC Дартмутского унивСрситСта 1964 Π³ΠΎΠ΄Π°), которая Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»Π° ΠΊΠΎΠ΄ BASIC Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Python Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ сСгодня.BASIC хранится Π² памяти Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Python сохраняСтся Π² памяти послС Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, хотя BASIC ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ этапа лСксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π΄ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. Π’ Π΅Π³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС: ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ BASIC.

Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ отсутствия Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² строк для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈ использования ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π² качСствС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° управлСния Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GOTO , Python Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ BASIC, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Ρƒ нас 40 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄.

Β«ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡΒ» vs.компиляция.

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ UCSD Паскаль Π½Π΅ Π±Ρ‹Π» скомпилирован Π½Π° ассСмблСр, ΠΊΠ°ΠΊ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ВмСсто этого ΠΎΠ½ Π±Ρ‹Π» скомпилирован Π² p-Code.

Apple, Π³Π΄Π΅ я Ρ€Π°Π±ΠΎΡ‚Π°Π», ΠΈΠΌΠ΅Π»Π° Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π±Π΅Π·ΠΎΡ‚Π·Ρ‹Π²Π½ΡƒΡŽ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ Π½Π° систСму UCSD p-Code. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° ошибка лицСнзирования, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ UCSD ΠΏΠΎΠ·ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠ».

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ProDOS Π½Π° Apple II Π±Ρ‹Π»Π° написана Π½Π° ПаскалС, ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ вСсь ΠΊΠΎΠ΄ для QuickDraw Π² Ρ€Π°Π½Π½ΠΈΡ… Macintosh Π±Ρ‹Π» написан Π½Π° ПаскалС.

Π˜Ρ‚Π°ΠΊ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎ «скомпилированной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° ПаскалС», Π²Ρ‹ Π² Ρ‚ΠΎ врСмя Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ p-Code. Или Β«Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Β», Ссли Π²Ρ‹ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ Java ΠΈΠ»ΠΈ Python ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π΅Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅.

Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ понятиС «скомпилированный PythonΒ»; это ΠΊΠΎΠ΄ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡˆΠ΅Π» Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€, лСксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Π² памяти, Π² Π²ΠΈΠ΄Π΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π³ΠΎΡ‚ΠΎΠ² для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° (Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Python).

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .py, это тСкстовый Ρ„Π°ΠΉΠ» ASCII, содСрТащий исходный ΠΊΠΎΠ΄ Python.

Когда Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .pyc, это Β« PYthon, Compiled Β».

Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ являСтся Π½Π° самом Π΄Π΅Π»Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ скомпилирована, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° фактичСски Π½Π΅ компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ скомпилирована Π² собствСнныС Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ инструкции ЦП Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½Π° Π½Π°Ρ†Π΅Π»Π΅Π½Π°.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° сборки вмСсто Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΊΠΎΠ΄Π° сборки ассСмблСру ΠΈ Π²Ρ‹Π΄Π°Ρ‡Ρƒ ассСмблСром спСцифичных для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

ПослС этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° всС Π΅Ρ‰Π΅ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ запуску, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ связана со срСдой выполнСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π‘Ρ€Π΅Π΄Π° выполнСния устанавливаСт срСду, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ запуска, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ряд слуТб Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° динамичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ C ΠΈΠΌΠ΅Π΅Ρ‚ срСду выполнСния. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ C ++ ΠΈΠΌΠ΅Π΅Ρ‚ срСду выполнСния.

По большСй части, эти срСды выполнСния просто Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ срСду ΠΈ пСрСходят ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ.Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами: ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ связывания сгСнСрированного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° со срСдой выполнСния (ΠΈ Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ) для создания Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° называСтся Β«ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉΒ».

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π΅ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ; самоС Π±Π»ΠΈΠ·ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚, — это Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π₯отя эти ΠΌΠΎΠ΄ΡƒΠ»ΠΈ сами ΠΏΠΎ сСбС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы — фактичСски, это основа Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Python для ускорСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Python, ΠΈ это основа JNI ( Java Native Interface ) — ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π° скомпилированном языкС. , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C ΠΈΠ»ΠΈ C ++, ΠΈΠ»ΠΈ, Ссли ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ матСматичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° ассСмблСрС.

Π—Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ компилируСтся, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΎ Π½Π΅ становится Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Для запуска Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС трСбуСтся интСрпрСтация Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ запуск собствСнного ΠΊΠΎΠ΄Π° ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°.

Π˜Ρ‚Π°ΠΊ, вСрнСмся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

ΠœΡ‹ просто добавляСм ΠΎΠ΄ΠΈΠ½, Π²Π΅Ρ€Π½ΠΎ?

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ происходит ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡ€ΠΎΠ²ΠΎΠΌ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого Π² Python, Π΄Π°ΠΆΠ΅ послС прСобразования Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, — это (согласно ΠΌΠΎΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΡƒ) 378 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций, выполняСмых Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной Python.

Во ТС самоС в C:

стоит 1 ΠΌΠ°ΡˆΠΈΠ½Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ C ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π΅ Π΄ΠΎ языка ассСмблСра, ΠΈ этот язык ассСмблСра выглядит Ρ‚Π°ΠΊ:

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ выполняСтС Ρ‚ΠΎΠ½Π½Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ нСбольшая Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ сам Python ΠΏΠΎ своСй сути ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ.

CPython — это рСализация Python Π½Π° языкС C, которая являСтся стандартной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ практичСски повсСмСстно.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ CPython Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСствами многопоточности .

CPython ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° . Π­Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ выполняСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Python Π·Π° Ρ€Π°Π·. Если ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ внСшний ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ блокируСтся, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Python.

Π£ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 5000 ядСр Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Python Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… Π·Π° Ρ€Π°Π·.

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, написанныС Π½Π° Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ Python, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ сущСствСнноС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ — это называСтся ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Ρ‹, ΠΈ ΠΎΠ½Π° Π±Ρ‹Π»Π° Β«ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π°Β» Microsoft Π² 1996 Π³ΠΎΠ΄Ρƒ ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΡ… инфраструктуры ViPER, которая Π±Ρ‹Π»Π° ΠΈΡ… способ добавлСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ многопоточности Π² NT 3.51.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ CPython ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Β«ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€ΡƒΒ» (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ), ΠΎΠ½ сбрасываСт Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ C / C ++ / Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠ΄Π΅ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ — Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ вСрнСтся. ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Ρ‹.

Как Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² свою ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Ρƒ: ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΡΡ‚ΡŒ с сСбя ΠΎΠ΄Π΅ΠΆΠ΄Ρƒ (Π·Π°ΠΌΠΎΠΊ) ΠΈ Ρ‚Π°Π½Ρ†Π΅Π²Π°Ρ‚ΡŒ Π³ΠΎΠ»Ρ‹ΡˆΠΎΠΌ, Ссли Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚.

Java ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ JIT ΠΈΠ»ΠΈ Just In Time compilation. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ JIT, Ρ‚Π°ΠΊ это Π±Π΅Ρ€Π΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Π² собствСнный язык ассСмблСра для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ — динамичСская компиляция.

JIT выполняСт Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ части ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ сборки; ΠΎΠ½ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π² ассСмблСрный ΠΊΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ выполнСния.

JIT ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ быстрая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, скомпилированная Π² собствСнном ΠΊΠΎΠ΄Π΅, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния для прСобразования ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΅Π΅ запускаСтС. Π­Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ быстро, ΠΊΠ°ΠΊ ΠΌΠΎΠ³ Π±Ρ‹.

Для Π±ΠΎΡ€ΡŒΠ±Ρ‹ с этим Π²Ρ‹, вСроятно, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Java Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄; Π΅ΡΡ‚ΡŒ коммСрчСский ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Excelsior JET, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ для этого. Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½ старый GCJ (компилятор GNU для Java). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ Π² Π°Ρ€Ρ…ΠΈΠ²Π°Ρ…, Π½ΠΎ эта вСрсия Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ самыС послСдниС вСрсии Java.Он Π±Ρ‹Π» ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ послС измСнСния Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Oracle ΠΏΠΎ философским сообраТСниям GNU.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈ JIT для Python?

Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π²Π΅Ρ€Π½ΠΎ! Π•ΡΡ‚ΡŒ PyPy, Π΅ΡΡ‚ΡŒ Numba, Π° Ρƒ Microsoft Π΅ΡΡ‚ΡŒ Pyjion (ссылка Π½Π° исходники GitHub). Π•ΡΡ‚ΡŒ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΠ΅Π½Π΅Π΅ извСстны ΠΈ поэтому Ρ€Π΅ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Numba ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ статичСски ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Python — ΠΈΠ»ΠΈ подмноТСство RPython, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ само ΠΏΠΎ сСбС являСтся подмноТСством Python — Π² собствСнный ΠΊΠΎΠ΄.

К соТалСнию, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Python, Π²Ρ‹, вСроятно, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…, ΠΈ вмСсто этого Π²Ρ‹, вСроятно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Python, CPython.

Python ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык.

Π­Ρ‚ΠΎΡ‚ вопрос ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ появился Π½Π° Quora — мСстС, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ знаниями, давая людям Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠΈΡ€. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° Quora Π² Twitter, Facebook ΠΈ Google+. Π•Ρ‰Π΅ вопросы:

Π’Ρ‹Π·ΠΎΠ² всСх Ρ„Π°Π½Π°Ρ‚ΠΎΠ² HuffPost!

ΠŸΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ΡΡŒ Π½Π° члСнство, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основатСлСй ΠΈ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π³Π»Π°Π²Ρƒ HuffPost

Python vs.C / C ++ Π²ΠΎ встроСнных систСмах

Π―Π·Ρ‹ΠΊΠΈ программирования C / C ++ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ встроСнных систСм, хотя Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ряд нСдостатков. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρƒ Python Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… сторон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ языком для встраиваСмых систСм. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΌ слСдуСт Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Python для встроСнного программирования.

C / C ++ — это скомпилированныС языки, Π° Python — ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык. C / C ++ сущСствуСт ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚; C Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1969 Π³ΠΎΠ΄Ρƒ, Π° C ++ появился Π² 1983 Π³ΠΎΠ΄Ρƒ.Python ΠΌΠΎΠ»ΠΎΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π±Ρ‹Π» создан Π² 1989 Π³ΠΎΠ΄Ρƒ Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россумом. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΎΠ½ стал ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных языков программирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. ВсС выпуски Python ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π² коммСрчСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. (Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠ°Ρ†ΠΈΡŽ коммСрчСского уровня, доступны Ρ‚Π°ΠΊΠΈΠ΅ дистрибутивы, ΠΊΠ°ΠΊ ActivePython.)

The Case for Python

Python — самый популярный Π²Π²ΠΎΠ΄Π½Ρ‹ΠΉ язык программирования Π½Π° Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π°Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ (CS) Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚Π°Ρ…. .Богласно исслСдованию Barr Group, восСмь ΠΈΠ· дСсяти Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΊΠ°Ρ„Π΅Π΄Ρ€ CS Π² настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ΠžΠ±ΡΡƒΠ΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ достоинства, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½ΠΎ простой Ρ„Π°ΠΊΡ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΌ языком срСди Π½Π΅Π΄Π°Π²Π½ΠΈΡ… выпускников являСтся Python. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ вСроятно, Ρ‡Ρ‚ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΠΉ выпускник ΠΏΠΎΠΉΠΌΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Python, Ρ‡Π΅ΠΌ Π½Π° C / C ++.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ-Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ, вСроятно, ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Python, ΠΈ Π±ΠΎΠ»Π΅Π΅ вСроятно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ Python, Ρ‡Π΅ΠΌ C / C ++.ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΊΠΎΠ»ΠΎ 40% ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΏΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΈ систСмных Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΡ‡Π΅Π½Ρ‹Π΅ стСпСни Π² области ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ сотрудники отрасли ΠΏΡ€ΠΈΠ±Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠ· Ρ…ΠΎΠ±Π±ΠΈ. Но ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ встроСнных систСм, Ρ†ΠΈΡ„Ρ€Ρ‹ довольно сильно ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. ИсслСдованиС Barr Group ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ 95% ΠΊΠΎΠ΄Π° для встраиваСмых систСм написано Π½Π° C / C ++. Π­Ρ‚ΠΎ наслСдиС встроСнных систСм ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ Python, Π½ΠΎ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство людСй, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Python, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π΅ΠΌΡƒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΠ±ΠΎΠ³Π½Π°Ρ‚ΡŒ C / C ++.

Python — это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самый популярный язык для Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ CS, Π½ΠΎ ΠΈ самый быстрорастущий язык для встраиваСмых вычислСний. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, это Π·Π²ΡƒΡ‡ΠΈΡ‚ Π³Π»ΡƒΠΏΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ снова просматриваСтС числа ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это самый быстрорастущий язык ΠΈΠ· ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ 5% ΠΊΠΎΠ΄Π° встроСнных систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ C / C ++, Π½ΠΎ Python Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ монополию C / C ++ Π΅Ρ‰Π΅ большС, Ρ‡Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСсколько Π»Π΅Ρ‚. Π›ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ, ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΎΡ‚Ρ€Π°ΡΠ»ΡŒ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ программирования Π΄Ρ€ΠΎΠ½ΠΎΠ², Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², часто ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Arduino ΠΈΠ»ΠΈ Raspberry Pi.Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π·Π° это врСмя ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»ΠΎ с Python Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ вСроятно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ столкнутся с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ встраиваСмых систСм.

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ C / C ++ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам ΠΈ часто Π½Π΅ читаСтся, Python извСстСн своСй ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊ записи, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ΠΌ количСства ошибок ΠΈ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒΡŽ. Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ удобочитаСмости Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ: ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ пСрвостСпСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΠ΄Π°. Π•Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π΅Π½Π΅Π³ Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ качСства.ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС Π΄ΠΈΠ·Π°ΠΉΠ½Π° Python Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ прСвосходит C / C ++, ΠΈ Π² ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΡ… Agile-срСдах ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ отставаниСм ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ².

ВстроСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ становятся всС Π±ΠΎΠ»Π΅Π΅ слоТными. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρ‹ управлСния Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹ΠΌΠΈ сСтями ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ слоТными процСссами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ Python Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒΡΡ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Theano, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ Python для этих процСссов. Π₯отя Theano Π² основном написан Π½Π° C / C ++, Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для взаимодСйствия с Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° способом.Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π°ΡŽΡ‚ — PyPI, индСкс ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python, содСрТит Π±ΠΎΠ»Π΅Π΅ 80 000 ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈ эти массивныС сборники Ρ€Π΅Π·ΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ программистов, давая ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ нСсколько шагов ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ установлСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² собствСнном ΠΊΠΎΠ΄Π΅.

Π‘Π»ΡƒΡ‡Π°ΠΉ для C / C ++

Π‘Π»ΡƒΡ‡Π°ΠΉ для C / C ++ довольно ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½: ΠΎΠ½ создаСт Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ быстрый ΠΊΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, ΠΈ это ΡƒΠΆΠ΅ язык Π²Ρ‹Π±ΠΎΡ€Π° для 95% ΠΊΠΎΠ΄Π° встроСнных систСм, поэтому ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ всС наслСдиС Ρ‡Ρ‚ΠΎ Python придСтся ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ.Однако ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ скорости, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния — Π½Π΅ СдинствСнный аспСкт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ — Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π₯отя Π²ΠΎ врСмя выполнСния Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ эффСктивным, Ρ‡Π΅ΠΌ C / C ++, Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ½ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ эффСктивнСС. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΊΠΎΠ΄Π°, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π΅Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²ΠΎ врСмя выполнСния ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅. Π­Ρ‚ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΡ‚ запуска ΠΊΠΎΠ΄Π° C / C ++, Π³Π΄Π΅ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ строка ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скомпилирована всСго Π² ΠΏΠ°Ρ€Ρƒ инструкций.Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сниТСнию скорости выполнСния ΠΈ Π±ΠΎΠ»Π΅Π΅ высокому ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΡŽ энСргии с Python.

ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ скорости Python

Π˜Ρ‚Π°ΠΊ, основным Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Python ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C / C ++ являСтся Π΅Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния, Π½ΠΎ Π΅ΡΡ‚ΡŒ нСсколько способов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π±ΠΎΠ»Π΅Π΅ эффСктивно. Помимо Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Theano, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Python, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Cython, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΠΎ сути, прСдставляСт собой Python со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами для Π±ΠΎΠ»Π΅Π΅ быстрого выполнСния матСматичСских расчСтов. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Cython ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² C / C ++ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° скоростях C / C ++.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ Just-In-Time (JIT) — Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния Python. Π­Ρ‚ΠΈ компиляторы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Python для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ скомпилированных ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций для ΠΊΠΎΠ΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π°ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ быстрСС. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ PyPy JIT ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния Python ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Π΄Π²Π° Ρ€Π°Π·Π°. Однако JIT-компиляторы слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π΅ΡΡ‚ΡŒ достаточно мСста, Π° встроСнным систСмам ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π΅Π³ΠΎ.Π›ΡƒΡ‡ΡˆΠ°Ρ оптимизация — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Π½ΠΎ это самая слоТная Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, поэтому, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… инструмСнтов, Π² зависимости ΠΎΡ‚ вашСго уровня Π½Π°Π²Ρ‹ΠΊΠΎΠ².

ИспользованиС Python для связи со встроСнными систСмами

Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС посрСдника связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ встроСнной систСмой, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний Ρ‡Π΅Ρ€Π΅Π· Python Π²ΠΎ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ систСму ΠΈΠ»ΠΈ ΠΈΠ· Π½Π΅Π΅ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСстированиС.Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ Python ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ систСму Π² Ρ€Π°Π·Π½Ρ‹Π΅ состояния, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всСвозмоТныС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования. Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для получСния Π΄Π°Π½Π½Ρ‹Ρ… встроСнной систСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сохранСны для Π°Π½Π°Π»ΠΈΠ·Π°. Π—Π°Ρ‚Π΅ΠΌ программисты ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° этих Π΄Π°Π½Π½Ρ‹Ρ….

Π’ настоящСС врСмя основныС споры ΠΎ достоинствах Python ΠΈ C / C ++ сводятся ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ для вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния. Однако Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ программистам Python придСтся Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ встроСнных систСмах, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ встроСнных систСм прСдстоит Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡƒΠΊΠ»ΠΎΠ½Π½ΠΎ растущСй популярности Python.

JavaScript ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C, Java, C #, Python, Ruby ΠΈ PHP — Π² ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°Ρ…

Когда JavaScript Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появился, это Π±Ρ‹Π»Π° просто Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ опция Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Netscape Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Π² свой Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. МногиС программисты ΠΎΡ‚Π²Π΅Ρ€Π³Π»ΠΈ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΈΠ³Ρ€ΡƒΡˆΠΊΡƒ, срСдство для Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ»ΠΈ добавлСния Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²Ρ‹Ρ… Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½. Они Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ обСщания. НСмногиС Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ Π΄Π°Π»ΡŒΠ½ΠΎΠ²ΠΈΠ΄Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ лямбда-выраТСния ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ пСрвоклассных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ сдСлал ΠΈΡ… мСйнстримом.

ΠŸΡ€ΠΎΡˆΠ»ΠΎ Π±ΠΎΠ»Π΅Π΅ 20 Π»Π΅Ρ‚, ΠΈ всС измСнилось. Π’Π΅Π±-прилоТСния — это Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ способ взаимодСйствия людСй с Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ всСлСнной, Π° JavaScript — основа. Π”Π°ΠΆΠ΅ сСрвСрныС прилоТСния всС Ρ‡Π°Ρ‰Π΅ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π° JavaScript, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ программисты ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ Node.js для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ скорости ΠΈ свободы выполнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π° Π½Π° сСрвСрС ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

Π’ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ список для сравнСния JavaScript с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ основными языками программирования.

JavaScript ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C

  • C компилируСтся Π·Π°Ρ€Π°Π½Π΅Π΅.JavaScript интСрпрСтируСтся ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° компилируСтся Π²ΠΎ врСмя выполнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JIT-компилятора.
  • C статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½. JavaScript ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ.
  • C Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ программистов выдСлСния ΠΈ освобоТдСния Π±Π»ΠΎΠΊΠΎΠ² памяти. JavaScript ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ это автоматичСски.
  • Код C Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ пСрСносС Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ процСссор. JavaScript Π½Π΅ трСбуСтся.
  • C ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ нСпосрСдствСнно с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. JavaScript скрываСт эту ΠΌΠΎΡ‰ΡŒ.
  • C ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для встраиваСмых ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы. Π‘Π½Π°Ρ‡Π°Π»Π° JavaScript Π±Ρ‹Π» встроСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²Π΅Π±-страницы, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΠΎΠ²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² сСрвСрных прилоТСниях, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Node.js.
  • C ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ явноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ JavaScript ΠΏΠΎΠ±ΡƒΠΆΠ΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколькими заданиями, раздСляя Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° асинхронныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ JavaScript с Java

  • Java компилируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ для запуска JIT-компилятором.JavaScript интСрпрСтировался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ часто выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JIT-компилятора.
  • Java ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, Π° JavaScript — Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ.
  • Java строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, Π° JavaScript — Π½Π΅Ρ‚.
  • Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ пространством ΠΈΠΌΠ΅Π½. JavaScript Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ этого Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, поэтому программисты синтСзировали Π΅Π³ΠΎ.
  • Java ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΈ Π½Π° сСрвСрах, Π½ΠΎ сСгодня ΠΎΠ½Π° Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° сСрвСрами. Когда-Ρ‚ΠΎ JavaScript Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π½Π° сторонС сСрвСра.
  • И Java, ΠΈ JavaScript ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки. ΠšΡ€ΠΎΡΡ-компиляторы ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ языки для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Java JVM ΠΈΠ»ΠΈ JavaScript.
  • Java 8 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ встраивания JavaScript, поэтому Java ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСимущСства JavaScript.
  • Java прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ явный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ. JavaScript скрываСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ этого своСй структурой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°.

JavaScript ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C #

  • C # компилируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ для запуска JIT-компилятором.Когда-Ρ‚ΠΎ JavaScript Π±Ρ‹Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ часто Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· JIT-компилятор.
  • C # типизируСтся статичСски, Π° JavaScript — динамичСски.
  • C # строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, Π° JavaScript — Π½Π΅Ρ‚.
  • Π’ C # Π΅ΡΡ‚ΡŒ LINQ, ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ .NET, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ добавляСт собствСнныС возмоТности запроса Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π² JavaScript Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… — Underscore.js.
  • C # прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ явный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ. JavaScript скрываСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ этого своСй структурой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°.
  • C # ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. JavaScript этого Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚.

JavaScript Π² сравнСнии с Python

  • JavaScript ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ HTML-страниц Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Python Π±Ρ‹Π» создан для запуска ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСрвСров (ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов).
  • Оба языка Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ сообщСства. Python популярСн ΠΊΠ°ΠΊ язык ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π½Π°ΡƒΠΊΠ°Ρ…. JavaScript Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° сСрвСрах ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах.
  • JavaScript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки для обозначСния Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°.Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ отступы ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.
  • Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ JavaScript настаиваСт Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹.
  • Код JavaScript часто управляСтся Ρ‚Π°ΠΊΠΈΠΌΠΈ событиями, ΠΊΠ°ΠΊ Ρ‰Π΅Π»Ρ‡ΠΊΠΈ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ наТатия клавиш. Python ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
  • МногиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ JavaScript ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для управлСния HTML Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

JavaScript Π² сравнСнии с PHP

  • Оба ΡΠ²Π»ΡΡŽΡ‚ΡΡ языками сцСнариСв, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π²ΠΎ врСмя выполнСния, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ часто Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ JIT-компилятором.
  • Оба ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.
  • Π’Π½Π°Ρ‡Π°Π»Π΅ PHP Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для сСрвСров для сборки Ρ„Π°ΠΉΠ»ΠΎΠ² HTML, Π° JavaScript запускался Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ JavaScript Ρ‚Π°ΠΊΠΆΠ΅ создаСт Ρ„Π°ΠΉΠ»Ρ‹ HTML Π½Π° сСрвСрС.
  • PHP Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ сборки HTML. JavaScript являСтся основой для всС Π±ΠΎΠ»Π΅Π΅ слоТных интСрфСйсов Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΈ Π½Π° сторонС сСрвСра, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
  • PHP — ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой язык, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ HTML.JavaScript становится Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΌ языком, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΊΠ°ΠΊ для взаимодСйствия с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ для Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΡ… вычислСний.

JavaScript Π² сравнСнии с Ruby

  • JavaScript ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Π±Ρ‹Π» ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ запуском Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ruby Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π° сСрвСрС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Rails.
  • JavaScript, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² Node.js Π½Π° сСрвСрС, заимствуСт ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΈΠ· срСды Ruby on Rails.
  • Как Ruby, Ρ‚Π°ΠΊ ΠΈ JavaScript ΠΈΠΌΠ΅ΡŽΡ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ.
  • JavaScript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки для выдСлСния Π±Π»ΠΎΠΊΠΎΠ², Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ruby ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Β«end.
  • JavaScript заимствуСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ своСго синтаксиса Ρƒ Java ΠΈ C, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ruby заимствуСт большС Ρƒ Perl ΠΈ Smalltalk.
  • JavaScript становится языком ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ruby ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ограничиваСтся сСрвСрными прилоТСниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π΅Π³ΠΎ структуру Rails, хотя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ администраторы ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ruby для своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… сСрвСр.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, JavaScript сильно отличаСтся ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… популярных языков. Π•Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ вСрсия Π±Ρ‹Π»Π° написана всСго Π·Π° 10 Π΄Π½Π΅ΠΉ, Π½ΠΎ Π² Π½Π΅ΠΉ Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π»ΡŒΠ½ΠΎΠ²ΠΈΠ΄Π½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ Π΅ΠΉ Π²Ρ‹ΠΆΠΈΡ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ дСсятилСтии.

НСсмотря Π½Π° мноТСство нСдостатков, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ останСтся основным языком для интСрфСйсных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΎΠΊΠ° ΠΎΠ½ останСтся СдинствСнным языком, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ всС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ сравнСния ΠΈΠ»ΠΈ дополнСния? Π”Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌΠΈ Π² коммСнтариях.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *