Введение в программирование.

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Re: Введение в программирование.

Сообщение Рэндом » 02 сен 2016, 07:53

В Гугл плей та же история. Без раскрутки никуда. Изначально приложение не будет отображаться в магазине. Надо выполнить некоторые условия что бы в него попасть. Но преимущество гугл плей это реклама с оплатой за покупки вашего приложения.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Введение в программирование.

Сообщение Рэндом » 22 сен 2016, 08:26

У каждого, наверное, есть какая-то своя излюбленная тема в IT, помимо повседневной практической работы, приносящей порой лишь хлеб насущный. Может быть, кто-то в свободное время делает мультфильмы или работает над какой-нибудь игрой, может быть, участвует в разработке акого-нибудь социального проекта или просто изучает что-то новое без особенной на то практической нужды, одним словом — делает что-то для себя, так сказать, для души.

Мой скромной опыт программирования привел меня к мысли, что этот род деятельности может быть ценным сам по себе и не иметь конкретных практических целей. Безусловно программирование может приносить творческое удовлетворение и, может быть, кому-то своеобразное эстетическое наслаждение; в конце концов, в любой сфере люди жаждут видеть собственную гармонию. Я, когда-то давно, когда еще едва был знаком с программированием и даже плохо понимал значение слова функция применительно к написанию кода, пошутил, сказав, что программирование это искусство. Это была просто брошенная фраза за дружеским чайным столом. Кто-то подыграл мне, спросив, как я это могу доказать. Я ответил что-то вроде: «не зря же Дональд Кнут свою антологию назвал искусством программирования». А ведь он знает толк в этом.

В то время я относился к программированию, как к сухой трудно понятной мне науке, считая её смесью лингвистики и математики. Конечно, тогда я уже имел представление об HTML, но коды программ я видел только издалека и предпочитал держаться от всего этого подальше. Компьютер — это печатная машинка, энциклопедия, переводчик, иногда игрушка — вот, что такое компьютер для гуманитария, лет так 10-15 назад. Конечно, сюда еще можно включить работу с почтой, может быть, еще пару вещей, но основное назначение компьютера для гуманитария — быть печатной машинкой.

Однако все меняется, когда появляется потребность сделать сайт. Я не знаю, сколько гуманитариев трудится в сфере информационных технологий и сколько из них занимается программированием, но я точно уверен, — нашего брата к написанию кода приводит именно WEB. По крайне мере так было еще совсем недавно. Одного молодого филолога-php-программиста из Сибири я недавно встретил на форуме dapf.ru, и он такой, скорее всего, не единственный. Если копнуть глубже, то можно вспомнить, что создатель языка Perl Ларри Уолл, — у которого 27 сентября день рождения, — лингвист по образованию. Но вернусь к теме искусства.

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

На мой взгляд, общего очень много. К программированию вполне возможно относиться как к своего рода игре, в которой есть место и хитрости, и психологии, и присущей только этой сфере магии. Возможно, о примерах этой магии и говорят опытные программисты, когда рассказывают о том, как получили в наследство код, который почти невозможно поддерживать, но он каким-то чудом работает?!

На мой взгляд, отношение к программированию как к игре, вероятно, может помочь преодолеть ряд психологических барьеров тем людям, которые считают написание кода уделом выпускников и студентов спецвузов. Новому поколению, правда, уже, наверное, не понять того, как наши родители еще лет 20 назад боялись нажать лишний раз не то сочетание клавиш. Теперь многое доступно, нет особенных страхов повредить домашний стационарный ПК, ибо у кого-то в запасе еще есть ноутбук, может быть, два, а под подушкой спрятан планшет. Одним словом — программировать можно не стесняясь…

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

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

Должен добавить, что я бы не стал тревожить сообщество Хабра своим «гуманитарным кодом», а просто опубликовал бы эту заметку без кода и вообще упоминания каких-либо алгоритмов, если бы не один довольно интересный момент: мой длиннющий код с достаточным количеством функций и циклов после компиляции на Linux-системе оказался крайне шустрым. Я даже полез по старым ссылкам, чтобы найти наиболее быстрые реализации на других языках.

По данной ссылке, в самом низу, рекурсивный алгоритм перестановок на awk, который помечен автором как наиболее быстрый.

Я решил сравнить скорость со своим учебным примером и, честно говоря, результаты меня удивили. Для n = 10 awk выдал вот такой результат: real time 1m16.770s (на всякий случай, машина: AMD Phenom T1100 6x)

То, что произошло дальше, с моей гуманитарной колокольни достойно литературного описания… А дальше, простите, я допил холодный чай, который простоял на столе 2 часа, утёр свисающую соплю и нажал Enter, так я запустил свой только что откомпилированный код и, конечно же, откинулся на спинку стула, приготовившись ждать минут пять, когда моё чудо сгенерирует все перестановки для n = 10. Но не тут-то было, скажу вам, моя спина к спинке прислониться только и успела, может быть, я еще успел почесать затылок, в общем, терминал выдал мне: real time 0m13.411s

Си, амиго, — это фантастика!

Источник https://habrahabr.ru/post/310574/
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Введение в программирование.

Сообщение Рэндом » 22 сен 2016, 08:29

В статье есть интересный момент относиться к программированию как к игре. Интересно к чему это приведет вас?
Мое отношение к программированию уже сложилось. И в нем есть не малое место решению задач. Иногда надо крепко подумать, чтобы сделать что-то. Это действительно похоже на решение шахматных задач.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Введение в программирование.

Сообщение Haos » 22 сен 2016, 08:45

Рэндом писал(а):В статье есть интересный момент относиться к программированию как к игре. Интересно к чему это приведет вас?
Мое отношение к программированию уже сложилось. И в нем есть не малое место решению задач. Иногда надо крепко подумать, чтобы сделать что-то. Это действительно похоже на решение шахматных задач.

Я когда-то один раз столкнулся с задачей, которую долго не мог решить как запрограммировать. Это было лет 17 назад. Речь шла о поиске удовлетворяющим критерию интервалам в большом интервале времени. Критериев было под 20 штук и каждый сам по себе имел варианты реализации. Если бы я решал задачу "в лоб", то не представляю сколько бы это времени и сил потребовало. Решение пришло само-собой, но корни его уходили в опыт обучения еще в универе, когда в некоторых задачах если интеграл не брался сразу его нужно было брать по частям. Потом это стало моим подходом: если нельзя проглотить кусок сразу - откусывай его по частям! :hi_hi_hi: Ну так вот, я просто разбил большой интервал на небольшие приращения (грубо говоря по секундные, т.к. этой точности с головой было достаточно) и в цикле на каждой секунде проверял выполнение необходимых условий. Так была решена сложная задача. С тех пор задач, которые заставляли задуматься хотя бы на день не было (в смысле подумать над задачей в течение дня). Решение само возникает в уме практически мгновенно, а иногда нужно о нем забыть, помня только условия задачи, а решение появляется само в уме.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Re: Введение в программирование.

Сообщение Рэндом » 22 сен 2016, 09:12

По сути большие программы так и пишутся. Т.е. разбиваются на подзадачи. Это если в отдаленном приближение. Есть такая дисциплина - проектирование программ.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron