LINUX.ORG.RU
ФорумTalks

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

 , , , ,


0

4

Очень хочу уметь программировать. Столько идей, а осуществить их не могу, потому что не умею программировать. То ли усидчивости не хватает, то ли еще что-то. С чего начать? Как подойти к этому вопросу, с какой стороны? Как не испугаться сложностей? Может, кто подскажет, с чего лучше всего начать? Пыталась ковырять С#. Мечтаю его таки доковырять и научиться С++.

главное - изучи вопросы лицензирования софта и копирайта. это самое сложное в программировании. а то наклепаешь «отечественного ПО», что с ним потом делать?

conalex ★★★
()
Ответ на: комментарий от i-rinat

Не, в CLI крестах вообще ничё писать не надо, но оно ток под богомерзкую работает.

pon4ik ★★★★★
()

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

Хотя наверно уже что то дельное посоветовали.

exepush
()

Учился в кодинг по этой книжке. Да и вообще вся серия Head First - годнота. Хорошо описано, с юмором, много примеров. Возможно, мне просто не с чем сравнивать.

nyashka1488
()

Как подойти к этому вопросу, с какой стороны?

Рекомендую начинать с питона, идеален для прототипирования, биндинги есть ко всему, можно дёргать практически что угодно в системе.
Если есть навыки в html/css - тыкай node.js.

Yustas ★★★★
()

У тебя не получится.

/thread

EXL ★★★★★
()

Если надо понять принцип ООП то годиться любая задача требующая для своего решения много кода.
Ну а язык может быть самый простой, например bash.
И есть там поддержка ООП или нет не важно, свм объём кода приведёт к формированию нужных навыков.

torvn77 ★★★★★
()
Ответ на: комментарий от next_time

ИМХО лучше с QT начать, а остальное по мере надобности.

torvn77 ★★★★★
()

Была бы проблема. Вы троллей не слушайте. Садитесь и начинайте реализовывать самую интересную идею. Не понятно как реализовать что-то — гугл в помощь. Сначала будет тяжело, потом проще, потом будете возвращаться к старому коду и переписывать его. И так далее. Когда закончите (если идея достаточно большая) — будете уже многое уметь.

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

P.S. Язык вторичен. Начали с C# — отличный выбор. Продолжайте. Хочется что-то графическое, вроде игр, копайте дальше в сторону Unity. Вполне себе, пока не стоит вопрос сложных оптимизаций.

Quickern ★★
()
Последнее исправление: Quickern (всего исправлений: 1)

Весьма полезно освоить C. Простой и очень популярный язык. Имеется под все мыслимые платформы. Позволяет пощупать реальную работу железа. В конце концов, на нем написан Linux и куча базовых библиотек и утилит.

Deleted
()

процитирую классиков

«Ты опять выходишь на связь?»

nerfur ★★★
()
Ответ на: комментарий от Quickern

Так пока и делаю. Точнее, делала. Сейчас компа нет, но 15 сентября он снова будет, поэтому и встал вопрос.

А какие именно книги?

PenguinSociophob
() автор топика

С чего начать?

С «А я был в компьютерном городе», «энциклопедия профессора Фортрана» и «О чем размышляют роботы».

cherry-pick
()

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

С++

Doing it wrong.

CYB3R ★★★★★
()

Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

SystemD-hater
()

Я бы порекомендовал прослушать курс Introduction to Computer Science and Programming Using Python (https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-5) - в отличии от других похожих курсов тут действительно наглядно показывают как разбить большую задачу на небольшие простые подзадачи и решить их. Ну и с основами алгоритмизации неплохо знакомят.

alex-w ★★★★★
()

Скажу по секрету: без соответствующего мышления, книжки бесполезны.

Meyer ★★★★★
()
Ответ на: комментарий от cherry-pick

Плюсую. А еще «Think like a Programmer», но это на любителя.

Meyer ★★★★★
()

GNU C reference manual GNU C library reference manual

Zaskar
()
Ответ на: комментарий от PenguinSociophob

Например, «Кормен. Алгоритмы. Построение и анализ». Отличная книга. Есть очень много всего. Ее, как минимум, прочитать один раз надо и понять.

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

Quickern ★★
()
Ответ на: комментарий от cherry-pick

Мне кажется, это уж для совсем детей, разве нет? Во всяком случае, я эти книги читал, когда мне было лет 7 - 8.

Quickern ★★
()

Начинать с шарпа дело смелых. Ковыряй питон, операции +/-, математические функции, строки, списки.

garik_keghen ★★★★★
()

найди уже себе мужа гея

dk-
()
Ответ на: комментарий от cherry-pick

Не на столько. Не надо преуменьшать умственные способности людей. Всякое бывает. (Кстати, ИМХО, с детьми примерно та же фигня).

Quickern ★★
()
Ответ на: комментарий от TheAnonymous

4.8.7

это и есть протухло. 5-ка вышла 100 лет назад, а у них только только 4.8.

next_time ★★★★★
()
Ответ на: комментарий от i-rinat

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

Stil ★★★★★
()

Простое «осиливание» C++ тебе вряд ли поможет научиться программированию. Да и язык неоправданно сложный для этого.

Предлагаю поступить так:

1) Находишь на Coursera или edx вводный курс по Computer Science. Язык не важен, важно освоить базовые вещи - элементарные алгоритмы и структуры данных. Если останется свободное время, попутно делай задания из курса и на своём C#. Это поможет систематизировать твои знания и получить новые.

2) Читаешь книжки по алгоритмам, ООП, паттернам, проектированию ПО, желательно с использованием ЯП которым ты уже владеешь. Также важно читать книжки по тонкостям твоего ЯП, по C# таких не знаю, тебе нужны аналоги Effective Modern C++ и Effective Java

3) Когда освоишься, изучаешь новые области и ЯП по мере надобности.

Evil_And ★★
()

Есть только один способ научиться что-то делать. Начать это делать. И не по желанию, а по необходимости.

targitaj ★★★★★
()
Ответ на: комментарий от Stil

А, значит P/Invoke. Это тоже жесть, но раз не C++/CLI, то и на том спасибо.

i-rinat ★★★★★
()
Ответ на: комментарий от Kaschenko

рантайм

это вообще относится не к ЯП, а к его реализации. кстати, некоторые компиляторы С++ умеют в тот же рантайм, что и С#.

объектная модель

отличаются некоторыми специфическими вещами и только лучше сказать так: различий много, но они проявляются в специфических ситуациях только

семантика

== синтаксис

next_time ★★★★★
()
Последнее исправление: next_time (всего исправлений: 1)
Ответ на: комментарий от next_time

стати, некоторые компиляторы С++ умеют в тот же рантайм, что и С#.

Ты про уродца managed C++?

это вообще относится не к ЯП, а к его реализации.

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

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

Reflection, например?

семантика == синтаксис

Kek. Я ещё про управление памятью забыл, кстати.

Kaschenko
()

Всё просто. Бери Python и понеслась)

th3m3 ★★★★★
()
Ответ на: комментарий от cherry-pick

Ну как сказать, я думаю ей и «хуяк хуяк» подойдет для разработки своих идей.

daniilArch ★★
()
Последнее исправление: daniilArch (всего исправлений: 1)

с чего начать

Только не кресты. Питон или go сойдут.

like-all ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.