Где найти эти Ваши «основы программирования»?

Здравствуйте, уважаемые айти специалисты и любители. Я человек с высшим юридическим образованием. Моя работа мне нравится, но работа есть работа, а хочется чего-то еще. Хочется развить свой мозг немного с другой стороны. Хочется научиться программировать. Я не хочу работать программистом, просто ради разнообразия и для повышения умственного потенциала хочется окунуться в море битов и байтов. Я пробовал изучать разные языки программирования самостоятельно, читал какие-то книги для чайников, но написать какую-нибудь вменяемую программу так и не смог. Как мне кажется мне не хватает фундамента, как говорят - основ программирования. Но где эти основы? что они в себя включают? как их получить? прочитать книгу? какую? или несколько? Я далеко не самый умный человек, но пользоваться гулом я умею, но там советуют столько литературы, что можно целую библиотеку организовать. Я понимаю что путь этот не легок и придется много читать, но все же. Также я не понимаю людей, которые говорят мол ставь задачу и вперед, программируй, НО КАК? Да, я знаю что такое переменная, что такое цикл и условный оператор, НО КАК из этого получить программу я не знаю. Так же я не знаю какой язык изучать. Я хочу писать свои личные приложения для своего андроидофона, я хочу писать свои личные десктоп программки, я хочу оптимизировать свою работу при помощи скриптов...

Исходя из вышеизложенного что посоветуете, господа?
  • Вопрос задан
  • 1858 просмотров
Пригласить эксперта
Ответы на вопрос 14
IonDen
@IonDen
JavaScript developer. IonDen.com
Первое что вам нужно сделать - отбросить всё лишнее. Разброд и шатание между андройдом или десктопом или какими-то скриптами - только распыление усилий. Сосредоточьтесь только на андройде например и отбросьте всё лишнее. Далее купите любую книжку, откройте официальный туториал и разбирайте шаг за шагом и пишите хоть что-то. Какое-то приложение, чтобы был какой-то вещественный результат.

Основы программирования, о которых вы тут говорите, так просто не получить. Уйдет очень много времени, прежде чем появится глубинное понимание: "Ах, вот оно как работает!". Я тоже закончил юридический и у меня ушло много лет после, чтобы научиться программировать.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Судя по вопросу вам сначала нужно понять как работает компьютер. А потом уже учиться программированию.

КАК??? Я хочу написать приложение, которое парсит с сайта расписанием необходимого мне транспорта, подобное есть, но убогое и с рекламой.
Я открываю редактор и начинаю писать: ЧТО? писать?

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

Т.е вам надо приложение которое парсит расписание.
Значит нужно -
1) скачать расписание
2)выдернуть из него нужную информацию
3)сохранить в приемлемом виде

Ну и по порядку решаете -
Надо скачать расписание - вопрос сводится к банальному получению содержимого странички с интернета, читайте как это делается и реализуйте.
Как получиться - переходите ко второму пункту.
А как выполните все пункты - соберете это все в одно целое.
Ответ написан
Комментировать
Не изучайте программирование ради изучения программирования.
Хотите писать приложения для своего телефона? Пишите, основы сами приложатся.
Ответ написан
ArthurG
@ArthurG
Начните с книжки или курса SICP, потом HTDP.
Ответ написан
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
Примените алгоритм решения задач из своей профессиональной области деятельности (юриспруденция, я полагаю) к разработке программного обеспечения. Есть какая-то проблема, есть желаемый результат, есть пути и средства её решения, есть аналитическое мышление... Решить -- не вопрос!
Вот допустим вам надо автоматизировать некоторую часть свой работы. Автоматизация заключается в удалении скриптом некоторых файлов по маске (да, да, знаю что это одна строчка в консоли, но для примера сойдёт). Как бы вы её решали средствами известного вам ЯП и своего мозга? Приведите все рассуждения по этому вопросу.
Ответ написан
@abcd0x00
Так же я не знаю какой язык изучать.

Изучай Python 3.x, он создавался как язык, похожий на псевдокод, поэтому там нет лишних заморочек с синтаксисом. К тому же он славится скоростью разработки, так как многие вещи на нём можно компактно выражать. И ещё у него документация написана доступным языком, так что многие сложные вещи легко воспринимаются.

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

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

