Как научиться программировать?
Модераторы: Letun, Юрий, max-sever, BlackIsle
-
- Участник
- Сообщения: 907
- Зарегистрирован: 01.01.1970 3:00
- Откуда: Belarus
- Контактная информация:
Как научиться программировать?
Очень хочется самому, ещё до поступления в вуз выучить какой-нибудь язык программирования. Но как это можно сделать? Ещё прошлым летом пытался учить Delphi. Была у меня книга Фаронов Delphi 5 учебный курс. Ну я её читал, вроде когда читал всё было понятно (хотя применить некоторые вещи на практике не совсем было понятно). Но на следующий день я уже не помнил ничего из прочитанного, потому что это ни как не закреплялось. С чего нужно начинать, и как правильно учить, чтобы знания сохранялись ни на один день. По какому учебнику лучше учить? Какой подходит для абсолютных чайников в программировании?
PS Начинать я так понял надо с Delphi, я прав?
PS Начинать я так понял надо с Delphi, я прав?
-
- Администратор Judge Dredd
- Сообщения: 17062
- Зарегистрирован: 17.01.2003 11:52
- Контактная информация:
Программирование должно быть средством, а не самоцелью. Если нет желания что-то сделать, а только желание как в "Матрице": "Теперь я знаю кунг-фу!", то лучше и не браться. Захотите чего-нибудь сделать - и проблемы
не будет. Есть ресурс www.manual.ru , на котором два сайта по алгоритмам, а чем именно алгоритмы делать - главное не бейсиком(!).на следующий день я уже не помнил ничего из прочитанного, потому что это ни как не закреплялось
-
- Модератор
- Сообщения: 1487
- Зарегистрирован: 22.01.2004 15:48
- Откуда: Россия, Питер
- Контактная информация:
DrEvil
force Освой Visual C ++, Delphi, Perl, ну и если хочешь занятся web-программированием
то и PHP пригодится...Вообще язык программирования это вещь подбираемая сугубо индивидуально
в зависимости от поставленной цели ,а зубрить их как english or deutch не стоит.
Вот вы к примеру захотели чтобы в вашей любимой гамезе вода выглядела как в реале, а не как в Unreal Assembler и Visual C ++ , шейдеры 3.0 и у вас вся жизь впереди чтобы это сделать
Дерзайте !
а чем именно алгоритмы делать - главное не бейсиком(!).
force Освой Visual C ++, Delphi, Perl, ну и если хочешь занятся web-программированием
то и PHP пригодится...Вообще язык программирования это вещь подбираемая сугубо индивидуально
в зависимости от поставленной цели ,а зубрить их как english or deutch не стоит.
Вот вы к примеру захотели чтобы в вашей любимой гамезе вода выглядела как в реале, а не как в Unreal Assembler и Visual C ++ , шейдеры 3.0 и у вас вся жизь впереди чтобы это сделать
Дерзайте !
-
- Участник
- Сообщения: 262
- Зарегистрирован: 01.01.1970 3:00
- Откуда: Москва
- Контактная информация:
force
Прочитав учебник, ты ознакомился с правилами нового для себя языка, но еще далек от понимания, а не то что бы написания на нем...
Вторым (очень эффективным и полезным) шагом должно стать чтение чужих, качественных исходных текстов чужих готовых программ и их понимание. (Минимальное требование - выполнение упражнений из учебника)
Затем должно прийти умение (при наличии желания) написания (читай - сочинения) своих текстов и их редактирования в соответствии с изученными ранее правилами "грамматики" языка.
В жизни эти процессы идут параллельно. При этом главные учителя - нужда (ей может быть не только указка преподавателя, но и собственное душевное побуждение) и человеческая любознательность. Надеюсь, они у тебя есть.
На мой взгляд, здесь ключевое слово - язык. И имеется полная аналогия с освоением иностранного языка.хочется самому, ещё до поступления в вуз выучить какой-нибудь язык программирования
Прочитав учебник, ты ознакомился с правилами нового для себя языка, но еще далек от понимания, а не то что бы написания на нем...
Вторым (очень эффективным и полезным) шагом должно стать чтение чужих, качественных исходных текстов чужих готовых программ и их понимание. (Минимальное требование - выполнение упражнений из учебника)
Затем должно прийти умение (при наличии желания) написания (читай - сочинения) своих текстов и их редактирования в соответствии с изученными ранее правилами "грамматики" языка.
В жизни эти процессы идут параллельно. При этом главные учителя - нужда (ей может быть не только указка преподавателя, но и собственное душевное побуждение) и человеческая любознательность. Надеюсь, они у тебя есть.
force
Хороший язык для начала - С. Строгий и практически классичекое воплощение основных конструкций программирования. Управляющие конструкции, типы данных, способы адресации. Неограниченные возможности роста (если желание останется).
Простая и достаточно удобная IDE - Borland C++ 3.1. Первое время важно избавиться от виндовых заморочек и работать чисто с языком.
Полезным при изучении программирования является изучение принципов функционирования операционных систем и компиляторов.
Чтобы научится писать программы, нужно писать программы. И ещё нужно очень много читать. Причем желательно на английском. Знание английского языка это обязательное условие.Но как это можно сделать?
Хорошая книжка "Как программировать на С++" Х. М. Дейтел и П. Дж. Дейтел.По какому учебнику лучше учить? Какой подходит для абсолютных чайников в программировании?
Хороший язык для начала - С. Строгий и практически классичекое воплощение основных конструкций программирования. Управляющие конструкции, типы данных, способы адресации. Неограниченные возможности роста (если желание останется).
Простая и достаточно удобная IDE - Borland C++ 3.1. Первое время важно избавиться от виндовых заморочек и работать чисто с языком.
Полезным при изучении программирования является изучение принципов функционирования операционных систем и компиляторов.
-
- вошь-токарь
- Сообщения: 2807
- Зарегистрирован: 01.01.1970 3:00
- Контактная информация:
"Кто сам не умеет - учит других" (С)
Рискну посоветовать начать с веб-программирования.
Не потому что сам сижу в этом болоте, а потому как сам с него начинал (им и довольствуюсь), как мне кажется, оно гораздо проще для новичка, чем обычное.
Если абстрагироваться от "закулис" - вообще за неделю можно "въехать".
Рискну посоветовать начать с веб-программирования.
Не потому что сам сижу в этом болоте, а потому как сам с него начинал (им и довольствуюсь), как мне кажется, оно гораздо проще для новичка, чем обычное.
Если абстрагироваться от "закулис" - вообще за неделю можно "въехать".
Ground Zero
В принципе разницы нет, но web гораздо менее удобно отлаживать и проверять на ошибки, коих на начальном этапе великое число. Кроме того в них гораздо сложнее реализовать такую вещь как ввод данных нужный в экспериментах.
Воообще после С PHP я освоил (как язык) за 1 день (они практически одинаковы по синтаксису), больше ушло на освоение регулярных выражений . Parser и т.п. это специфические "полуязыки" которые дадут немного извращенное понятие о самом программировании.
НО, в принципе самое главное, повторюсь, это программировать. Чем больше, тем лучше. И не очень важно на чём, главное чтобы не на Basic .
В принципе разницы нет, но web гораздо менее удобно отлаживать и проверять на ошибки, коих на начальном этапе великое число. Кроме того в них гораздо сложнее реализовать такую вещь как ввод данных нужный в экспериментах.
Воообще после С PHP я освоил (как язык) за 1 день (они практически одинаковы по синтаксису), больше ушло на освоение регулярных выражений . Parser и т.п. это специфические "полуязыки" которые дадут немного извращенное понятие о самом программировании.
НО, в принципе самое главное, повторюсь, это программировать. Чем больше, тем лучше. И не очень важно на чём, главное чтобы не на Basic .
-
- вошь-токарь
- Сообщения: 2807
- Зарегистрирован: 01.01.1970 3:00
- Контактная информация:
djpython
Давай, ты сначала освоишь, чего-нить напишешь, разберёшься с структуре и логике а потом будешь делать заявления?
Ибо, если так подходить к вопросу, то всё, кроме ассемблера -
Отлаживать, да, действительно не так удобно, но это не недостаток языков, это проблема отсутствия сред разработки. А нет их, потому как языки достаточно просты, чтобы обходиться без таковых сред.
Оно, конечно, на любителя, с чего начинать, но у меня есть друг, который уже четвёртый год учится на программиста. Начинал с Паскаля, сейчас C++.
При попытках затащить его на веб-программирование - он после двух недель сказал, что не понимает логики. Ибо отличия в подходах всё же существенные.
Веб-то оно что - фактически голая обработка текста и работа с ним.
Ну вот этого не надо.Parser и т.п. это специфические "полуязыки"
Давай, ты сначала освоишь, чего-нить напишешь, разберёшься с структуре и логике а потом будешь делать заявления?
Ибо, если так подходить к вопросу, то всё, кроме ассемблера -
."полуязыки"
Отлаживать, да, действительно не так удобно, но это не недостаток языков, это проблема отсутствия сред разработки. А нет их, потому как языки достаточно просты, чтобы обходиться без таковых сред.
Оно, конечно, на любителя, с чего начинать, но у меня есть друг, который уже четвёртый год учится на программиста. Начинал с Паскаля, сейчас C++.
При попытках затащить его на веб-программирование - он после двух недель сказал, что не понимает логики. Ибо отличия в подходах всё же существенные.
Веб-то оно что - фактически голая обработка текста и работа с ним.
Ground Zero
Не принимай близко к сердцу, просто "полуязыки" не в смысле возможностей, но в самом их представлении и способе использования.Ну вот этого не надо.
Давай, ты сначала освоишь, чего-нить напишешь, разберёшься с структуре и логике а потом будешь делать заявления?
Ну не знаю тогда что это за программист такой... Я бы не сказал что Web это обработка текста. Это конечно так, но это всё ерунда. Вэб это кукисы, сессии, авторизации... Вот здесь у меня проблемы, т.к. это уже специфика, с которой лень разбираться (просто нет нужды). Вот эта конференция типичный пример web-программирования. А тексты что... тексты это ерунда.При попытках затащить его на веб-программирование - он после двух недель сказал, что не понимает логики. Ибо отличия в подходах всё же существенные. Веб-то оно что - фактически голая обработка текста и работа с ним.
-
- вошь-токарь
- Сообщения: 2807
- Зарегистрирован: 01.01.1970 3:00
- Контактная информация:
djpython
Ещё раз предлагаю сначала освоить и использовать, а потом делать выводы.
Просто по сути вэб - это ведь текст и русунки, соответственно и веб-програмирование такое же.
А я и не принимаю.Не принимай близко к сердцу, просто "полуязыки" не в смысле возможностей, но в самом их представлении и способе использования.
Ещё раз предлагаю сначала освоить и использовать, а потом делать выводы.
Это тоже по сути текстовые данныеВэб это кукисы, сессии, авторизации...
Просто по сути вэб - это ведь текст и русунки, соответственно и веб-програмирование такое же.
Ну, это, пожалуй, самое сложное (кроме кук). Если это освоишь, остальное вообще детским лепетом покажется.Вот здесь у меня проблемы, т.к. это уже специфика
-
- Участник
- Сообщения: 636
- Зарегистрирован: 01.01.1970 3:00
- Откуда: КИЕВ, Украина
- Контактная информация:
force Правильно написал DrEvil видать слабенькое желание было У меня после нескольких месяцев похождений на курсы программирования где то лет 9 назад (и полного их непонимания, ну разве что чуть чуть(имеются ввиду алгоритмы а нет синтаксис) в основном списывал у соседа:)) просто случилось прозрение насколько это просто, и потом сосед списывал у меня
Так что главное желание, и подход "Разобраться как оно работает - а не заучил и использую"(неплохо бы его применять ко всему) ато есть такие програмеры, у них программы как куча "№;№!";% ну и работоспособность этих программ такая же.
Так что главное желание, и подход "Разобраться как оно работает - а не заучил и использую"(неплохо бы его применять ко всему) ато есть такие програмеры, у них программы как куча "№;№!";% ну и работоспособность этих программ такая же.
-
- вошь-токарь
- Сообщения: 2807
- Зарегистрирован: 01.01.1970 3:00
- Контактная информация:
djpython
Какие детские аналогии? Я почти серьёзно.
Ну авторизировал ты пользователя, отследил права все его.
А дальше что?
Нужно ему страницу показать, а страница это что?
Именно сборка страницы (чтение/запись в БД, генерация/загрузка рисунков, построение списков, применение стилей и т.п.) и есть основное в веб-программировании.
Опять же, регулярные выражения шире всего в веб-программировании используются, а они что по сути?
Обработка, поиск, сортировка текста.
По цели.
Да, всё верно, пока что-либо хобби ты и знать будешь только то, что тебе интересно.
А вот когда приспичит что-то сделать - вот тут, хочешь не хочешь, поймёшь и выучишь почти всё, что для изготовления этого чего-то необходимо.
Только цели дожны быть реальные.
Какие детские аналогии? Я почти серьёзно.
Ну авторизировал ты пользователя, отследил права все его.
А дальше что?
Нужно ему страницу показать, а страница это что?
Именно сборка страницы (чтение/запись в БД, генерация/загрузка рисунков, построение списков, применение стилей и т.п.) и есть основное в веб-программировании.
Опять же, регулярные выражения шире всего в веб-программировании используются, а они что по сути?
Обработка, поиск, сортировка текста.
По цели.
Да, всё верно, пока что-либо хобби ты и знать будешь только то, что тебе интересно.
А вот когда приспичит что-то сделать - вот тут, хочешь не хочешь, поймёшь и выучишь почти всё, что для изготовления этого чего-то необходимо.
Только цели дожны быть реальные.
Ground Zero
Ну и что по твоему
Ну и что по твоему
и есть работа с текстом?! Это работа с БД, с генератором рисунков, и т.д. Это всё равно сказать что основное программирование в игрушках это вывод рисунков. Внутренняя логика к обработке текстов имеет минимальное отношение, основное логика, читай "движок".чтение/запись в БД, генерация/загрузка рисунков
-
- вошь-токарь
- Сообщения: 2807
- Зарегистрирован: 01.01.1970 3:00
- Контактная информация:
djpython
Я говорю не про работу с какими-то модулями, а про работу по выводу текста.
Большинство данных для записи в ту же БД - текст.
Внутренняя логика тоже направлена на его вывод.
И вообще, разве не понятно, что утрирую?
Я говорю не про работу с какими-то модулями, а про работу по выводу текста.
Большинство данных для записи в ту же БД - текст.
Внутренняя логика тоже направлена на его вывод.
И вообще, разве не понятно, что утрирую?
Точнее - их генерацияЭто всё равно сказать что основное программирование в игрушках это вывод рисунков
-
- Участник
- Сообщения: 907
- Зарегистрирован: 01.01.1970 3:00
- Откуда: Belarus
- Контактная информация:
А какую нормальную книгу по Делфи для начинающих псоветуете (можно в электронном виде, можно в бумажном (можно на русском(желательно) или английском языке))? А то моя Учебный курс по Делфи5 (автор Фаронов) для новичков явно не очень подходит. Очень мало примеров, в основном теория. А теория без практики ничего не даёт. Хотя бы какие-нибудь упражнения были.
-
- Старожил
- Сообщения: 1418
- Зарегистрирован: 01.01.1970 3:00
- Откуда: Из матери..
- Контактная информация:
force
Я по Архангельскому(это автор) Делфю точил.. ЛУЧШИЕ книги! Слава ему - я на этом много зарабатывал и многому научил других людей(старшего брата - он щас мне пишет проги под заказ, несколько школьников вытянул за уши по Паскалю и информатике..) Хотя основы получил в ВУЗе, спец. "Программное обеспечение"А какую нормальную книгу по Делфи для начинающих псоветуете
-
- Администратор Judge Dredd
- Сообщения: 17062
- Зарегистрирован: 17.01.2003 11:52
- Контактная информация:
Выдержка из известного анекдота:
Код: Выделить всё
Программист на Паскале. Просматривает пустыню полным перебором. Обнаружив льва, строит вокруг него клетку.
Опытный программист на Паскале. Сортирует пустыню по возрастанию, после чего ищет льва двоичным поиском и строит вокруг него клетку. Если в процессе строительства лев уходит, бросает работу с криком "Range Check Error".
Программист на Дельфи. Пишет во все конференции: "Народ, где взять компонент, который ищет в пустыне льва и помещает его в клетку?"
-
- Модератор
- Сообщения: 2043
- Зарегистрирован: 01.01.1970 3:00
- Откуда: Орбитальная станция "МИР"
- Контактная информация:
Первое, с чего нужно начинать изучение программирования как такового – это алгоритмы, их понимание и умение применить на практике. Есть языки, предоставляющие огромные возможности, никак не ограничивающие фантазию программиста, однако начинать нужно ни в коем случае не с Ассемблера и не с Си. Лучше всего начать изучение программирования с Паскаля и Паскале-подобных языков. Их синтаксис максимально упрощён и близок к обычному английскому языку (а главное – не нужно час рыться в msdn’е для того, чтоб узнать, что надо include’ть для того, чтоб программа просто скомпилировалась), однако все принципы и основные механизмы программирования Паскаль содержит.
Главным достоинством Паскаля (как обычного так и Object’ного) является то, что он очень хорошо продокументирован и позволяет осуществить 100%-ов своих замыслов, не написав ни одной лишней строчки кода. В том же Си, IMHO, главный недостаток заключается в том, что в Source-файле более 10kb практически нереально разобраться без пол-литры. Delphi, напротив, настолько интуитивен, что читается не сложнее книги. Если для каких-то целей Delphi покажется недостаточно (уверен, что в первый год программирования не покажется), то можно подучить ASM и вперёд. На Pascal/Delphi + ASM можно создать всё: от базы данных до сложной игры и операционной системы.
Главным достоинством Паскаля (как обычного так и Object’ного) является то, что он очень хорошо продокументирован и позволяет осуществить 100%-ов своих замыслов, не написав ни одной лишней строчки кода. В том же Си, IMHO, главный недостаток заключается в том, что в Source-файле более 10kb практически нереально разобраться без пол-литры. Delphi, напротив, настолько интуитивен, что читается не сложнее книги. Если для каких-то целей Delphi покажется недостаточно (уверен, что в первый год программирования не покажется), то можно подучить ASM и вперёд. На Pascal/Delphi + ASM можно создать всё: от базы данных до сложной игры и операционной системы.
Вот точно, главно не с АСМа начинать, я вот тяжело на языки высокого уровня переходил с 2-х то лет программинга на АСМе, ёй, до сих пор на высоких языках в голове все сначала прогонятеся как это будет после компиляции выглядить, особенно с шаблонами и классами пришлось туго, все понять никак не мог, как это применить, все аналогии проводил с АСМом...
-
- Модератор
- Сообщения: 2043
- Зарегистрирован: 01.01.1970 3:00
- Откуда: Орбитальная станция "МИР"
- Контактная информация:
ViC
Спокуха! Я тоже с ЦПП начинал (Borland C++ 4, кажется), но после того, как окончательно запутался во всех этих скобках, #include чёрти-что.h , бесконечных повторяющихся подпрограммах и однообразных участках кода, забил на программирование года на два.
Уже потом, когда без программирования было никак не обойтись, начал с Паскаля, постепенно освоив C, TASM, Object Pascal.
ASM - это вообще, отдельная философия. Этот язык хорош в сочетании с C++ или Pascal, но если начинать с него, то придётся весьма не просто.
djpython
Спокуха! Я тоже с ЦПП начинал (Borland C++ 4, кажется), но после того, как окончательно запутался во всех этих скобках, #include чёрти-что.h , бесконечных повторяющихся подпрограммах и однообразных участках кода, забил на программирование года на два.
Уже потом, когда без программирования было никак не обойтись, начал с Паскаля, постепенно освоив C, TASM, Object Pascal.
ASM - это вообще, отдельная философия. Этот язык хорош в сочетании с C++ или Pascal, но если начинать с него, то придётся весьма не просто.
djpython
В GUI'ёвых программах под Delphi, IMHO, можно разобраться даже без комментариев. Там всё настолько логично и очевидно, что трудно не разобраться (я говорю не про Hello, World, а про полноценные программы под Delphi).Не реально разобраться в любом сорсе без комментариев.