Всем привет ! Хочу научится основам программирования, но дело в том. что я абсолютно ничего не знаю об этом грубо говоря чайник))) Ломаю уже второй месяц голову над тем, с чего начать, посоветуйте может быть какие-то обучающие материалы, книги, буду бесконечно благодарен ! С детства тянуло в сторону программирования, IT, и всего что связано с компами, но как то не сложилось! Вот наконец хочу вплотную заняться наверстованием упущенного !!! Знаю, что сдесь сидят грамотные люди, которые смогут помочь. Заранее благодарю !
Начинать надо не с ассемблера: в нём потонешь в деталях. Лучше всего из легкодоступных языков -- Паскаль (хотя сейчас прибежит толпа народу, начнёт в меня кидать тухлыми яйцами и кричать, что Паскаль -- масдай, а все реальные кулхацкеры если не на асме пишут, то уж точно на Си/Си++). Причина проста: у Паскаля простой и понятный синтаксис (не лишённый недостатков, конечно), поэтому можно целиком сосредоточиться на решении задачи, а не на борьбе с этим самым синтаксисом. Си требует намного большей аккуратности и внимательности, поскольку пропускает множество ошибок человека, которые Паскаль ни за что не пропустит, а поэтому для новичка значительно хуже. Ну а литература... Её много. Главное, что нужно всегда помнить: программирование не сводится к умению закодировать готовый алгоритм (чётко заданную последовательность действий, которые нужно выполнить для решения задачи) на каком-либо языке программирования. Программирование гораздо шире, и важнее всего уметь сформулированную в общих чертах задачу ("хочу написать игру!" или "нужна программа бухгалтерского учёта") превратить в алгоритм, который эту задачу решает, и в структуры данных, которые в процессе решения будет обрабатывать программа по этому алгоритму. Иногда это просто, иногда -- очень сложно. Ну а перевод уже готового алгоритма в один из языков -- обычно весьма несложная задача.
SII Все верно. Начинать надо с паскаля или оберона (ББ, например, есть русификации, или что богдант предлагал - русфорум- красота) Начинать с асма, машкодов, С и С++ - не стоит, новичек разгоняется по возможностям и влетает в сплошные ошибки и глюки. И с дельфей тоже не стоит, но уже по другим причинам.
Delphi (точнее паскаль) приучает в хорошему стилю программирования, всё будет разложено по полочкам, всё на своих местах. Но если начнешь с ассемблера, то разобраться с любым языком высокого уровня будет намного проще в будущем, так как ты будешь знать на чем всё стоит, будешь видеть всё изнутри. В то время как твой коллега будет носиться по инету в поисках работающего, безглючного, бесплатного компонента, который делает "что-то", ты это "что-то" просто напишешь своими руками. А с++, это что-то промежуточное, он лаконичен и удобен. На нем можно делать очень много трюков. Начни с него, и Delphi тебе будет казаться попсовым инструментом для школьников. А ассемблер черезчур детализированным и избыточным. Только не начинай с бейсика, а то попадешь в ад.
HuXTUS Паскаль. Никакое не дельфи. А еще лучше оберон - все +++ паса и лаконичный, минимально необходимый ситаксис, модульное программирование/дебугирование, очень красивое описание классов, возможность генерировать юзер интерфейс по описанию класса, инструмент содержит встроеный учебник с втекстовыми запускаемыми примерами. С асмом там нескоро встретиться придется.
я бы сказал наоборот Я бы рекомендовал начать с Си: 1) он простой 2) он строготипизированный (в том числе не приучает к вещам типа сложения строки и символа) 3) он среднеуровневый, это универсальный ассемблер. С ассемблера начинать не совем хорошо, а вот с Си - самое то, это золотая середина, которая не даст испортить молодое программерское начало всякими высокоуровнястями и при этом не загрузит мозг низкоуронястями и изучением конкретного процессора. В качаестве учебника - несомненно K&R. зы. Barcovsky поверь, паскль, дельфи, бейск и тп. в качестве "основы" не годятся!
Ra!N Я тоже за си. _basmp_ По-моему си не намного сложней паскуаля. Но сяха поактуальней будет. У нас в инсте, у кого программинг был профильным, начинали с сей, а все остальные с пасквеля.
не буду ни с кем спорить, но я считаю бейсик самым простым и понятным языком программирования, а компилятор FreeBasic в купе с FbIDE (от CetilO) делает из такого простого языка, довольно мощное средство для создания программ. ИМХО.
_basmp_ _basmp_ С дельфей вполне можно -- но с консольных приложений, а не VCLных. HuXTUS Только на асме намного труднее научиться видеть за деревьями лес -- т.е. заниматься алгоритмами, а не их воплощением в простейшие команды пересылки, сложения и т.п. Поэтому лучше всё ж не с него начинать. Ra!N Неверно по всем пунктам, кроме отчасти п. 1. 1) Синтаксис Си (не говоря уж о Си++) сложнее и запутаннее паскалевского, особенно в части операций; намного легче сделать ошибку, которую не обнаружит компилятор (= и ==, & и &&). 2) Типизация почти отсутствует, легко смешивать данные разных типов, что приводит к трудноуловимым ошибкам. 3) Никакой это не ассемблер, это обычный язык высокого уровня со всеми возможностями, присущими таким языкам. Возможность валить в одну кучу сразу несколько действий ассемблером его не делает. Barcovsky, поверьте, Си в качестве языка обучения программированию подходит очень плохо Booster Дело не в сложности как таковой (хотя это тоже роль играет), а в целой куче ошибок, которые можно сделать в Си, но нельзя на Паскале. Для обучения это очень большой недостаток.
SII Ладно может и лучше изучать с паскаля, не зря он позиционируется именно так. Ну а по мне сяха просто интересней, и полезней.
Barcovsky Все зависит от типа задач которые интересуют. Если системное программирование - C. Если прикладное - Basic, Pascal
Согласен с вышеотписавшимися, однозначно старый добрый досовский TurboPascal или Delphi в консольном режиме И купи книжку для начинающих... когда-то очень рулил Фаронов, как сейчас не знаю. Главное чтобы в книжке(или хотя бы в ее первой половине) не было описания создания форм на дельфи! Хотя я начинал со спектрума и изучал языки в порядке бейсик-асм-паскаль-еще раз асм-С-С++-Java, но сейчас другое время
Помоему мы отклонились от темы, человек спрашивал о том что надо для изучения асма. Имхо сейчас очень много манов, книг и прочего лежит в Сети, поэтому достаточно погуглить(если досихпор не умееш,то учись, тебе при занятиях асмом не раз это пригодиться). Кстати скажу что ассемблер был моим первым языком и особых трудностей на начальном этапе я не испытывал.