Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Посоветуйте, пожалуйста!  (Прочитано 15679 раз)
0 Пользователей и 1 Гость смотрят эту тему.
frol15
Гость
« : 17-02-2009 17:59 » 

Здравствуйте!!!
Я учусь в 9 классе, после 11 класса есть желания идти на программиста
ЯП. не знаю, знаю  немного английский. Посоветуйте, пожалуйста, с чего начать? какой язык нужен для поступления в институт? И вообще англ. язык нужен?
Любой информации буду рад и благодарен!!!
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 17-02-2009 19:00 » 

английский язык при поступлении не пригодится, но пригодится в жизни много раз и всегда Улыбаюсь
Записан

Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 17-02-2009 19:16 » 

А вот с какого ЯП начинать - много копий сломано Улыбаюсь Лучше начинать с простых. В институте, скорее всего, не будет сильно критично знание конкретного языка программирования - главное, чтобы была способность достаточно быстро язык изучить. Может, кто что порекомендует. Я могу только отсоветовать от Java и Basic в качестве первого языка. Также, пожалуй, не стоит сразу браться за C и C++ - имхо, чревато. Пока не нашёл языка, который посчитал бы подходящим для обучения с нуля. Может быть, JavaScript для первых упражнений подошёл был. Или ветеран-Pascal. Не знаю, чесслово Улыбаюсь
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 17-02-2009 22:07 » 

Вад, так Pascal и придуман был для обучения... Правда, минус - чисто процедурный он. Delphi - не очень хороший пример переделки в ООП. Наверно так: начать с Pascal, перейти на С, затем Java и C++. Прочие потребные языки берут начало либо от этих языков, либо имеют с ними общие корни.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 17-02-2009 22:08 » 

Цитата: Вад
Я могу только отсоветовать от Java и Basic в качестве первого языка.
Цитата: Вад
Может быть, JavaScript для первых упражнений подошёл был.
Хм... А почему так? Basic сейчас в версии .NET - строго типизированный, ничем не хуже Java. JavaScript прост, потому что нетипизированный. Тогда уж Ruby.

Вообще я теперь склоняюсь к той мысли, что учить лучше на бумажке. Учить думать. А ЯП - лишь практическая демонстрация правильности мысли (программа работает правильно, если правильно продумана).
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 17-02-2009 22:48 » 

dimka, по-моему, Java приучает слишком полагаться на фреймворк (поэтому же .NET в целом не очень нравится): очень многое из того, что новичок ДОЛЖЕН сделать руками, дьявол в лице фреймворка ему предложит. Возможно, здесь и JavaScript не лучший кандидат.

По идее, для циклических алгоритмов хватит и JS. Для первых подступов к структурам данных - возможно, тоже. Сомневаюсь.
Для детальной работы со структурами данных и рекурсией понадобится что-то строго типизированное и, лучше всего, функциональное (Haskell?). Хотя тот же Pascal тоже мог бы быть неплохим вариантом (ну да, морально устарел малость).
Записан
zubr
Гость
« Ответ #6 : 18-02-2009 05:13 » 

Цитата
Правда, минус - чисто процедурный он. Delphi - не очень хороший пример переделки в ООП.
Хмм... А Delphi (да и BCB) VCL-компоненты, что не в ООП сделаны?
Объектный паскаль отличается от C++ только отсутствием множественного наследия (хотя отсутствие данной возможности компенсируется использованием интерфейсов) и отсутствием шаблонов.
Другой вопрос, что борланд по умолчанию предлагает структуру приложения на основе синглтонов. Но это уже дело программиста, как строить приложение, имхо.
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 18-02-2009 06:32 » 

C - тоже процедурный. Это никого не смущает Улыбаюсь Операционные системы пишут себе как-то без поддержки ООП в языке Улыбаюсь

