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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ сравнСниС синтаксиса 1Π‘ с Python, JavaScript, C# ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ сходства ΠΈ различия, Π° Ρ‚Π°ΠΊΠΆΠ΅ расскаТСм, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ быстрСС ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² экосистСмС 1Π‘. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ конструкциям 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ прямых Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках β€” ΠΈΡ… ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.

1. ΠžΡΠ½ΠΎΠ²Ρ‹ синтаксиса: Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρƒ 1Π‘ с классичСскими языками?

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, ΠΊΠΎΠ΄ Π½Π° встроСнном языкС 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ C-ΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠ»ΠΈ скриптовыС языки. Однако ΠΏΡ€ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ становится ясно, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ конструкции заимствованы ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм программирования. НапримСр:

  • πŸ“Œ Π’ΠΎΡ‡ΠΊΠ° с запятой Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² β€” ΠΊΠ°ΠΊ Π² C#, Java ΠΈΠ»ΠΈ JavaScript, хотя Π² 1Π‘ Π΅Ρ‘ часто ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°).
  • πŸ”„ Π¦ΠΈΠΊΠ»Ρ‹ Для ΠΈ Пока Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ for ΠΈ while Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.
  • πŸ“ УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Если...Π’ΠΎΠ³Π΄Π°...Π˜Π½Π°Ρ‡Π΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ if...else.
  • πŸ—ƒοΈ Π Π°Π±ΠΎΡ‚Π° с массивами ΠΈ коллСкциями ΠΈΠΌΠ΅Π΅Ρ‚ сходства с Python (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() ΠΈ append()).

ΠŸΡ€ΠΈ этом Π² 1Π‘ Π΅ΡΡ‚ΡŒ ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ особСнности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΡˆΠΈΡ… ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам. НапримСр, отсутствиС Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΠΊΠΎΠ΄ пСрСмСнная ΠΈ ΠŸΠ•Π Π•ΠœΠ•ΠΠΠΠ― β€” это ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅) ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (хотя это ΠΈ Π½Π΅ рСкомСндуСтся). Π’Π°ΠΊΠΆΠ΅ Π² 1Π‘ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ контСкстная подсказка Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ иллюзию "ΠΌΠ°Π³ΠΈΠΈ" для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².

πŸ“Š Какой язык программирования Π²Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Π»ΠΈ Π΄ΠΎ 1Π‘?
Python
JavaScript
C#/Java
PHP
Π”Ρ€ΡƒΠ³ΠΎΠΉ
Никакой

2. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с Python: простой синтаксис vs строгая типизация

МногиС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ 1Π‘ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Python β€” ΠΈ это Π½Π΅ случайно. Оба языка стрСмятся ΠΊ читаСмости ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис. НапримСр, сравнитС:

ДСйствиС 1Π‘ Python
Π¦ΠΈΠΊΠ» ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Массив Π¦ΠΈΠΊΠ»
Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚);
ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;
for item in array:
print(item)
Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Если УсловиС Π’ΠΎΠ³Π΄Π°
Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π”Π°");
Π˜Π½Π°Ρ‡Π΅
Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("НСт");
ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;
if condition:
print("Π”Π°")
else:
print("НСт")
Π Π°Π±ΠΎΡ‚Π° со строками Π‘Ρ‚Ρ€ΠΎΠΊΠ° = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, " + Имя; string = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, " + name

Однако Π΅ΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ различия:

  • 🐍 Π’ Python динамичСская типизация (Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π²ΠΎ врСмя выполнСния), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² 1Π‘ Ρ‚ΠΈΠΏΡ‹ Тёстко привязаны ΠΊ контСксту ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, БправочникБсылка.Π’ΠΎΠ²Π°Ρ€Ρ‹ β€” это Π½Π΅ просто строка, Π° ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ).
  • πŸ“¦ Π’ 1Π‘ Π½Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ для Python смыслС, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ схоТиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • πŸ” Π’ Python Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (try...except), Π° Π² 1Π‘ β€” ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅).
πŸ’‘

Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Python, Ρ‚ΠΎ быстро освоитС Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис 1Π‘. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² 1Π‘ всё вращаСтся Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, рСгистры), Π° Π½Π΅ Π²ΠΎΠΊΡ€ΡƒΠ³ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ….

