Начинающие программисты часто задаются вопросом: «А с чего начать, какой язык учить первым?». На эту тему уже есть много статей. Но в них очень много текста, который, конечно, относится к теме выбора языка, но начинающего программиста может только запутать.
В этой статье я постараюсь ответить на этот вопрос кратко и по делу.
Подбирать язык я буду по 3 критериям:
Выбирал я из 6 вариантов:
И еще языки, которые стоит отметить, но которые по каким-то причинам не попали в этот список:
На мой взгляд, «Java» — довольно хороший вариант для первого языка программирования, по моему мнению, это единственный по настоящему кроссплатформенный язык программирования.
За счет этого в будущем легко будет перейти с одной платформы на другую, одна и та же программа сможет запуститься и на MacOS, и Linux, и на Windows, на нем легко писать под «Android».
Он несложен в обучении и удобен в использовании.
Но есть некоторые нюансы из за его синтаксиса и кроссплатформенности, из за которых это не лучший, но, надо отдать должное, — хороший вариант для изучения.
Java script похож на Java, только скриптовый.
На мой взгляд, учить скриптовый язык в качестве первого не очень правильно, т.к. не зная программирования, мне кажется, писать скрипты немного странно. (Но если вы знаете html и css, тогда Java script — это именно то, что нужно). Поэтому я не буду рассматривать его подробно.
C# — это прекрасный язык для начала: он прост в изучении, он популярен, он похож на другие популярные языки, например, вы легко сможете с C# перейти на C++ или Java, он многофункционален (игры — unity, мобильные телефоны — xamarin...)
Разумеется, есть и недочеты, но в для данной ситуации они не значительны.
C++ — это замечательный язык программирования, на нем можно сделать все. Новые языки делаются на базе C++.
Но есть одно большое «НО» — обычно начинающим программистам он кажется сложным, в нем очень легко что-то напутать и много времени потратить на дебаг.
Но если вы этого не боитесь, тогда это то, что нужно.
Сейчас часто предлагают учить «Python» в качестве первого языка, на мой взгляд, это в корне не правильно, здесь я это очень кратко обосновываю, вот статья с полным объяснением"Почему не нужно учить python первым языком".
По моему, «Python» — это «детский» язык программирования. Если вам надо быстро написать программу, выводящую числа от 1 до 100 (такого типа программы иногда нужны), то это — то, что нужно. В нем простой синтаксис. Все, на этом плюсы закончились.
В остальном его мало где используют по сравнению с остальными «претендентами», кроме «КуМира» конечно же.
В Питоне странный синтаксис, и, если его учить как первый, переход на новый язык может вызвать затруднение.
Я добавил «КуМир» в этот список, только чтобы объяснить, почему на нем не надо писать.
(Примера с «Hello, World!» нету, т.к. я нечего в КуМире не понял)
По-моему, распределить места надо так:
Язык «Java script» не вставил, т.к. он скриптовый, а «КуМир» т.к. не считаю его полноценным языком программирования.
В этой статье я постараюсь ответить на этот вопрос кратко и по делу.
Подбирать язык я буду по 3 критериям:
- Простой синтаксис — для простого изучения.
- Похожий на другие языки — чтобы можно было перейти потом на другой.
- Функциональный — чтобы сразу начать программировать реальные вещи.
Выбирал я из 6 вариантов:
- Java
- Java script — в двух словах
- С#
- С++
- Python
- Языки наподобие КуМира
И еще языки, которые стоит отметить, но которые по каким-то причинам не попали в этот список:
- PHP — узко направленный
- Objective-C — узко направленный
- Swift — узко направленный
- TypeScript — только скриптовый, редко используется
- Lua — только скриптовый, редко используется
- Basic — не актуально
- Pascal — не актуально
- Ruby
Итак, начнем:
Java:
На мой взгляд, «Java» — довольно хороший вариант для первого языка программирования, по моему мнению, это единственный по настоящему кроссплатформенный язык программирования.
За счет этого в будущем легко будет перейти с одной платформы на другую, одна и та же программа сможет запуститься и на MacOS, и Linux, и на Windows, на нем легко писать под «Android».
Он несложен в обучении и удобен в использовании.
Но есть некоторые нюансы из за его синтаксиса и кроссплатформенности, из за которых это не лучший, но, надо отдать должное, — хороший вариант для изучения.
Цитаты о языке «Java»:
Java — это C++, из которого убрали все пистолеты, ножи и дубинки.
James Gosling
Если бы в Java действительно работала сборка мусора, большинство программ бы удаляли сами себя при первом же запуске.
Robert Sewell
Пример программы, выводящей «Hello, World!» на языке «Java»:
public static void main(String[] args) {
System.out.println("Hello, World!");
}
Java script:
Java script похож на Java, только скриптовый.
На мой взгляд, учить скриптовый язык в качестве первого не очень правильно, т.к. не зная программирования, мне кажется, писать скрипты немного странно. (Но если вы знаете html и css, тогда Java script — это именно то, что нужно). Поэтому я не буду рассматривать его подробно.
Пример программы, выводящей «Hello, World!» на языке «Java script»:
</script>
alert( 'Hello, World!' );
</script>
С#:
C# — это прекрасный язык для начала: он прост в изучении, он популярен, он похож на другие популярные языки, например, вы легко сможете с C# перейти на C++ или Java, он многофункционален (игры — unity, мобильные телефоны — xamarin...)
Разумеется, есть и недочеты, но в для данной ситуации они не значительны.
Цитата:
Я думаю, что Microsoft назвал технологию .Net для того, чтобы она не показывалась в списках директорий Unix.
Oktal
Пример программы, выводящей «Hello, World!» на языке «С#»:
static void Main(){
Console.WriteLine("Hello, World!");
}
С++:
C++ — это замечательный язык программирования, на нем можно сделать все. Новые языки делаются на базе C++.
Но есть одно большое «НО» — обычно начинающим программистам он кажется сложным, в нем очень легко что-то напутать и много времени потратить на дебаг.
Но если вы этого не боитесь, тогда это то, что нужно.
Цитаты о «C++»:
Писать на C или C++ — это как работать с бензопилой без какой-либо защиты.
Bob Gray
Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом.
Alan Kay
Пример программы, выводящей «Hello, World!» на языке «C++»:
int main(){
cout << "Hello, world!" << endl;
}
Python:
Сейчас часто предлагают учить «Python» в качестве первого языка, на мой взгляд, это в корне не правильно, здесь я это очень кратко обосновываю, вот статья с полным объяснением"Почему не нужно учить python первым языком".
По моему, «Python» — это «детский» язык программирования. Если вам надо быстро написать программу, выводящую числа от 1 до 100 (такого типа программы иногда нужны), то это — то, что нужно. В нем простой синтаксис. Все, на этом плюсы закончились.
В остальном его мало где используют по сравнению с остальными «претендентами», кроме «КуМира» конечно же.
В Питоне странный синтаксис, и, если его учить как первый, переход на новый язык может вызвать затруднение.
Пример программы, выводящей «Hello, World!» на языке «Python»:
print("Hello, World!")
Языки на подобие КуМира:
Я добавил «КуМир» в этот список, только чтобы объяснить, почему на нем не надо писать.
- нельзя использовать для чего-то реального.
- синтаксис совершенно не похож на другие и будет очень затруднительно перейти с него на реальный язык программирования (Я никогда не писал на «КуМире», посмотрел код, чтобы написать эту статью, и у меня реально заболели глаза, т.к. я привык к программированию на английском и перестроить свой мозг на что-то еще мне было сложно).
- сложность синтаксиса не знаю, т.к. ничего не понял.
(Примера с «Hello, World!» нету, т.к. я нечего в КуМире не понял)
Итоги:
По-моему, распределить места надо так:
- «C#»
- «Java»
- «C++»
- с большим отставанием «Python»
Язык «Java script» не вставил, т.к. он скриптовый, а «КуМир» т.к. не считаю его полноценным языком программирования.
Поделиться с друзьями
Комментарии (4)
lair
03.03.2017 14:40Java script похож на Java, только скриптовый. [...]
Эээ, что? JavaScript хоть и имеет script в названии, уже давно не "скриптовый".
На мой взгляд, учить скриптовый язык в качестве первого не очень правильно, т.к. не зная программирования, мне кажется, писать скрипты немного странно.
А что такое "скрипт", если не программирование? И как раз учиться на простых вещах — правильно.
По моему, «Python» — это «детский» язык программирования.
Аргументацию в студию.
В остальном его [Python] мало где используют
21% инфрастуктурного кода Facebook, какие мелочи.
Metus
А чем JavaScript похож на Java то?