13:31

Учусь сейчас в 11 классе, готовлюсь к егэ, знакома с Паскалем.
В свободное время хочу начать знакомиться с другим языком.
Какой бы вы посоветовали? Ну и соответствующую литературу для освоения подскажите пожалуйста)

@темы: Вопрос, Точка зрения

Комментарии
17.09.2011 в 13:56

Что именно вы хотите? Т.е. чего вы учите программирование, кем хотите себя видеть (где учится, кем работать)? Вам интереснее веб-программирование (сайты разные, форумы, написать свой твиттер) или прикладное (м.б. системное)?
Как вам нравится Паскаль?
17.09.2011 в 14:11

After silence that which comes nearest to expressing the inexpressible is music.
C# )Я с Паскаля на него и переходил. А дальше можно иметь ветвление или уже в веб или в прикладное.

А книги... не подскажу - всё что я читал - справочники по сути. Если вдруг выберите asp.net в качестве технологии через n месяцев - могу посоветовать отличную книгу Бельянсе, в которой он с нуля делает сайт.
17.09.2011 в 14:58

Феаринг, я собираюсь поступать в вуз на специальность, связанную с IT. Куда именно, еще не решила, надо экзамены написать на высокий балл. Но предпочтительнее упор на программирование и математику.
Интересует и то, и другое, но начать хочу с системного.
К Паскалю отношусь положительно, в классе лучше всех с ним обращаюсь :)
Kakou ECTb, спасибо за мнение)
17.09.2011 в 15:09

создаю островки хаоса в пучине порядка
Я бы посоветовал делать упор не на язык, а на предметную область, т.е. как уже написали, определись, что больше по душе: веб-разработка, разработка игр, системное программирование и т.д.? А сам процесс кодинга почти на всех языках похож - это уже дело ремесленническое =)
17.09.2011 в 15:11

Торговец знаниями
Python.
17.09.2011 в 15:12

[The personal reward of helping someone else win is better than getting a trophy yourself. ]
с++ \php , начать советую с первого.
17.09.2011 в 15:13

miu:miu,
Дальше мое личное мнение, никакой объективности.

Обычно сейчас рекомендуют Java для общих целей. Они с C# достаточно похожи, но Java не так сильно завязан на конкретные платформы/продукты.
C++ — для извращенцев, вроде меня, которым именно что нравится язык. Советовать его боюсь, он сложный для изучения и не так сильно уже популярен, как та же Java. С другой стороны, все ведущие IT фирмы имеют много C++ кода, т.е. достигнув успехов в языке вы не будете иметь проблем с работой.
Чистый C — если хотите писать драйвера, заниматься робототехникой или просто вырастить себе бороду. :)
К слову, C# очень похож синтаксически на C++. Если нравится такой синтаксис — вперед.
Еще есть Object C — это специализация под Apple-продукты, вроде айфона и айпада.

Еще сейчас очень популярен python. На нем сейчас пишется все больше приложений, проблем с работой, опять же, не будет. К тому же, он отлично подходит для веба.

Из популярных остаются php и delphi. Delphi будет учить легче, так как он наследник паскаля.
Но я бы советовал их учить только в том случае, если есть конкретная работа под них. Или если они вам очень понравятся. Но ни в каком другом случае.

Как вывод: либо Java / C#, либо python.
С первых двух начать полезнее, потому что они помогут привыкнуть структурировать код. И заставят разобраться в ООП, а это очень нужно.
17.09.2011 в 15:43

I wait Caturday. I wait Catnarok.
Феаринг
вообще питон больше заставляет структурировать код, чем языки с Си-подобным синтаксисом.
miu:miu
Присоединюсь к тем, кто рекомендует питон, в связи с тем, что он довольно универсален.
PHP не рекомендую, ибо если с него начинать, то можно "испортить слух". А при большом опыте программирования можно выучить его за месяц.
17.09.2011 в 16:13

ДихлофосЪ,
Я о нестрогой типизации, в первую очередь. Перейти после этого на строгую - сложнее, чем наоборот.
17.09.2011 в 19:58

I wait Caturday. I wait Catnarok.
Феаринг
Девушка уже изучает паскаль, там тоже строгая типизация. Да еще и все статические переменные нужно в начале кода объявлять.
17.09.2011 в 22:38

На свете есть всего 10 разновидностей людей. Те, которые понимают бинарный код, и те, кто не понимают
Как уже выше сказали, необходимо исходить из целей. Что для Вас важнее -- изучить более интересный язык или сдать егэ на как можно более высокий балл? Без умения программировать, но с пониманием кода и алгоритмов можно получить баллов 80. Если этого достаточно, то смело беритесь за любой язык, если хочется сдать лучше, то я бы еще подумала, прежде чем с паскаля уходить. Да, это далеко не лучший язык, но число баллов в зелененькой бумажке важнее. С учетом высокой общей нагрузки в 11 классе вряд ли получится изучить два языка очень хорошо, просто не хватит времени.

Но если уверены в своих силах на экзамене, тогда рекомендую С++. Большинство современных прикладных языков (Java, C#, php в том числе) имеют синтаксис, похожий на си. Если учиться писать на С++, то потом будет легче перейти на другой язык. На чистом С писать не рекомендую, причины выше.

Что касается литературы, по Паскалю рекомендую Иванову "Основы программирования". Там в конце еще и блок-схемы хорошо изложены.
С++ мы изучаем по Павловской, не идеальный учебник, но плохому он точно не научит :) недавно был пост с книжками, поищите по сообществу. К Павловской идет 3 практикума, 2 родных и еще Лаптев, Морозов. Если хотите изучать ООП, он ИМХО лучше родного. И все это можно найти в сети :)
17.09.2011 в 22:49

alba-longa,
я, кстати, тоже начинал с С++ по Павловской :)
Но, мне кажется, сейчас начинать с С++ не очень хорошо. Он слишком много позволяет делать, но на нем слишком сложно писать хорошо.
Да и наглядности мало — много проблем с тем же GUI.
17.09.2011 в 23:04

На свете есть всего 10 разновидностей людей. Те, которые понимают бинарный код, и те, кто не понимают
Феаринг, а я начинала вообще без учебников, мы первым набором нашей специальности были, так что все кусочками и самостоятельно :) учебник Павловской мне уже потом понравился, когда работать начала. По крайней мере, там есть система, которая позволяет быстрее языком овладевать, и она настроена на переход с нашей школьной системы.
Я и не говорила про гуи :) мне кажется, главное при обучении программированию -- развитие логического мышления и понимания основных структур языка, потом знание структур данных и понимание ООП. Кто знает, что станет популярным через 3-4 года, когда человек пойдет работать? С хорошей базой самостоятельной изучение всяких интерфейсов не проблема :) Да и в целом работа в сфере ИТ по умолчанию предполагает постоянное самосовершенствование, надо быть к этому готовым.
Вот делфи дает сразу понятный графический интерфейс, а внутри что? Прихожу я к второкурсникам, говорю, мол будем изучать STL, а они даже не знают, что такое класс! Потому что их учили ООП на делфи.
18.09.2011 в 00:10

I wait Caturday. I wait Catnarok.
Сейчас я выскажу то, что возможно вызовет холивар. Так что прошу наиболее адекватно воспринять это сообщение.
Я жестко против плюсей. Дело в том, что Си++ пытается набрать в себя возможности практически всех языков. В последнем стандарте даже лямбды есть (что вообще не характерно, для языков, компиллируемых в машинный язык). С первого взгляда это хорошо - один человек может решать любые задачи. Однако если приглядеться, это очень плохо - синтаксис крайне перегружен. Если приходиться работать не одному, а в команде, то случается реальный п**дец. Чтобы просто объявить указатель, нужно объявлять целый вектор с помощью шаблона, со всеми вытекающими последствиями. А если объявляешь традиционно ( int * x = new int;), то подкладываешь свинью всей команде, потому что это тяжело для понимания другим человеком и отладки.
В общем-то, это проблема всех языков, которые стремятся быть универсальными. На самом деле нет и не может быть универсального языка. Каждый хороший язык - это скальпель, которым можно решать определенные проблемы. И куда более круто работают приложения, в которых используются разные языки, для решения разных проблем. Взять хоть игру Civilization 4, в которой основной скрипт написан на питоне, а всякие графические функции, которые требуют скорости, написаны на Си.
Однако все-таки если есть желание задрочиться по С++, есть замечательный учебник Бьерна Страуструпа создателя этого языка. В общем-то он до сих пор остается наилучшим.

Против явы тоже могу высказаться. Вроде бы язык кроссплатформенный, однако все равно приходится думать, что под разными платформами есть разные фичи и баги, о которых приходится думать и, соответственно, как-то их обходить и использовать, что убивает всю кроссплатформенность. А, уж извините, я с тем же успехом и на Си могу писать с помощью препроцессора так, чтобы можно было скомпилить рабочее приложение и под винду, и под линь, и под iOS, и под Android и т.д.
18.09.2011 в 00:16

На свете есть всего 10 разновидностей людей. Те, которые понимают бинарный код, и те, кто не понимают
ДихлофосЪ, а можете что-нибудь человеку порекомендовать? Так, мне просто любопытно :)
18.09.2011 в 00:45

ДихлофосЪ,
так я выше и писал, С++ — если очень нравится и очень хочется.
Мне нравится, я вполне доволен.
18.09.2011 в 08:53

Python.

+1
18.09.2011 в 12:36

I wait Caturday. I wait Catnarok.
alba-longa, я уже писал выше про питон. Можно руби.
Еще рекомендую посмотреть (изучать не рекомендую) javasсript. Крайне интересный язык, довольно сильно отличающийся от большинства нынешних популярных языков.
18.09.2011 в 13:13

На свете есть всего 10 разновидностей людей. Те, которые понимают бинарный код, и те, кто не понимают
ДихлофосЪ, вы так все ругаете, вот мне и стало интересно, есть ли что-то, о чем можете сказать хоть пару добрых слов =)
Питон хорош с той точки зрения, что позволяет посмотреть разные парадигмы программирования. Но решать ЕГЭ на нем я бы не рекомендовала по той простой причине, что комиссия, проверяющая часть С, может его просто не знать. Не спешите ругать тех, кто туда входит, универсалов, знающих по 10-15 языков, по факту не существует. Комиссия составляется из школьных учителей информатики и преподавателей вузов, каждую работу проверяют минимум 2 человека. И если попадется совсем незнакомый язык, то могут на синтаксические мелкие недочеты закрыть глаза, а могут взять учебник по языку и начать прикапываться к каждой запятой. И хрен чего докажешь на апелляции.
18.09.2011 в 15:01

I wait Caturday. I wait Catnarok.
alba-longa, зачем 10-15? Два-три вполне достаточно. Связка С+python+haskell, например, позволяет покрыть вообще большую часть задач, которые только могут прийти в голову.
Егэ другая тема, я видимо не понял, что второй язык нужен для ЕГЭ. Сейчас посмотрю примеры заданий, и выскажу свое мнение.
18.09.2011 в 15:19

I wait Caturday. I wait Catnarok.
Посмотрел. Знание языка для сдачи ЕГЭ не требуется. Под знанием языка я подразумеваю знание не только синтаксиса, но и умение пользоваться библиотеками, фреймворками и прочим. Синтаксис почти любого языка можно изучить за месяц.
В общем-то насколько я понял, чтобы сдать ЕГЭ необходимы базовые знания различных алгоритмов и умение их применять. Так что покупаем книжку по алгоритмам, изучаем, решаем задания на любом языке, который нравится (ну или который требуется на егэ) и потом смело идем сдавать.
Кстати, заданий с использованием ООП я не встретил, так что структурных языков вполне достаточно.
18.09.2011 в 18:49

Нет-нет-нет, на егэ я буду писать на Паскале. Я другим языком интересуюсь сейчас из интереса + на будущее.
Спасибо всем, кто высказался по моему вопросу))
18.09.2011 в 21:07

На свете есть всего 10 разновидностей людей. Те, которые понимают бинарный код, и те, кто не понимают
ДихлофосЪ, я имела в виду, для проверки надо знать несколько языков :) коллеги говорили, что в работах около 10 встречались в сумме, но каждый год попадается в области пара товарищей, которые пишут на том, чего не знает комиссия. Наши шли по первому пути (т.е. смотрели примерно синтаксис и логику), но судя по тому, что мне рассказывали про другие регионы, проверяющие бывают разные.

Знание языка для сдачи ЕГЭ не требуется.В общем-то насколько я понял, чтобы сдать ЕГЭ необходимы базовые знания различных алгоритмов и умение их применять.
Ну да :) с такой точки зрения С или С++ выгоднее, т.к. с них проще переходить на другие языки. Но можно и паскаль. Или вообще русский алгоритмический.
19.09.2011 в 09:37

Я бы вообще бы не советовал бы школьнику в 11-ом классе. Лучше налечь на математику олимпиадного уровня, больше пригодится для сдачи ЕГЭ.

Почему не советовал бы:

1) то, что ты узнаешь сейчас из книжек, скорей всего вы всё равно будете проходить в вузе
2) "современное" программирование основывается не только на знании синтаксиса, но и, например, специфике и возможностей ОС. Понимание принципов функционирования компа, сетей, взаимодействия программ друг с другом полезно (хотя и необязательно) для программиста. Самостоятельно такой пласт знаний освоить непросто, это программа пары лет хорошего универа IT-шного направления. Вот после получения такой базы имеет смысл (многому вуз всё равно не научит) браться за новые языки, приобретать дополнительные знания путём чтения книжек для всяких гуру для повышения своего профессионального уровня.

Поэтому:

- лучше почитать то, что в вузе не узнаешь, и это будет полезно и понятно для начинающего, не имеющего большой базы. Проблема в том, что книги, которые рассказывают о "программировании вообще", как правило, предполагают, что синтаксис C/C++ читателю известен и примеры приводят обычно на нём...
19.09.2011 в 12:48

На свете есть всего 10 разновидностей людей. Те, которые понимают бинарный код, и те, кто не понимают
Trotil, во многом согласна. Но что если человеку хочется изучать что-то не из математики?
С такой точки зрения можно попробовать другие парадигмы программирования, например, логическое или функциональное. Здесь я могу порекомендовать язык ПРОЛОГ, версия ПРОЛОГ-Д проста в освоении. Для егэ это не нужно совсем, а шаблон императивного программирования рвет изрядно. Плюс появляется возможность увидеть другие методы программирования, посмотреть, как одна и та же задача может быть решена, исходя из разных концепций. Это будет мощное личностное развитие, к тому же даже в хорошем ИТвузе логическим языкам уделяется незаслуженно мало внимания.
19.09.2011 в 14:28

Вот уже пошла тема айтишных вузов... А что это за вузы, собственно? И каково ваше мнение об ИУ Бауманки и ВМК МГУ?)
19.09.2011 в 17:55

Пау-чок
iTishka, я разделяю не раз уже высказанную тут мысль, что каждый язык хорош в своей предметной области. Поэтому у меня велик соблазн посоветовать книгу "Структура и интерпретация компьютерных программ". Но я опасаюсь сесть в лужу, потому как сам её приобрёл и начал по ней заниматься совсем недавно, и может быть это вовсе не то, что вам может понадобиться.
В общем и целом книга, насколько я могу пока что судить, делает упор именно на теорию и практику написания и работы программ, а не на язык. И хотя все упражнения и примеры в книге приводятся на языке scheme, оный был выбран, как я понял, в основном из-за элементарности синтаксиса, который, однако, позволяет выделывать много всяких интересных штук. Ознакомиться с книгой можно тут.

Про Бауманку могу сказать только про ИУ4. Не советую =) Тем более, что (цитата): "Мы, на ИУ4, программированию не учим"
22.09.2011 в 10:16

Аккаунт для использования в публичных местах. Основной ник - Trotil.
Забыл ответить, как бывший студент Бауманки...

И каково ваше мнение об ИУ Бауманки и ВМК МГУ?)

Могу сказать про ИУ5, ИУ7, ИУ8.

ИУ5 - программировать научат на первых курсах, не знаю, насколько хорошо, но что примечательно, на старших - несколько курсовых проектов, связанных с программированием, глубоко (по сравнению с другими факультетами) и основательно проходят базы данных.
ИУ7 - ну, само собой понятно
ИУ8 - год программирования (меньше всего из трёх перечисленных), дальше программирования почти не касаются, был курс компьютерной графики на втором курсе (не знаю, присутствует ли сейчас в программе), но этого, в принципе, достаточно для дальнейшего самостоятельного развития. Некоторые вполне работали программистами, хотя специальность совершенно другая по сути.

А лучше всего смотреть учебные планы.
Реально показывают, чему вас собираются учить.
22.09.2011 в 10:59

I wait Caturday. I wait Catnarok.
Мне кажется все зависит от научника. Я, например, вообще учусь на физфаке МГУ, но занимаюсь разработкой GRID, изучаю всякие интересные программистские штучки. А кто-то после ВМиКа выходит совершенным рукожопищем в плане программирования.
22.09.2011 в 12:09

А еще я в нее кушаю.
Как бы влезу. Лучше налегай на математику. В ВУЗах на ИТ - специальности ее очень много.
По поводу языка. C или С# наверно стоит посмотреть. Мне вот больше C# нравится.
Книги Кнут, Вирт - классика. Не по языкам, но хорошо разбираются алгоритмы.
C я учила по Кернигану. Но там про чистый С написано. Но написано хорошо.