3. 1Π‘ ΠΈ JavaScript: сходства Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ событиями

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ с JavaScript, ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² 1Π‘ Ρ‚Π°ΠΊΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ событийная модСль. НапримСр, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ… 1Π‘ (ΠŸΡ€ΠΈΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ, ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ) Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ onClick ΠΈΠ»ΠΈ onLoad Π² JS. Однако Π΅ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ различия:

  • πŸ–₯️ Π’ JavaScript ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ "Π½Π° Π»Π΅Ρ‚Ρƒ" (let obj = {}), Π° Π² 1Π‘ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚.НомСнклатура) Тёстко привязаны ΠΊ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • πŸ”— Π’ 1Π‘ Π½Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ³ΠΎ наслСдования (ΠΊΠ°ΠΊ Π² JS), Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ подсистСм.
  • πŸ“œ Π’ JavaScript Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ замыкания ΠΈ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ (Promise, async/await), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² 1Π‘ асинхронныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π°.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: Π² послСдних вСрсиях 1Π‘ появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JSON ΠΈ HTTP-запросов, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ Π΅Ρ‰Ρ‘ Π±Π»ΠΈΠΆΠ΅ ΠΊ JavaScript Π² ΠΏΠ»Π°Π½Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ. НапримСр, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с внСшними API:

Запрос = Новый HTTPЗапрос("https://api.example.com/data");

ΠžΡ‚Π²Π΅Ρ‚ = Новый HTTPΠ‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅();

ΠžΡ‚Π²Π΅Ρ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(Запрос);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΡ‚Π²Π΅Ρ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅ΠΊΡΡ‚();

Π§Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Promise Π² 1Π‘?

Π’ 1Π‘ Π½Π΅Ρ‚ прямого Π°Π½Π°Π»ΠΎΠ³Π° Promise, Π½ΠΎ для асинхронных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

1. Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания β€” для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…).

2. ΠŸΠ»Π°Π½Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° β€” для синхронизации Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ.

3. ΠžΡ‡Π΅Ρ€Π΅Π΄ΠΈ сообщСний (Π² послСдних вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹) β€” для ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

4. 1Π‘ ΠΈ C#/Java: строгая типизация ΠΈ ООП

Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с C# ΠΈΠ»ΠΈ Java, Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² 1Π‘ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ элСмСнты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП), хотя ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ-своСму. НапримСр:

  • πŸ—οΈ Π’ 1Π‘ Π΅ΡΡ‚ΡŒ классы, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹) ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, Π° Π½Π΅ Π² ΠΊΠΎΠ΄Π΅.
  • πŸ”‘ Π’ C# Π΅ΡΡ‚ΡŒ интСрфСйсы, Π° Π² 1Π‘ β€” ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ() для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²).
  • πŸ“‚ Π’ 1Π‘ Π½Π΅Ρ‚ namespace (ΠΊΠ°ΠΊ Π² C#), Π½ΠΎ Π΅ΡΡ‚ΡŒ подсистСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡΡ…ΠΎΠΆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сравнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с коллСкциями:

ДСйствиС 1Π‘ C#
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка Бписок = Новый БписокЗначСний;
Бписок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚1");
List<string> list = new List<string>();
list.Add("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚1");
Поиск Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ НайдСнный = Бписок.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚1"); var found = list.Find(x => x == "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚1");

Π’Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅: Π² 1Π‘ Π½Π΅Ρ‚ классичСского наслСдования классов, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π΅Π· измСнСния ΠΈΡ… исходного ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Python ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² C#.

πŸ’‘

Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ C# ΠΈΠ»ΠΈ Java, Ρ‚ΠΎ Π² 1Π‘ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ коллСкциями ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ модСлью. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² 1Π‘ "классы" ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½Π΅ Π² ΠΊΠΎΠ΄Π΅, Π° Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

5. Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ конструкции 1Π‘: Ρ‡Π΅Π³ΠΎ Π½Π΅Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках?

НСсмотря Π½Π° сходства, Π² 1Π‘ Π΅ΡΡ‚ΡŒ конструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. Π˜Ρ… ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для эффСктивной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

  • πŸ“Š Запросы Π½Π° языкС 1Π‘ β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ SQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π°Π·Ρ‹. НапримСр:
    Запрос = Новый Запрос;
    

    Запрос.ВСкст = "ВЫБРАВЬ

    | Π’ΠΎΠ²Π°Ρ€Ρ‹.НаимСнованиС КАК НаимСнованиС,

    | Π’ΠΎΠ²Π°Ρ€Ρ‹.Π¦Π΅Π½Π° КАК Π¦Π΅Π½Π°

    |Π˜Π—

    | Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π’ΠΎΠ²Π°Ρ€Ρ‹ КАК Π’ΠΎΠ²Π°Ρ€Ρ‹

    |Π“Π”Π•

    | Π’ΠΎΠ²Π°Ρ€Ρ‹.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = Π›ΠžΠ–Π¬";

    Π—Π΄Π΅ΡΡŒ | ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для многострочных запросов, Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова (ВЫБРАВЬ, Π˜Π—) написаны Π½Π° русском.

  • πŸ”„ Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² 1Π‘ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ нСявно (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ записи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°) ΠΈΠ»ΠΈ явно Ρ‡Π΅Ρ€Π΅Π· ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ() ΠΈ Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ().
  • πŸ“‘ Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Π‘ΠšΠ” (БистСма Компоновки Π”Π°Π½Π½Ρ‹Ρ…) β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ β€” встроСнныС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

  • πŸ“‹ БписокЗначСний β€” Π°Π½Π°Π»ΠΎΠ³ массива, Π½ΠΎ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ (ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ(), Π£Π΄Π°Π»ΠΈΡ‚ΡŒ()).
  • πŸ—‚οΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° β€” Π°Π½Π°Π»ΠΎΠ³ словаря (dictionary Π² Python ΠΈΠ»ΠΈ object Π² JS), Π½ΠΎ с фиксированным Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.
  • πŸ“Ž БоотвСтствиС β€” Π°Π½Π°Π»ΠΎΠ³ Map Π² Java, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ значСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис (Ρ†ΠΈΠΊΠ»Ρ‹, условия, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅)|Π Π°Π·Π±Π΅Ρ€ΠΈΡ‚Π΅ΡΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹)|ΠžΡΠ²ΠΎΠΉΡ‚Π΅ язык запросов 1Π‘|ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простой ΠΎΡ‚Ρ‡Ρ‘Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π‘ΠšΠ”|ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "РСализацияВоваровУслуг")

-->

6. Какой язык ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстрСС ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ 1Π‘?

Если Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ язык программирования, Ρ‚ΠΎ ваши Π½Π°Π²Ρ‹ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти Π² 1Π‘ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π½Π°Π½ΠΈΠ΅ языка Π§Ρ‚ΠΎ пригодится Π² 1Π‘ Π§Ρ‚ΠΎ придётся ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ с нуля
Python Π›Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис, Ρ€Π°Π±ΠΎΡ‚Π° со строками ΠΈ коллСкциями Π―Π·Ρ‹ΠΊ запросов, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π‘ΠšΠ”
JavaScript Бобытийная модСль, Ρ€Π°Π±ΠΎΡ‚Π° с JSON, Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ (Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания) Бтрогая типизация, ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
C#/Java ООП, Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, язык запросов 1Π‘
SQL ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Бинтаксис языка запросов 1Π‘ (русскиС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, особСнности joins)

Π›ΡƒΡ‡ΡˆΠ΅ всСго с ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ 1Π‘ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» с Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками (C#, Java) ΠΈΠ»ΠΈ скриптовыми языками (Python, JS), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² 1Π‘ ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ элСмСнты ΠΎΠ±ΠΎΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ². Однако Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, встроСнная справочная систСма ΠΈ контСкстная подсказка Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорят ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅.

πŸ’‘

Π‘Π°ΠΌΡ‹ΠΉ быстрый способ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ 1Π‘ β€” Π½Π°Ρ‡Π°Ρ‚ΡŒ с ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ΠΉ") ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π»ΡƒΡ‡ΡˆΠ΅ любой Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.

7. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΡ… языков Π½Π° 1Π‘

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΡˆΠΈΠ΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам, часто ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ошибки Π² 1Π‘. Π’ΠΎΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённыС:

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 1Π‘ Π½Π΅Ρ‚ автоматичСской сборки мусора для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚). Если Π²Ρ‹ Π½Π΅ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ явно (ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() ΠΈΠ»ΠΈ ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ()), это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ памяти.
  • 🚫 Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… языков, Π² 1Π‘ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ часто ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ нСявно. Если Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ (ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ()), Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π΅Ρ‘ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ (Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ() ΠΈΠ»ΠΈ ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ()), ΠΈΠ½Π°Ρ‡Π΅ Π±Π°Π·Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.
  • πŸ” ΠŸΡ€ΡΠΌΠΎΠΉ доступ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ 1Π‘ Π½Π΅ принято Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с SQL Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ β€” вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ язык запросов 1Π‘.
  • πŸ“ ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Ρ‚Π°ΠΌΠΈ. Π’ 1Π‘ Π΄Π°Ρ‚Ρ‹ хранятся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π”Π°Ρ‚Π°(Π“ΠΎΠ΄, ΠœΠ΅ΡΡΡ†, Π”Π΅Π½ΡŒ), ΠΈ ΠΈΡ… сравнСниС ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ. НапримСр, Π”Π°Ρ‚Π°1 = Π”Π°Ρ‚Π°2 Π²Π΅Ρ€Π½Ρ‘Ρ‚ Π›ΠΎΠΆΡŒ, Ссли врСмя Π½Π΅ совпадаСт, Π΄Π°ΠΆΠ΅ Ссли Π΄Π°Ρ‚Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° распространённая ошибка β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ контСкста выполнСния. Π’ 1Π‘ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… контСкстах (Π½Π° сСрвСрС, Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅), ΠΈ Π½Π΅ всС конструкции Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π΅Π·Π΄Π΅. НапримСр, доступ ΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 1Π‘ Π½Π΅Ρ‚ многопоточности Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ смыслС. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° рСализуСтся Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания ΠΈΠ»ΠΈ распрСдСлённыС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ (Π Π˜Π‘), Π½ΠΎ это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π² Java ΠΈΠ»ΠΈ C#.

FAQ: ЧастыС вопросы ΠΎ сходствС 1Π‘ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python ΠΈΠ»ΠΈ JavaScript прямо Π² 1Π‘?

НСт, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ β€” нСльзя. Однако Π² послСдних вСрсиях 1Π‘ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними скриптами Ρ‡Π΅Ρ€Π΅Π·:

  • 🐍 HTTP-сСрвисы (ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Python-скрипт ΠΊΠ°ΠΊ внСшний API).
  • πŸ“œ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ "1Script" (позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ скрипты Π½Π° языкС, ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΌ Π½Π° 1Π‘, Π½ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ).
  • 🌐 Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° JavaScript (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅).

Но основная Π»ΠΎΠ³ΠΈΠΊΠ° всё Ρ€Π°Π²Π½ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π° встроСнном языкС 1Π‘.

Π§Π΅ΠΌ язык запросов 1Π‘ отличаСтся ΠΎΡ‚ SQL?

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ различия:

  • πŸ“Œ ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π½Π° русском (ВЫБРАВЬ вмСсто SELECT).
  • πŸ”— НСт классичСских JOIN β€” вмСсто Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π›Π•Π’ΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π•, ВНУВРЕННЕЕ Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π• ΠΈ Ρ‚. Π΄.
  • πŸ“Š ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцифичных для 1Π‘ конструкций, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, РАЗРЕШЕННЫЕ (для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² доступа) ΠΈΠ»ΠΈ Π˜Π’ΠžΠ“Π˜ (для автоматичСского подсчёта).
  • πŸ—ƒοΈ Π Π°Π±ΠΎΡ‚Π° Π½Π΅ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг).
МоТно Π»ΠΈ Π² 1Π‘ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° C# ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС?

НСт, основная Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° встроСнном языкС 1Π‘. Однако:

  • πŸ–₯️ МоТно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ внСшниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π° C++ ΠΈΠ»ΠΈ C# (Ρ‡Π΅Ρ€Π΅Π· COM ΠΈΠ»ΠΈ .NET), Π½ΠΎ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… участков ΠΊΠΎΠ΄Π°.
  • 🌍 Π’ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° JavaScript (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ…).

Но Π² 99% случаСв Π²Π°ΠΌ Ρ…Π²Π°Ρ‚ΠΈΡ‚ возмоТностСй встроСнного языка.

КакиС ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ»ΠΈ курсы ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка Π½Π° 1Π‘?

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ рСсурсы:

  • πŸ“– Книга "1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ пособиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°" (М. Π“. Π Π°Π΄Ρ‡Π΅Π½ΠΊΠΎ) β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ синтаксис ΠΈ сравниваСт с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками.
  • πŸŽ“ ΠšΡƒΡ€Ρ "ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π² 1Π‘" Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ Ρ†Π΅Π½Ρ‚Ρ€ β€” ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².
  • πŸ“Ί YouTube-ΠΊΠ°Π½Π°Π» "1Π‘ для программистов" β€” ΠΌΠ½ΠΎΠ³ΠΎ практичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с сравнСниСм с Python ΠΈ C#.
  • πŸ’‘ "1Π‘:ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»" β€” сСртификация, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ знания.
Бколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ 1Π‘, Ссли знаю Python/C#?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹Π΅ сроки:

  • πŸ“… 1–3 мСсяца β€” освоСниС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса ΠΈ простых Π·Π°Π΄Π°Ρ‡ (Ссли Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ Π² ООП).
  • πŸ“… 6–12 мСсяцСв β€” увСрСнная Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌΠΈ конфигурациями (Π£Π’, Π—Π£ΠŸ, Π‘ΠŸ).
  • πŸ“… 1.5–2 Π³ΠΎΠ΄Π° β€” Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, оптимизация запросов, слоТныС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

Π‘Ρ€ΠΎΠΊΠΈ зависят ΠΎΡ‚ интСнсивности ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. Π‘Π°ΠΌΡ‹ΠΉ быстрый способ β€” модификация ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΏΠΎΠ΄ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.