Test
Сообщений 1 страница 5 из 5
Поделиться22010-08-10 01:38:26
Хахаха
Поделиться42010-09-29 22:06:26
Мне часто приходят письма в духе «научи меня прогать». Последнее вот от Драмера прискакало:
DRAMER написал(а):XD короче я хочу иметь XD такой же уровень программирования как у тебя XD ( я даже хз какой у тебя)
Ну или тупо помоги мне, отвечая на мои тупые вопросы)
Мне надо знать:
1)Как ты начал? не сразу же ты сел и все сразу узнал XD
2)Ты же не учился(в вузах,школах и тп) да?
3)Что ты сначала учил,знал?(сразу знал c++,бейсик,паскаль там XD)
4)Что ты читал?(книги мб какие,форумы мб,журналы )
5)Что надо будет знать что бы с легкостью написать то, что тебе нужно(например свой тупой калькулятор XD(без просмотра всяких «шаблонов»)
6)Что посоветуешь?
У меня есть стремление,свободное время,мозги
я не знаю с чего начать...пробывал почитать книги про c++,делфи...ниче так и не смог...
Поскольку я всегда отвечаю одно и то же, то создам вот темку с ответом и буду на такого рода ПМы отправлять сюда.
Лень — двигатель прогресса.
У меня для решения абсолютно всех практических задач в жизни один-единственный метод. Я серьёзно советую потратить 2 минуты и его изучить.
1) Сначала ставлю задачу. Что-то вроде «Хочу вот такую вот херню, которая может делать так вот и так вот».
2) Потом разбиваю задачу на составные части: «Та херня, что мне нужна состоит из херни А и херни Б, которые соединены хернёй В, к которой прилеплена херня Д».
3) Далее леплю по-очереди составные части, начиная с тех, которые я точно знаю как лепить. Если я сам не ебу как слепить часть — изучаю вопрос — как же её слепить и по ходу разбирательств леплю её.
4) Все составные части соединяю воедино.
5) Смотрю на получившееся (в 80% случаев получается говно). Если получившееся меня не устраивает, возвращаюсь к пункту 1 (реже) или 2 (чаще), но учитываю все свои ошибки. Если получившееся устраивает — танцую.
Теперь, чтобы не быть голословным я вкратце расскажу как я научился программировать. В школе мне преподавали в Turbo Pascal 7.0, в институте C++. Толку от этого было не очень много, ибо скукотень редкостная была, да и уровень преподавания оставлял желать...
Я, конечно, баловался написанием всяких простеньких программок вроде «угадай число» или «морской бой», без графического интерфейса — тупо в консоли, но это было совершенно несерьёзно. Первая действительно серьёзная программа, мной написанная, — iBot, тот самый iBot для тори. Сейчас попробую вспомнить, как я её писал.
1) Сперва поставил задачу: написать бота, который умел бы приконнектиться к серверу тори и чтобы через него можно было чатиться из окна бота.
2) Разбил задачу на составные: выбрать язык реализации, написать GUI (который я хз как писать — ни разу в жизни не пробовал) и обучить бота работать с интернет-штуками (на тот момент я даже не знал, что мне нужны сокеты, и не знал что такое сокеты).
3.1) Язык реализации взял C++ (вроде как в институте «проходил») и сдобрил его надстройкой QT (про которую краем уха слышал).
3.2.1) Скачал QT, долго-долго его ставил поверх msvc6 (нетривиальная задача, но я тогда не знал инных способов — я и этого-то не знал =).
3.2.2) Загуглил, как же сделать «hello world» под QT.
3.2.3) Загуглил, как сделать кнопочки, поля для ввода и как их всех связать (чтобы когда на кнопочку нажал — что-нить эдакое происходило).
3.2.4) Сделал что-то вроде «чата с самим собой». То есть как бы уже чат бот, но без интернета, лол.
3.3.1) Долго пытался понять «как работает интернет». Нет, серьёзно, сложно было понять тупо что мне именно надо. Напомню, что я в то время ни с кем из тори знаком не был, а друзей-программистов у меня отродясь не было.
3.3.2) Понял, что мне нужны некие загадочные «сокеты». Долго пытался воткнуть, что это такое (убивает, что нормальных статей по элементарным, начальным вещам — днём с огнем не сыщешь). До смешного доходило, я до последнего момента не был уверен, какой тип сокетов мне нужен: UDP или TCP. Более-менее разобрался, собрал интернет-часть бота.
4) Соплями прикрепил интернет-часть бота к GUI.
5) Получаю iBot 0.1. Смотрю. Вижу, что говно. Возвращаюсь к пункту 1. Получатеся iBot 0.2. Затем 0.3, 0.4, 0.5, 0.6. После 0.6 был почти написан 1.0 (путём полного преписывания начисто версии 0.6), но тут уж я просто плюнул — надоело =).
Вот примерно так всё было. На всё ушло около недели.
Так, пожалуй, я на ответил (пусть и не в том порядке) на все вопросы кроме «Что надо будет знать что бы с легкостью написать то, что тебе нужно». К сожалению ответ тривиален: «нужно знать ровно то, что нужно для данной конкретной задачи». Всего знать не возможно. Да и не нужно — есть же гугл. Я даже когда что-то совсем простое пишу частенько вынужден подглядывать то туда, то сюда. И это нормально =).
P.S.: Метод применим для решения очень широкого круга чисто практических задач: от «как провести выходные» до «как бы с ней переспать».
P.P.S.: Метод не даёт систематических знаний. Это — та самая ложка дёгтя.