elglin: (Default)
[personal profile] elglin
В длинных спорах о том "каким ЯП учить в самом начале" с большим отрывом лидируют концепты "меня так учили" и "я на этом прогаю". Есть еще распиаренная лурком цитата: "Хороший программист обязан знать C". Попробую выпрыгнуть из этого концепта.
Итак, первый язык. Товарищи, на каждого рафинированного программера (вроде большей части дискутирующих) наберется пяток людей вроде меня, которые активно прогают, но далеко не рафинированные программеры, и десятка полтора-два людей, которым надо прогать, но от случая к случаю, как приложение к основной работе (бухгалтер, статистик, тысячи их). Поэтому порог входа должен быть низким, и (школа же, дети же) должен быть практически немедленный выхлоп, желательно наблюдаемый.
На мой личный взгляд, вариантов, собственно, три: VB.NET (да, бейсик), JavaScript и, да, он самый, несправедливо нелюбимый и оболганный Python. На первом можно за час-два собрать гуевую утилиту и за день написать виндовую игру класса "артиллерия", на втором можно нарисовать что-то динамичненькое в вебе за то же время; питон в этом плане менее гуев и чуть более задротский, но вот все-таки за него широчайший спектр применения, килотонны библиотек и вся прочая экосистема.
Циклы, условия и массивы есть, процедуры есть, ООП есть, хорошая работа со строками есть. Что еще надо, чтобы достойно встретить старость. На выходе мы имеем возможность объяснить, зачем вообще программировать, показать, что можно сделать дендрофекальным методом и кодом, заложить базовые концепты. Не факать мозги тем, кому это совсем не надо, но заложить какую-то базу для тех, кому это зачем-то потом понадобится, чтобы шурупы в мозг закручивались не по целине, а по старым следам. Кроме того, во втором и третьем (имхо и в первом, просто область специфическая, кто писал эксел-макросы, тот поймет) случае язык имеет некую ненулевую ценность и сам по себе.
Если говорить о втором языке - то это уже явно для тех, кто хочет связать жизнь с проклятыми ИТ, то есть программеров на ставку или полставки. А вот здесь уже нужно поднимать вопросы об эффективности, о-нотации, структурах данных, серьезном ООП, мультипоточности и что там еще - универский уровень, в общем-то. Более кровавый вариант - это С, менее кровавый - Go; альтернатива с бизнес-ориентацией - Java. Есть новомодный Rust, но я его не трогал вообще.
Теперь о плюсах. Я бы сказал, что плюсы - это идеальный третий язык. Я въезжал в него два раза, один около 2003, второй в 2019 - это заняло немало усилий и времени при том, что в первом случае это был мой пятый язык (Basic, Pascal, C, Java), а во втором - шестой (+ Python, и это не считая баша и повершелла). Плюсы офигенны, не спорю, но STL+Boost, на мой взгляд, доступны только для человека, который хорошо знает, зачем и почему ему это надо. Именно поэтому, на мой взгляд, плюсам нет места в общеобразовательной программе. Это магистратура или аспирантура - ну, по состоянию на 2020 год.

(no subject)

Date: 2020-09-09 08:13 pm (UTC)
scif_yar: (Default)
From: [personal profile] scif_yar
>> Какой к черту повершелл? Ты еще баш попробуй дать. Тут нужен красивый гуй.
-
ISE и этот для семерки как его VScode чтоли
В нем есть и отладка, и пошаговое выполнение. ISE кароши.

Что касается выбора жаба\го - зависит от того, чего хотим. Вообще если у тебя есть понимание алгоритмов, то язык описания алгоритмов - вопрос такой .. абстрактный.
жаба же даст возможность за деньги небольшие - вкатываться в реальное ИТ с 1-2 курса, пусть даже формошлепом.

(no subject)

Date: 2020-09-10 06:52 pm (UTC)
scif_yar: (Default)
From: [personal profile] scif_yar
>>Но я про гуй в смысле красивое гуевое приложение. На VB это набрасывается ну очень быстро, я вообще слабо представляю себе среду, в которой это быстрее.
*

Add-Type -assembly System.Windows.Forms
$window_form = New-Object System.Windows.Forms.Form
$window_form.Text ='Пример графического интерфейса для скрипта PowerShell'
$window_form.Width = 500
$window_form.Height = 200
$window_form.ShowDialog()
Page generated May. 13th, 2026 08:36 pm
Powered by Dreamwidth Studios