Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - Хочу научится программированию, с чего начать?

Ответить
Настройки темы
Теория - Хочу научится программированию, с чего начать?

Аватара для fans

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Хотелось научится программированию, раньше таких возможностей небыло, и приходилось изучать только Бейсик с чего начать?
Направление хочу выбрать программирование: обектно-инегрированные, HTML, и java. Дайте пожалуйста совет с чего начать? Чтоб не заморачиватся?

Отправлено: 14:51, 16-03-2008

 

Местный радиофизик


Сообщения: 176
Благодарности: 2

Профиль | Отправить PM | Цитировать


А почему бы не начать с WSH javascript? Преимущества: не требуется установка никаких программ, полезен для автоматизации задач в Винде, потом можно к нему прикрутить ХТМЛ-морду, изучение ознакомит с си-подобными языками?

против ассемблера, как начинавший с него 20 лет назад, скажу, что он резко затормозит объектно-ориентированное мышление, поставив процедурный подход во главе всего, и потом будет трудно переучиться (у меня в своё время ушло много сил на переход от процедурного мышления к объектному, и до сих пор тяжело, жалею, что когда ООП только появлялось я на него махнул рукой, дескать, зачем эти все классы, если процедуры и функции могут всё? Теперь вижу, насколько заблуждался.) Это сугубо мой личный опыт, просто делюсь, у кого-то может быть было всё прямо наоборот. В + к ассемблеру: будет потом легко программировать микроконтроллеры (это такие штучки, которые управляют современной бытовой техникой, типа стиральных машин, и не только).

Отправлено: 08:43, 18-07-2008 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


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

ООП позволяет хорошо упорядочить программу. В больших проектах это помогает сэкономить программистам много сил как при создании так и при доработках. ООП коммерчески выгодно для компаний, так как можно заниматься продажей "черных ящиков" (классов и интерфейсов). Для мелких же программ, кроме хорошего упорядочивания, преимуществ ООП не вижу, да и правильно реализованные процедуры СП всегда можно сделать методом класса. Упорядочиванию и созданию грамотных классов для программы нужно учиться: нужно уметь рассуждать, определять главные объекты для программы, связи внутри объекта и между объектами. Теоретическое проектирование классов напрямую даже не связано с программированием. По сути создаются целые системы из классов. По сути ООП это реализация грамотно спроектированной системы. Лучше использовать СП, чем создавать плохо упорядоченный набор классов.

С чего начать изучать программирование?
Нужно начинать не с какого-либо языка.
Нужно начать с теоретической подготовки, которая включает два этапа:
1. умение выделять алгоритмы
2. знание теоретических структур данных
3. знание, как работает компоненты компьютера на низком уровне
Высший пилотаж, если это знание уже есть, когда изучается ЯП. Иначе понимание на профессиональном уровне ЯП будет сильно затруднено. Чтение книг Строустропа или Липпмана по С++ "для начинающих" лучше и не начинать, если нет хорошей теоретической подготовки по структурам данным. Кернигана и Ричи тоже лучше читать, имея хорошую подготовку.

Причем читая книгу, нужно параллельно создавать свои программы на основе изученного материала. Это дает очень большой эффект.

-------
Ehhh.. what's up, doc?..

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:53, 18-07-2008 | #22


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Согласен с mrcnn, что прежде необходимо подтянуть аналитический аппарат, а уже потом браться за инструменты.
Насчёт ООП, то Линус Торвальдс даже сказал что оно менее значимое для программирования нежели Визуал Бейсик
Цитата Linus about Visual Basic:
“…For example, I personally believe that „Visual Basic” did more for programming than „Object-Oriented Languages” >>
Его высказывание, как я думаю, имело ввиду, что Визуал Бейсик больше людей заинтересовал заниматься программированиям, нежели ООП.
А сразу на С++ вообще не стоит учится программировать, ведь недаром до сих пор в учебных заведениях обучают на Паскале, С... Это хорошо структурированные языки, в которых каждая строка кода имеет единственное точно определенное значение. С опытом когда будут видны недостатки этих языков при написании больших программ можно будет подумать и о переходе на тот же С++.
Ещё, возможно при очень большом желании и терпении, стоит рассмотреть Ассемблер. Знаю что это не очень популярно, но исторически он был раньше языков высокого уровня, так что начинающий программист пройдёт путь эволюции в программировании, лишь бы знакомство не отбило желание идти дальше.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:16, 18-07-2008 | #23


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Я сегодня решил заняться ассемблером. Начал читать книгу "The art of assembly"(на англ.). Пока правда голая теория, в т.ч. касающаяся булевой алгебры, и ее использования в создании электронных цепей. Оказывается, сложение реализуется булевыми операциями.

-------
Ehhh.. what's up, doc?..


