πŸ•·οΈ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 192 (from laksa045)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

πŸ“„
INDEXABLE
βœ…
CRAWLED
5 days ago
πŸ€–
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.2 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://timeweb.cloud/blog/yazyki-programmirovaniya-dlya-nachinayushchikh-sravnenie
Last Crawled2026-04-20 11:33:25 (5 days ago)
First Indexed2025-03-06 02:02:57 (1 year ago)
HTTP Status Code200
Content
Meta TitleКакой язык программирования Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ: сравнСниС ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ
Meta DescriptionКакой язык программирования Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ? Π Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ языки программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, ΠΈΡ… простоту, пСрспСктивы ΠΈ области примСнСния.
Meta Canonicalnull
Boilerpipe Text
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, оказываСтся ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ: ΠΊΠ°ΠΊΠΎΠΉ язык ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ? Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°, ΠΏΠ»ΠΎΡ…ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ с нюансами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкС. Π’ поспСшном Π²Ρ‹Π±ΠΎΡ€Π΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Β« Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ Π½Π΅Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ Β». ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ язык Π½Π΅ соотвСтствуСт ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅ΠΌΡƒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π³Π΅ΠΉΠΌΠ΄Π΅Π² ΠΈΠ»ΠΈ систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΆΠ΅ практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ обСсцСнит Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ врСмя ΠΈ усилия. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΠΎ всСм Π»ΡƒΡ‡ΡˆΠ΅ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ Π½Π° Π±Π΅Ρ€Π΅Π³ΡƒΒ». Для этого Π½ΡƒΠΆΠ½ΠΎ хотя Π±Ρ‹ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ спСцифику ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ языка, Π΅Π³ΠΎ особСнности ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния. ΠžΡ‚ простоты ΠΈ лаконичности Python Π΄ΠΎ строгости ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Java β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΈ инструмСнты для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡. И, разумССтся, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык Ρ…ΠΎΡ€ΠΎΡˆ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ своСй области. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ с ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для старта, ΠΏΠΎΠΊΠ°Π·Π°Π² ΠΊΠ°ΠΊ слоТныС, Ρ‚Π°ΠΊ ΠΈ простыС языки программирования. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ язык программирования? Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Ρ‰Π΅ Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡƒΡ‚ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ характСристики ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий:Β  БоотвСтствиС Π·Π°Π΄Π°Ρ‡Π°ΠΌ . Π―Π·Ρ‹ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свои особСнности. Один ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сильно влияСт Π½Π° тСхнологичСский стСк, особСнно Π² соврСмСнном ΠΌΠΈΡ€Π΅, Π³Π΄Π΅ спСциализация (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ усиливаСтся. Π’Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΈΠ³Ρ€Ρ‹ писались Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС, ΠΏΡ€ΠΎΡˆΠ»ΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для всСго Π΅ΡΡ‚ΡŒ свой инструмСнт. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСства . Π›ΡŽΠ±ΠΎΠΉ популярный язык ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ сообщСством, ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ большим количСством Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Однако Π² Π±ΠΎΠ»Π΅Π΅ слоТных языках (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C++) Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚ΠΎΠΆΠ΅ слоТнСС. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ. ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹Π΅ пСрспСктивы . Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ вострСбованного языка ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ большС возмоТностСй Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°, Π° Π΅Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ интСрСсам ΠΈ спСциализации. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ . НСкоторыС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ особых характСристик языка. НапримСр, эффСктивного управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ способности Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния. Иногда это критичСский Ρ„Π°ΠΊΡ‚ΠΎΡ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ язык программирования Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ мноТСства Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Как максимум β€” Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ интСрСсноС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΡƒΡŽ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Python β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для старта Python β€” это высокоуровнСвый ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. ДинамичСская типизация ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π²ΠΎ врСмя выполнСния ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок. БтатичСская типизация – Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π²ΠΎ врСмя компиляции ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Ошибки Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π°Ρ€Π°Π½Π΅Π΅. НапримСр, Π² языкС с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ сначала ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Ρ†Π΅Π»Ρ‹ΠΌ числом 7, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚ΠΎΠΉ ΠΆΠ΅ самой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ строку "Hello, World". Π’ языкС со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ подобная опСрация Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π° этапС компиляции. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ β€” модСль выполнСния ΠΊΠΎΠ΄Π° Π±Π΅Π· Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ прСобразования Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, компиляция β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ высокоуровнСвого ΠΊΠΎΠ΄Π° Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Python Π±Ρ‹Π» создан Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΈΠΌ программистом Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россумом Π² 1991 Π³ΠΎΠ΄Ρƒ. БСгодня ΠΆΠ΅ Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ глобальноС сообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Python Steering Council ΠΈ нСкоммСрчСская организация Python Software Foundation . ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ синтаксис Основная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, которая ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Python ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, β€” использованиС отступов (табуляции) ΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠΉ вмСсто Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок для выдСлСния Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°: if True : print ( "Один Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°" ) else : print ( "Π”Ρ€ΡƒΠ³ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°" ) Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ синтаксис языка ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ понятным. ОсобСнно ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ касаСтся ООП β€” Ρ€Π°Π±ΠΎΡ‚Ρ‹ с классами ΠΈ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ: class Butler : # конструктор класса def __init__ ( self, name ): self .name = name # установка ΠΈΠΌΠ΅Π½ΠΈ # ΠΌΠ΅Ρ‚ΠΎΠ΄ привСтствия def hello ( self ): print ( f"Вас привСтствуСт Π΄Π²ΠΎΡ€Π΅Ρ†ΠΊΠΈΠΉ этого Π·Π°ΠΌΠΊΠ° β€” {self.name} !" ) butler = Butler( "ΠΠ»ΡŒΡ„Ρ€Π΅Π΄" ) # созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса butler.hello() # ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄: Вас привСтствуСт Π΄Π²ΠΎΡ€Π΅Ρ†ΠΊΠΈΠΉ этого Π·Π°ΠΌΠΊΠ° β€” ΠΠ»ΡŒΡ„Ρ€Π΅Π΄ МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ стрСмится Π±Ρ‹Ρ‚ΡŒ ΠΈ понятным, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ, задСйствуя минимальноС количСство синтаксичСских Π΅Π΄ΠΈΠ½ΠΈΡ† (скобок ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой). Π¨ΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности Благодаря Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠΌΡƒ синтаксису ΠΈ возмоТности построчной ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ спСктрС областСй: Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° . Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвСрной части Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… запросов (RESTful API) ΠΈ динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ страниц сайтов. МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ . Одна ΠΈΠ· основных областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ примСняСтся Python. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, построСниС ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ машинного обучСния ΠΈ созданиС нСйросСтСй. ΠšΡΡ‚Π°Ρ‚ΠΈ, Python часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний Π² области Ρ„ΠΈΠ·ΠΈΠΊΠΈ, Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ. Автоматизация . Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° Python позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² качСствС языка скриптинга для автоматизация Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, администрированиС сСрвСров ΠΈ выстраивания DevOps-процСссов. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ инфраструктуры, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ самым простым языком программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ сообщСство ΠΈ докумСнтация Π’Π°ΠΊ ΠΊΠ°ΠΊ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях, Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ ΡƒΡ‡Π΅Π½Ρ‹Ρ…. РСгулярно проводятся ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… участники ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ идСями: PyCon, EuroPython, PyData. Онлайн-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²Ρ€ΠΎΠ΄Π΅ StackOverflow ΠΈΠ»ΠΈ Reddit, содСрТат ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ‚Π΅ΠΌ с обсуТдСниями нюансов написания ΠΊΠΎΠ΄Π° Π½Π° Python. Ну Π° Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ синтаксисС языка ΠΈ Π΅Π³ΠΎ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строгоС описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ классов, Π½ΠΎ ΠΈ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅ самыС основы. VDS ΠΈ VPS Π“ΠΈΠ±ΠΊΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвСры с почасовым Π±ΠΈΠ»Π»ΠΈΠ½Π³ΠΎΠΌ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ: Россия, Азия ΠΈ Π•Π²Ρ€ΠΎΠΏΠ°. JavaScript β€” язык для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JavaScript β€” высокоуровнСвый ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Netscape амСриканским программистом Π‘Ρ€Π΅Π½Π΄Π°Π½ΠΎΠΌ Айхом Π² 1995 Π³ΠΎΠ΄Ρƒ. Π‘Ρ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ названия JavaScript с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка Java являСтся скорСС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π° Π½Π΅ тСхничСского родства ΠΌΠ΅ΠΆΠ΄Ρƒ языками. Π’ сСрСдинС 90-Ρ… Java Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π½ΡŒ популярна, ΠΎΡ‚Ρ‡Π΅Π³ΠΎ использованиС ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ названия ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ языку. Основной язык Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° ВсС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ встроСнный Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript для выполнСния скриптов, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ DOM (Document Object Model) для динамичСского измСнСния структуры Π²Π΅Π±-страниц: <!DOCTYPE html > < html lang = "ru" > < head > < meta charset = "UTF-8" > < title > ИзмСнСниС DOM </ title > </ head > < body > < div id = "container" > < p > Π­Ρ‚ΠΎ исходный тСкст. </ p > </ div > < button id = "changeBtn" > Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС </ button > < script > // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ссылки Π½Π° элСмСнты const container = document . getElementById ( 'container' ); const button = document . getElementById ( 'changeBtn' ); // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ button. addEventListener ( 'click' , function ( ) { // ИзмСняСм тСкст ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Π±Π·Π°Ρ†Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° const firstParagraph = container. querySelector ( 'p' ); firstParagraph. textContent = "ВСкст ΠΈΠ·ΠΌΠ΅Π½Π΅Π½!" ; // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Π°Π±Π·Π°Ρ† ΠΈ добавляСм Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ const newParagraph = document . createElement ( 'p' ); newParagraph. textContent = "Новый Π°Π±Π·Π°Ρ† Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² DOM." ; container. appendChild (newParagraph); }); </ script > </ body > </ html > Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, благодаря JavaScript Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс для соврСмСнных Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² любом Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ β€” Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ПО для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ трСбуСтся. ИмСнно поэтому JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступным языком программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Развитая экосистСма Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° JavaScript β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ‚Ρ€Π°ΡΠ»ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для управлСния состояниями Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НапримСр, React ΠΈ Vue. Однако клиСнтская Ρ‡Π°ΡΡ‚ΡŒ β€” Π½Π΅ основная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния JavaScript. Он Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся ΠΈ Π½Π° сСрвСрС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js ΠΊΠΎΠ΄ Π½Π° JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° сторонС сСрвСра. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΌΠΈ β€” ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π° бэкСндС. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ этот язык программирования стоит ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. Π‘ Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ‰Π΅ ΡΡ‚Π°Ρ‚ΡŒ FullStack-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ β€” спСциалистом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ (frontend), Ρ‚Π°ΠΊ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ (backend) Ρ‡Π°ΡΡ‚ΡŒ прилоТСния. Java β€” ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Java β€” это высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π‘Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1995 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems (ΠΏΠΎΠ·ΠΆΠ΅ Π±Ρ‹Π»Π° ΠΏΠΎΠ³Π»ΠΎΡ‰Π΅Π½Π° Oracle) ΠΏΠΎΠ΄ руководством амСриканского ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ДТСймса Гослинга. Java являСтся ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора прСобразуСмся Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной β€” Java Virtual Machine (JVM). Π’Π°ΠΊ ΠΊΠ°ΠΊ JVM написана ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΊΠΎΠ΄ Π½Π° Java являСтся кроссплатформСнным β€” Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π±Π΅Π· пСрСкомпиляции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ основной слоган Java β€” Β« Write once, run anywhere Β». Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Android β€” это опСрационная систСма, которая сочСтаСт Π² сСбС мноТСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², написанных Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках. И нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ядро систСмы Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° C ΠΈ C++, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ API Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Java Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ассоциируСтся с мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. Π­Ρ‚ΠΎ касаСтся ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ³Ρ€. НапримСр, популярный Minecraft Π±Ρ‹Π» написан Π½Π° Java ΠΈ практичСски сразу послС своСго Ρ€Π΅Π»ΠΈΠ·Π° Π½Π° ПК Π² 2011 Π³ΠΎΠ΄Ρƒ ΠΎΠ½ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Google Play Market Π² Π²ΠΈΠ΄Π΅ мобильной вСрсии Π½Π° Android. Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JIT (Just-in-Time) ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прилоТСния Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ динамичСски компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ участки ΠΊΠΎΠ΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Π»Π΅Ρ‚Ρƒ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Java дСмонстрируСт Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Javascript ΠΈΠ»ΠΈ Python. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, опосрСдованноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ прямоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C ΠΈΠ»ΠΈ C++. Java β€” Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ быстрый язык, Ссли ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ выполняСтся Ρ‡Π΅Ρ€Π΅Π· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ для обСспСчСния высокой кроссплатформСнности. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΡ‚Π΄Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Java. Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ богатая экосистСма: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ инструмСнты. ВсС это ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈ ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. А Π΅Ρ‰Π΅ Java Π² противовСс Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ строгий C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис: public class Greeter { private String name; // конструктор, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ имя для привСтствия public Greeter (String name) { this .name = name; } // ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ привСтствиС Π² консоль public void greet () { System.out.println( "Hello, " + name + "!" ); } public static void main (String[] args) { // Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС указываСтся слово "World" ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ String name = (args.length > 0 ) ? args[ 0 ] : "World" ; Greeter greeter = new Greeter (name); greeter.greet(); } } C# β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Windows C# β€” высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π₯отя динамичСская Ρ‚ΠΎΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° β€” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова dynamic. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» создан ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft ΠΏΠΎΠ΄ руководством ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° АндСрса Π₯СйлсбСрга. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· состоялся Π² 2002 Π³ΠΎΠ΄Ρƒ. Подобно Java, ΠΊΠΎΠ΄ Π½Π° C# компилируСтся Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции, Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдставлСниС, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ CIL (Common Intermediate Language) ΠΈΠ»ΠΈ просто IL. Π’ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ΄ CIL прСобразуСтся Ρ‡Π΅Ρ€Π΅Π· JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² .NET-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Unity .NET β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ пСрСносимых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, созданная Microsoft. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сайты, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, ΠΈΠ³Ρ€Ρ‹, нСйросСти ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы. ЭкосистСма .NET состоит ΠΈΠ·: Π―Π·Ρ‹ΠΊΠΎΠ² программирования (C#, F#, VB.NET) Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, сСрвСрами, Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ) Π‘Ρ€Π΅Π΄Ρ‹ выполнСния ИмСнно C# являСтся основным языком Π² .NET. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни Java ΠΈ .NET ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ экосистСмами. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ прилоТСния Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· JVM (Java Virtual Machine), Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Ρ‡Π΅Ρ€Π΅Π· CLR (Common Language Runtime). Π’ ΠΎΠ±ΠΎΠΈΡ… случаях ΠΊΠΎΠ΄ компилируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ выполняСтся Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Java ΠΈ C# синтаксичСски ΠΏΠΎΡ…ΠΎΠΆΠΈ, вСдь ΠΎΠ±Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ языками. РазумССтся, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ обошла C# стороной. НапримСр, популярный ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Unity ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ C# Π² качСствС основного скриптового языка для создания Π³Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ ΠΈ сцСнариСв. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Microsoft Microsoft ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ C#. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ языка, инструмСнтов, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ инфраструктуры. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ C# ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π΄Π° ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ большС Π·Π°Ρ‚ΠΎΡ‡Π΅Π½ Π½Π° экосистСму Microsoft, хотя ΠΈ являСтся кроссплатформСнным языком. НапримСр, интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio Π»ΡƒΡ‡ΡˆΠ΅ всСго Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для компилятора C#. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° C# выглядит Ρ‚Π°ΠΊ: using System; class Program { static void Main() { Console.Write("МоТно вашС имя?: "); string name = Console.ReadLine(); Console.WriteLine($"ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ, {name}!"); } } C ΠΈ C++ β€” для систСмного программирования Π‘ ΠΈ C++ β€” это Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языка программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ тСсно связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой. C++ являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсиСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ C. Если C Π±Ρ‹Π» создан Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Bell Labs ДСннисом Π ΠΈΡ‚Ρ‡ΠΈ Π² 1972 Π³ΠΎΠ΄Ρƒ, Ρ‚ΠΎ C++ появился Π½Π° свСт благодаря Π‘ΡŒΠ΅Ρ€Π½Ρƒ Бтрауструпу Π² 1983 Π³ΠΎΠ΄Ρƒ. Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Python, JavaScript ΠΈ Java языки C ΠΈ C++ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π˜Ρ… ΠΊΠΎΠ΄ компилируСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² инструкции процСссора. ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΎΠ±Π° языка максимально Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части устройства, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ИмСнно поэтому ΠΎΠ±Π° языка ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ слоТными. Π ΡƒΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΈ отсутствиС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ€Π΅Π·ΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ трСбования ΠΊ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌ программиста.Β  Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ C ΠΈ C++ Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСсурсами ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π’ ΠΎΠ±ΠΎΠΈΡ… языках Π½Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ «сборщика мусора», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски освобоТдаСт Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, это сниТаСт Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ. Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ рСсурсов Π΄Π΅Π»Π°ΡŽΡ‚ C ΠΈ C++ Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ для высоконагруТСнных вычислСний. К ΠΈΡ… числу ΠΌΠΎΠΆΠ½ΠΎ отнСсти ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм (Linux, Windows, macOS, Android), ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ (Unreal Engine), финансовыС систСмы. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, C ΠΈ C++ Π±Ρ‹Π»ΠΈ, Π΅ΡΡ‚ΡŒ ΠΈ вСроятно Π±ΡƒΠ΄ΡƒΡ‚ Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ языками Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Основа для ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных языков Надо ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ созданный для написания Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, язык C стал ΠΏΡ€Π°Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования. Π’ частности Π΅Π³ΠΎ синтаксис Π΄ΠΎ сих ΠΏΠΎΡ€ являСтся основной Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных языков программирования: C++, Java, C#, JavaScript, Go, Swift. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° C++ с использованиСм классов ΠΈ ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: # include <iostream> # include <string> class Car { private: std::string brand; public: // конструктор класса Car(std::string carBrand) { brand = carBrand; } // Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ void showInfo() { std::cout << "ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΌΠ°Ρ€ΠΊΠΈ: " << brand << std::endl; } }; int main() { Car myCar("Toyota"); // созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса Car myCar.showInfo(); // Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ return 0; } Swift β€” для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ iOS Swift β€” это соврСмСнный высокоуровнСвый язык программирования со статичСский Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции процСссора. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык Apple Π”ΠΎ Swift основным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ экосистСму Apple Π±Ρ‹Π» Objective-C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ появился Π΅Ρ‰Π΅ Π² Π΄Π°Π»Π΅ΠΊΠΈΡ… 1980-Ρ…. Π­Ρ‚ΠΎ Π±Ρ‹Π» ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π» ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ нСдостатки β€” ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ соврСмСнных синтаксичСских ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΈΠ·-Π·Π° ошибок с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π’ 2014 Π³ΠΎΠ΄Ρƒ Apple прСдставила Swift β€” соврСмСнный, бСзопасный ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ написаниС ΠΊΠΎΠ΄Π° ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ памяти. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, Apple создали Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ΄ ΠΈΡ… собствСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы: iOS, macOS, watchOS, tvOS. Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ синтаксис ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Objective-C Π’ Objective-C ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большСС количСство синтаксичСских Π΅Π΄ΠΈΠ½ΠΈΡ† для выполнСния довольно Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: NSString *name = @"John"; NSInteger age = 25; NSArray *fruits = @[@"Apple", @"Banana", @"Orange"]; - (void)greet:(NSString *)name { NSLog(@"Hello, %@", name); } [self greet:@"Alice"]; Π’ Swift запись Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ выглядит Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Π΅Π΅ β€” ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных языков: let name = "John" var age = 25 let fruits = ["Apple", "Banana", "Orange"] func greet(name: String) { print("Hello, \(name)") } greet(name: "Alice") По ΠΈΡ‚ΠΎΠ³Ρƒ синтаксис Swift Π±ΠΎΠ»Π΅Π΅ чистый ΠΈ понятный. Как слСдствиС, мСньшС ΠΊΠΎΠ΄Π° β€” быстрСС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π’Π°ΠΊ ΠΊΠ°ΠΊ Swift с самого Π½Π°Ρ‡Π°Π»Π° задумывался ΠΊΠ°ΠΊ язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple, Ρ‚ΠΎ ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для собствСнных Ρ‡ΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ИмСнно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния ΠΈ ΠΈΠ³Ρ€Ρ‹ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы iOS. По сути, вся мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple дСрТится Π½Π° языкС Swift β€” ΠΎΠ½ Π³Π»Π°Π²Π½Ρ‹ΠΉ язык для iOS. ИмСнно Π½Π° Π½Π΅Π³ΠΎ Apple Π΄Π΅Π»Π°Π΅Ρ‚ ставку β€” Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ экосистСму. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Swift ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ β€” Xcode. Go β€” соврСмСнный язык ΠΎΡ‚ Google Go β€” это высокоуровнСвый язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… вычислСний. ПолноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β€” Golang. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 2007 Π³ΠΎΠ΄Ρƒ трСмя ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google β€” Π ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΌ ГрисмСром, КСном Вомпсоном ΠΈ Π ΠΎΠ±ΠΎΠΌ Пайком. Боздавая Go, компания Google ΠΏΡ‹Ρ‚Π°Π»Π°ΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ скорости, многопоточности ΠΈ удобства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, присущиС ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам: C++ . Π˜ΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ возмоТностСй, Π½ΠΎ слоТный. Java . НСдостаточно быстрый Π² исполнСнии. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ выполнСния ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций. Python . ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π½Π΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Google Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ создаСт ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы, Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык Π±Ρ‹Π» создан с фокусом Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Go ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ сборку мусора, простой синтаксис ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ абстракции, Π΅Π³ΠΎ нСльзя Π½Π°Π·Π²Π°Ρ‚ΡŒ классичСским ООП-языком. Π’ Π½Π΅ΠΌ Π½Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… классов, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова this (ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса), ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠΌΠ΅Π½ΠΈΠ΅ языка ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎ названию ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. ВмСсто это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ структуры, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: package main import "fmt" // вмСсто класса опрСдСляСтся структура type Person struct { Name string Age int } // ΠΌΠ΅Ρ‚ΠΎΠ΄ структуры func (p Person) Greet() { fmt.Println( "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚" , p.Name) } func main () { person := Person{Name: "Анна" , Age: 35 } person.Greet() // Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚: ΠŸΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚ Анна } По сути, Go стрСмится ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ Ρ‚Π΅ΠΌ самым ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” всС слоТныС синтаксичСскиС конструкции ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ: НСт классов ΠΈ наслСдования. ВмСсто Π½ΠΈΡ… структуры ΠΈ интСрфСйсы. НСт ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². На ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ΄Π½ΠΎ имя. НСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Ошибки ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ явно Ρ‡Π΅Ρ€Π΅Π· условия. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ β€” это ошибки, выбрасываСмыС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎ врСмя выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π±Π΅Π· Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ возмоТности программиста. Однако Π½Π° самом Π΄Π΅Π»Π΅ строгоС описаниС Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ поэтому Go, Π½Π°Ρ€Π°Π²Π½Π΅ с Python ΠΈ JavaScript, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых Π»ΡƒΡ‡ΡˆΠΈΡ… языков программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Код Π½Π° языкС Go компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… языковых конструкций (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ) Π΄Π΅Π»Π°Π΅Ρ‚ прилоТСния Π½Π° Go довольно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. АвтоматичСский сборщик мусора Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ очисткС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Для этого Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ быстрыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ВмСсто тяТСловСсных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Go ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ goroutines β€” управляСмыС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ всСго нСсколько ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… количСствах. Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для сСрвСрной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многопоточности с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Π΅Π»Π°ΡŽΡ‚ Golang прСкрасным языком для сСрвСрного программирования. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² Go ΡƒΠΆΠ΅ встроСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π±-прилоТСниями, сСтСвыми ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, net/http , database/sql , encoding/json . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Go позволяСт Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сСрвСрныС прилоТСния Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ сторонних зависимостСй. Cloud MSK 15 477 β‚½/мСс ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ 1 x 3.3 Π“Π“Ρ† ΠŸΠ°ΠΌΡΡ‚ΡŒ 1 Π“Π‘ NVMe 15 Π“Π‘ Канал 1 Π“Π±ΠΈΡ‚/с ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP Π’Ρ‹Π±ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Cloud MSK 30 657 β‚½/мСс ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ 1 x 3.3 Π“Π“Ρ† ΠŸΠ°ΠΌΡΡ‚ΡŒ 2 Π“Π‘ NVMe 30 Π“Π‘ Канал 1 Π“Π±ΠΈΡ‚/с ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP Какой язык программирования Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ? Π˜Ρ‚Π°ΠΊ. Выбирая язык программирования, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… нюансов: НаправлСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ . Π’ ΠΊΠ°ΠΊΠΎΠΉ области Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅? Π’Π΅Π±-прилоТСния, систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π³Π΅ΠΉΠΌΠ΄Π΅Π²? А Ссли Π³Π΅ΠΉΠΌΠ΄Π΅Π², Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ? ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ дСсктоп? Или Π΅Ρ‰Π΅ ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ консоли? Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ . ΠžΡ‚ направлСния Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ Ρ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ придСтся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Однако ΠΈ Ρ‚ΠΈΠΏ Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. НапримСр, Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄, Ρ‚Π°ΠΊ ΠΈ бэкСнд. А Π³Π΅ΠΉΠΌΠ΄Π΅Π²Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΈ созданиС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ. ΠŸΠΎΡ€ΠΎΠ³ вхоТдСния . Учитывая ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ прСдрасполоТСнности ΠΈ бэкграунд ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΉ, процСсс обучСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ языку программирования Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. НапримСр, для эффСктивного примСнСния C ΠΈ C++ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ знания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ β€” ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ устройства памяти, слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², матСматичСских вычислСний. ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΠΎ ряду ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: Β  Python JavaScript Java C# C/C++ Swift Go Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ синтаксиса низкая низкая срСдняя срСдняя высокая срСдняя срСдняя МодСль исполнСния интСрпрСтация интСрпрСтация компиляция компиляция компиляция компиляция компиляция Π’ΠΈΠ΄ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ динамичСская динамичСская статичСская статичСская статичСская статичСская статичСская Π“ΠΎΠ΄ Ρ€Π΅Π»ΠΈΠ·Π° 1991 1995 1995 2002 1972/1985 2014 2012 ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт python.org - java.com microsoft.com isocpp.org swift.com go.dev Π”ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Анализ Π΄Π°Π½Π½Ρ‹Ρ… Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ДСсктопная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° БистСмная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹, микросСрвисы Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ знания МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, big data ВСрстка, сСтСвыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Android, DevOps .NET ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° macOS, iOS RESTful API, контСйнСризация ΠžΠ±ΡƒΡ‡Π°Ρ‚ΡŒΡΡ синтаксису ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка Π»ΡƒΡ‡ΡˆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΈΠ³. Π‘Π»Π°Π³ΠΎ, Π½Π° просторах ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° β€” Π½Π° маркСтплСйсах ΠΈ Π² элСктронных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… β€” ΠΈΡ… Π²Π΅Π»ΠΈΠΊΠΎΠ΅ мноТСство. Π£Ρ‚ΠΎΡ‡Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½ΡŽΠ°Π½ΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. А ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ врСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы Π½Π° спСциализированных рСсурсах (StackOverflow, Habr Q&A). Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, Π²Ρ‹Π±ΠΎΡ€ всСгда Π·Π° Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ программиста. На Π΄Π»ΠΈΠ½Π½ΠΎΠΉ дистанции Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ интСрСсным, Π° Π½Π΅ просто ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. Π˜Π½Π°Ρ‡Π΅ просто Π²Ρ‹Π³ΠΎΡ€ΠΈΡˆΡŒ.
Markdown
Π Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ OpenClaw Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ [Бтатус сСрвисов](https://timeweb.cloud/live)[ДокумСнтация](https://timeweb.cloud/docs)[ΠšΠ΅ΠΉΡΡ‹](https://timeweb.cloud/success-story)[Π‘ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€Π°ΠΌ](https://timeweb.com/ru/documents/) [ΠžΡ‚Π΄Π΅Π» ΠΏΡ€ΠΎΠ΄Π°ΠΆ](https://timeweb.cloud/sales) [ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹](https://timeweb.cloud/contacts) БСрвисы РСшСния Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°ΠΌ РСсурсы Π¦Π΅Π½Ρ‹ [Π’ΠΎΠΉΡ‚ΠΈ](https://timeweb.cloud/my) Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ##### [Π’Ρ…ΠΎΠ΄](https://timeweb.cloud/my)/ РСгистрация - [Главная](https://timeweb.cloud/) / - [Π‘Π»ΠΎΠ³](https://timeweb.cloud/blog) / - [Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΏΡ€ΠΎ IT](https://timeweb.cloud/blog/infrastructure) / - Π―Π·Ρ‹ΠΊΠΈ программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…: сравнСниС ΠΈ Π²Ρ‹Π±ΠΎΡ€ # Π―Π·Ρ‹ΠΊΠΈ программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…: сравнСниС ΠΈ Π²Ρ‹Π±ΠΎΡ€ [![Миша ΠšΡƒΡ€ΡƒΡˆΠΈΠ½]()Миша ΠšΡƒΡ€ΡƒΡˆΠΈΠ½ ВСхничСский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ](https://timeweb.cloud/tutorials/authors/misha-kurushin) 05 ΠΌΠ°Ρ€Ρ‚Π° 2025 Π³. 1711 20 ΠΌΠΈΠ½ΡƒΡ‚ чтСния ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ [Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку]() [Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ](https://t.me/share/url?url=https://timeweb.cloud/blog/yazyki-programmirovaniya-dlya-nachinayushchikh-sravnenie&text=%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85:%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%B2%D1%8B%D0%B1%D0%BE%D1%80) [Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅](https://vk.com/share.php?url=https://timeweb.cloud/blog/yazyki-programmirovaniya-dlya-nachinayushchikh-sravnenie&title=%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85:%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&description=%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85:%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&image=d7e7116a-95a7-44ec-8266-cb976e762d96) ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, оказываСтся ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ: ΠΊΠ°ΠΊΠΎΠΉ язык ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ? Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°, ΠΏΠ»ΠΎΡ…ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ с нюансами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкС. Π’ поспСшном Π²Ρ‹Π±ΠΎΡ€Π΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Β«[Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ Π½Π΅Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚](https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D1%82%D1%80%D0%B0%D1%82%D1%8B)Β». ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ язык Π½Π΅ соотвСтствуСт ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅ΠΌΡƒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π³Π΅ΠΉΠΌΠ΄Π΅Π² ΠΈΠ»ΠΈ систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΆΠ΅ практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ обСсцСнит Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ врСмя ΠΈ усилия. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΠΎ всСм Π»ΡƒΡ‡ΡˆΠ΅ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ Π½Π° Π±Π΅Ρ€Π΅Π³ΡƒΒ». Для этого Π½ΡƒΠΆΠ½ΠΎ хотя Π±Ρ‹ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ спСцифику ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ языка, Π΅Π³ΠΎ особСнности ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния. ΠžΡ‚ простоты ΠΈ лаконичности Python Π΄ΠΎ строгости ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Java β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΈ инструмСнты для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡. И, разумССтся, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык Ρ…ΠΎΡ€ΠΎΡˆ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ своСй области. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ с ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для старта, ΠΏΠΎΠΊΠ°Π·Π°Π² ΠΊΠ°ΠΊ слоТныС, Ρ‚Π°ΠΊ ΠΈ простыС языки программирования. ## ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ язык программирования? Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Ρ‰Π΅ Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡƒΡ‚ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ характСристики ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий: - **БоотвСтствиС Π·Π°Π΄Π°Ρ‡Π°ΠΌ**. Π―Π·Ρ‹ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свои особСнности. Один ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сильно влияСт Π½Π° тСхнологичСский стСк, особСнно Π² соврСмСнном ΠΌΠΈΡ€Π΅, Π³Π΄Π΅ спСциализация (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ усиливаСтся. Π’Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΈΠ³Ρ€Ρ‹ писались Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС, ΠΏΡ€ΠΎΡˆΠ»ΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для всСго Π΅ΡΡ‚ΡŒ свой инструмСнт. - **ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСства**. Π›ΡŽΠ±ΠΎΠΉ популярный язык ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ сообщСством, ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ большим количСством Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Однако Π² Π±ΠΎΠ»Π΅Π΅ слоТных языках (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C++) Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚ΠΎΠΆΠ΅ слоТнСС. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ. - **ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹Π΅ пСрспСктивы**. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ вострСбованного языка ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ большС возмоТностСй Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°, Π° Π΅Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ интСрСсам ΠΈ спСциализации. - **ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ**. НСкоторыС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ особых характСристик языка. НапримСр, эффСктивного управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ способности Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния. Иногда это критичСский Ρ„Π°ΠΊΡ‚ΠΎΡ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ язык программирования Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ мноТСства Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Как максимум β€” Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ интСрСсноС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΡƒΡŽ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ## Python β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для старта [Python](http://python.org/) β€” это высокоуровнСвый ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. **ДинамичСская типизация** ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π²ΠΎ врСмя выполнСния ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок. **БтатичСская типизация** – Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π²ΠΎ врСмя компиляции ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Ошибки Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π°Ρ€Π°Π½Π΅Π΅. НапримСр, Π² языкС с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ сначала ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Ρ†Π΅Π»Ρ‹ΠΌ числом 7, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚ΠΎΠΉ ΠΆΠ΅ самой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ строку "Hello, World". Π’ языкС со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ подобная опСрация Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π° этапС компиляции. **Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ** β€” модСль выполнСния ΠΊΠΎΠ΄Π° Π±Π΅Π· Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ прСобразования Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, **компиляция** β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ высокоуровнСвого ΠΊΠΎΠ΄Π° Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Python Π±Ρ‹Π» создан Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΈΠΌ программистом Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россумом Π² 1991 Π³ΠΎΠ΄Ρƒ. БСгодня ΠΆΠ΅ Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ глобальноС сообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² **Python Steering Council** ΠΈ нСкоммСрчСская организация **Python Software Foundation**. #### ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ синтаксис Основная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, которая ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Python ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, β€” использованиС отступов (табуляции) ΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠΉ вмСсто Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок для выдСлСния Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°: ``` ``` Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ синтаксис языка ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ понятным. ОсобСнно ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ касаСтся ООП β€” Ρ€Π°Π±ΠΎΡ‚Ρ‹ с классами ΠΈ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ: ``` ``` МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ стрСмится Π±Ρ‹Ρ‚ΡŒ ΠΈ понятным, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ, задСйствуя минимальноС количСство синтаксичСских Π΅Π΄ΠΈΠ½ΠΈΡ† (скобок ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой). #### Π¨ΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности Благодаря Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠΌΡƒ синтаксису ΠΈ возмоТности построчной ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ спСктрС областСй: - **Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°**. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвСрной части Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… запросов (RESTful API) ΠΈ динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ страниц сайтов. - **МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅**. Одна ΠΈΠ· основных областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ примСняСтся Python. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, построСниС ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ машинного обучСния ΠΈ созданиС нСйросСтСй. ΠšΡΡ‚Π°Ρ‚ΠΈ, Python часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний Π² области Ρ„ΠΈΠ·ΠΈΠΊΠΈ, Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ. - **Автоматизация**. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° Python позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² качСствС языка скриптинга для автоматизация Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, администрированиС сСрвСров ΠΈ выстраивания DevOps-процСссов. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ инфраструктуры, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ самым простым языком программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. #### Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ сообщСство ΠΈ докумСнтация Π’Π°ΠΊ ΠΊΠ°ΠΊ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях, Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ ΡƒΡ‡Π΅Π½Ρ‹Ρ…. РСгулярно проводятся ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… участники ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ идСями: PyCon, EuroPython, PyData. Онлайн-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²Ρ€ΠΎΠ΄Π΅ StackOverflow ΠΈΠ»ΠΈ Reddit, содСрТат ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ‚Π΅ΠΌ с обсуТдСниями нюансов написания ΠΊΠΎΠ΄Π° Π½Π° Python. Ну Π° Π² [ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ](https://docs.python.org/) ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ синтаксисС языка ΠΈ Π΅Π³ΠΎ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строгоС описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ классов, Π½ΠΎ ΠΈ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅ самыС основы. ### VDS ΠΈ VPS Π“ΠΈΠ±ΠΊΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвСры с почасовым Π±ΠΈΠ»Π»ΠΈΠ½Π³ΠΎΠΌ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ: Россия, Азия ΠΈ Π•Π²Ρ€ΠΎΠΏΠ°. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ## JavaScript β€” язык для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JavaScript β€” высокоуровнСвый ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Netscape амСриканским программистом Π‘Ρ€Π΅Π½Π΄Π°Π½ΠΎΠΌ Айхом Π² 1995 Π³ΠΎΠ΄Ρƒ. Π‘Ρ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ названия JavaScript с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка Java являСтся скорСС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π° Π½Π΅ тСхничСского родства ΠΌΠ΅ΠΆΠ΄Ρƒ языками. Π’ сСрСдинС 90-Ρ… Java Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π½ΡŒ популярна, ΠΎΡ‚Ρ‡Π΅Π³ΠΎ использованиС ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ названия ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ языку. #### Основной язык Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° ВсС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ встроСнный Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript для выполнСния скриптов, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ DOM (Document Object Model) для динамичСского измСнСния структуры Π²Π΅Π±-страниц: ``` ``` Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, благодаря JavaScript Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс для соврСмСнных Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² любом Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ β€” Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ПО для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ трСбуСтся. ИмСнно поэтому JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступным языком программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. #### Развитая экосистСма Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° JavaScript β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ‚Ρ€Π°ΡΠ»ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для управлСния состояниями Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НапримСр, React ΠΈ Vue. Однако клиСнтская Ρ‡Π°ΡΡ‚ΡŒ β€” Π½Π΅ основная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния JavaScript. Он Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся ΠΈ Π½Π° сСрвСрС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js ΠΊΠΎΠ΄ Π½Π° JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° сторонС сСрвСра. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΌΠΈ β€” ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π° бэкСндС. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ этот язык программирования стоит ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. Π‘ Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ‰Π΅ ΡΡ‚Π°Ρ‚ΡŒ FullStack-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ β€” спСциалистом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ (frontend), Ρ‚Π°ΠΊ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ (backend) Ρ‡Π°ΡΡ‚ΡŒ прилоТСния. ## Java β€” ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Java β€” это высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π‘Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1995 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems (ΠΏΠΎΠ·ΠΆΠ΅ Π±Ρ‹Π»Π° ΠΏΠΎΠ³Π»ΠΎΡ‰Π΅Π½Π° Oracle) ΠΏΠΎΠ΄ руководством амСриканского ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ДТСймса Гослинга. Java являСтся ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора прСобразуСмся Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной β€” Java Virtual Machine (JVM). Π’Π°ΠΊ ΠΊΠ°ΠΊ JVM написана ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΊΠΎΠ΄ Π½Π° Java являСтся кроссплатформСнным β€” Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π±Π΅Π· пСрСкомпиляции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ основной слоган Java β€” Β«[Write once, run anywhere](https://en.wikipedia.org/wiki/Write_once,_run_anywhere)Β». #### Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Android β€” это опСрационная систСма, которая сочСтаСт Π² сСбС мноТСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², написанных Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках. И нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ядро систСмы Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° C ΠΈ C++, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ API Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Java Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ассоциируСтся с мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. Π­Ρ‚ΠΎ касаСтся ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ³Ρ€. НапримСр, популярный Minecraft Π±Ρ‹Π» написан Π½Π° Java ΠΈ практичСски сразу послС своСго Ρ€Π΅Π»ΠΈΠ·Π° Π½Π° ПК Π² 2011 Π³ΠΎΠ΄Ρƒ ΠΎΠ½ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Google Play Market Π² Π²ΠΈΠ΄Π΅ мобильной вСрсии Π½Π° Android. #### Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JIT (Just-in-Time) ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прилоТСния Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ динамичСски компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ участки ΠΊΠΎΠ΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Π»Π΅Ρ‚Ρƒ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Java дСмонстрируСт Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Javascript ΠΈΠ»ΠΈ Python. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, опосрСдованноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ прямоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C ΠΈΠ»ΠΈ C++. Java β€” Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ быстрый язык, Ссли ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ выполняСтся Ρ‡Π΅Ρ€Π΅Π· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ для обСспСчСния высокой кроссплатформСнности. #### ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΡ‚Π΄Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Java. Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ богатая экосистСма: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ инструмСнты. ВсС это ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈ ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. А Π΅Ρ‰Π΅ Java Π² противовСс Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ строгий C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис: ``` ``` ## C\# β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Windows C\# β€” высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π₯отя динамичСская Ρ‚ΠΎΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° β€” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова dynamic. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» создан ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft ΠΏΠΎΠ΄ руководством ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° АндСрса Π₯СйлсбСрга. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· состоялся Π² 2002 Π³ΠΎΠ΄Ρƒ. Подобно Java, ΠΊΠΎΠ΄ Π½Π° C\# компилируСтся Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции, Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдставлСниС, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ CIL (Common Intermediate Language) ΠΈΠ»ΠΈ просто IL. Π’ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ΄ CIL прСобразуСтся Ρ‡Π΅Ρ€Π΅Π· JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. #### Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² .NET-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Unity .NET β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ пСрСносимых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, созданная Microsoft. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сайты, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, ΠΈΠ³Ρ€Ρ‹, нСйросСти ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы. ЭкосистСма .NET состоит ΠΈΠ·: - Π―Π·Ρ‹ΠΊΠΎΠ² программирования (C\#, F\#, VB.NET) - Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, сСрвСрами, Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ) - Π‘Ρ€Π΅Π΄Ρ‹ выполнСния ИмСнно C\# являСтся основным языком Π² .NET. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни Java ΠΈ .NET ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ экосистСмами. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ прилоТСния Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· JVM (Java Virtual Machine), Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Ρ‡Π΅Ρ€Π΅Π· CLR (Common Language Runtime). Π’ ΠΎΠ±ΠΎΠΈΡ… случаях ΠΊΠΎΠ΄ компилируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ выполняСтся Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Java ΠΈ C\# синтаксичСски ΠΏΠΎΡ…ΠΎΠΆΠΈ, вСдь ΠΎΠ±Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ языками. РазумССтся, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ обошла C\# стороной. НапримСр, популярный ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Unity ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ C\# Π² качСствС основного скриптового языка для создания Π³Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ ΠΈ сцСнариСв. #### Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Microsoft Microsoft ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ C\#. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ языка, инструмСнтов, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ инфраструктуры. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ C\# ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π΄Π° ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ большС Π·Π°Ρ‚ΠΎΡ‡Π΅Π½ Π½Π° экосистСму Microsoft, хотя ΠΈ являСтся кроссплатформСнным языком. НапримСр, интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio Π»ΡƒΡ‡ΡˆΠ΅ всСго Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для компилятора C\#. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° C\# выглядит Ρ‚Π°ΠΊ: ``` ``` ## C ΠΈ C++ β€” для систСмного программирования Π‘ ΠΈ C++ β€” это Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языка программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ тСсно связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой. C++ являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсиСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ C. Если C Π±Ρ‹Π» создан Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Bell Labs ДСннисом Π ΠΈΡ‚Ρ‡ΠΈ Π² 1972 Π³ΠΎΠ΄Ρƒ, Ρ‚ΠΎ C++ появился Π½Π° свСт благодаря Π‘ΡŒΠ΅Ρ€Π½Ρƒ Бтрауструпу Π² 1983 Π³ΠΎΠ΄Ρƒ. #### Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Python, JavaScript ΠΈ Java языки C ΠΈ C++ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π˜Ρ… ΠΊΠΎΠ΄ компилируСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² инструкции процСссора. ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΎΠ±Π° языка максимально Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части устройства, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ИмСнно поэтому ΠΎΠ±Π° языка ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ слоТными. Π ΡƒΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΈ отсутствиС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ€Π΅Π·ΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ трСбования ΠΊ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌ программиста. #### Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ C ΠΈ C++ Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСсурсами ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π’ ΠΎΠ±ΠΎΠΈΡ… языках Π½Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ «сборщика мусора», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски освобоТдаСт Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, это сниТаСт Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ. Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ рСсурсов Π΄Π΅Π»Π°ΡŽΡ‚ C ΠΈ C++ Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ для высоконагруТСнных вычислСний. К ΠΈΡ… числу ΠΌΠΎΠΆΠ½ΠΎ отнСсти ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм (Linux, Windows, macOS, Android), ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ (Unreal Engine), финансовыС систСмы. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, C ΠΈ C++ Π±Ρ‹Π»ΠΈ, Π΅ΡΡ‚ΡŒ ΠΈ вСроятно Π±ΡƒΠ΄ΡƒΡ‚ Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ языками Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. #### Основа для ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных языков Надо ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ созданный для написания Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, язык C стал ΠΏΡ€Π°Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования. Π’ частности Π΅Π³ΠΎ синтаксис Π΄ΠΎ сих ΠΏΠΎΡ€ являСтся основной Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных языков программирования: C++, Java, C\#, JavaScript, Go, Swift. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° C++ с использованиСм классов ΠΈ ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: ``` ``` ## Swift β€” для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ iOS Swift β€” это соврСмСнный высокоуровнСвый язык программирования со статичСский Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции процСссора. #### ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык Apple Π”ΠΎ Swift основным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ экосистСму Apple Π±Ρ‹Π» Objective-C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ появился Π΅Ρ‰Π΅ Π² Π΄Π°Π»Π΅ΠΊΠΈΡ… 1980-Ρ…. Π­Ρ‚ΠΎ Π±Ρ‹Π» ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π» ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ нСдостатки β€” ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ соврСмСнных синтаксичСских ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΈΠ·-Π·Π° ошибок с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π’ 2014 Π³ΠΎΠ΄Ρƒ Apple прСдставила Swift β€” соврСмСнный, бСзопасный ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ написаниС ΠΊΠΎΠ΄Π° ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ памяти. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, Apple создали Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ΄ ΠΈΡ… собствСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы: iOS, macOS, watchOS, tvOS. #### Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ синтаксис ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Objective-C Π’ Objective-C ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большСС количСство синтаксичСских Π΅Π΄ΠΈΠ½ΠΈΡ† для выполнСния довольно Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: ``` ``` Π’ Swift запись Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ выглядит Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Π΅Π΅ β€” ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных языков: ``` ``` По ΠΈΡ‚ΠΎΠ³Ρƒ синтаксис Swift Π±ΠΎΠ»Π΅Π΅ чистый ΠΈ понятный. Как слСдствиС, мСньшС ΠΊΠΎΠ΄Π° β€” быстрСС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. #### ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π’Π°ΠΊ ΠΊΠ°ΠΊ Swift с самого Π½Π°Ρ‡Π°Π»Π° задумывался ΠΊΠ°ΠΊ язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple, Ρ‚ΠΎ ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для собствСнных Ρ‡ΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ИмСнно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния ΠΈ ΠΈΠ³Ρ€Ρ‹ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы iOS. По сути, вся мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple дСрТится Π½Π° языкС Swift β€” ΠΎΠ½ Π³Π»Π°Π²Π½Ρ‹ΠΉ язык для iOS. ИмСнно Π½Π° Π½Π΅Π³ΠΎ Apple Π΄Π΅Π»Π°Π΅Ρ‚ ставку β€” Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ экосистСму. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Swift ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ β€” Xcode. ## Go β€” соврСмСнный язык ΠΎΡ‚ Google Go β€” это высокоуровнСвый язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… вычислСний. ПолноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β€” Golang. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 2007 Π³ΠΎΠ΄Ρƒ трСмя ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google β€” Π ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΌ ГрисмСром, КСном Вомпсоном ΠΈ Π ΠΎΠ±ΠΎΠΌ Пайком. Боздавая Go, компания Google ΠΏΡ‹Ρ‚Π°Π»Π°ΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ скорости, многопоточности ΠΈ удобства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, присущиС ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам: - **C++**. Π˜ΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ возмоТностСй, Π½ΠΎ слоТный. - **Java**. НСдостаточно быстрый Π² исполнСнии. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ выполнСния ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций. - **Python**. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π½Π΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Google Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ создаСт ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы, Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык Π±Ρ‹Π» создан с фокусом Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. #### ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Go ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ сборку мусора, простой синтаксис ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ абстракции, Π΅Π³ΠΎ нСльзя Π½Π°Π·Π²Π°Ρ‚ΡŒ классичСским ООП-языком. Π’ Π½Π΅ΠΌ Π½Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… классов, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова `this` (ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса), ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠΌΠ΅Π½ΠΈΠ΅ языка ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎ названию ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. ВмСсто это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ структуры, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: ``` ``` По сути, Go стрСмится ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ Ρ‚Π΅ΠΌ самым ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” всС слоТныС синтаксичСскиС конструкции ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ: - НСт классов ΠΈ наслСдования. ВмСсто Π½ΠΈΡ… структуры ΠΈ интСрфСйсы. - НСт ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². На ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ΄Π½ΠΎ имя. - НСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Ошибки ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ явно Ρ‡Π΅Ρ€Π΅Π· условия. **Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ** β€” это ошибки, выбрасываСмыС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎ врСмя выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π±Π΅Π· Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ возмоТности программиста. Однако Π½Π° самом Π΄Π΅Π»Π΅ строгоС описаниС Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ поэтому Go, Π½Π°Ρ€Π°Π²Π½Π΅ с Python ΠΈ JavaScript, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых Π»ΡƒΡ‡ΡˆΠΈΡ… языков программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. #### Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Код Π½Π° языкС Go компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… языковых конструкций (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ) Π΄Π΅Π»Π°Π΅Ρ‚ прилоТСния Π½Π° Go довольно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. АвтоматичСский сборщик мусора Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ очисткС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Для этого Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ быстрыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ВмСсто тяТСловСсных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Go ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ **goroutines** β€” управляСмыС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ всСго нСсколько ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… количСствах. #### Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для сСрвСрной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многопоточности с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Π΅Π»Π°ΡŽΡ‚ Golang прСкрасным языком для сСрвСрного программирования. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² Go ΡƒΠΆΠ΅ встроСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π±-прилоТСниями, сСтСвыми ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `net/http`, `database/sql`, `encoding/json`. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Go позволяСт Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сСрвСрныС прилоТСния Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ сторонних зависимостСй. ## VDS/VPS для экспСримСнтов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Москва - Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ - Москва - Новосибирск - ΠšΠ°Π·Π°Ρ…ΡΡ‚Π°Π½ - НидСрланды - ГСрмания 12 мСс Π‘ΠΊΠΈΠ΄ΠΊΠ° 10% - 1 мСс Π‘Π΅Π· скидки - 3 мСс Π‘ΠΊΠΈΠ΄ΠΊΠ° 5% - 6 мСс Π‘ΠΊΠΈΠ΄ΠΊΠ° 7% - 12 мСс Π‘ΠΊΠΈΠ΄ΠΊΠ° 10% Cloud MSK 15 #### 477 β‚½/мСс ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ 1 x 3.3 Π“Π“Ρ† ΠŸΠ°ΠΌΡΡ‚ΡŒ 1 Π“Π‘ NVMe 15 Π“Π‘ Канал 1 Π“Π±ΠΈΡ‚/с ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ VPS VDS сСрвСр Π’Ρ‹Π±ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Cloud MSK 30 #### 657 β‚½/мСс ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ 1 x 3.3 Π“Π“Ρ† ΠŸΠ°ΠΌΡΡ‚ΡŒ 2 Π“Π‘ NVMe 30 Π“Π‘ Канал 1 Π“Π±ΠΈΡ‚/с ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ VPS ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ 6 Ρ‚Π°Ρ€ΠΈΡ„ΠΎΠ² ## Какой язык программирования Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ? Π˜Ρ‚Π°ΠΊ. Выбирая язык программирования, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… нюансов: - **НаправлСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ**. Π’ ΠΊΠ°ΠΊΠΎΠΉ области Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅? Π’Π΅Π±-прилоТСния, систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π³Π΅ΠΉΠΌΠ΄Π΅Π²? А Ссли Π³Π΅ΠΉΠΌΠ΄Π΅Π², Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ? ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ дСсктоп? Или Π΅Ρ‰Π΅ ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ консоли? - **Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ**. ΠžΡ‚ направлСния Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ Ρ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ придСтся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Однако ΠΈ Ρ‚ΠΈΠΏ Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. НапримСр, Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄, Ρ‚Π°ΠΊ ΠΈ бэкСнд. А Π³Π΅ΠΉΠΌΠ΄Π΅Π²Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΈ созданиС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ. - **ΠŸΠΎΡ€ΠΎΠ³ вхоТдСния**. Учитывая ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ прСдрасполоТСнности ΠΈ бэкграунд ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΉ, процСсс обучСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ языку программирования Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. НапримСр, для эффСктивного примСнСния C ΠΈ C++ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ знания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ β€” ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ устройства памяти, слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², матСматичСских вычислСний. ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΠΎ ряду ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: | | | | | | | | | |---|---|---|---|---|---|---|---| | | **Python** | **JavaScript** | **Java** | **C\#** | **C/C++** | **Swift** | **Go** | | Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ синтаксиса | низкая | низкая | срСдняя | срСдняя | высокая | срСдняя | срСдняя | | МодСль исполнСния | интСрпрСтация | интСрпрСтация | компиляция | компиляция | компиляция | компиляция | компиляция | | Π’ΠΈΠ΄ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ | динамичСская | динамичСская | статичСская | статичСская | статичСская | статичСская | статичСская | | Π“ΠΎΠ΄ Ρ€Π΅Π»ΠΈΠ·Π° | 1991 | 1995 | 1995 | 2002 | 1972/1985 | 2014 | 2012 | | ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт | [python.org](http://python.org/) | \- | [java.com](http://java.com/) | [microsoft.com](http://microsoft.com/) | [isocpp.org](http://isocpp.org/) | [swift.com](http://swift.com/) | [go.dev](https://go.dev/) | | Π”ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ | Анализ Π΄Π°Π½Π½Ρ‹Ρ… | Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | ДСсктопная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | БистСмная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹, микросСрвисы | | Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ знания | МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, big data | ВСрстка, сСтСвыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ | Android, DevOps | .NET | ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° | macOS, iOS | RESTful API, контСйнСризация | ΠžΠ±ΡƒΡ‡Π°Ρ‚ΡŒΡΡ синтаксису ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка Π»ΡƒΡ‡ΡˆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΈΠ³. Π‘Π»Π°Π³ΠΎ, Π½Π° просторах ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° β€” Π½Π° маркСтплСйсах ΠΈ Π² элСктронных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… β€” ΠΈΡ… Π²Π΅Π»ΠΈΠΊΠΎΠ΅ мноТСство. Π£Ρ‚ΠΎΡ‡Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½ΡŽΠ°Π½ΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. А ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ врСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы Π½Π° спСциализированных рСсурсах (StackOverflow, Habr Q\&A). Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, Π²Ρ‹Π±ΠΎΡ€ всСгда Π·Π° Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ программиста. На Π΄Π»ΠΈΠ½Π½ΠΎΠΉ дистанции Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ интСрСсным, Π° Π½Π΅ просто ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. Π˜Π½Π°Ρ‡Π΅ просто Π²Ρ‹Π³ΠΎΡ€ΠΈΡˆΡŒ. 05 ΠΌΠ°Ρ€Ρ‚Π° 2025 Π³. 1711 20 ΠΌΠΈΠ½ΡƒΡ‚ чтСния ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ [Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку]() [Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ](https://t.me/share/url?url=https://timeweb.cloud/blog/yazyki-programmirovaniya-dlya-nachinayushchikh-sravnenie&text=%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85:%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%B2%D1%8B%D0%B1%D0%BE%D1%80) [Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅](https://vk.com/share.php?url=https://timeweb.cloud/blog/yazyki-programmirovaniya-dlya-nachinayushchikh-sravnenie&title=%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85:%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&description=%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85:%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&image=d7e7116a-95a7-44ec-8266-cb976e762d96) Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ ΡΡ‚Π°Ρ‚ΡŒΠΈ: 1 [Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°](https://timeweb.cloud/blog/tag/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0) [Python](https://timeweb.cloud/blog/tag/Python) [JavaScript](https://timeweb.cloud/blog/tag/JavaScript) [Java](https://timeweb.cloud/blog/tag/Java) [Go](https://timeweb.cloud/blog/tag/Go) Пока Π½Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠœΡ‹ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° рассылку [ΠžΡ‚Π΄Π΅Π» ΠΏΡ€ΠΎΠ΄Π°ΠΆ](https://timeweb.cloud/sales) [8 (800) 700-32-92](tel:+78007003292) [twcloud](https://t.me/twcloud) ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° рассылку ![https://timeweb.cloud/landing-api/app/mobile/redirect]() НавСдитС ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ##### БСрвисы [ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвСры](https://timeweb.cloud/services/cloud-servers)[VDS ΠΈ VPS](https://timeweb.cloud/services/vds-vps)[Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ сСрвСры](https://timeweb.cloud/services/dedicated-server)[ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…](https://timeweb.cloud/services/dbaas)[Kubernetes](https://timeweb.cloud/services/k8s)[Балансировщики](https://timeweb.cloud/services/load-balancer)[ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ S3](https://timeweb.cloud/services/s3-storage)[Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS](https://timeweb.cloud/services/ddos)[ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΏΠ»Π΅ΠΉΡ](https://timeweb.cloud/marketplace)[ВсС сСрвисы](https://timeweb.cloud/services) ##### РСшСния [БоотвСтствиС 152-Π€Π—](https://timeweb.cloud/solutions/152fz)[ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ Π² ΠΎΠ±Π»Π°ΠΊΠΎ](https://timeweb.cloud/solutions/cloud-migration)[ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠΎΡ‡Ρ‚Π°](https://timeweb.cloud/solutions/mail)[ВсС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ](https://timeweb.cloud/solutions) ##### Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ [API](https://timeweb.cloud/api-docs)[CLI](https://timeweb.cloud/docs/twc-cli)[Terraform](https://timeweb.cloud/docs/terraform)[Cloud-init](https://timeweb.cloud/docs/cloud-servers/manage-servers/cloud-init) ##### ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°ΠΌ [ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° рСсСллинга](https://timeweb.cloud/partners/reseller)[ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹](https://timeweb.cloud/partners) ##### Π’Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° [Π‘ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€Π°ΠΌ](https://timeweb.com/ru/documents/)[Π’Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°](https://timeweb.cloud/my/support/help-question)[ДокумСнтация](https://timeweb.cloud/docs)[FAQ](https://timeweb.cloud/faq)[ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ идСю](https://timeweb.cloud/my/ideas)[ΠšΠ°Ρ€Ρ‚Π° сайта](https://timeweb.cloud/sitemap) ##### Компания [О ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ](https://timeweb.cloud/about)[Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹](https://timeweb.cloud/records)[ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹](https://timeweb.cloud/contacts)[ΠžΡ‚Π΄Π΅Π» ΠΏΡ€ΠΎΠ΄Π°ΠΆ](https://timeweb.cloud/sales)[Π“Ρ€Π°Π½Ρ‚Ρ‹](https://timeweb.cloud/grant)[ΠšΠ΅ΠΉΡΡ‹](https://timeweb.cloud/success-story)[Π ΠΎΠ°Π΄ΠΌΠ°ΠΏ](https://timeweb.cloud/docs/roadmap-and-changelog)[Π‘Π»ΠΎΠ³](https://timeweb.cloud/blog)[ΠœΠ΅Ρ€ΠΎΠΏΡ€ΠΈΡΡ‚ΠΈΡ](https://timeweb.cloud/events)[Π‘Ρ‚Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ](https://timeweb.cloud/blog/pishi-pomogaj-poluchaj-dengi-prihodite-k-nam-pisat-gajdy-po-devopsu-i-razrabotke)[ΠžΡ‚Π·Ρ‹Π²Ρ‹](https://timeweb.cloud/reviews) [Π Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² IaaS 2024: 6 мСсто](https://www.cnews.ru/reviews/rejting_provajderov_iaas_enterprise_2024/review_table/f8416a38f3e27d69c005f7be8c1220363676bbf6)[Π›ΡƒΡ‡ΡˆΠΈΠΉ SLA IaaS 2023: 6 мСсто](https://www.cnews.ru/reviews/sla_iaas2023/review_table/afb390f3c6232ae351d06c8ea5fe26857293a275)[Π Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² DBaaS 2023: 6 мСсто](https://www.cnews.ru/reviews/dbaas2023/review_table/5c3bf5dc1f2f4058c7bcc51019984c37c1acf3f3) Β© 2026 ООО Β«Π’ΠΠ™ΠœΠ’Π­Π‘.ΠšΠ›ΠΠ£Π”Β». ВсС ΠΏΡ€Π°Π²Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹. [ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ООО Β«Π’ΠΠ™ΠœΠ’Π­Π‘.ΠšΠ›ΠΠ£Π”Β» Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….](https://st.timeweb.com/cloud-static/legal-info/personal-data-policy.pdf) ПО "ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° "Π’ΠΠ™ΠœΠ’Π­Π‘.ΠšΠ›ΠΠ£Π”" Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² Π•Π΄ΠΈΠ½Ρ‹ΠΉ рССстр российских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для элСктронных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. [Π—Π°ΠΏΠΈΡΡŒ Π² рССстрС β„–15725 ΠΎΡ‚ 05.12.2022 Π³.](https://reestr.digital.gov.ru/reestr/1182621/)
Readable Markdown
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, оказываСтся ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ: ΠΊΠ°ΠΊΠΎΠΉ язык ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ? Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°, ΠΏΠ»ΠΎΡ…ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ с нюансами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкС. Π’ поспСшном Π²Ρ‹Π±ΠΎΡ€Π΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Β«[Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ Π½Π΅Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚](https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D1%82%D1%80%D0%B0%D1%82%D1%8B)Β». ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ язык Π½Π΅ соотвСтствуСт ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅ΠΌΡƒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π³Π΅ΠΉΠΌΠ΄Π΅Π² ΠΈΠ»ΠΈ систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΆΠ΅ практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ обСсцСнит Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ врСмя ΠΈ усилия. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΠΎ всСм Π»ΡƒΡ‡ΡˆΠ΅ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ Π½Π° Π±Π΅Ρ€Π΅Π³ΡƒΒ». Для этого Π½ΡƒΠΆΠ½ΠΎ хотя Π±Ρ‹ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ спСцифику ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ языка, Π΅Π³ΠΎ особСнности ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния. ΠžΡ‚ простоты ΠΈ лаконичности Python Π΄ΠΎ строгости ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Java β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΈ инструмСнты для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡. И, разумССтся, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык Ρ…ΠΎΡ€ΠΎΡˆ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ своСй области. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ с ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для старта, ΠΏΠΎΠΊΠ°Π·Π°Π² ΠΊΠ°ΠΊ слоТныС, Ρ‚Π°ΠΊ ΠΈ простыС языки программирования. ## ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ язык программирования? Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Ρ‰Π΅ Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡƒΡ‚ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ характСристики ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий: - **БоотвСтствиС Π·Π°Π΄Π°Ρ‡Π°ΠΌ**. Π―Π·Ρ‹ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свои особСнности. Один ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сильно влияСт Π½Π° тСхнологичСский стСк, особСнно Π² соврСмСнном ΠΌΠΈΡ€Π΅, Π³Π΄Π΅ спСциализация (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ усиливаСтся. Π’Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΈΠ³Ρ€Ρ‹ писались Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС, ΠΏΡ€ΠΎΡˆΠ»ΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для всСго Π΅ΡΡ‚ΡŒ свой инструмСнт. - **ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСства**. Π›ΡŽΠ±ΠΎΠΉ популярный язык ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ сообщСством, ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ большим количСством Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Однако Π² Π±ΠΎΠ»Π΅Π΅ слоТных языках (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C++) Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚ΠΎΠΆΠ΅ слоТнСС. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ. - **ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹Π΅ пСрспСктивы**. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ вострСбованного языка ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ большС возмоТностСй Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°, Π° Π΅Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ интСрСсам ΠΈ спСциализации. - **ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ**. НСкоторыС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ особых характСристик языка. НапримСр, эффСктивного управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ способности Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния. Иногда это критичСский Ρ„Π°ΠΊΡ‚ΠΎΡ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ язык программирования Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ мноТСства Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Как максимум β€” Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ интСрСсноС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΡƒΡŽ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ## Python β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для старта [Python](http://python.org/) β€” это высокоуровнСвый ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. **ДинамичСская типизация** ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π²ΠΎ врСмя выполнСния ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок. **БтатичСская типизация** – Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π²ΠΎ врСмя компиляции ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Ошибки Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π°Ρ€Π°Π½Π΅Π΅. НапримСр, Π² языкС с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ сначала ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Ρ†Π΅Π»Ρ‹ΠΌ числом 7, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚ΠΎΠΉ ΠΆΠ΅ самой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ строку "Hello, World". Π’ языкС со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ подобная опСрация Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π° этапС компиляции. **Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ** β€” модСль выполнСния ΠΊΠΎΠ΄Π° Π±Π΅Π· Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ прСобразования Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, **компиляция** β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ высокоуровнСвого ΠΊΠΎΠ΄Π° Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Python Π±Ρ‹Π» создан Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΈΠΌ программистом Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россумом Π² 1991 Π³ΠΎΠ΄Ρƒ. БСгодня ΠΆΠ΅ Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ глобальноС сообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² **Python Steering Council** ΠΈ нСкоммСрчСская организация **Python Software Foundation**. #### ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ синтаксис Основная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, которая ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Python ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, β€” использованиС отступов (табуляции) ΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠΉ вмСсто Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок для выдСлСния Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°: ``` ``` Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ синтаксис языка ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ понятным. ОсобСнно ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ касаСтся ООП β€” Ρ€Π°Π±ΠΎΡ‚Ρ‹ с классами ΠΈ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ: ``` ``` МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ стрСмится Π±Ρ‹Ρ‚ΡŒ ΠΈ понятным, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ, задСйствуя минимальноС количСство синтаксичСских Π΅Π΄ΠΈΠ½ΠΈΡ† (скобок ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой). #### Π¨ΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности Благодаря Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠΌΡƒ синтаксису ΠΈ возмоТности построчной ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ спСктрС областСй: - **Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°**. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвСрной части Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… запросов (RESTful API) ΠΈ динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ страниц сайтов. - **МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅**. Одна ΠΈΠ· основных областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ примСняСтся Python. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, построСниС ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ машинного обучСния ΠΈ созданиС нСйросСтСй. ΠšΡΡ‚Π°Ρ‚ΠΈ, Python часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний Π² области Ρ„ΠΈΠ·ΠΈΠΊΠΈ, Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ. - **Автоматизация**. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° Python позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² качСствС языка скриптинга для автоматизация Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, администрированиС сСрвСров ΠΈ выстраивания DevOps-процСссов. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ инфраструктуры, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ самым простым языком программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. #### Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ сообщСство ΠΈ докумСнтация Π’Π°ΠΊ ΠΊΠ°ΠΊ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях, Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ ΡƒΡ‡Π΅Π½Ρ‹Ρ…. РСгулярно проводятся ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… участники ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ идСями: PyCon, EuroPython, PyData. Онлайн-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²Ρ€ΠΎΠ΄Π΅ StackOverflow ΠΈΠ»ΠΈ Reddit, содСрТат ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ‚Π΅ΠΌ с обсуТдСниями нюансов написания ΠΊΠΎΠ΄Π° Π½Π° Python. Ну Π° Π² [ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ](https://docs.python.org/) ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ синтаксисС языка ΠΈ Π΅Π³ΠΎ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строгоС описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ классов, Π½ΠΎ ΠΈ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅ самыС основы. ### VDS ΠΈ VPS Π“ΠΈΠ±ΠΊΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвСры с почасовым Π±ΠΈΠ»Π»ΠΈΠ½Π³ΠΎΠΌ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ: Россия, Азия ΠΈ Π•Π²Ρ€ΠΎΠΏΠ°. ## JavaScript β€” язык для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JavaScript β€” высокоуровнСвый ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Netscape амСриканским программистом Π‘Ρ€Π΅Π½Π΄Π°Π½ΠΎΠΌ Айхом Π² 1995 Π³ΠΎΠ΄Ρƒ. Π‘Ρ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ названия JavaScript с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка Java являСтся скорСС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π° Π½Π΅ тСхничСского родства ΠΌΠ΅ΠΆΠ΄Ρƒ языками. Π’ сСрСдинС 90-Ρ… Java Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π½ΡŒ популярна, ΠΎΡ‚Ρ‡Π΅Π³ΠΎ использованиС ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ названия ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ языку. #### Основной язык Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° ВсС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ встроСнный Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript для выполнСния скриптов, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ DOM (Document Object Model) для динамичСского измСнСния структуры Π²Π΅Π±-страниц: ``` ``` Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, благодаря JavaScript Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс для соврСмСнных Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² любом Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ β€” Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ПО для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ трСбуСтся. ИмСнно поэтому JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступным языком программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. #### Развитая экосистСма Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° JavaScript β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ‚Ρ€Π°ΡΠ»ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для управлСния состояниями Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НапримСр, React ΠΈ Vue. Однако клиСнтская Ρ‡Π°ΡΡ‚ΡŒ β€” Π½Π΅ основная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния JavaScript. Он Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся ΠΈ Π½Π° сСрвСрС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js ΠΊΠΎΠ΄ Π½Π° JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° сторонС сСрвСра. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΌΠΈ β€” ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π° бэкСндС. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ этот язык программирования стоит ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. Π‘ Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ‰Π΅ ΡΡ‚Π°Ρ‚ΡŒ FullStack-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ β€” спСциалистом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ (frontend), Ρ‚Π°ΠΊ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ (backend) Ρ‡Π°ΡΡ‚ΡŒ прилоТСния. ## Java β€” ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Java β€” это высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π‘Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1995 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems (ΠΏΠΎΠ·ΠΆΠ΅ Π±Ρ‹Π»Π° ΠΏΠΎΠ³Π»ΠΎΡ‰Π΅Π½Π° Oracle) ΠΏΠΎΠ΄ руководством амСриканского ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ДТСймса Гослинга. Java являСтся ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языком. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора прСобразуСмся Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной β€” Java Virtual Machine (JVM). Π’Π°ΠΊ ΠΊΠ°ΠΊ JVM написана ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΊΠΎΠ΄ Π½Π° Java являСтся кроссплатформСнным β€” Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π±Π΅Π· пСрСкомпиляции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ основной слоган Java β€” Β«[Write once, run anywhere](https://en.wikipedia.org/wiki/Write_once,_run_anywhere)Β». #### Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Android β€” это опСрационная систСма, которая сочСтаСт Π² сСбС мноТСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², написанных Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках. И нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ядро систСмы Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° C ΠΈ C++, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ API Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Java. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Java Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ассоциируСтся с мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. Π­Ρ‚ΠΎ касаСтся ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ³Ρ€. НапримСр, популярный Minecraft Π±Ρ‹Π» написан Π½Π° Java ΠΈ практичСски сразу послС своСго Ρ€Π΅Π»ΠΈΠ·Π° Π½Π° ПК Π² 2011 Π³ΠΎΠ΄Ρƒ ΠΎΠ½ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Google Play Market Π² Π²ΠΈΠ΄Π΅ мобильной вСрсии Π½Π° Android. #### Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JIT (Just-in-Time) ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прилоТСния Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ динамичСски компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ участки ΠΊΠΎΠ΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Π»Π΅Ρ‚Ρƒ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Java дСмонстрируСт Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Javascript ΠΈΠ»ΠΈ Python. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, опосрСдованноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ прямоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C ΠΈΠ»ΠΈ C++. Java β€” Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ быстрый язык, Ссли ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ выполняСтся Ρ‡Π΅Ρ€Π΅Π· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ для обСспСчСния высокой кроссплатформСнности. #### ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΡ‚Π΄Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Java. Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ богатая экосистСма: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ инструмСнты. ВсС это ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈ ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. А Π΅Ρ‰Π΅ Java Π² противовСс Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ строгий C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис: ``` ``` ## C\# β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Windows C\# β€” высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π₯отя динамичСская Ρ‚ΠΎΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° β€” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова dynamic. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» создан ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft ΠΏΠΎΠ΄ руководством ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° АндСрса Π₯СйлсбСрга. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· состоялся Π² 2002 Π³ΠΎΠ΄Ρƒ. Подобно Java, ΠΊΠΎΠ΄ Π½Π° C\# компилируСтся Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции, Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдставлСниС, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ CIL (Common Intermediate Language) ΠΈΠ»ΠΈ просто IL. Π’ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ΄ CIL прСобразуСтся Ρ‡Π΅Ρ€Π΅Π· JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. #### Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² .NET-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Unity .NET β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ пСрСносимых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, созданная Microsoft. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сайты, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, ΠΈΠ³Ρ€Ρ‹, нСйросСти ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы. ЭкосистСма .NET состоит ΠΈΠ·: - Π―Π·Ρ‹ΠΊΠΎΠ² программирования (C\#, F\#, VB.NET) - Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, сСрвСрами, Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ) - Π‘Ρ€Π΅Π΄Ρ‹ выполнСния ИмСнно C\# являСтся основным языком Π² .NET. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни Java ΠΈ .NET ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ экосистСмами. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ прилоТСния Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· JVM (Java Virtual Machine), Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Ρ‡Π΅Ρ€Π΅Π· CLR (Common Language Runtime). Π’ ΠΎΠ±ΠΎΠΈΡ… случаях ΠΊΠΎΠ΄ компилируСтся Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ выполняСтся Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Java ΠΈ C\# синтаксичСски ΠΏΠΎΡ…ΠΎΠΆΠΈ, вСдь ΠΎΠ±Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ языками. РазумССтся, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ обошла C\# стороной. НапримСр, популярный ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Unity ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ C\# Π² качСствС основного скриптового языка для создания Π³Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ ΠΈ сцСнариСв. #### Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Microsoft Microsoft ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ C\#. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ языка, инструмСнтов, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ инфраструктуры. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ C\# ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π΄Π° ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ большС Π·Π°Ρ‚ΠΎΡ‡Π΅Π½ Π½Π° экосистСму Microsoft, хотя ΠΈ являСтся кроссплатформСнным языком. НапримСр, интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio Π»ΡƒΡ‡ΡˆΠ΅ всСго Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для компилятора C\#. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° C\# выглядит Ρ‚Π°ΠΊ: ``` ``` ## C ΠΈ C++ β€” для систСмного программирования Π‘ ΠΈ C++ β€” это Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языка программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ тСсно связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой. C++ являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсиСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ C. Если C Π±Ρ‹Π» создан Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Bell Labs ДСннисом Π ΠΈΡ‚Ρ‡ΠΈ Π² 1972 Π³ΠΎΠ΄Ρƒ, Ρ‚ΠΎ C++ появился Π½Π° свСт благодаря Π‘ΡŒΠ΅Ρ€Π½Ρƒ Бтрауструпу Π² 1983 Π³ΠΎΠ΄Ρƒ. #### Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Python, JavaScript ΠΈ Java языки C ΠΈ C++ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π˜Ρ… ΠΊΠΎΠ΄ компилируСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² инструкции процСссора. ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΎΠ±Π° языка максимально Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части устройства, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ИмСнно поэтому ΠΎΠ±Π° языка ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ слоТными. Π ΡƒΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΈ отсутствиС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ€Π΅Π·ΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ трСбования ΠΊ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌ программиста. #### Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ C ΠΈ C++ Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСсурсами ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π’ ΠΎΠ±ΠΎΠΈΡ… языках Π½Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ «сборщика мусора», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски освобоТдаСт Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, это сниТаСт Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ. Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ рСсурсов Π΄Π΅Π»Π°ΡŽΡ‚ C ΠΈ C++ Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ для высоконагруТСнных вычислСний. К ΠΈΡ… числу ΠΌΠΎΠΆΠ½ΠΎ отнСсти ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм (Linux, Windows, macOS, Android), ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ (Unreal Engine), финансовыС систСмы. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, C ΠΈ C++ Π±Ρ‹Π»ΠΈ, Π΅ΡΡ‚ΡŒ ΠΈ вСроятно Π±ΡƒΠ΄ΡƒΡ‚ Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ языками Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. #### Основа для ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных языков Надо ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ созданный для написания Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, язык C стал ΠΏΡ€Π°Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования. Π’ частности Π΅Π³ΠΎ синтаксис Π΄ΠΎ сих ΠΏΠΎΡ€ являСтся основной Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных языков программирования: C++, Java, C\#, JavaScript, Go, Swift. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° C++ с использованиСм классов ΠΈ ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: ``` ``` ## Swift β€” для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ iOS Swift β€” это соврСмСнный высокоуровнСвый язык программирования со статичСский Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции процСссора. #### ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык Apple Π”ΠΎ Swift основным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ экосистСму Apple Π±Ρ‹Π» Objective-C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ появился Π΅Ρ‰Π΅ Π² Π΄Π°Π»Π΅ΠΊΠΈΡ… 1980-Ρ…. Π­Ρ‚ΠΎ Π±Ρ‹Π» ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π» ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ нСдостатки β€” ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ соврСмСнных синтаксичСских ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΈΠ·-Π·Π° ошибок с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π’ 2014 Π³ΠΎΠ΄Ρƒ Apple прСдставила Swift β€” соврСмСнный, бСзопасный ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ написаниС ΠΊΠΎΠ΄Π° ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ памяти. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, Apple создали Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ΄ ΠΈΡ… собствСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы: iOS, macOS, watchOS, tvOS. #### Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ синтаксис ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Objective-C Π’ Objective-C ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большСС количСство синтаксичСских Π΅Π΄ΠΈΠ½ΠΈΡ† для выполнСния довольно Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: ``` ``` Π’ Swift запись Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ выглядит Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Π΅Π΅ β€” ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных языков: ``` ``` По ΠΈΡ‚ΠΎΠ³Ρƒ синтаксис Swift Π±ΠΎΠ»Π΅Π΅ чистый ΠΈ понятный. Как слСдствиС, мСньшС ΠΊΠΎΠ΄Π° β€” быстрСС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. #### ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π’Π°ΠΊ ΠΊΠ°ΠΊ Swift с самого Π½Π°Ρ‡Π°Π»Π° задумывался ΠΊΠ°ΠΊ язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple, Ρ‚ΠΎ ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для собствСнных Ρ‡ΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ИмСнно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния ΠΈ ΠΈΠ³Ρ€Ρ‹ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы iOS. По сути, вся мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple дСрТится Π½Π° языкС Swift β€” ΠΎΠ½ Π³Π»Π°Π²Π½Ρ‹ΠΉ язык для iOS. ИмСнно Π½Π° Π½Π΅Π³ΠΎ Apple Π΄Π΅Π»Π°Π΅Ρ‚ ставку β€” Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ экосистСму. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Swift ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ β€” Xcode. ## Go β€” соврСмСнный язык ΠΎΡ‚ Google Go β€” это высокоуровнСвый язык программирования со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… вычислСний. ПолноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β€” Golang. Π―Π·Ρ‹ΠΊ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 2007 Π³ΠΎΠ΄Ρƒ трСмя ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google β€” Π ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΌ ГрисмСром, КСном Вомпсоном ΠΈ Π ΠΎΠ±ΠΎΠΌ Пайком. Боздавая Go, компания Google ΠΏΡ‹Ρ‚Π°Π»Π°ΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ скорости, многопоточности ΠΈ удобства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, присущиС ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам: - **C++**. Π˜ΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ возмоТностСй, Π½ΠΎ слоТный. - **Java**. НСдостаточно быстрый Π² исполнСнии. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ выполнСния ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций. - **Python**. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π½Π΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Google Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ создаСт ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы, Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык Π±Ρ‹Π» создан с фокусом Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. #### ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Go ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ сборку мусора, простой синтаксис ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ абстракции, Π΅Π³ΠΎ нСльзя Π½Π°Π·Π²Π°Ρ‚ΡŒ классичСским ООП-языком. Π’ Π½Π΅ΠΌ Π½Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… классов, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова `this` (ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса), ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠΌΠ΅Π½ΠΈΠ΅ языка ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎ названию ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. ВмСсто это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ структуры, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: ``` ``` По сути, Go стрСмится ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ Ρ‚Π΅ΠΌ самым ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” всС слоТныС синтаксичСскиС конструкции ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ: - НСт классов ΠΈ наслСдования. ВмСсто Π½ΠΈΡ… структуры ΠΈ интСрфСйсы. - НСт ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². На ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ΄Π½ΠΎ имя. - НСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Ошибки ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ явно Ρ‡Π΅Ρ€Π΅Π· условия. **Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ** β€” это ошибки, выбрасываСмыС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎ врСмя выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π±Π΅Π· Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ возмоТности программиста. Однако Π½Π° самом Π΄Π΅Π»Π΅ строгоС описаниС Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ поэтому Go, Π½Π°Ρ€Π°Π²Π½Π΅ с Python ΠΈ JavaScript, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых Π»ΡƒΡ‡ΡˆΠΈΡ… языков программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. #### Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Код Π½Π° языкС Go компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… языковых конструкций (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ) Π΄Π΅Π»Π°Π΅Ρ‚ прилоТСния Π½Π° Go довольно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. АвтоматичСский сборщик мусора Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ очисткС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Для этого Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ быстрыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ВмСсто тяТСловСсных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Go ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ **goroutines** β€” управляСмыС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ всСго нСсколько ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… количСствах. #### Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для сСрвСрной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многопоточности с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Π΅Π»Π°ΡŽΡ‚ Golang прСкрасным языком для сСрвСрного программирования. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² Go ΡƒΠΆΠ΅ встроСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π±-прилоТСниями, сСтСвыми ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `net/http`, `database/sql`, `encoding/json`. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Go позволяСт Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сСрвСрныС прилоТСния Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ сторонних зависимостСй. Cloud MSK 15 #### 477 β‚½/мСс ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ 1 x 3.3 Π“Π“Ρ† ΠŸΠ°ΠΌΡΡ‚ΡŒ 1 Π“Π‘ NVMe 15 Π“Π‘ Канал 1 Π“Π±ΠΈΡ‚/с ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP Π’Ρ‹Π±ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Cloud MSK 30 #### 657 β‚½/мСс ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ 1 x 3.3 Π“Π“Ρ† ΠŸΠ°ΠΌΡΡ‚ΡŒ 2 Π“Π‘ NVMe 30 Π“Π‘ Канал 1 Π“Π±ΠΈΡ‚/с ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP ## Какой язык программирования Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ? Π˜Ρ‚Π°ΠΊ. Выбирая язык программирования, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… нюансов: - **НаправлСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ**. Π’ ΠΊΠ°ΠΊΠΎΠΉ области Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅? Π’Π΅Π±-прилоТСния, систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π³Π΅ΠΉΠΌΠ΄Π΅Π²? А Ссли Π³Π΅ΠΉΠΌΠ΄Π΅Π², Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ? ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ дСсктоп? Или Π΅Ρ‰Π΅ ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ консоли? - **Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ**. ΠžΡ‚ направлСния Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ Ρ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ придСтся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Однако ΠΈ Ρ‚ΠΈΠΏ Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. НапримСр, Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄, Ρ‚Π°ΠΊ ΠΈ бэкСнд. А Π³Π΅ΠΉΠΌΠ΄Π΅Π²Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΈ созданиС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ. - **ΠŸΠΎΡ€ΠΎΠ³ вхоТдСния**. Учитывая ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ прСдрасполоТСнности ΠΈ бэкграунд ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΉ, процСсс обучСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ языку программирования Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. НапримСр, для эффСктивного примСнСния C ΠΈ C++ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ знания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ β€” ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ устройства памяти, слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², матСматичСских вычислСний. ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΠΎ ряду ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: | | | | | | | | | |---|---|---|---|---|---|---|---| | | **Python** | **JavaScript** | **Java** | **C\#** | **C/C++** | **Swift** | **Go** | | Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ синтаксиса | низкая | низкая | срСдняя | срСдняя | высокая | срСдняя | срСдняя | | МодСль исполнСния | интСрпрСтация | интСрпрСтация | компиляция | компиляция | компиляция | компиляция | компиляция | | Π’ΠΈΠ΄ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ | динамичСская | динамичСская | статичСская | статичСская | статичСская | статичСская | статичСская | | Π“ΠΎΠ΄ Ρ€Π΅Π»ΠΈΠ·Π° | 1991 | 1995 | 1995 | 2002 | 1972/1985 | 2014 | 2012 | | ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт | [python.org](http://python.org/) | \- | [java.com](http://java.com/) | [microsoft.com](http://microsoft.com/) | [isocpp.org](http://isocpp.org/) | [swift.com](http://swift.com/) | [go.dev](https://go.dev/) | | Π”ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ | Анализ Π΄Π°Π½Π½Ρ‹Ρ… | Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | ДСсктопная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | БистСмная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° | Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹, микросСрвисы | | Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ знания | МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, big data | ВСрстка, сСтСвыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ | Android, DevOps | .NET | ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° | macOS, iOS | RESTful API, контСйнСризация | ΠžΠ±ΡƒΡ‡Π°Ρ‚ΡŒΡΡ синтаксису ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка Π»ΡƒΡ‡ΡˆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΈΠ³. Π‘Π»Π°Π³ΠΎ, Π½Π° просторах ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° β€” Π½Π° маркСтплСйсах ΠΈ Π² элСктронных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… β€” ΠΈΡ… Π²Π΅Π»ΠΈΠΊΠΎΠ΅ мноТСство. Π£Ρ‚ΠΎΡ‡Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½ΡŽΠ°Π½ΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. А ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ врСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы Π½Π° спСциализированных рСсурсах (StackOverflow, Habr Q\&A). Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, Π²Ρ‹Π±ΠΎΡ€ всСгда Π·Π° Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ программиста. На Π΄Π»ΠΈΠ½Π½ΠΎΠΉ дистанции Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ интСрСсным, Π° Π½Π΅ просто ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. Π˜Π½Π°Ρ‡Π΅ просто Π²Ρ‹Π³ΠΎΡ€ΠΈΡˆΡŒ.
ML Classification
ML Categoriesnull
ML Page Typesnull
ML Intent Typesnull
Content Metadata
Languagenull
Authornull
Publish Time2025-03-05 00:00:00 (1 year ago)
Original Publish Time2025-03-05 00:00:00 (1 year ago)
RepublishedNo
Word Count (Total)3,643
Word Count (Content)3,354
Links
External Links44
Internal Links47
Technical SEO
Meta NofollowNo
Meta NoarchiveNo
JS RenderedNo
Redirect Targetnull
Performance
Download Time (ms)1,233
TTFB (ms)711
Download Size (bytes)119,386
Shard192 (laksa)
Root Hash17512912919236033592
Unparsed URLcloud,timeweb!/blog/yazyki-programmirovaniya-dlya-nachinayushchikh-sravnenie s443