Лучшие языки для начала:
- язык, на котором вы хотите играть / изучать
- язык, на котором вы хотите работать
И, вероятно, в таком порядке, если только самая неотложная потребность - прокормить себя.
Вот в чем дело: способ научиться программировать - это много делать. Чтобы сделать это много, вам понадобится много терпения и больше, чем немного энтузиазма. Это важнее, чем конкретный язык, который вы выбираете ... но выбор языка, на котором вы любите работать (будь то, что вам нравятся функции или потому что вы чувствуете, что он вас чему-то научит) может быть большой импульс
Тем не менее, вот пара комментариев к Схеме:
Имеет ли Схема (и делает эти книги)
действительно научить хорошо программировать?
Особенность Scheme (или чего-то подобного) в том, что если вы изучите ее, она научит вас очень полезным абстракциям, с которыми многие программисты никогда не сталкиваются. функциональный язык программирования никогда не учат. Вы будете думать по-другому. Сущность языков программирования и вычислений будет казаться вам более подвижной. У вас будет лучшее представление о том, как составлять свои собственные квази-примитивы из очень небольшого набора примитивов, а не полагаться на обычно статический набор примитивов, предлагаемый в некоторых других языках.
Проблема в том, что многое из того, что я говорю, может не иметь для вас большого значения в данный момент, и это немного более изнурительная дорога, чем переход на общий динамический язык, такой как Perl, Python или Ruby. ... или даже такой язык, как C, который близок к механике фон Неймана машины.
Это не значит, что начинать там с плохой идеи: я был частью эксперимента, где мы научили Пролог всем вещам начинающим программистам, и это сработало на удивление хорошо. Иногда ум новичка действительно помогает. :) Но Scheme как первый язык определенно нетрадиционный путь. Я подозреваю, что Ruby или Python будут более мягкой дорогой.
Действительно ли Схема (или шутка)
язык, который изучают только для
никогда не использовать?
Это язык, на котором вы вряд ли будете наняты для программирования. Однако, пока вы учитесь программировать, и после того, как вы изучили и делаете это в свободное время, вы Вы можете писать код на любом языке, и благодаря Интернету вы, вероятно, сможете найти людей, работающих над проектами с открытым исходным кодом, на любом языке, который вам нужен. :)