Перейти к содержанию

Программирование: различия между версиями

3516 байт добавлено ,  23:39, 10 февраля 2023
Добавил категорию
(Добавил категорию)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 2: Строка 2:


== Объясните простыми словами, пожалуйста ==
== Объясните простыми словами, пожалуйста ==
[[Файл:The heart of oak books (1906) (14753022132).jpg|мини|234x234пкс|Джун-Алладин исполняет свою первую программу ]]
[[Файл:The heart of oak books (1906) (14753022132).jpg|мини|234x234пкс|Аладдин исполняет свою первую программу ]]
(''сказка из сборника «11000011 ночь»'')
(''сказка из сборника «1111101001 ночь»'')


Компьютер — это добрый джинн, который может исполнить любые '''желания''' 🧞
Компьютер — это добрый джинн, который может исполнить любые '''желания''' 🧞
Строка 16: Строка 16:
* Человек сам '''в точности''' не знает, чего он хочет🤷
* Человек сам '''в точности''' не знает, чего он хочет🤷


Компьютер понимает только '''язык цифр''' 1 и 0. Если вы попытаетесь загадать своё желание случайным набором чисел 1011...1101 — вы получете непредсказуемый результат, а компьютер скорее всего обидется и зависнет. Значит нужно говорить не случайные цифры а '''осмысленные''', но как? Давайте позовем на помощь нашего друга и специалиста по натиранию электронных радиоламп — Аладдина-программиста. Ходят легенды, что он умеет переводить желания людей на язык компьютера — это и называется '''программированием'''.
Компьютер понимает только '''язык цифр''' 1 и 0. Если вы попытаетесь загадать своё желание случайным набором чисел 1011...1101 — вы получете непредсказуемый результат, а компьютер скорее всего обидится и зависнет. Значит нужно говорить не случайные цифры а '''осмысленные''', но как? Давайте позовем на помощь нашего друга и специалиста по натиранию электронных радиоламп — Аладдина-программиста. Ходят легенды, что он умеет переводить желания людей на язык компьютера — это и называется '''программированием'''.


Итак мы просим Аладдина напрограммировать «лекарство от всех болезней». Он достает своего волшебного Питона (Python — это такой популярный язык программирования) и с помощью него сообщает ''джинну''-компьютеру:<syntaxhighlight lang="python" line="1">print("я хочу лекарство от всех болезней")</syntaxhighlight>Смотрим результат:<syntaxhighlight lang="output">я хочу лекарство от всех болезней‎</syntaxhighlight>Это просто текст? 😠  
Итак мы просим Аладдина напрограммировать «лекарство от всех болезней». Он достает своего волшебного Питона (Python — это такой популярный язык программирования) и с помощью него сообщает ''джинну''-компьютеру:<syntaxhighlight lang="python" line="1">print("я хочу лекарство от всех болезней")</syntaxhighlight>Смотрим результат:<syntaxhighlight lang="output">я хочу лекарство от всех болезней‎</syntaxhighlight>Это просто текст? 😠  
Строка 34: Строка 34:
Вот несколько советов, которые могут помочь научиться программировать.
Вот несколько советов, которые могут помочь научиться программировать.


# Проверьте, что вам нравится программировать. Начать можно с компьютерных игр про программирование. Ищете, выбирайте, пробуйте. Если вам это интересно и это «затягивает», можно двигаться дальше.
# Начать можно с компьютерных игр про программирование. Ищете, выбирайте, пробуйте. Если вам это интересно и это «затягивает», можно двигаться дальше.
# Выберите интересное для вас направление. Для новичков без IT образования подойдут мобильная разработка и разработка [[Веб-приложение|веб-приложений]] (frontend или backend). Не торопитесь на данном этапе, изучите каждое из трех направлений и выберите подходящее.
# Выберите интересное для вас направление. Для новичков без IT образования подойдут мобильная разработка и разработка [[Веб-приложение|веб-приложений]] (frontend или backend). Не торопитесь на данном этапе, изучите каждое из трех направлений и выберите подходящее.
# Выберите один язык программирования по интересующему направлению. Рекомендуется JavaScript для фронтенд направления, Python для бэкенд, Kotlin / Swift для мобильной разработки.
# Выберите один язык программирования по интересующему направлению. Рекомендуется JavaScript для фронтенд направления, Python для бэкенд, Kotlin / Swift для мобильной разработки.
Строка 50: Строка 50:
* Устройтесь на работу младшим разработчиком.
* Устройтесь на работу младшим разработчиком.
* Продолжайте учиться.
* Продолжайте учиться.
'''Важно!''' Устроиться на первую работу программистом непросто из-за высокой конкуренции и развития технологий AI (искусственного интеллекта), первые попытки собеседований скорее всего будут неудачными, но они дадут дополнительный опыт. Важно сохранять высокий уровень мотивации, увлеченности, готовности обучаться. Личностные качества для начинающего разработчика становятся более востребованными. Также не забывайте про другие важные направления в разработке: менеджеры, дизайнеры, аналитики, тестировщики, системные администраторы, сотрудники технической поддержки.


=== Какие типы программистов существуют ===
=== Какие типы программистов существуют ===
Программисты различаются прежде всего по направлениям работы и знаниям языков программирования. Но есть различия и в профессиональном уровне.
Программисты различаются прежде всего по направлениям работы и знаниям языков программирования.  


Кодер (Coder) — новичок.
* Веб-программирование — это создание веб-сайтов и веб-приложений.
* Мобильная разработка — создание приложений для смартфонов и планшетов.
* Разработка компьютерных игр.
* Data science — магия по извлечению полезной информации из огромных объемов неструктурированных данных
* Разработка встроенных программ (Embedded software) — это то что делает предметы вокруг нас умными и интерактивными.


Программист (Programmer) — профессиональный специалист.
... и другие направления.


Инженер-программист (Software engineer).
Есть различия по уровню навыка программирования.


Информатик (Computer scientist).
* Coder (Кодер) — новичок, может писать несложные программы, например, скрипты для автоматизации рутинных задач.
* Programmer (Программист) — может написать практически любую программу, но не всегда оптимальным способом.
* Software engineer (Инженер-программист) — может спроектировать сложную систему оптимальным способом.
* Computer scientist (Информатик) — создает новые языки программирования, научные подходы, методологии, парадигмы.


Так как только навыка программирования недостаточно для создания современных приложений, то вводят отдельное расширенное понятие «разработка программного обеспечения» со своими подтипами специалистов:


* Junior (Младший разработчик) — начинающий специалист, готовый быстро обучаться.
* Mid-Level / Middle (Разработчик) — специалист с опытом, эффективный командный игрок, работает на результат.
* Senior (Старший разработчик) — опытный ответственный специалист, организует работу небольшой команды, много времени уделяет обучению новичков.
* Lead (Тимлид) — отвечает за работу большой команды разработчиков.
* Principal (Главный разработчик) — эксперт в предметной области разработки, главный разработчик в компании.


 
[[Категория:Информационные технологии]]
 
 
[[Категория:Незавершённые статьи]]