Гость
Статьи
Как научиться …

Как научиться программировать?

С чего начать? Самоучитель Delphi для начинающих освоила, может теорию алгоритмов изучить?

Автор
61 ответ
Последний — Перейти
Гость
#1

Может программу написать, которая функционирует? )))) Кому нужна теория без практики?

Grammar Nazi
#2

А зачем Вам это?

Сон
#3

+1 к 1 посту. Находите задачу - начинайте писать под нее программу.

Автор
#4
Гость

Сообщение было удалено

написать небольшую программу в Делфи конечно же смогу. Но на что-то большее просто не умею строить алгоритм..

Автор
#5
Grammar Nazi

Сообщение было удалено

прежде всего для себя, как хобби.

Grammar Nazi
#6
Автор

Сообщение было удалено

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

Глаз
#7
Автор

Сообщение было удалено

С покупки программируемого калькулятора МК-65 и чтения инструкции к нему.

Глаз
#8
Автор

Сообщение было удалено

Значит поздно учиться, мышление безвозвратно ипорчено.

Автор
#9
Grammar Nazi

Сообщение было удалено

не могу я так.

Пишу как мартышка, по где-то увиденному/запомненному алгоритму. Не создаю сама, а переписываю по сути.

Grammar Nazi
#10
Автор

Сообщение было удалено

Это нормально. Все начинают с воспроизведения чего-то готового и лишь со временем приходят к полету творческой мысли :)

Автор
#11
Grammar Nazi

Сообщение было удалено

то есть это нормально?

А-то ощущение, что у моей мысли нету не то что аэродрома, а даже просто взлетно-посадочной полосы...

Автор
#12

Grammar Mazi, мне это для себя, но хотелось бы достичь приличного уровня, а не писать всю жизнь однотипные программки, меняю лишь цвет фона и букавок :)

Grammar Nazi
#13
Автор

Сообщение было удалено

Не всё сразу приходит :) Если Вы садитесь за глину, то не будете сразу лепить шедевры, сначала будете учиться "чувствовать материал". То же самое и в программировании. Заодно и поймете, реально это Вас прикалывает или нет.

Grammar Nazi
#14
Автор

Сообщение было удалено

А есть идеи, что писать?

Автор
#15
Grammar Nazi

Сообщение было удалено

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

Автор
#16

я имею ввиду прикладные программы.

Гость
#17

Автор, пока нет конкретной, имеющей практическое значение цели, трудно что-то создать. Размышление над тем, как решить задачу есть размышление над алгоритмом.

Гость
#18

Могу сказать, что понимание придёт с мотивацией. Вот когда нужно будет написать реальную программу, а если не напишите, то будут соответствующие санкции.

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

Гость
#19

Гость 18

"а если не напишите, то будут соответствующие санкции"

-

это отрицательный мотиватор. Положительный мотиватор куда мощнее - никакими словами не передать ощущение "я это сделал, и это работает"...

Гость
#20

Delphi не научит вас нормально программировать, только все испортит

Автор
#21
Гость

Сообщение было удалено

а что тогда лучше изучить?

Grammar Nazi
#22
Гость

Сообщение было удалено

Не гоните пурги :)

...
#23

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

Автор
#24
Гость

Сообщение было удалено

я думаю, из-за этого мотива я и увлеклась программированием. Я работаю на заводе, и лично мою работу сложно увидеть в продукте. А тут написал и сразу (не всегда, но все же) работает :)

...
#25

А основная профессия у Вас какая?)

Автор
#26
...

Сообщение было удалено

мы не может решить дифференциальное уравнение, если не умеем дифференцировать/интегрировать. Так и здесь. Чуть посложнее задачу возьму, вроде средства исполнения знаю (применительно к Делфи), а на листинге сажусь в лужу.

Автор
#27
...

Сообщение было удалено

технолог пищевого производства.

Grammar Nazi
#28

Какую конкретно программу сейчас хотите написать?

Автор
#29

да какой там листинг, на блок-схеме уже торможу

Автор
#30
Grammar Nazi

Сообщение было удалено

хочу сделать базу данных продуктов, чтобы программа могла сама сравнивать продукты по разным критериям, находила похожие (по ингредиентам, например), формировала новые списки.

Grammar Nazi
#31
Автор

Сообщение было удалено

А как Вы делаете это? Опишите свой проесс создания программы.

Grammar Nazi
#32
Автор

Сообщение было удалено

А Вы уверены, что это для Вашего уровня сейчас адекватная задача?

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

Автор
#33
Grammar Nazi

Сообщение было удалено

вот это я понимаю.

