Последняя версия DataExpress 3 beta от 9 октября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Как научиться писать скрипты с нуля?

Все о том как сделать что-то с помощью скриптов.
jurist23rus
Эксперт
Сообщения: 2431
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Как научиться писать скрипты с нуля?

Сообщение jurist23rus » Пт май 05, 2017 11:58 pm

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

1. Иметь желание их писать + желательно иметь мотивацию.
Без желания мало что получится и даже браться не стоит. Без мотивации, очень скоро (при встрече с первыми трудностями) может пропасть желание. Хорошая мотивация - это, как правило, когда вам для себя нужно создать какую-либо базу данных, для работы или учёбы.

2. Научится пользоваться DataExpress в той части в которой скрипты не нужны.
Это, надо сказать, очень большая часть. Подавляющее большинство задач в DX можно решить без скриптов и решить очень эффективно. Тут надо понимать, что скрипты это не повседневный инструмент для создания базы данных (в отличие от множества других подобных приложений), а скорее инструмент для тонкой и сложной настройки уже созданной базы. Очень часто такая сложная настройка просто не нужна.

3. Иметь немного свободного времени.
Чтобы научится писать скрипты их придётся писать, для чего нужно время. На самом деле у каждого человека его полно, просто не каждый умеет им правильно распорядится.

4. Если я всё-таки решил научится и все вышеперечисленные пункты у меня в наличии, как много времени это займет?
У каждого всё очень индивидуально и зависит от уровня подготовки, знаний, интеллекта и пр. Но думаю что большинство людей сможет написать маленький скрипт уже через часок другой.

5. Миф: "Писать скрипты способны только программисты, а человеку другой профессии это не под силу".
Думаю многие так полагают и уверен, все они ошибаются. Это может делать каждый и я знаю такие примеры. Да что там далеко ходить я сам пример (не скромно конечно, но факт). Я далеко не программист, но могу написать скрипт, который будет работать. Конечно мой скрипт и скрипт профессионала не нужно сравнивать - это небо и земля, но кому какая разница, если он работает.

6. С чего начать?
С видеоуроков это самое доступное для понимания, что есть. Дальше продолжить самообразование на форуме и в интернете, ища нужный материал и задавая вопросы. По языку Object Pascal, на котором пишутся скрипты, очень много информации и литературы, а на форуме достаточно подготовленных и профессиональных людей, чтобы ответить на любой вопрос, поэтому тут проблем не будет.

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

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

9. Насколько эффективно в обучении анализировать чужой скрипт?
Сразу отвечу на вопрос прямо - это точно не будет лишним. Этот вопрос и ответ на него навеял Drts в посте ниже.
Тут уместно будет сравнить программирование и кулинарию (как это не странно звучит). Если вы попробуете вкусный борщ - это даст Вам навыки его приготовления? Думаю нет. Вкусно покушать - не значит уметь вкусно приготовить. Но как бы то ни было, попробовав борщ от профессионала ты знаешь к чему нужно стремится, у тебя есть образец для подражания, а это тоже не мало. Так вот, возвращаясь к скриптописанию скажу, чужой скрипт и его анализ, сам по себе много не даст, без собственной практики. Поэтому не зная как обыграть ту или иную ситуацию в скрипте можно посмотреть как её решали до тебя, а не выдумывать велосипед, но рассчитывать на то что просто анализ чужого труда без вложения собственного может чему-то научить было бы наивно. И кстати, в анализе чужих скриптов есть один серьёзный подводный камень для начинающего: иногда сложность чужого скрипта может отпугнуть. Уже упомянутые Drts программисты, например admin, пишут достаточно сложно для начинающего. С точки зрения алгоритма - это плюс, он у них лучше оптимизирован и более качественный, однако научиться на их коде сложно. Лучше брать что-то более оптимизированное, умышленно упрощённое, без наворотов и красивых реализаций - это будет ближе и понятней для новичка.
Destiny is a very convenient word for those who never take decisions.

drts
Опытный
Сообщения: 264
Зарегистрирован: Сб окт 29, 2016 11:35 pm
Откуда: Новороссийск

Re: Как научиться писать скрипты с нуля?

Сообщение drts » Сб май 06, 2017 9:17 am

Есть небольшое дополнение: не надо стесняться анализировать чужой код. Я изучал код других участников форума, в основном конечно admin и neitri, смотрел на реализацию нужных мне моментов. Иногда копировал идеи, иногда (по ходу) мне приходила в голову другая реализация. Но всегда проще изучить уже работающий код и понять принципы его построения. Гору учебников для этого читать не надо.
И еще. Так сказать на личном опыте. Не нужно пытаться решать задачу сверх сложным способом, если есть альтернатива, например в выражениях. Я, к примеру, делал для себя копирование полей в буфер - долго искал, как вытащить нужные мне поля в буфер ))). А вчера вот вспомнил, что можно в выражении передавать в скрипт уже готовые значения полей, составленные как угодно, с вычислениями и т.д. И скрипт, что характерно, сократился на половину. Но опыт, конечно был приобретен.))) Или вот, например, я долго мучался с поиском одновременно по нескольким полям, пока не пришла в голову идея сцепить их в выражении поля штатными средствами dx и фильтровать уже по нему.
И про хобби поддержу jurist23rus - действительно ловлю себя на мысли, что в принципе при уже давно работающей рабочей базе, я вечерами сижу и что-то допиливаю и доделываю. Зараза какая-то)))).
P.S. да, я тоже программист "от сохи". Никогда особо ничего не кодил. В экселе да немного в delphi лет 16 назад))). Все реально.

jurist23rus
Эксперт
Сообщения: 2431
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: Как научиться писать скрипты с нуля?

Сообщение jurist23rus » Пн май 08, 2017 3:10 pm

Дополнил пост
Destiny is a very convenient word for those who never take decisions.