[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.139050 Reply
наверное тупой вопрос,но учитывая что я школьник,не так уж страшно.Собственно,с чего начать учиться программированию ? Вопрос смешной,но поискав в гугле,так ничего и не понял.Хочу изучить программирование фундаментально,просто ради навыка,так что никуда не тороплюсь(в конце концов, куда спешиться в 15).Может есть какая нибудь последовательность для изучения?
На имиджборде в первые,порядков не знаю,так что если что извиняюсь
>> No.139051 Reply
хммм понял что оно должно быть в другом разделе,но так как не знаю как удалить или переместить,могу забить
>> No.139058 Reply
File: _20180202_221506.png
Png, 313.00 KB, 1917×1001 - Click the image to expand
edit Find source with google Find source with iqdb
_20180202_221506.png
>> No.139059 Reply
Орфография русского языка?
>> No.139070 Reply
Не скрывал тред.
>> No.139071 Reply
Бамп смешному вопросу.
Пишу в эпичный тред.
>> No.139099 Reply
>>139071
Отвечу-ка я на всякий случай серьёзно. Мало ли, может ОПу и вправду интересно. Вон, даже извинился.
>>139050
Прочти для начала книжку Петцольда "Код". Очень доходчиво описывает, как устроен компьютер.
Затем подойди к преподавателю по информатике и попроси посоветовать стоящий учебник по ассамблеру. Попрактикуйся писать простые программы и самостоятельно следить за качеством кода, и переходи на C. После него выучи какой-нибудь высокоуровневый язык, который пригодится в будущем для чернового набрасывания алгоритмов и всяких proof-of-concept, типа Python. Ну и где-то в этот же момент можешь садиться за Java, чтоб уж точно без куска хлеба не остаться.
>> No.139112 Reply
>>139099
> Затем подойди к преподавателю по информатике и попроси посоветовать стоящий учебник по ассамблеру.
Он сам хуйлован, пошедший на волне хайпа на погромиста, а не юриста. Иначе его бы давно захантили на первых курсах, что ему делать в школе за копейки?
>> No.139378 Reply
>>139112
Школьниц.
>> No.139573 Reply
>>139050
Итак, напишу ка я очевидные вещи, потому что не хочется проходить мимо такого вопроса, а нормальных ответов я не увидел. Как устроен компьютер знать начинающему и среднему программисту не нужно. Начинать с ассемблера - плохой совет.

Изучать что-либо, в том числе программирование, наиболее эффективно на практике - например делая свой проект. Подумай что тебе хочется создать сейчас. Сайт? Приложение для телефона? Программу для ПК? Сначала лучше выучить именно высокоуровневый язык. В самом начале смотри на ютубе как пишут код, какие проги юзают, где ищут решение проблемы. И лучше не останавливайся на одном или двух языках - пока ты молод, ты учишься быстрее.
>> No.139577 Reply
>>139573
Чаю с тортом этому адеквату!
>> No.139652 Reply
> фундаментально
> смотри на ютубе как пишут код
Заберите чай у этого.

> никуда не тороплюсь
Это хорошо. Я бы посоветовал начать с изучения истории программирования (и математики заодно), чтобы сформировалась более или менее толковая картина. Технологии в вакууме и без контекста изучать не очень весело.

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

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

Ассемблер учить не обязательно, но надо знать, как машина работает на низком уровне, и как работают интерпретаторы и компиляторы, т.к. ошибки порой идут с той стороны: то же переполнение стека возможно в высокоуровневых языках, и лучше бы не относить его к непонятной магии. Аналогично со связанными технологиями и стандартами: огромное количество говнокода пишется теми, кто пытается использовать их без изучения, опираясь на догадки и тестирование.

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

Алсо, привыкай к несогласию программистов по любым околотехническим вопросам, включая этот. У всех свой взгляд, и лучшее что можно сделать -- не участвовать во флеймварах.
>> No.140558 Reply
>>139099
> "Код". Очень доходчиво описывает, как устроен компьютер.
> учебник по ассамблеру
> C
У меня public static void main от твоих советов.
>>139652
Многа букаф.

Короткий ответ ОПу: Pascal либо Python.
https://eax.me/first-programming-language/
>> No.140659 Reply
>>140558
> Pascal
Похоже, то что нужно: https://oleg.derevenets.com/
Очень лёгкая и доходчивая книжка.
>> No.140661 Reply
>>139050
Завтра ищешь в интернете книжку Categories for the Working Mathematician. Похуй если ничего не поймешь. Затем идешь на haskell.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь определения языка и стандартных библиотек - The Haskell 2010 Report, чтобы от зубов отскакивало. Когда напишешь свой первый катаморфизм, по пути изучив теорию типов на уровне TaPL-а, скачиваешь и изучаешь любую хаскеллевскую библиотеку с первоклассными функторами и морфизмами, рекомендую category-extras или recursion-schemes. Как переделаешь стандартную прелюдию, чтобы по крайней мере все рекурсивные схемы были выражены через комонады, можешь идти дальше - тебя ждет увлекательный мир теории категорий. Катаморфизмы, параморфизмы, зигоморфизмы, хистоморфизмы, препроморфизмы, анаморфизмы, апоморфизмы, футуморфизмы, постпроморфизмы, хиломорфизмы, крономорфизмы, синкрономорфизмы, экзоморфизмы, метаморфизмы, динаморфизмы алгебра и коалгебра Калвина Элгота наконец. Успех хиккующих выблядков / просто быдлокодеров типа рейфага или сисярп/джава-девелоперов, которые работают в Люксофте не будет тебя волновать и уже через пол года ты будешь получать такие гранты, что любой профессор будет течь при одном упоминании списка твоих публикаций.
>> No.140683 Reply
>>140659
>>140558
Зачем вы ему устаревший паскаль советуете, когда уже давно есть Blackbox Component Builder и оберон-07/16? Эти языки одновременно и проще и мощнее старого паскаля. У BCB есть сборщик мусора у некоторых компиляторов оберона-07/16 - тоже.
По компонентному паскалю - он же BCB могу посоветовать В. Потопахина "Современное программирование с нуля"
>> No.140684 Reply
>>140683
В том и смак паскаля, что он нахуй не нужен. Чисто игрушка для обучения.
>> No.140685 Reply
>>140684
Так тот же оберон и блэкбокс годятся как для начального обучения так и для серьёзных проектов. Советовать сейчас для обучения паскаль, когда на его смену пришли эти языки - глупо.
Ну и ещё - советовать питон для начального обучения с его динамической типизацией это, конечно, пушка.
Пусть лучше что-нибудь из Эдсгера Дейкстры и, более обще по структурному программированию, почитает. Всяко пользы будет больше.
Могу посоветовать ресурсы по оберон-тематике - для начала oberoncore.ru сойдёт.
>> No.140704 Reply
>>140685
> с его динамической типизацией это, конечно, пушка.
Я начинал с бейсика и там тоже была динамическая типизация. Меня уже не спасти?
>> No.140717 Reply
>>140683
Учиться надо на языках без сборки мусора, чтобы не плодить говнокодеров-распиздяев.
>> No.140784 Reply
Яб посоветовал два пути. Один простой, один сложный.

Простой путь: Golang. Он очень прост. На уровне паскаля. Он достаточно быстр и удобен. Ещё и вакансии есть.
Сложный путь: Rust. Высокий порог входа. Но этот ЯП учит очень многому полезному и прививает правильный образ мысли.

Можно совместить и комбинировать.

Далее берём https://learnxinyminutes.com/ и http://hyperpolyglot.org/ для выбора дальнейшего пути в коддинге.


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]