Я сделала базу данных, а дальше просто встала..

Могу написать отдельно программу сравнения чисел, например.

А как все связать, так просто не понимаю.

Автор
#34
Grammar Nazi

Сообщение было удалено

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

А потом маленькие не могу связать в одну.

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

Автор
#35

К 33: понимаю, что не моего уровня :)

Гостья
#36

Как бы я сделала. Сначала ввод данных для списка или список, загружаемый из текстового файла. Если несколько столбиков данных, то несколько переменных. И далее программа предлагает ввести данные (это первый цикл), по которым нужно отсортировать, ну дальше идет опять цикл (сравнения по выбранному критерию), т.е. формирование нового списка. Т.к. изначально идет цикл, то программа опять предлагает либо отсортировать по новому критерию либо выйти)))

Вроде бы там нет высшей математики, нет?

Автор
#37
Гостья

Сообщение было удалено

я бы для описанного вами случая лучше бы сделала меню с возможностью выбора.

Но я хочу сделать что-то вроде M. Access

Guest
#38

А смысл учиться? без опыта никуда не возьмут, а если и возьмут то за неделю если не покажите мастер - класс - выгонят пинком под зад. Сижу в программистской фирме (я не программист) всякого насмотрелась. Тоже одно время по собеседованиям на программиста бегала, доказывала, что знаю все эти парадигмы и прочую туфту - но потом поняла, что бесполезно.

Гость
#39
Автор

Сообщение было удалено

В реальности алгоритмы никто не юзает. Ставьте себе задачу, а под нее уже реализуйте, читайте форумы, гугл и так далее.

Grammar Nazi
#40
Автор

Сообщение было удалено

Пара советов:

1. Разрабатывайте программу небольшими шагами, что бы после каждого шага было что запустить и посмотреть.

2. Не бойтесь делать тяп-ляп, а потом переделывать. Сделать сразу правильно иногда слишком сложно.

3. Регулярно делайте резервные копии исходников, что бы была возможность вернуться к предыдущему состоянию дел или скопироать оттуда утерянный в ходе переделок код.

4. Найдите соображающего человека, который бы мог подсказать.

Дж
#41

Не мудрите, используйте для вашей задачи СУБД, тот же акцесс. и используйте SQL.

Автор
#42
Guest

Сообщение было удалено

меня устраивает моя работа. Просто времени свободного много, а мозг не работает. Я уже даже на фитнес хожу каждый день по 2 часа от скуки.

я не автор
#43

зачем вам листинг сочинять неработающий?

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

затем на кнопки вешаете обработку.

вот и все. Все в рамках здравого смысла.

это называется "макет".

выявляете слабые места, все убиваете и рисуете заново.

ЧелЛов ★ ★ ★
#44

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

А в теории нужно учить:

1. Язык программирования (плюс к этому же средства разработки и отладки с которыми вы работаете). Синтаксис, специфические приемы, объектную модель (если есть), желательно понимание принципов работы компилятора (интерпретатора, вирт.машины), неплохо знать как работает компонентная модель (если есть) в этой среде (в том же Delphi, например).

2. Знать основы алгоритмизации и уметь писать свои алгоритмы для того уровня задач над которыми вы трудитесь.

3. Хорошо ориентироваться в среде (платформе, фреймворке, короче то-на чем-в чем, ваши приложения выполняются и с чем они работают) в которой вы работаете.

#45
Автор

Сообщение было удалено

А в чем сложность много маленьких программок связать в одну? Это же проще и удобней, чем всё-всё писать в одной большой программе. Запутаться очень просто.

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

Гость
#46

Подучитесь на курсах.

я не автор
#47

функции и процедуры делайте как можно более универсальными и выносите их в пакеты либо на уровень базы либо на уровень программных файлов вашего редактор интерфейса. Вообще старайтесь поменьше дублировать код.

я не автор
#48

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

Автор
#49
я не автор

Сообщение было удалено

пож-та

Анастасия
#50

Я бы посоветовала, если

1 - вы хотите в дальнейшем заниматься программированием, сначала хорошо освоить функциональное и объектно-ориентированное программирование. В этом вам поможет учебник МГТУ им Баумана под ред. Ивановой "Основы программирования". Мне оч понравился.

2 - освоить базы данных. Для этого нужно в инете найти любой учебник по SQL, и потренироваться на MS SQL Server писать запросы. там даже есть база к ней готовая - AdventureWorks. Попробуйте.

3 - После думаю уже будет база знаний, чтобы выбрать в какую именно отрасль программирования идти: Web, desktop приложения, прикладное программирование и др.