ООП - это, думается, несколько вперёд забегаем. Нужно ли новичку сразу браться за ООП? Оно, конечно, с точки зрения самой идеи штука не сложная (описывай объект и задавай для него операции), но вся эта архитектурная "муть" с наследованием и инкапсуляцией... Вы хотите, чтобы собирающий первые гербарии биолог-любитель уже думал о хромосомах и выведении гибридов? Да и вообще, структурирование программы должно начинаться тогда, когда учащийся начинает писать достаточно крупные программы, чтобы обоснованно путаться в их коде. ООП в проекте на 3 функции и 150 строк кода, решающем одну простую задачу, смотрится нелепо.

Мне кажется, нужно начинать с разбиения на функции, а чтобы ООП не мешало - лучше брать язык, который его не слишком явно поддерживает (очень уж демонстративно его поддерживают, скажем Java или C#), или не поддерживает вовсе. И когда с необходимостью модульного деления кода уже будет всё ясно, и появятся догадки насчёт необходимости инкапсуляции данных - переходить к ООП. Короче, я за постепенное понимание механизмов. А то мне потом Java-программисты даже ответить не могут на простой вопрос, что такое виртуальные методы Улыбаюсь
« Последнее редактирование: 18-02-2009 06:36 от Вад » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 18-02-2009 08:54 » 

Есть 2 пути обучению программирования: от машины и от человека. Если от машины, то начинать надо вовсе с ассемблера - тогда все механизмы будут понятны. Если от человека, то язык - это лишь средство выражения мысли, а фреймворки этот язык расширяют.

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

Недостаток первого пути - сильная ограниченность выразительных средств языка. Тогда учащийся разучивается думать творчески и воспринимает всё программирование лишь в возможностях имеющегося примитивного языка. Ну и высокая трудоёмкость написания более-менее интересной в прикладном смысле задачи (особенно с GUI нынешних ОС) отталкивает. Очень узкий слой учащихся действительно любит копаться в байтах, работать с железом, оптимизировать. Большинству нравится побыстрее слепить работающее решение (кстати, бизнесу тоже нравится "побыстрее" и "работающее"). Лишь избранные любят дзен-практики подметания двора одним прутиком программирования GUI-приложений на ассемблере Улыбаюсь.

Ну и главная проблема изучения любого первого языка (какого бы высокого уровня он не был) заключается в том, что всё программирование (по выражению Макконелла) видится "в языке", а не "с помощью языка". Поэтому в последнее время я склоняюсь к обучению по бумажке - просто учиться решать проблемы, составлять алгоритмы, проектировать и анализировать системы - делать их строгие описания, разбираться с подробностью описаний. Но этот путь требует опытого наставника, который бы показывал ошибки, в то время как для языка программирования источником "истины" является компьютер, который и показывает, работает ли творение или не работает.
« Последнее редактирование: 18-02-2009 08:56 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 18-02-2009 09:11 » 

А разве такой темы не было? Или даже нескольких? Или поиск не работает?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
frol15
Гость
« Ответ #10 : 18-02-2009 11:15 » 

Алексей1153++, Вад, RXL,
спасибо
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 18-02-2009 12:40 » 

Вообще я теперь склоняюсь к той мысли, что учить лучше на бумажке. Учить думать. А ЯП - лишь практическая демонстрация правильности мысли (программа работает правильно, если правильно продумана).
Типичное преподавательские мнение.

Для того чтобы научиться писать программы на каком либо языке, надо писать эти программы на этом языке, а потом их запускать на исполнение и смотреть что получилось.

А что бы научиться писать более менее хорошо, да и немного почувствовать выбранный язык надо лет 5 - 6 писать на этом языке и не от раза к разу а постоянно. И только по прошествии это срока Ты сможешь сказать: да я немного знаю язык ([C|C++|Java|...]) и примерно представляю на что он способен.

А на бумажке... ну так и выучишь как хорошо карандаш затачивать и не более того, да еще начнешь хорошо разбираться в качестве бумаги.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 18-02-2009 14:02 » 

Цитата: Serg79
А что бы научиться писать более менее хорошо, да и немного почувствовать выбранный язык надо лет 5 - 6 писать на этом языке и не от раза к разу а постоянно. И только по прошествии это срока Ты сможешь сказать: да я немного знаю язык ([C|C++|Java|...]) и примерно представляю на что он способен.
С ума сойти. Мне один студент старшего курса заявил, что на изучение языка JavaScript ему нужно 1,5 месяца, на что я ему ответил, что сам, будучи студентом 4-го курса, язык C# изучил за 1,5 часа. 1,5 месяца нужно человеку, который знает какой-то другой язык, но при этом не знает программирования (что для старших курсов профильной специальности, вообще говоря, странновато).

1-2 года уходит не на изучение языка, на изучение вышеупомянутых фреймворков и библиотек. Причём они, бывает, со временем меняются (в случае C#), а бывает, одновременно существуют очень разнообразные по своему устройству и заложенным принципам использования библиотеки (в случае C++). Параллельно с этим в те же 1-2 года происходит выработка хорошего стиля программирования, осваиваются тонкости парадигмы (например ООП) и прививается культура разработки. Причём обучаемый сам начинает чувствовать потребность в хорошем стиле, поскольку выбранная им система кодирования позволяет ему справляться с трудностями. За этот срок (при наличии у обучаемого профильного высшего образования) могу поручиться, так как у меня такие обучаемые были - стали высококвалифицированными разработчиками (но пока не ведущими - там несколько другие навыки нужны).

Представлять возможности нужно на более высоком уровне, и потом знать, как эти возможности реализовывать на любых языках (в том числе таких, которые эти возможности не поддерживают). Например, меня не затруднит реализовать объектно-ориентированную программу на необъектном C, поскольку я знаю, как работает весь "синтаксический сахар" объектно-ориентированных языков, и знаю, чем можно заменить наследование для достижения такого же эффекта сокращения кода.

Тратить более 1-2 лет на целенаправленное изучение одного и того же фреймворка - пустое занятие, так как они устаревают и заменяются новыми. Обычно изучение нужных деталей происходит с появлением соответствующих производственных задач.

А за 5-6 лет (проведённых с толком и хорошей загрузкой разнообразными задачами, при этом имея до этого ещё 5 лет профильного высшего образования) можно не только кучу языков выучить, но и стать архитектором.

Но вот что действительно вечно, так это культура и навыки мышления, способность понимать новые концепции и способность придумывать их самому, управлять сложностью построений, а также компактно выражать свои мысли на выбранном языке.

Цитата: Serg79
Типичное преподавательские мнение.
Ну вообще обучением как раз занимаются преподаватели. Так что не вижу в моём преподавательском мнении чего-то зазорного. Не знаю людей, которые бы занимались обучением и в этом процессе не играли бы роль преподавателя Улыбаюсь.

Если ты словом "преподаватель" обозначаешь людей, далёких от практики и "реального" производства, то в моём случае ты заблуждаешься.
« Последнее редактирование: 18-02-2009 14:06 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #13 : 18-02-2009 14:08 » 

ух как интересно у вас тут Улыбаюсь))
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #14 : 18-02-2009 14:38 » 