Отправлено: 17:54, 18-07-2008 | #24


Местный радиофизик


Сообщения: 176
Благодарности: 2

Профиль | Отправить PM | Цитировать


Эдак вы далеко зайдёте. Ещё скажите, что для того, чтобы сделать программу для тестов (аля окошко, и ГУИ-интерфейс) нужно изучить структурное программирование, а до него - ассемблер, а до ассемблера пройти курс дискретной математики, который трудно понять без курса "линейки". у кого на это всё хватит терпения?и это при том, что при переходе с ассемблера к структурному нужно отучиться от "GOTO", а при переходе от структурного к ООП начисто переломать программистское мышление:

Насчёт необходимости ООП. Да, с т.зрения скриптописания на БАШе всё очень красиво, а на практике, современная среда под виндоус (типа Билдера) НАВЯЗЫВАЕТ ООП (или же мы навеки привязыны к консольным программам). И любой проект средней и высокой сложности перестаёт быть управляемым без ООП (или же требуется гений программиста).

поэтому возможен и такой путь: параллельное изучение алгоритмов (блок-схемы, те, что прямоугольники да ромбики), и ПАРАЛЛЕЛЬНОЕ изучение классов, диаграмм, свойств, учиться выделять классы в поставленной задаче.

Отправлено: 19:38, 18-07-2008 | #25


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата:
современная среда под виндоус НАВЯЗЫВАЕТ ООП
Цитата:
любой проект средней и высокой сложности перестаёт быть управляемым без ООП (или же требуется гений программиста).
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? Проект операционной системы это проект высокой сложности. И винду же написали без ООП!

-------
Ehhh.. what's up, doc?..


Отправлено: 20:37, 18-07-2008 | #26


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата mrcnn:
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? »
Я слышал мнение, что она на Бейсике написана. Т.ч. тут спорно всё...

Отправлено: 21:04, 18-07-2008 | #27


Аватара для Котяра

Ветеран


Сообщения: 2907
Благодарности: 331

Профиль | Отправить PM | Цитировать


Цитата fans:
Хотелось научится программированию, раньше таких возможностей небыло, и приходилось изучать только Бейсик с чего начать?
Направление хочу выбрать программирование: обектно-инегрированные, HTML, и java. Дайте пожалуйста совет с чего начать? Чтоб не заморачиватся? »
Советую начать с BAT-файлов
Между прочим, это серьезный инструмент автоматизации задач.
Потом можно заняться сценариями или языком AutoIt.

Отправлено: 21:21, 18-07-2008 | #28


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Alex Cop, не обязательно на чистом ассемблере писать. Можно например использовать ассемблерные вставки в языках высокого уровня. По задачи народ подбирает инструмент, а soles2006 хочет учится, собирает свой арсенал и богатство знаний, к производству он не привязан, так что может себе позволить такое изучение.
Coutty, да это шутка такая была, мол Билл Гейтс написал свой Бейсик так и ОС на нём написал. А вот когда пару лет назад исходники NT4.0/2000 своровали, то Микрософт признала что кардинально на них ничего не построишь. И там кстати был С.

Между прочим первые версии Unix писались на Ассемблере, а после, когда тогдашние компы апгрейднулись, были перенесены на С.
А так у Ассемблера самые стабильные позиции: процессоры, если нВидиа не задавит, будут использоваться на любых платформах, даже если нВидиа и предложит свою альтернативу безпроцессорной системы, то для видюх тоже найдётся свой ассемблер.
Чего не скажешь про платформонезависимые языки (.NET, Java), у которых полная зависимость от своих изготовителей и проталкивателей на рынке.

Отправлено: 00:42, 19-07-2008 | #29


Местный радиофизик


Сообщения: 176
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата mrcnn:
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? Проект операционной системы это проект высокой сложности. И винду же написали без ООП! »
имелось в виду среда разработки, приведите пример инструментального средства написания программы, на выходе которого появляется стандартная программа с GUI-интерфейсом БЕЗ использования ООП.

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

Цитата mrcnn:
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? Проект операционной системы это проект высокой сложности. И винду же написали без ООП! »
как я сказал, есть и исключения.

Отправлено: 03:44, 19-07-2008 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - Хочу научится программированию, с чего начать?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Теория - [решено] Хочу научится программированию. FoRZe FacToR_98 Программирование и базы данных 1 06-11-2009 21:37
Хочу научиться собирать комп с нуля, с чего начать? IndigoO Хочу все знать 26 10-01-2009 21:40
FreeBSD - Хочу перейти с win2003 на FreeBSD7, с чего начать и как реализовать? _soldat_ Общий по FreeBSD 16 04-08-2008 02:23
Хочу научится собирать компьютеры Maks oszone Хочу все знать 14 19-11-2003 13:07




 
Переход