Учусь сейчас в 11 классе, готовлюсь к егэ, знакома с Паскалем.
В свободное время хочу начать знакомиться с другим языком.
Какой бы вы посоветовали? Ну и соответствующую литературу для освоения подскажите пожалуйста)
В свободное время хочу начать знакомиться с другим языком.
Какой бы вы посоветовали? Ну и соответствующую литературу для освоения подскажите пожалуйста)
Как вам нравится Паскаль?
А книги... не подскажу - всё что я читал - справочники по сути. Если вдруг выберите asp.net в качестве технологии через n месяцев - могу посоветовать отличную книгу Бельянсе, в которой он с нуля делает сайт.
Интересует и то, и другое, но начать хочу с системного.
К Паскалю отношусь положительно, в классе лучше всех с ним обращаюсь
Kakou ECTb, спасибо за мнение)
Дальше мое личное мнение, никакой объективности.
Обычно сейчас рекомендуют Java для общих целей. Они с C# достаточно похожи, но Java не так сильно завязан на конкретные платформы/продукты.
C++ — для извращенцев, вроде меня, которым именно что нравится язык. Советовать его боюсь, он сложный для изучения и не так сильно уже популярен, как та же Java. С другой стороны, все ведущие IT фирмы имеют много C++ кода, т.е. достигнув успехов в языке вы не будете иметь проблем с работой.
Чистый C — если хотите писать драйвера, заниматься робототехникой или просто вырастить себе бороду.
К слову, C# очень похож синтаксически на C++. Если нравится такой синтаксис — вперед.
Еще есть Object C — это специализация под Apple-продукты, вроде айфона и айпада.
Еще сейчас очень популярен python. На нем сейчас пишется все больше приложений, проблем с работой, опять же, не будет. К тому же, он отлично подходит для веба.
Из популярных остаются php и delphi. Delphi будет учить легче, так как он наследник паскаля.
Но я бы советовал их учить только в том случае, если есть конкретная работа под них. Или если они вам очень понравятся. Но ни в каком другом случае.
Как вывод: либо Java / C#, либо python.
С первых двух начать полезнее, потому что они помогут привыкнуть структурировать код. И заставят разобраться в ООП, а это очень нужно.
вообще питон больше заставляет структурировать код, чем языки с Си-подобным синтаксисом.
miu:miu
Присоединюсь к тем, кто рекомендует питон, в связи с тем, что он довольно универсален.
PHP не рекомендую, ибо если с него начинать, то можно "испортить слух". А при большом опыте программирования можно выучить его за месяц.
Я о нестрогой типизации, в первую очередь. Перейти после этого на строгую - сложнее, чем наоборот.
Девушка уже изучает паскаль, там тоже строгая типизация. Да еще и все статические переменные нужно в начале кода объявлять.
Но если уверены в своих силах на экзамене, тогда рекомендую С++. Большинство современных прикладных языков (Java, C#, php в том числе) имеют синтаксис, похожий на си. Если учиться писать на С++, то потом будет легче перейти на другой язык. На чистом С писать не рекомендую, причины выше.
Что касается литературы, по Паскалю рекомендую Иванову "Основы программирования". Там в конце еще и блок-схемы хорошо изложены.
С++ мы изучаем по Павловской, не идеальный учебник, но плохому он точно не научит
я, кстати, тоже начинал с С++ по Павловской
Но, мне кажется, сейчас начинать с С++ не очень хорошо. Он слишком много позволяет делать, но на нем слишком сложно писать хорошо.
Да и наглядности мало — много проблем с тем же GUI.
Я и не говорила про гуи
Вот делфи дает сразу понятный графический интерфейс, а внутри что? Прихожу я к второкурсникам, говорю, мол будем изучать STL, а они даже не знают, что такое класс! Потому что их учили ООП на делфи.
Я жестко против плюсей. Дело в том, что Си++ пытается набрать в себя возможности практически всех языков. В последнем стандарте даже лямбды есть (что вообще не характерно, для языков, компиллируемых в машинный язык). С первого взгляда это хорошо - один человек может решать любые задачи. Однако если приглядеться, это очень плохо - синтаксис крайне перегружен. Если приходиться работать не одному, а в команде, то случается реальный п**дец. Чтобы просто объявить указатель, нужно объявлять целый вектор с помощью шаблона, со всеми вытекающими последствиями. А если объявляешь традиционно ( int * x = new int
В общем-то, это проблема всех языков, которые стремятся быть универсальными. На самом деле нет и не может быть универсального языка. Каждый хороший язык - это скальпель, которым можно решать определенные проблемы. И куда более круто работают приложения, в которых используются разные языки, для решения разных проблем. Взять хоть игру Civilization 4, в которой основной скрипт написан на питоне, а всякие графические функции, которые требуют скорости, написаны на Си.
Однако все-таки если есть желание задрочиться по С++, есть замечательный учебник Бьерна Страуструпа создателя этого языка. В общем-то он до сих пор остается наилучшим.
Против явы тоже могу высказаться. Вроде бы язык кроссплатформенный, однако все равно приходится думать, что под разными платформами есть разные фичи и баги, о которых приходится думать и, соответственно, как-то их обходить и использовать, что убивает всю кроссплатформенность. А, уж извините, я с тем же успехом и на Си могу писать с помощью препроцессора так, чтобы можно было скомпилить рабочее приложение и под винду, и под линь, и под iOS, и под Android и т.д.
так я выше и писал, С++ — если очень нравится и очень хочется.
Мне нравится, я вполне доволен.
+1
Еще рекомендую посмотреть (изучать не рекомендую) javasсript. Крайне интересный язык, довольно сильно отличающийся от большинства нынешних популярных языков.
Питон хорош с той точки зрения, что позволяет посмотреть разные парадигмы программирования. Но решать ЕГЭ на нем я бы не рекомендовала по той простой причине, что комиссия, проверяющая часть С, может его просто не знать. Не спешите ругать тех, кто туда входит, универсалов, знающих по 10-15 языков, по факту не существует. Комиссия составляется из школьных учителей информатики и преподавателей вузов, каждую работу проверяют минимум 2 человека. И если попадется совсем незнакомый язык, то могут на синтаксические мелкие недочеты закрыть глаза, а могут взять учебник по языку и начать прикапываться к каждой запятой. И хрен чего докажешь на апелляции.
Егэ другая тема, я видимо не понял, что второй язык нужен для ЕГЭ. Сейчас посмотрю примеры заданий, и выскажу свое мнение.
В общем-то насколько я понял, чтобы сдать ЕГЭ необходимы базовые знания различных алгоритмов и умение их применять. Так что покупаем книжку по алгоритмам, изучаем, решаем задания на любом языке, который нравится (ну или который требуется на егэ) и потом смело идем сдавать.
Кстати, заданий с использованием ООП я не встретил, так что структурных языков вполне достаточно.
Спасибо всем, кто высказался по моему вопросу))
Знание языка для сдачи ЕГЭ не требуется.В общем-то насколько я понял, чтобы сдать ЕГЭ необходимы базовые знания различных алгоритмов и умение их применять.
Ну да
Почему не советовал бы:
1) то, что ты узнаешь сейчас из книжек, скорей всего вы всё равно будете проходить в вузе
2) "современное" программирование основывается не только на знании синтаксиса, но и, например, специфике и возможностей ОС. Понимание принципов функционирования компа, сетей, взаимодействия программ друг с другом полезно (хотя и необязательно) для программиста. Самостоятельно такой пласт знаний освоить непросто, это программа пары лет хорошего универа IT-шного направления. Вот после получения такой базы имеет смысл (многому вуз всё равно не научит) браться за новые языки, приобретать дополнительные знания путём чтения книжек для всяких гуру для повышения своего профессионального уровня.
Поэтому:
- лучше почитать то, что в вузе не узнаешь, и это будет полезно и понятно для начинающего, не имеющего большой базы. Проблема в том, что книги, которые рассказывают о "программировании вообще", как правило, предполагают, что синтаксис C/C++ читателю известен и примеры приводят обычно на нём...
С такой точки зрения можно попробовать другие парадигмы программирования, например, логическое или функциональное. Здесь я могу порекомендовать язык ПРОЛОГ, версия ПРОЛОГ-Д проста в освоении. Для егэ это не нужно совсем, а шаблон императивного программирования рвет изрядно. Плюс появляется возможность увидеть другие методы программирования, посмотреть, как одна и та же задача может быть решена, исходя из разных концепций. Это будет мощное личностное развитие, к тому же даже в хорошем ИТвузе логическим языкам уделяется незаслуженно мало внимания.
В общем и целом книга, насколько я могу пока что судить, делает упор именно на теорию и практику написания и работы программ, а не на язык. И хотя все упражнения и примеры в книге приводятся на языке scheme, оный был выбран, как я понял, в основном из-за элементарности синтаксиса, который, однако, позволяет выделывать много всяких интересных штук. Ознакомиться с книгой можно тут.
Про Бауманку могу сказать только про ИУ4. Не советую =) Тем более, что (цитата): "Мы, на ИУ4, программированию не учим"
И каково ваше мнение об ИУ Бауманки и ВМК МГУ?)
Могу сказать про ИУ5, ИУ7, ИУ8.
ИУ5 - программировать научат на первых курсах, не знаю, насколько хорошо, но что примечательно, на старших - несколько курсовых проектов, связанных с программированием, глубоко (по сравнению с другими факультетами) и основательно проходят базы данных.
ИУ7 - ну, само собой понятно
ИУ8 - год программирования (меньше всего из трёх перечисленных), дальше программирования почти не касаются, был курс компьютерной графики на втором курсе (не знаю, присутствует ли сейчас в программе), но этого, в принципе, достаточно для дальнейшего самостоятельного развития. Некоторые вполне работали программистами, хотя специальность совершенно другая по сути.
А лучше всего смотреть учебные планы.
Реально показывают, чему вас собираются учить.
По поводу языка. C или С# наверно стоит посмотреть. Мне вот больше C# нравится.
Книги Кнут, Вирт - классика. Не по языкам, но хорошо разбираются алгоритмы.
C я учила по Кернигану. Но там про чистый С написано. Но написано хорошо.