Флудеры!!!

Ещё раз скромно замечу, что эта тема уже не раз поднималась на нашем форуме. Воспользуйтесь поиском и перестаньте сотрясать воздух, путая программирование с языком программирования. ЭТО НЕ ОДНО И ТОЖЕ.

Именно это и следует объяснить товарищу девятикласснику. Хотя это уже много раз разжёвывалось на страницах нашего форума.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 18-02-2009 14:57 » 

Джон, капля по капле...
А девятиклассник уже наверное и забыл о форуме Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #16 : 18-02-2009 15:22 » 

Ещё бы! Когда так загрузили.

А ведь всё гораздо проще - три вопроса, три ответа:

1. BASIC

2. Русский

3. Да

"И фсё!" (с)

зы И сразу в "ЧАВО" перенести Ага
« Последнее редактирование: 18-02-2009 15:23 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #17 : 18-03-2009 13:14 » 

Советую прочитать вот эту книгу:
Информатика. 10-11 класс
А. Г. Гейн, А. И. Сенокосов, Н. А. Юнерман, c. 256     
Издательство Просвещение 2005 год.
Она поможет тебе посмотреть на программирование  с стороны логики, и я надеюсь, поможет избежать ошибок которые делал я в понимании с чего   начинать при изучении программирования.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines