Другие языки программирования и технологии

С какого языка стоит начать обучение программирования?

Примерные базовые основы программирования я изучил самостоятельно, но структурному мышлению я так и не научился, поэтому сейчас вынужден записаться на курсы, где мои мозги вправят в нужное русло (курсы ориентированы для молодежи, мне 17). Так вот курсов сейчас немеренное количество, каких языков только нет. Самостоятельно изучал С++, остановился потому что, когда руки доходили до практики, у меня возникали мысли: "и что? я это уже должен знать? ". Эти же руки опускались, несмотря на то, что в теории было абсолютно все понятно. Так вот собственно сейчас мне нужно не прогадать с языком для обучения, критерии выбора слоняются между С++/С/JAVA. Для чего конкретно? разработка приложений под win и osx(имеется платформа OS X) , и обучение структурному мышлению. Впоследствие, остальные необходимые языки буду изучать самостоятельно. Объясните недоновичку, стоит ли изучать С++, если не знаешь С, какие языки сейчас преобладают на рынке, и т. д. Огромное спасибо ответевшим!
Поддерживаю Soul. Кроме того, надо уточнить, что изучать надо не разные языки, а разные парадигмы программирования. Разные языки в рамках одно парадигмы (например, функциональные или объектно-ориентированные) изучаются сравнительно легко. А вот усвоить чуждую парадигму трудно. Особенно если мозги "закостенели" после изучения нескольких однотипных языков подряд.

Например, Ларри Уолл (создатель языка Perl) считает, что каждый программист обязан знать как минимум пять языков. Разумеется, как можно более разных. Еще я слышал такую мысль: надо изучать каждый год новый язык программирования. Не обязательно до уровня профи, но хотя бы общее представление получить не помешает. Очень часто можно фишки одного языка использовать в другом. Например, язык C не является ни функциональным, ни объектно-ориентированным, ни стековым, но при очень большом желании на нем можно программировать в любом из этих стилей.

Я бы посоветовал для начала этот курс прослушать - http://hexlet.org/course/sicp/

Если бы я начинал изучение программирования сейчас, то мой список 5 языков был бы таким:

1. C (не С++ и не C#, первыми языками они ни в коем случае не должны быть, ИМХО! ) .

2. Factor (или любой другой стековый язык) .

3. Racket (или любой другой диалект Лиспа) . Можно заменить на F# (или любой другой язык функционального программирования) , если это по каким-то причинам удобнее. Кстати, вот очень неплохой видеокурс - http://www.intuit.ru/studies/courses/471/327/info

4. Java, C# или Objective-C (в крайнем случае C++).

5. JavaScript или Lua (прототипное программирование).
Максим Гладышев
Максим Гладышев
15 444
Лучший ответ
Если языки вы изучаете с конкретной целью, то ничтоже сумняшеся руководствуясь принципом "уметь будем потом" начинайте работать. Копать при этом надобно не в сторону языков и их богатого (слишком богатого :) функционала, а в сторону решения конкретных задач посредством конкретных инструментов.
В идеале надо воспринимать все языки как диалекты той или иной парадигмы, а сами парадигмы как подходы к одному и тому же явлению с разных сторон.

А также:
Научиться мышлению нельзя. Можно только произвести его "тюнинг". Зачем? Для чего?
Само вообще стремление писать код годный и красивый обычно является чертой характера. Можно выработать это в себе – будет весьма полезно.
жаба
Си, просто си без плюсов. Для изучения обязателен. Преобладают на рынке совершенно различные языки, включая уникальные, но база везде требуется. Не изучая этот язык, из статуса "кодера" никогда не выбраться в сторону статуса "программиста"
Судя по Яндекс. Работе на рынке преобладает C#. Сомневаюсь, что учить С для изучения C++ нужно. Я, например, C не учил.
Нет смысла изучать язык программирования, если он совсем не нужен, просто надеясь, что легче будет даваться другой.
Разные языки программирования - для разных задач.

Для большинства задач разработки под Windows лучше всего подходит C#.
Evgeniy Nozhkin
Evgeniy Nozhkin
15 749
Изучай С++. Он такой же как Си, но с классами (т. е. чуть больше учить) . Теория мало значит, если не решать задачи.
То, какие языки сейчас более востребованные не очень важно. Важно хоть один язык знать на отлично.
Руслан Аюпов
Руслан Аюпов
5 430
С++ должен первым изучаться. нахрен этот С кому сдался.