Владимир Нон

+3
с 2017
0 подписчиков
26 подписок

Странно, что никто не упомянул Swift.
Многие советуют начать новичку с некомпилируемых языков. Например, Javascript. Не говоря уже о том, что JS полон всяких штук, которые новичка только запутают, а избежать их нельзя (типа callback-ов), так интепретируемые языки обладают, как правило, двумя неприятными для новичка чертами: 1) нестрогая типизация и 2) нет ошибок компиляции (потому как интерпретатор же).
По-моему, лучше новичку один раз разобраться с типами данных, чем постоянно напарываться в программах на ран-тайм исключения или еще того хуже - на «странное» поведение программы.
Что касается ошибок, обнаруживаемых на стадии компиляции, то это благо невозможно переоценить, потому что скорость изучения языка в значительной степени зависит от скорости обратной связи от верификатора, который на каждый чих говорит «правильно-неправильно». Еще лучше, когда такому верификатору помогает хорошая IDE, которая умеет обнаруживать синтаксические, семантические и прочие ошибки «налету», то есть прямо во время написания кода, а не во время компиляции.
Представьте себе, что вам нужно выучить английский язык. И вот вам в голову внедряют чип, на который записан Grammarly. И все, что вы говорите или думаете по-английски, мгновенно получает качественную обратную связь от Grammarly. Насколько быстро вы бы выучили язык?
Погружение в языковую среду тоже хорошо работает, потому что верификаторами являются окружающие вас люди, дающие мгновенную обратную связь. Наверное, лучший способ выучить английский - жениться на американке, уехать в Америку и ни в коем случае не общаться с русскими. Шутка))
Еще раз. Интерпретаторы откладывают сообщения об ошибках на неопределенный срок и это может сильно осложнить жизнь новичку. Для интерпретаторов, как правило, не существует хороших IDE (я не имею в виду редакторы).
Многие советуют Python. Это простой язык, но я бы не стал с него начинать. Во-первых, он интерпретируемый. Во-вторых, он не С-подобный и обладает странным синтаксисом.
На мой взгляд, нужно учить именно С-подобный язык, потому что тогда новичку открывается целый мир языков, имеющих наибольшее значение на сегодняшний день - С/С++, С#, Java, Javascript, Swift, Objective-C, Kotlin в конце концов!
Исходя из вышесказанного, я считаю, что наиболее подходящими языками для новичка являются Swift и С#. Оба С-подобные, оба густо посыпаны синтаксическим сахаром (в отличие от очень сильно перченого С++), для обоих существуют прекрасные IDE (Xcode для Swift и Visual Studio для С#). C# выигрывает из-за кроссплатформенности (Windows, Android/iOs, Linux). Но Swift обладает, на мой взгляд, идеальным синтаксисом. Он прямо глянцевый, по-другому назвать не могу. А Xcode - почти идеальная IDE (имхо). Поэтому я бы выбрал Swift.

3