Как происходит изучение программирования:
1) Сначала ты просто приобщаешься. Покупаешь книжку какую-нибудь по языку и проходишь все примеры в ней. Так ты узнаёшь, как выглядит хороший код. (Чтобы потом отличать лажовые материалы от нормальных.)
2) Потом ты изучаешь разные классические алгоритмы. Так ты узнаёшь, что существует что-то общее в устройстве разных алгоритмов.
3) Потом ты находишь теорию алгоритмов. Так ты узнаёшь, что программа - это просто реализованный алгоритм. (Программу можно встраивать в программу.)
4) Потом ты читаешь другие программы, выделяя их алгоритмы. Так ты перенимаешь распространённые способы построения алгоритмов.
И вот после всего этого у тебя есть представление, как сделать большую программу.
Большая программа - это объединение маленьких программ.
Ответ написан
Комментировать
@Shinso
Если андроидофон и десктоп, то наверно наиболее подходящий язык Java я лично начинал с "Java для детей" в общем можно и другую книгу начального уровня главное пройти ее с начала и до конца с решением на практике всех задачек.
Ответ написан
Комментировать
@LiguidCool
Для начала надо определить что есть основы программирования:
Во первых я бы сказал это логическое мышление в целом, понимание алгоритмов (как минимум что это означает), написание алгоритма вещь вообще полезная для чего либо кроме Hello World!.
Во вторых это знание определений что такое переменная, массив, циклы итп. Все это плюс-минус едино для всех языков программирования.
В третьих - основные алгоритмы и приёмы, опять же универсальные для всех языков. Ну например ... как перебрать массив, обрезать строку или вычленить слово. Опять же используется вне зависимости языка и задач.
Вернемся же теперь к вашему вопросу - писать что-то под Android можно наверное и без основ. Просто копируешь чужой код, правишь что-нибудь, собираешь так сказать "Lego". Если вам нравится - вперед, но от основ это как раз очень далеко. И да изучать сходу язык с ООП ИМХО не есть здравая идея. Либо это займет кучу времени, либо вы будете собирать примитивные Hello World'ы.
Если же хотите начать с основ, возьмите язык попроще и не заостренный на ООП. Лично я когда-то в школе начинал с QBASIC - отличная вещь для начала, но ... Устарел, причем давно. Из современного я бы посоветовал JS, он же EcmaScript. Для него есть хорошие скринкасты того-же Sorax'a, да и используется много где. Но это не на андроид (хотя я лукавлю, можно писать на JS с помощью Cordova, но это далеко не начальный уровень).
Ответ написан
Комментировать
@savinovka
начните с javarush.ru
Ответ написан
Комментировать
zolt85
@zolt85
Программист
Даю подсказку. У каждой программы есть "точка входа". На Java это метод main в запускаемом классе. Начните с этого. К черту все эти Ваши андроиды и десктопы. Просто напишите один класс с одним методом. Запустите его, проникнитесь магией "Hello World!" на экране (это обязательное условие, иначе ничего не выйдет), замените вывод строки "Hello World!" на вывод строки из файла, и т.д. Если после всего проделанного, не смотря на трудности, Вы захотите еще и еще, то поздравляю, Вы получили "основы программирования".
Ответ написан
Комментировать
@oufucom
Программист C#
Выбираете платформу, ищите пошаговое руководство как скомпилировать и запустить "Привет мир!"
Дальше вам нужно наработать базовый навык, не просто запомнить что такое переменная, условная инструкция, цикл а понять.
Пишите программу которая считает корни квадратного уравнения. Три поля для ввода коэффициентов, кнопка и текстовое поля для результатов.
Потом уже с разбором уравнения в нормальной форме. Пишем в одно поле ввода что то типа "10X^2+5X -12 = 0"
Тут вы почувствуете трудности обработки пользовательского ввода и разбора текста и результат скорее всего будет неудовлетворительным.

Затем напишите крестики нолики. Что бы ваша программа у вас выиграть могла.

Если же говорить про создание программ вообще то хороший приём: представить что программа у вас уже есть и вообразить как вы с ней работаете. Какие нажимаете кнопки, что вводите, что видите на экране и т.д.
Ответ написан
Комментировать
@asd111
Просто закажи то, что тебе нужно на фрилансе. Выйдет дешевле и быстрее.
Ответ написан
Комментировать
Вы утверждаете, то читали книги для чайников. Но затем сами себе противоречите:
Да, я знаю что такое переменная, что такое цикл и условный оператор, НО КАК из этого получить программу я не знаю.

Может вы не читали, а просто полистали? В любой книге для чайников в качестве примера приводятся решение квадратного уравнения с пошаговым вводом коэффициентов или что-то подобное. И если после этого у вас возникает вопрос "ставь задачу и вперед, программируй, НО КАК?", то вы либо очень не внимательны при изучении, либо это не ваше.
Ответ написан
Комментировать
@coodan
Для выноса мозга возьми С++, только не думай, что циклы - это весь язык. Пробуй так и этак, поставь себе задачу и дерзай.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы